Salta ai contenuti

Vlastní objekty

Questi contenuti non sono ancora disponibili nella tua lingua.

K dispozici také v 29 jazycích

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · العربية · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

In a truck body shop, a custom white box body hangs on chains above a standard truck chassis, already fitted with its doors, lights and mud flaps.
Obrázek vytvořený pomocí AI

Modul 3 z 10 kapitoly Datová architektura Salesforce, kapitoly 3 kurzu Data Architect. Každý modul stojí sám o sobě. Předchozí: Dívejte se na mateřskou loď: standardní datové modely · Další: Kde tato data žijí?

Otázka, na kterou tento modul odpovídá: Když to Salesforce nemá, co doopravdy dostanete, když si postavíte vlastní objekt?

V minulém modulu jsme se podívali, co už Salesforce postavil. Někdy nemá, co potřebujete. Steve Trucking provozuje kamiony a standardní objekt Truck neexistuje. Postavíte si tedy jeden: vlastní objekt (custom object).

Tady je, co chci, abyste v tomto modulu viděli. Vlastní objekt se vytváří v metadatech, jako všechno ostatní z modulu 1, a ve chvíli, kdy existuje, přichází se sadou standardních funkcí. Není to prázdná tabulka. A obrazovka, kterou při jeho vytváření vyplňujete, se vás ptá na architektonické otázky, ať si toho všimnete, nebo ne.

Jděte do Setup → Object Manager → Create → Custom Object a dostanete jeden dlouhý formulář. Většina lidí vyplní první dvě políčka a klikne na Save. Zpomalme a přečtěme si ho.

Label a Plural Label. „Truck“ a „Trucks“. To vidí uživatelé, na kartách, v rozvržení stránek a v sestavách. Později je můžete změnit bez velké bolesti.

Object Name. Tohle je jiné: je to název API, název, který používá kód, integrace, sestavy a teď i agenti. Napište „Truck“ a Salesforce z toho udělá Truck__c. Pozdější změna znamená najít všechno, co na něj odkazuje, což je zase test vratnosti z kapitoly 1. Tohle napoprvé trefte.

Description. Vyplňte ho. Pokaždé. V modulu 1 jsem řekl, že metadata už nejsou ozdoba: další administrátor si tohle přečte, stejně jako každý nástroj AI, který se snaží váš org pochopit. Vlastní objekt s prázdným popisem je krabice bez štítku.

Record Name. Každý vlastní objekt má pole Name a tady rozhodujete, co to je. Název typu Text, třeba „Truck 117“, nebo Auto Number, třeba T-000184, které vyplní Salesforce za vás. Přečtěte si varování na té obrazovce: pokud plánujete vkládat přes API velké objemy záznamů, Salesforce vám říká, ať použijete Text. To vám platforma říká něco o měřítku dřív, než vytvoříte jediný záznam.

Část Record Name na obrazovce New Custom Object: políčko Record Name, Data Type nastavený na Text a varování, že pokud plánujete vkládat přes API velký objem záznamů, máte použít datový typ Text

Salesforce Setup, New Custom Object: část Record Name s jejím varováním (snímek obrazovky, 2026-10-12). Plná velikost

Optional Features. Allow Reports, Allow Activities, Track Field History, Allow in Chatter Groups. Ve výchozím stavu vypnuté. Každá je schopnost, kterou pro tento objekt zapínáte; rozhodujte záměrně.

Object Classification. Allow Sharing, Allow Bulk API Access, Allow Streaming API Access, všechny ve výchozím stavu zapnuté. Obrazovka to říká na rovinu: se zapnutými je objekt objektem Enterprise Application; s vypnutými je to objekt Light Application. Tyto názvy odpovídají licencím předplatného aplikací Salesforce: Lightning Platform Light App nemá sdílení na úrovni záznamů a nemůže používat Bulk API ani Streaming API, Enterprise App může. Moje rada: nechte je zapnuté, pokud přesně nevíte, proč ne. Vypněte přístup k Bulk API u objektu, do kterého budete později nahrávat ve velkém, a zjistíte, proč na tom záleželo.

Deployment Status a Search. „In Development“ objekt skryje před uživateli, dokud ho stavíte; „Deployed“ ho zpřístupní. A Allow Search je ve výchozím stavu vypnuté, takže uživatelé tyto záznamy v globálním vyhledávání nenajdou, dokud ho nezapnete. Tohle lidi chytí pokaždé.

Části Object Classification, Deployment Status a Search Status: zaškrtnuté Allow Sharing, Allow Bulk API Access a Allow Streaming API Access; vybrané Deployed; nezaškrtnuté Allow Search

Výchozí stav: tři nastavení API zapnutá, Deployed a Allow Search vypnuté (snímek obrazovky, 2026-10-12). Plná velikost

Klikněte na Save a Object Manager vám objekt ukáže: název API Truck__c, zaškrtnuté Custom, popisky, stav nasazení. Podívejte se ale dolů po levé straně: Fields & Relationships, Page Layouts, Lightning Record Pages, Record Types, Validation Rules, Triggers, Flow Triggers, Object Access, Field Access. Ten seznam je modul 1 zviditelněný. Objekt není jen úložiště; je to místo, na kterém visí všechno to chování.

Object Manager s objektem Truck: API Name Truck__c, zaškrtnuté Custom, popisky v jednotném a množném čísle a seznam vlevo od Fields & Relationships po Validation Rules

Object Manager, Truck: název API Truck__c, Custom a všechno, co na objektu visí (snímek obrazovky, 2026-10-12). Plná velikost

Otevřete Fields & Relationships u úplně nového vlastního objektu a už má pole. Každý vlastní objekt dostane standardní sadu:

  • Name, název záznamu, který jste právě zvolili, používaný v rozvržení stránek, seznamech souvisejících záznamů, lookupech a výsledcích vyhledávání.
  • Owner, uživatel nebo fronta, která záznam vlastní.
  • Created By a Last Modified By, uživatelé, kteří ho vytvořili a naposledy změnili.
  • Currency, pokud jsou zapnuté více měn, a Division, pokud váš org používá divize.

A pod tím ID záznamu z modulu 1 a data vytvoření a změny. Vyexportujte pár záznamů v Data Loaderu a uvidíte je všechny.

Jedno z nich může zmizet. Udělejte ze svého vlastního objektu podřízenou stranu vztahu master-detail a pole Owner zmizí: vlastnictví pak pochází z hlavního záznamu. Je to větší věc, než zní, a vrátíme se k ní v modulech 7 a 8.

V minulém modulu jsem řekl, že standardní objekty nemají předponu ani příponu. Všechno ostatní je má, a jakmile je umíte číst, seznam polí vám přesně řekne, na co se díváte.

Jak to vypadáCo to je
Account, CaseStandardní objekt nebo pole: žádná předpona, žádná přípona
Truck__cVlastní objekt, nebo vlastní pole, třeba Unit_Number__c
abc__Inspection__cVlastní objekt ze spravovaného balíčku: abc je obor názvů dodavatele
Delivery_History__bBig object (modul 4)
Shipment__xExterní objekt: data žijí v jiném systému (modul 4)
Allergies__pcVlastní kontaktní pole na osobním účtu (modul 2)
Truck__rVztah za vlastním lookupem, když po něm v dotazu jdete

Pár věcí, kterých si všimnout.

Zatím je to seznam. Takhle to učím: jako vrstvy. Existují tři druhy objektů, standardní, vlastní a ze spravovaného balíčku, a každý z nich může mít stejné druhy polí: standardní pole, se kterými přišel, a vlastní pole, která někdo přidal.

Standardní objekty. Account nemá předponu ani příponu a nemají je ani jeho standardní pole: Name, Industry, OwnerId. Do většiny standardních objektů můžete přidat vlastní pole a každé, které přidáte, končí na __c: Region__c (Custom Fields (otevře se v nové kartě)). Právě tato přípona vás chrání. Salesforce ve svých vydáních přidává do Account nová standardní pole, a protože vaše vždycky končí na __c a jeho nikdy, budoucí standardní pole se nikdy nemůže srazit s polem, které už máte.

Vlastní objekty. Váš vlastní objekt končí na __c, Truck__c (Custom Objects (otevře se v nové kartě)), a stejně tak vlastní pole, která na něj dáte: Unit_Number__c. Pole, se kterými se narodil, ta z minulé části, jsou ale standardní pole: Name, OwnerId, CreatedDate, bez přípony. I na vašem vlastním objektu vám tedy přípona říká, kdo které pole vytvořil.

Objekty ze spravovaných balíčků. Když nainstalujete spravovaný balíček z AppExchange, jeho objekty a pole přicházejí s předponou oboru názvů dodavatele: abc__Inspection__c a pole jako abc__Result__c. Tato předpona je pro dodavatele jedinečná a nemění se (Namespace Prefix (otevře se v nové kartě)). Slovy Salesforce se předpona přidává ke každé komponentě, aby byla jedinečná: z name__c se stane prefix__name__c (AppExchange Object Prefixes and the API (otevře se v nové kartě)). Dva dodavatelé tedy mohou oba dodat objekt jménem Invoice__c a nikdy se nesrazí navzájem ani s vámi. Objekty balíčku mají pořád svá standardní pole, Name a OwnerId, bez předpony. Balíček může také přidat vlastní pole s předponou do standardních objektů, třeba abc__Score__c na Account. A vy můžete přidat vlastní pole do objektů balíčku: Depot__c na abc__Inspection__c dostane vaši příponu __c, ale nikdy předponu dodavatele, protože jste ho vytvořili vy, ne oni (Known Issue: unmanaged custom field on a managed package object (otevře se v nové kartě)).

Čtení názvů Tři druhy objektů, každý čtený ve stejných čtyřech vrstvách. Standardní objekt, který postavil Salesforce: Account; jeho standardní pole, například Name, OwnerId a Industry, nemají příponu; spravovaný balíček může přidat vlastní pole, například abc__Score__c; vaše vlastní pole končí na __c, jako Region__c. Vlastní objekt, který jste postavili vy: Truck__c; jeho standardní pole Name, OwnerId a CreatedDate nemají příponu; žádná pole balíčku, protože objekt je váš; vaše vlastní pole končí na __c, jako Unit_Number__c. Objekt spravovaného balíčku, nainstalovaný od dodavatele abc: abc__Inspection__c; jeho standardní pole nemají předponu; vlastní pole balíčku nesou předponu, jako abc__Result__c; a pole, která přidáte vy, jako Depot__c, dostanou vaši příponu __c, ale nikdy předponu dodavatele. Pod tím: bez přípony je Salesforce, __c je vlastní a abc__ je dodavatelova, a ta se nikdy nemění. Standardní objekt postavil Salesforce OBJEKT Účet JEHO STANDARDNÍ POLE Name, OwnerId, Industry: bez přípony POLE BALÍČKU abc__Score__c, pokud ho balíček přidá VAŠE VLASTNÍ POLE Region__c Vlastní objekt postavili jste vy OBJEKT Truck__c JEHO STANDARDNÍ POLE Name, OwnerId, CreatedDate: bez přípony POLE BALÍČKU žádná: objekt je váš VAŠE VLASTNÍ POLE Unit_Number__c Objekt spravovaného balíčku nainstalovaný, od dodavatele abc OBJEKT abc__Inspection__c JEHO STANDARDNÍ POLE Name, OwnerId, CreatedDate: bez předpony POLE BALÍČKU abc__Result__c VAŠE VLASTNÍ POLE Depot__c: vaše přípona, nikdy jejich předpona Bez přípony: Salesforce. __c: vlastní. abc__: dodavatelova, a ta se nikdy nemění. © 2026 Twinshark LLC · stevetecharc.com
Kliknutím zvětšíte

Přečtěte jakýkoli název API a víte, kdo ho vytvořil. Bez přípony: Salesforce. __c bez předpony: váš org. abc__ vpředu: dodavatel. Na tom záleží pokaždé, když plánujete změnu. Co je vaše, můžete měnit. Co patří Salesforce, konfigurujete a rozšiřujete. Co patří dodavateli, je většinou zamčené: pár věcí, jako rozvržení stránek a nápověda, můžete upravit, ale většina balíčku a každý název API patří dodavateli a jeho upgrady přinášejí jeho změny (Editable Properties After Package Promotion or Installation (otevře se v nové kartě)).

Nespravované balíčky to nedělají. Nainstalujte nespravovaný balíček a jeho objekty přistanou ve vašem orgu, jako byste je postavili sami, bez předpony. Pokud přinese Truck__c a vy už jeden máte, máte kolizi názvů. Zkontrolujte to před instalací.

Vytvořit vlastní objekt je snadné; právě proto si myslím, že jich vytváříme příliš mnoho. Obrazovka New Custom Object vám ochotně vytvoří Customer__c v orgu, který už má Account. Než tedy kliknete, položte si otázku z minulého modulu: nemá to mateřská loď už? Pokud ano, použijte to. Pokud ne, postavte to a vyplňte celou obrazovku jako architekt.

Další modul klade ještě dřívější otázku: mají tato data vůbec být v Salesforce?

  • Zda už Salesforce nemá pro tohle standardní objekt, dřív než postavíme vlastní.
  • Název API, zvolený jednou, a popis napsaný pro lidi i stroje.
  • Název záznamu: Text, nebo Auto Number, s ohledem na očekávaný objem.
  • Které volitelné funkce, přístup přes API a vyhledávání zapnout, záměrně.
  • Co vám přípony v orgu říkají: vlastní, spravovaný, big, externí, osobní účet.
  • Zda by se balíček, který se chystáte nainstalovat, mohl srazit s tím, co jste postavili.