Zoznámenie sa s riešeniamiIntroduction to solutions

Vývojári aplikácií a tí, čo ich potom prispôsobujú, používajú Riešenia na tvorbu aplikácií, balíkov a údržbu softvérových jednotiek, ktoré rozširujú službu Common Data Service for Apps.Solutions are how customizers and developers author, package, and maintain units of software that extend Common Data Service for Apps. Aplikácie Dynamics 365 for Sales, Marketing Customer Service napríklad sa skladajú z riešení.For example, the Dynamics 365 for Sales, Marketing, Customer Service apps are composed of solutions. Prispôsobovači a vývojári distribuujú riešenia tak, aby organizácie mohli využívať službu Common Data Service for Apps na inštalovanie a odinštalovanie obchodných funkcií definovaných v riešeniach.Customizers and developers distribute solutions so that organizations can use Common Data Service for Apps to install and uninstall the business functionality defined by the solution.

Každé prispôsobenie, ktoré vykonáte v rámci služby Common Data Service for Apps alebo skôr nainštalovaného riešenia, je súčasťou riešenia.Every customization that you make to Common Data Service for Apps, or to a previously installed solution, is part of a solution. Každá zmena, ktorú uskutočníte, je sledovaná a akékoľvek závislosti možno vypočítať.Every change you apply is tracked and any dependencies can be calculated. Pri exporte obsahuje spravované riešenie všetky zmeny, ktoré boli uskutočnené pre toto riešenie, v súbore, ktorý potom môžete importovať do rôznych prostredí služby Common Data Service for Apps.When you export a managed solution, it contains all the changes that have been applied for that solution into a file that you can then import into a different Common Data Service for Apps environment.

Ak máte v úmysle preniesť prispôsobenia alebo rozšírenia medzi rôznymi prostrediami služby Common Data Service for Apps alebo distribuovať riešenia pomocou služby AppSource, musíte rozumieť architektúre riešení.If you intend to transport customizations or extensions between different Common Data Service for Apps environments or distribute solutions using AppSource, you must understand the solution framework.

Spravované a nespravované riešeniaManaged and unmanaged solutions

Existujú dva typy riešení: spravované a nespravované.There are two types of solutions: managed and unmanaged.

Spravované riešenie je dokončené riešenie, ktoré je určené na distribuovanie a inštalovanie.A managed solution is a completed solution that is intended to be distributed and installed.

  • Komponenty spravovaného riešenie nemožno upravovať.You cannot edit the components of a managed solution.

  • Spravované riešenia nie je možné exportovať.You cannot export a managed solution.

  • Nespravované prispôsobenia môžete pridať medzi komponenty spravovaného riešenia.You can add unmanaged customizations to components of a managed solution. Tým sa vytvorí závislosť medzi nespravovanými prispôsobeniami a spravovaným riešením.When you do this, you create a dependency between your unmanaged customizations and the managed solution. Spravované riešenie sa nedá odinštalovať, kým sa táto závislosť neodstráni.When a dependency exists, the managed solution cannot be uninstalled until you remove the dependency.

  • Odstránením (odinštalovaním) spravovaného riešenia sa odstránia aj všetky prispôsobenia a rozšírenia v ňom zahrnuté.When a managed solution is deleted (uninstalled), all the customizations and extensions included with it are removed.

    Dôležité

    Odinštalovaním spravovaného riešenia budú stratené nasledovné údaje: údaje uložené vo vlastných entitách, ktoré sú súčasťou spravovaného riešenia, a údaje uložené vo vlastných atribútoch, ktoré sú súčasťou spravovaného riešenia v iných entitách, ktoré nie sú súčasťou spravovaného riešenia.When you uninstall a managed solution, the following data is lost: data stored in custom entities that are part of the managed solution and data stored in custom attributes that are part of the managed solution on other entities that are not part of the managed solution.

Nespravované riešenie je stále v štádiu vývoja alebo nie je určené na distribúciu.An unmanaged solution is one that is still under development or isn’t intended to be distributed.

  • Do nespravovaného riešenia je možné naďalej pridávať a odstraňovať komponenty.While a solution is unmanaged, you can continue to add and remove components to it.

  • Nespravované riešenie je možné exportovať a tak prenášať nespravované prispôsobenia z jedného prostredia do druhého.You can export an unmanaged solution to transport unmanaged customizations from one environment to another.

  • Odstránením nespravovaného riešenia sa odstráni iba kontajner riešenia so všetkými prispôsobeniami.When an unmanaged solution is deleted, only the solution container of any customizations included in it is deleted. Všetky nespravované prispôsobenia zostávajú v platnosti a patria do predvoleného riešenia.All the unmanaged customizations remain in effect and belong to the default solution.

  • Nespravované riešenia po dokončení na distribúciu exportujte ako spravované riešenie.When the unmanaged solution is complete and you want to distribute it, export it as a managed solution.

    Poznámka

    Nie je možné importovať spravované riešenie do prostredia, ktoré obsahuje pôvodné nespravované riešenie.You cannot import a managed solution into the same environment that contains the originating unmanaged solution. Ak chcete otestovať spravované riešenie, importujte ho do oddeleného prostredia.To test a managed solution, you need a separate environment to import it into.

Vydavatelia riešeníSolution publishers

Každé riešenie je prepojené na vydavateľa riešenia.Each solution is linked to a solution publisher. Vydavateľ riešenia poskytuje kontaktné informácie a tiež hodnotu predpony prispôsobenia.The solution publisher provides information about how to contact the publisher as well a customization prefix value. Predvolená hodnota je new.The default value is new.

Keď je akákoľvek zmena schémy súčasťou riešenia, hodnota predpony prispôsobenia vydavateľa riešenia je pridaná do názvu položiek schémy.When any schema changes are included as part of a solution, the solution publisher customization prefix is prepended to the name of the schema items. Táto hodnota je pripojená takisto ku každej vlastnej akcii.Any custom actions also have this value appended to them. Je to užitočné, pretože to umožňuje rýchlo rozpoznať, ktoré riešenie bolo pridané do položky schémy alebo vlastnej akcie.This is valuable because it allows for easy recognition of which solution added the schema item or custom action. Nie je povinné používať rovnaké predpony prispôsobenia pre všetky položky schémy a vlastné akcie v riešení, ale dôrazne sa to odporúča.It is not required for all schema items and custom actions in a solution to use the same customization prefix, but it is strongly recommended.

Dôležité

Skôr než začnete vytvárať riešenie, mali by ste vytvoriť záznam vydavateľa o riešení, a nové riešenie naň prepojiť.Before you start creating a solution, you should create a solution publisher record and create a new solution linked to it. Predpona prispôsobenia predstavuje hodnotu, ktorá má pre vás určite zmysel.You should make sure the customization prefix represents a value that makes sense for you.

Výber vydavateľa riešenia je dôležitý v prípade, že chcete publikovať aktualizáciu už dodaného riešenia.Your choice of solution publisher is important in case you want to publish an update to a solution you have shipped. Aktualizácia môže byť použitá iba pre spravované riešenie s rovnakým vydavateľom ako pôvodné spravované riešenie.An update can only be applied to a managed solution with the same publisher as the original managed solution.

Ďalšie informácie: Príručka pre vývojárov systému Dynamics 365 Customer Engagement: Údržba spravovaných riešení > Tvorba aktualizácií spravovaných riešeníMore information: Dynamics 365 Customer Engagement Developer Guide: Maintain managed solutions > Create managed solution updates

Vytvorenie vydavateľa riešenia a riešeniaCreate a solution publisher and solution

Ak chcete vytvoriť vydavateľa riešenia a riešenia, budete musieť prejsť na oblasť prispôsobenia Dynamics 365.To create a solution publisher and a solution you need to navigate to the Dynamics 365 Customization area.

Z lokality powerapps.comFrom powerapps.com

  1. Vyberte ikonu Waffle v hornej časti ľavom rohuSelect the Waffle icon at the top left corner
  2. V náhľade vyberte Všetky aplikácie.In the fly out, select All apps.
  3. Nájdite možnosť Dynamics 365 – vlastná aplikácia.Look for the Dynamics 365 - custom app. Prípadne kliknite na ikonu troch bodiek (...) a potom na položku Pripnúť túto aplikáciu, čím si v budúcnosti uľahčíte navigáciu.You may want to click the ellipses (...) and choose Pin this app so it will be easier to navigate to next time.
  4. Kliknite na možnosť aplikácie Dynamics 365 – Vlastná aplikácia a vyberte ju.Click the Dynamics 365 - custom app app and select it.
  5. Prejdite na Nastavenia > Prispôsobenie > Prispôsobenia.Navigate to Settings > Customization > Customizations.

Z lokality home.dynamics.comFrom home.dynamics.com

  1. Nájdite dlaždicu Dynamics 365 – vlastná a kliknite na ňu.Look for the Dynamics 365 - custom tile and click it.
  2. Prejdite na Nastavenia > Prispôsobenie > Prispôsobenia.Navigate to Settings > Customization > Customizations.

Vytvorenie vydavateľa riešeniaCreate a solution publisher

  1. V oblasti prispôsobenia vyberte možnosť Vydavatelia.From the customizations area, select Publishers.
  2. Kliknite na položku Nové.Click New.
  3. Vo formulári vydavateľa zadajte Zobrazované meno.In the publisher form enter a Display Name. Na základe zobrazovaného mena sa vygeneruje Meno.A Name value will be generated based on the display name. Môžete prijať vygenerované meno alebo zadať nové.You can accept the generated value or specify a new one.
  4. V poli Predpona zadajte predponu prispôsobenia, ktorá sa pripojí na všetky vlastné položky schémy pridané pri vývoji riešenia.In the prefix field, specify the customization prefix that should be appended to any custom schema items you add when developing your solution. Predvolená hodnota je new.The default value is new. Vyberte takú hodnotu, ktorá reprezentuje vašu organizáciu a pomôže ľuďom identifikovať komponenty nainštalované v ich systéme pochádzajúce z vášho riešenia.Choose a value that represents your organization and will help people identify which components installed in their system came from your solution.
  5. Možnosť Hodnota Predpony sa vygeneruje na základe vašej voľby predpony prispôsobenia.An Option Value Prefix value will be generated based on your choice for customization prefix. Táto hodnota sa pripojí ku každej hodnote pre množinu možností, ktorú pridáte k atribútom vo vašom riešení.This is a value that will be appended to any values for option set options you add to attributes in your solution. Táto hodnota vám pomôže identifikovať všetky možnosti, ktoré pridáte do vášho riešenia.This value will help identify any options you add to your solution.
  6. V sekcii formulára Podrobnosti o kontakte môžete pridať kontaktné informácie pre ľudí, ktorí si nainštalovali vaše riešenie.In the Contact Details section of the form, you may add any contact information you want to provide for people who install your solution.
  7. Po dokončení kliknite na možnosť Uložiť a zavrieť.Click Save and Close when you are done.

Vytvorenie riešeniaCreate a solution

  1. V oblasti prispôsobenia vyberte možnosť Riešenia.From the customizations area, select Solutions.
  2. Kliknite na položku Nové.Click New.
  3. Vo formulári riešenia zadajte Zobrazované meno.In the solution form enter a Display Name. Na základe zobrazovaného mena sa vygeneruje Meno.A Name value will be generated based on the display name. Môžete prijať vygenerované meno alebo zadať nové.You can accept the generated value or specify a new one.
  4. V poli Vydavateľ vyhľadajte vydavateľa, ktorého ste vytvorili pomocou možnosti Vytvoriť vydavateľa riešeniaIn the Publisher field look up the publisher you created in Create a solution publisher
  5. V poli Verzia vyberte príslušnú verziu pre vaše riešenie, napríklad 1.0.0.0.In the Version field select an appropriate version for your solution, such as 1.0.0.0.
  6. Po dokončení kliknite na možnosť Uložiť.Click Save when you are done.

Dôležité

Nový komponent riešenia pridávajte do toho istého riešenia alebo iného riešenia priradeného k rovnakému vydavateľovi riešenia.Whenever you create a new solution component that will be included in this solution, use this solution, or another solution associated with the same solution publisher to add it. Komponenty riešenia vytvorené v rámci riešenia priradeného k inému vydavateľovi môžu byť pridané, ale môžu mať nastavené iné hodnoty predpony prispôsobenia.Solution components created in the context of a solution associated to a different solution publisher can be added to this solution, but they may have inconsistent customization prefix values set.

Vrstvenie riešeniaSolution layering

Je možné inštalovať dve spravované riešenia, ktoré sú navzájom v rozpore, alebo prepísať spravované riešenie niektorými prispôsobeniami použitými v danom prostredí.It is possible for two managed solutions to be installed which contradict each other or for some customizations applied to the environment to override a managed solution. Ako je to možné?How does this work?

Je to možné, pretože služba Common Data Service for Apps vyhodnocuje spravované riešenia v poradí, v akom boli nainštalované, a všetky prispôsobenia, ktoré nie sú v spravovanom riešení, sa vyhodnocujú nakoniec.It works because Common Data Service for Apps evaluates managed solutions by the order in which they are installed and any customizations that are not in a managed solution are evaluated last.

Nasledujúci diagram znázorňuje interakcie spravovaného riešenia s nespravovanými prispôsobeniami na kontrolu toho, čo je v aplikácii zahrnuté v režime runtime.The following diagram introduces how managed solutions and unmanaged customizations interact to control what is included at runtime in the application.

Diagram znázorňujúci vrstvenie riešenia

V tomto príklade je predvolené správanie definované v systéme riešení prepísané alebo pripojené spravovanými riešeniami.In this example, default behavior defined in the system solution is overridden or appended by managed solutions. Žiadne nespravované prispôsobenia potom nemôžu prepísať alebo byť pripojené k prispôsobeniam, ktoré sú viditeľné v aplikácii.Any unmanaged customizations can then override or append customizations that are then visible in the application.

Ďalšie informácie: Príručka pre vývojárov systému Dynamics 365 Customer Engagement: Zoznámenie sa s riešeniami > Nespravované a spravované riešeniaMore information: Dynamics 365 Customer Engagement Developer Guide: Introduction to solutions > Unmanaged and managed solutions

Spravované vlastnostiManaged properties

Každý, kto inštaluje vaše distribuované spravované riešenie, môže doň zahrnúť svoje vlastné nespravované prispôsobenia.When you distribute a managed solution, anyone who installs your solution can include their own unmanaged customizations to it. Riešenie s týmito nespravovanými prispôsobeniami môže následne distribuovať ako spravované riešenie závisiace od vášho riešenia.Those unmanaged customizations can then be added to a solution that they distributed as a managed solution that depends on your solution. Ale čo v prípade, ak nechcete, aby to ľudia robili?But what if you don’t want people to do this? Ako vydavateľ spravovaného riešenia môžete použiť spravované vlastnosti a zakázať konkrétne prispôsobenia pre komponenty vášho spravovaného riešenia.As the publisher of the managed solution you can use managed properties to disable specific customizations for the components of your managed solution.

Ďalšie informácie: Príručka pre vývojárov v službe Dynamics 365 Customer Engagement: Použitie spravovaných vlastnostíMore information: Dynamics 365 Customer Engagement Developer Guide: Use managed properties

Štandardné riešeniaModular solutions

Na vytvorenie množiny osobitých komponentov, ktoré poskytujú množinu funkcií, môžete použiť rámec riešení.You can use the solution framework to create a discrete set of components that provide a set of functionalities. Každé spravované riešenie môže byť nainštalované a odinštalované, čím sa nasadenie zákazníka vráti do pôvodného stavu.Each managed solution can be installed and uninstalled to return the customer’s deployment to its original state. Každé spravované riešenie, ktoré vytvoríte, je nadradené v systéme riešenia a má prístup k možnostiam všetkých podradených riešení.Each managed solution you create runs on top of the system solution and can access the capabilities of that underlying solution.

Môžete tiež zostaviť spravované riešenia, ktoré sa spúšťajú na základe ostatných riešení, a vytvoriť tak množinu funkcií, ktoré je možné zdieľať medzi rozličnými riešeniami.You can also build managed solutions that run on top of other solutions to create a set of functionalities that can be shared by different solutions. Týmto spôsobom môžete vytvárať a udržiavať spoločný modul ako riešenie na podporu viacerých riešení.In this way, you can build and maintain a common module as a solution to support multiple solutions. Z tohto dôvodu zákazníkom stačí nainštalovať riešenia, ktoré sú pre nich vhodné, a preto všetky riešenia nemusia obsahovať rovnakú zdieľanú funkciu.Because of this, customers only need to install the solutions that are right for them and you don’t need to include the same shared functionality in every solution. Ak potrebujete distribuovať aktualizácie na riešenie, ktoré podporuje viacero riešení, musíte aktualizovať spoločný modul.If you need to push out an update to solution that supports multiple solutions, you only need to update the common module.

Zákazníci, realizátori systému a iní nezávislí dodávatelia softvéru potom môžu vytvárať riešenia postavené na vašom riešení a podľa svojich potrieb urobiť konkrétne prispôsobenia.Customers, System Implementers, and other ISVs can then build solutions on top of your solutions to achieve the specific customizations they require.

Množiny obchodných funkcií súvisiace s viacerými riešeniami sa nazývajú balíky.When a set of business functionality is composed with multiple solutions, these are called packages. Viaceré riešenia skombinujete do jednej inštalovateľnej jednotky použitím možnosti Nasadenie balíka.You can use the Package Deployer to combine multiple solutions into a single installable unit.

Nasadenie balíkov riešeníDeploy solution packages

Pomocou možnosti Nasadenie balíka vytvoríte vlastný inštalačný balík, ktorý môže obsahovaťUse the Package Deployer to create a custom installer for a package that can include

  • Jeden alebo viacero súborov riešení.One or more solution files.
  • Ploché kartotéky alebo exportované súbory konfiguračných údajov.Flat files or exported configuration data files.
  • Vlastný kód, ktorý sa spustí pred, počas, alebo po nasadení balíka.Custom code that can run before, while, or after the package is deployed.
  • Obsah HTML špecifický pre balík, ktorý môžete zobraziť na začiatku a na konci procesu nasadenia.HTML content specific to the package that can display at the beginning and end of the deployment process. Môže to byť užitočné na poskytnutie popisu riešení a súborov, ktoré sú nasadené v balíku.This can be useful to provide a description of the solutions and files that are deployed in the package.

Ďalšie informácie: Príručka pre vývojárov v službe Dynamics 365 Customer Engagement: Vytváranie balíkov pre nástroj Dynamics 365 Package Deployer.More information: Dynamics 365 Customer Engagement Developer Guide: Create packages for the Dynamics 365 Package Deployer.

Tímový vývoj riešeníTeam development of solutions

Súbor riešenia je jeden binárny súbor, ktorý nie je vhodný pre ovládací prvok zdrojového kódu alebo tímový vývoj.A solution file is a single binary file that does not lend itself to source code control or team development. Neexistuje žiadny spôsob pre viacero vývojárov pracovať na vlastných komponentoch v riešení.There is no way for multiple developers to work on the custom components in the solution.

Nástroj Balíčkovač riešení rieši problém ovládacieho prvku zdrojového kódu a tímového vývoja súborov riešení.The SolutionPackager tool resolves the problem of source code control and team development of solution files. Nástroj identifikuje jednotlivé komponenty v komprimovanom súbore riešenia a extrahuje ich do jednotlivých súborov.The tool identifies individual components in the compressed solution file and extracts them out to individual files. Nástroj dokáže tiež znovu vytvoriť súbor riešenia zabalením súborov, ktoré boli predtým extrahované.The tool can also re-create a solution file by packing the files that had been previously extracted. Vďaka tomu môžu viacerí ľudia pracovať nezávisle od seba na jednom riešení a extrahovať svoje zmeny do spoločného umiestnenia.This enables multiple people to work independently on a single solution and extract their changes into a common location. Pretože jednotlivé komponenty v súbore riešenia sú rozdelené do viacerých súborov, bude možné zlúčiť prispôsobenia bez toho, aby boli prepísané predchádzajúce zmeny.Because each component in the solution file is broken into multiple files, it becomes possible to merge customizations without overwriting prior changes. Druhé použitie nástroja Balíčkovač riešení je, že ho možno vyvolať z automatizovaného procesu zostavovania a vygenerovať komprimovaný súbor riešenia z predtým extrahovaných súborov komponentov bez potreby aktívnej inštancie Dynamics 365.A secondary use of the SolutionPackager tool is that it can be invoked from an automated build process to generate a compressed solution file from previously extracted component files without needing an active Dynamics 365 instance.

Ďalšie informácie: Príručka pre vývojárov v službe Dynamics 365 Customer Engagement: Nástroje riešení pre tímový vývojMore information: Dynamics 365 Customer Engagement Developer Guide: Solution tools for team development

Ďalšie informácieSee also

Prehľad služby Common Data Service for Apps pre vývojárovCommon Data Service for Apps Developer Overview