Sprendimo komponentų priklausomybės sekimas

Ši tema taikoma „Dynamics 365 Customer Engagement (on-premises)“. Šios temos „Power Apps“ versijos ieškokite: Sprendimo komponentų priklausomybės sekimas.

Sprendimai gaminami iš tirpalo komponentų. Naudosite "Dynamics 365 Customer Engagement (on-premises)" sritį Sprendimai , kad sukurtumėte arba įtrauktumėte sprendimo komponentų. Šiuos veiksmus galite atlikti programiškai naudodami AddSolutionComponentRequest pranešimą arba bet kokius pranešimus, kurie sukuria arba atnaujina sprendimo komponentus, kuriuose yra parametras SolutionUniqueName .

Sprendimo komponentai dažnai priklauso nuo kitų sprendimo komponentų. Negalite panaikinti jokio sprendimo komponento, turinčio priklausomybių nuo kito sprendimo komponento. Pavyzdžiui, tinkintai juostelei paprastai reikia vaizdo arba scenarijaus žiniatinklio išteklių, kad būtų rodomos piktogramos ir atlikti veiksmai naudojant scenarijus. Kol tinkinta juostelė yra sprendime, reikalingi konkretūs jos naudojami žiniatinklio ištekliai. Prieš panaikindami žiniatinklio išteklius, turite pašalinti nuorodas į juos tinkintoje juostelėje. Šias sprendimo komponentų priklausomybes galima peržiūrėti programoje spustelėjus Rodyti priklausomybes.

Šioje temoje aprašomi sprendimo komponentų, kuriuos galite įtraukti į savo sprendimus, tipai ir kaip jie priklauso vienas nuo kito.

Visi sprendimo komponentai

Visas galimų sprendimų komponentų tipų sąrašas yra sistemos componenttype visuotiniame parinkčių rinkinyje. Galite naudoti REST galinį punktą, https://[ORGANIZATION_NAME].api.crm.dynamics.com/api/data/v9.0/GlobalOptionSetDefinitions(Name='componenttype')norėdami pateikti užklausą dėl šių duomenų ir peržiūrėti visą "componenet" naudodami kodą. Palaikomas šios ypatybės reikšmių diapazonas pasiekiamas į projektą įtraukus failą SampleCode\CS\HelperCode\OptionSets.cs arba SampleCode\VB\HelperCode\OptionSets.vb. Tačiau daugelis išvardytų sprendimo komponentų tipų yra skirti tik vidiniam naudojimui, o sąraše nepateikiama informacijos apie ryšius tarp sprendimo komponentų.

Sprendimo komponentų priklausomybės

Sprendimo komponentų priklausomybės padeda užtikrinti patikimą darbo su sprendimais patirtį. Jie neleidžia įprastai atliekamiems veiksmams netyčia pažeisti sprendime apibrėžtus tinkinimus. Šios priklausomybės leidžia įdiegti ir pašalinti valdomąjį sprendimą tiesiog importuojant arba panaikinant sprendimą.

Sprendimų sistema automatiškai seka sprendimo komponentų priklausomybes. Kiekviena sprendimo komponento operacija automatiškai apskaičiuoja visas priklausomybes nuo kitų sistemos komponentų. Priklausomybės informacija naudojama siekiant išlaikyti sistemos vientisumą ir užkirsti kelią operacijoms, kurios gali sukelti nenuoseklią būseną.

Dėl priklausomybės sekimo vykdomi šie veiksmai:

  • Komponento ištrinti negalima, jei nuo jo priklauso kitas sistemos komponentas.

  • Sprendimo eksportavimas įspėja vartotoją, jei trūksta komponentų, dėl kurių gali kilti gedimas importuojant sprendimą į kitą sistemą.

    Įspėjimų eksportavimo metu galima nepaisyti, jei sprendimo kūrėjas ketina sprendimą diegti tik organizacijoje, kurioje tikimasi, kad bus priklausomų komponentų. Pavyzdžiui, kai kuriate sprendimą, skirtą diegti naudojant iš anksto įdiegtą "pagrindinį" sprendimą.

  • Sprendimo importuoti nepavyksta, jei visi reikalingi komponentai nėra įtraukti į sprendimą ir taip pat nėra paskirties sistemoje.

    • Be to, kai importuojate valdomąjį sprendimą, visi reikalingi komponentai turi atitikti sprendimo paketo tipą. Valdomojo sprendimo komponentas gali priklausyti tik nuo kito valdomojo komponento.

    Yra trijų tipų sprendimo komponentų priklausomybės:

    Vidinis sprendimas
    Vidines priklausomybes valdo "Dynamics 365 Customer Engagement (on-premises)". Jie egzistuoja, kai konkretus sprendimo komponentas negali egzistuoti be kito sprendimo komponento.

    Paskelbtas
    Publikuotos priklausomybės sukuriamos, kai du sprendimo komponentai yra susiję vienas su kitu, o tada publikuojami. Norint pašalinti šio tipo priklausomybę, susiejimas turi būti pašalintas, o objektai vėl publikuoti.

    Neskelbtų
    Nepublikuotos priklausomybės taikomos nepublikuotai publikuojamo sprendimo komponento versijai, kuri yra atnaujinama. Publikavus sprendimo komponentą, jis tampa publikuota priklausomybe.

    Sprendimo vidinės priklausomybės yra priklausomybės, kai veiksmams su sprendimo komponentu reikia atlikti veiksmą kitam sprendimo komponentui. Pavyzdžiui, jei panaikinsite objektą, turėtumėte tikėtis, kad visi objekto atributai bus panaikinti kartu su juo. Visi objektų ryšiai su kitais objektais taip pat bus panaikinti.

    Tačiau vidinė priklausomybė gali lemti paskelbtą priklausomybę ir vis tiek reikalauti rankinio įsikišimo. Pavyzdžiui, jei įtraukiate peržvalgos lauką į objekto formą ir panaikinate pirminį objektą į ryšį, negalėsite užbaigti šio naikinimo, kol nepašalinsite peržvalgos lauko iš susijusios objekto formos ir nepublikuosite formos.

    Kai programiškai atliekate veiksmus su sprendimais, galite naudoti su objektu susijusius pranešimus Dependency . Žr. Priklausomybės objektas pranešimams, kuriuos galite naudoti norėdami nustatyti priklausomybes, kurios gali būti prieš panaikinant komponentą arba pašalinant sprendimą.

Tikrinti, ar nėra sprendimo komponentų priklausomybių

Redaguodami sprendimus galite pastebėti, kad negalite panaikinti sprendimo komponento, nes jis turi publikuotą priklausomybę nuo kito sprendimo komponento. Arba gali nepavykti pašalinti valdomojo sprendimo, nes vienas iš valdomojo sprendimo komponentų buvo naudojamas tinkinant kitą nevaldomąjį sprendimą.

Šioje lentelėje pateikiami pranešimai, kuriuos galite naudoti duomenims apie sprendimo komponentų priklausomybes gauti.

Pranešimas Aprašas
RetrieveDependentComponentsRequest Pateikia sprendimo komponentų, tiesiogiai priklausančių nuo sprendimo komponento, priklausomybių sąrašą.

Pavyzdžiui, kai naudojate šį pranešimą visuotiniam parinkčių rinkinio sprendimo komponentui, pateikiami sprendimo komponentų priklausomybės įrašai, nurodantys bet kokius parinkčių rinkinio atributus, nurodančius visuotinio parinkčių rinkinio sprendimo komponentą.

Kai naudojate šį pranešimą kliento objekto sprendimo komponento įrašui, pateikiami visų sprendimo komponentų, nurodančių tam objektui naudojamus atributus, rodinius ir formas, priklausomybės įrašai.
RetrieveRequiredComponentsRequest Pateikia sprendimo komponentų, nuo kurių tiesiogiai priklauso kitas sprendimo komponentas, priklausomybių sąrašą. Šis pranešimas pateikia atvirkštinę pranešimo pusę RetrieveDependentComponentsRequest .
RetrieveDependenciesForDeleteRequest Pateikia visų sprendimo komponentų priklausomybių, kurios gali neleisti naikinti sprendimo komponento, sąrašą.
RetrieveDependenciesForUninstallRequest Pateikia visų sprendimo komponentų priklausomybių, kurios gali neleisti pašalinti valdomojo sprendimo, sąrašą.

Bendrieji sprendimo komponentai

Tai yra programoje rodomi sprendimo komponentai ir komponentai, su kuriais dirbsite tiesiogiai, įtraukdami arba šalindami sprendimo komponentus naudodami sprendimo puslapį. Kiekvienas kitas sprendimo komponentų tipas priklausys nuo vieno ar kelių šių sprendimo komponentų egzistavimo.

Taikomųjų programų juostelės (RibbonCustomization)

Programos juostelės ir objekto juostelės šablonų juostelės tinkinimai. Programos juostelėse nėra objekto arba formos lygio juostelių apibrėžimų.

Pasirinktinės programos juostelės dažnai turi publikuojamas priklausomybes nuo žiniatinklio išteklių. Žiniatinklio ištekliai naudojami juostelės mygtukų piktogramoms ir "JavaScript" funkcijoms apibrėžti, kad būtų galima valdyti, kada rodomi juostelės elementai arba kokie veiksmai atliekami naudojant tam tikrą juostelės valdiklį. Priklausomybės sukuriamos tik tada, kai juostelės apibrėžimai naudoja $webresource: direktyvą susieti žiniatinklio išteklius su juostele. Daugiau informacijos: $webresource direktyva

Straipsnio šablonas (KBArticleTemplate)

Šablonas, kuriame yra standartiniai straipsnio atributai. Visada yra vidinė priklausomybė tarp straipsnio šablono ir KbArticle objekto.

Ryšio vaidmuo (ConnectionRole)

Vaidmuo, apibūdinantis ryšį tarp dviejų įrašų. Kiekvienas ryšio vaidmuo apibrėžia, kokių tipų objekto įrašus galima susieti naudojant ryšio vaidmenį. Taip sukuriama publikuota priklausomybė tarp ryšio vaidmens ir objekto.

Sutarties šablonas (ContractTemplate)

Šablonas, kuriame yra standartiniai sutarties atributai. Visada yra vidinė priklausomybė tarp sutarties šablono ir sutarties objekto.

Ataskaitų sritis arba objekto forma (SystemForm)

Sistemos formos objekto įrašai naudojami ataskaitų sritims ir objekto formoms apibrėžti. Kai SystemForm naudojama kaip objekto forma, yra vidinė priklausomybė nuo objekto. Kai SystemForm naudojama kaip ataskaitų sritis, vidinių priklausomybių nėra. Tiek objektų formos, tiek ataskaitų sritys paprastai turi publikuotų priklausomybių, susijusių su jų turiniu. Objekto formoje gali būti peržvalgos laukų, kurie priklauso nuo objekto ryšio. Tiek ataskaitų srityse, tiek objekto formose gali būti diagramų arba papildomų tinklelių, kurie sukurs publikuotą priklausomybę nuo rodinio, kuris vėliau turės vidinę priklausomybę nuo objekto. Publikuota priklausomybė nuo žiniatinklio išteklių gali būti sukurta dėl ataskaitų srityje ar formoje rodomo turinio arba kai formoje yra "JavaScript" bibliotekų. Objekto formose yra publikuotos priklausomybės nuo bet kokių atributų, kurie formoje rodomi kaip laukai.

El. laiško šablonas (EmailTemplate)

Šablonas, kuriame yra standartiniai el. laiško atributai. El. laiško šablone paprastai yra laukų, kuriuose įterpiami duomenys iš nurodytų objekto atributų. El. laiško šabloną galima susieti su konkrečiu objektu, kai jis kuriamas, kad būtų vidinė priklausomybė nuo objekto. Visuotinis el. laiško šablonas nėra susietas su konkrečiu objektu, tačiau jame gali būti publikuotų priklausomybių nuo objekto atributų, naudojamų duomenims pateikti. Procesas (darbo eiga) dažnai sukonfigūruojamas siųsti el. laišką naudojant el. laiško šabloną, sukuriant publikuotą priklausomybę nuo darbo eigos.

Objektas (subjektas)

Pirminė struktūra, naudojama "Dynamics 365 Customer Engagement (on-premises)" duomenims modeliuoti ir valdyti. Diagramos, formos, objektų ryšiai, rodiniai ir atributai, susieti su objektu, panaikinami automatiškai, kai objektas panaikinamas dėl vidinių priklausomybių tarp jų. Objektai dažnai turi publikuotų priklausomybių su procesais, ataskaitų sritimis ir el. laiškų šablonais.

Lauko saugos profilis (FieldSecurityProfile)

Profilis, apibrėžiantis apsaugotų atributų prieigos lygį.

Laiškų suliejimo šablonas (MailMergeTemplate)

Šablonas, kuriame yra standartiniai laiškų suliejimo dokumento atributai. Laiškų suliejimo šablonas turi publikuotą priklausomybę nuo objekto, su kuriuo jis susietas.

Parinkčių rinkinys (OptionSet)

Parinkčių rinkinys apibrėžia parinkčių rinkinį. Išrinkimo sąrašo atributas naudoja parinkčių rinkinį pateiktoms parinktims apibrėžti. Keli išrinkimo sąrašo atributai gali naudoti visuotinį parinkčių rinkinį, kad jų pateiktos parinktys visada būtų vienodos ir galėtų būti tvarkomos vienoje vietoje. Publikuota priklausomybė atsiranda, kai išrinkimo sąrašo atributas nurodo visuotinį parinkčių rinkinį. Negalite panaikinti visuotinio parinkčių rinkinio, kurį naudoja išrinkimo sąrašo atributas.

Įskiepio rinkinys (PluginAssembly)

Rinkinys, kuriame yra vienas ar daugiau priedų tipų. Priedai registruojami įvykiuose, kurie paprastai yra susieti su objektu. Taip sukuriama publikuota priklausomybė.

Procesas (darbo eiga)

Loginių taisyklių rinkinys, apibrėžiantis veiksmus, reikalingus konkrečiam verslo procesui, užduočiai ar veiksmų rinkiniui automatizuoti. Procesai pateikia platų veiksmų spektrą, kuris sukuria publikuotas priklausomybes nuo bet kurio kito sprendimo komponento, kurį nurodo procesas. Kiekvienas procesas taip pat turi publikuotą priklausomybę nuo objekto, su kuriuo jis susietas.

Ataskaita (ataskaita)

Duomenų suvestinė lengvai skaitomu maketu. Ataskaitoje yra publikuotos priklausomybės nuo bet kokio objekto ar atributo duomenų, įtrauktų į ataskaitą. Kiekviena ataskaita taip pat turi būti susieta su ataskaitos kategorija, sukuriančia vidinę priklausomybę nuo sprendimo komponento, vadinamo Su ataskaita susijusi kategorija (ReportCategory). Ataskaitos gali būti sukonfigūruotos kaip antrinės ataskaitos, sukuriančios publikuotą priklausomybę nuo pirminės ataskaitos.

SDK pranešimų apdorojimo veiksmas (SDKMessageProcessingStep)

Vykdymo srauto etapas, kurį turi vykdyti papildinys.

Saugos vaidmuo (vaidmuo)

Saugos teisių grupavimas. Vartotojams priskiriami vaidmenys, suteikiantys jiems prieigą prie "Dynamics 365 Customer Engagement (on-premises)" sistemos. Objekto formos gali būti susietos su konkrečiais saugos vaidmenimis, kad būtų galima valdyti, kas gali peržiūrėti formą. Taip sukuriama publikuota priklausomybė tarp saugos vaidmens ir formos.

Pastaba.

Į sprendimą galima įtraukti tik organizacijos verslo vieneto saugos vaidmenis. Tik vartotojas, turintis skaitymo prieigą prie šių saugos vaidmenų, gali juos įtraukti į sprendimą.

Paslaugos galinis punktas (ServiceEndpoint)

Aptarnavimo galinis punktas, su kuriuo galima susisiekti.

Svetainės žemėlapis (SiteMap)

XML duomenys, naudojami programos naršymo sričiai valdyti. Svetainės struktūra gali būti susieta su HTML žiniatinklio išteklių rodymu arba piktograma svetainės struktūroje gali naudoti vaizdo žiniatinklio išteklius. Kai $webresource: direktyva naudojama šiems susiejimams nustatyti, sukuriama publikuota priklausomybė. Daugiau informacijos: $webresource direktyva

Žiniatinklio išteklius (WebResource)

Duomenys, atitinkantys failus, naudojamus kuriant žiniatinklį. Žiniatinklio ištekliai pateikia kliento komponentus, kurie naudojami pasirinktiniams vartotojo sąsajos elementams pateikti. Žiniatinklio ištekliai gali turėti publikacijų priklausomybių su objekto formomis, juostelėmis ir svetainės struktūra. Kai $webresource: direktyva naudojama asociacijoms juostelėje arba svetainės struktūroje nustatyti, sukuriama publikuota priklausomybė. Daugiau informacijos rasite $webresource direktyvoje.

Pastaba.

Žiniatinklio ištekliai gali priklausyti nuo kitų žiniatinklio išteklių, pagrįstų santykiniais saitais. Pavyzdžiui, HTML žiniatinklio išteklius gali naudoti CSS arba scenarijaus žiniatinklio išteklius. "Silverlight" žiniatinklio išteklius, rodomas už objekto formos ar diagramos ribų, turi turėti HTML žiniatinklio išteklius, kad jį būtų galima nuomoti. Šios priklausomybės nėra sekamos kaip sprendimo priklausomybės.

Taip pat žr.

Plėtinių pakavimas ir platinimas naudojant "Dynamics 365 Customer Engagement (on-premises)" sprendimą
Įvadas į sprendimus
Sprendimų kūrimo planas
Nevaldomojo sprendimo kūrimas, eksportavimas arba importavimas
Valdomojo sprendimo kūrimas, diegimas ir naujinimas
Valdomojo sprendimo kūrimas, diegimas ir naujinimas
Sprendimo šalinimas arba naikinimas
Sprendimo objektai