Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Comenzile au unul din trei domenii. Domeniul de aplicare determină dacă o comandă (schemaname = appaction) va fi afișată pentru un tabel dintr-o singură aplicație, pentru un tabel din toate aplicațiile sau pentru toate tabelele și toate aplicațiile.
O comandă trebuie să fie legată de o locație din bara de comandă, cum ar fi grila principală sau formularul principal, indiferent de domeniul de aplicare. Prin urmare, modificarea domeniului de aplicare nu va reda comanda în diferite locații ale barei de comandă, cum ar fi grila principală și formularul principal.
- Aplicație Acesta este cel mai restrâns domeniu de aplicare și comportamentul implicit la crearea sau editarea comenzilor utilizând designerul de comenzi modern. Proiectantul de comenzi este deschis în contextul unei locații bazate pe aplicație, tabel și bară de comandă bazate pe model.
- Tabel Cunoscut și sub denumirea de domeniu de aplicare al entității. Legat de un anumit tabel și de o locație pe bara de comandă. Nu este legat de nicio aplicație anume. Prin urmare, comenzile specifice tabelului vor fi redate în toate aplicațiile care utilizează tabelul. De exemplu, o comandă pentru domeniul de aplicare al tabelului pentru tabelul de cont și locația principală a formularului va fi prezentă în toate aplicațiile atunci când vizualizați formularul principal pentru o înregistrare a contului.
- Global Acesta este cel mai larg domeniu de aplicare. Comenzile pentru domeniul de acoperire global sunt legate doar la o locație de pe bara de comenzi, nu la o aplicație sau un tabel. De exemplu, o comandă pentru domeniul de aplicare global pentru locația principală a formularului va fi prezentă în toate aplicațiile dintr-un mediu atunci când vizualizați formularul principal pentru fiecare tabel.
Important
Comenzile care folosesc Power Fx pentru acțiunea și/sau vizibilitate nu pot fi convertite la domeniul de acoperire tabel sau global în acest moment.
Când comenzile sunt imbricate în liste verticale, grupuri și butoane de separare, toate trebuie setate la același domeniu.
Dacă o comandă cu domeniu de acoperire global sau la nivel de tabel este editată în proiectantul modern de comandă, o copie (instanță) este creată cu domeniul de aplicare aplicație și conectată la comanda originală. De exemplu, editarea unei comenzi cu domeniu de acoperire global în proiectantul de comenzi înlocuiește comanda originală cu domeniul global, dar numai pentru aplicația și tabelul specific alese la deschiderea proiectantului de comenzi. Toate celelalte aplicații și tabele vor reda comanda originală. Copia (instanța) are acum propriul ciclu de viață. Modificările aduse comenzii originale din domeniul global nu vor afecta noua instanță cu domeniul de aplicare aplicație și nici viceversa.
Înlocuiți comenzile cu domeniul de acoperire global și tabel
Domeniile de aplicare mai restrânse pot înlocui o comandă cu domeniu mai larg la fiecare nivel. Cel mai restrâns domeniu câștigă.
- O comandă cu scop tabel (entitate) are prioritate față de comenzile cu scop global. Puteți defini o comandă care va fi aceeași în toate tabelele, dar să-i modificați comportamentul numai pentru anumite tabele.
- O comandă *app scoped* are prioritate față de toate celelalte domenii de aplicare, dar numai pentru o anumită aplicație și un anumit tabel.
Cum se creează o comandă pentru domeniul tabel
Creați una sau mai multe comenzi în soluția dvs. utilizând proiectantul de comenzi. Alternativ, creați o soluție separată și selectați Adăugați tabel>existent.
Alegeți Selectați obiecte, apoi adăugați comenzile dorite.
Selectați Export pentru a exporta soluția.
Dacă ați făcut modificări recente care nu au fost încă publicate, selectați Publicați. Apoi, selectați Executare pentru a verifica dacă soluția are probleme sau dependențe, apoi selectați Următorul.
Selectați opțiunea Negestionat , apoi selectați Exportat.
În caseta de dialog Descărcare , selectați Salvare, iar în caseta de dialog Descărcare finalizată , selectați Deschidere folder.
Faceți clic dreapta pentru a selecta fișierul .zip comprimat pe care l-ați descărcat, apoi selectați Extrageți tot.
Selectați o locație în care să extrageți fișierele, apoi selectați Extragere.
Deschideți folderul cu fișierele extrase, deschideți fișierul appaction.xml și găsiți comanda dorită (appaction).
Ștergeți nodul appmoduleid din fișierul XML.
<appmoduleid> <uniquename>demo_DemoFestApp</uniquename> </appmoduleid>Schimbați valoarea numelui unic al aplicației appaction. Schimbarea oricăruia dintre ultimele caractere este suficientă, de exemplu de la 1 la 2, sau puteți utiliza convenții de denumire mai descriptive, dacă doriți.
Exemplu de XML.
<appaction uniquename="crdff_NewCommand!a078463b5d7c473d8965f0f80469f412!crdff_CustomApp!crdff_entity1!1">
<buttonlabeltext default="Show Alert">
<label description="Show Alert" languagecode="1033" />
</buttonlabeltext>
<buttonsequencepriority>10.0000000000</buttonsequencepriority>
<context>1</context>
<contextentity>
<logicalname>crdff_entity1</logicalname>
</contextentity>
<fonticon>AALinkedInLogo</fonticon>
<contextvalue>crdff_entity1</contextvalue>
<hidden>0</hidden>
<iscustomizable>1</iscustomizable>
<location>1</location>
<name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
<onclickeventjavascriptfunctionname>ShowAppAlert</onclickeventjavascriptfunctionname>
<onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
<onclickeventjavascriptwebresourceid>
<webresourceid>ac21ad24-3c11-ef11-b6u7-000d3a1d942c</webresourceid>
</onclickeventjavascriptwebresourceid>
<onclickeventtype>2</onclickeventtype>
<statecode>0</statecode>
<statuscode>1</statuscode>
<type>0</type>
</appaction>
După ce ați editat și salvat fișierul appaction.xml, arhivați soluția în același format în care a fost exportată. Apoi importați soluția înapoi în mediul dvs. și testați comportamentul.
Cum se creează o comandă pentru domeniul global
Urmați aceiași pași de mai sus pentru a edita fișierul appaction.xml.
Ștergeți nodul appmoduleid din fișierul xml:
<appmoduleid> <uniquename>demo_DemoFestApp</uniquename> </appmoduleid>Schimbați valoarea numelui unic al aplicației appaction. Schimbarea oricăruia dintre ultimele caractere este suficientă, de exemplu de la 1 la 2, sau puteți utiliza convenții de denumire mai descriptive, dacă doriți.
Ștergeți nodurile contextentity și contextvalue din fișierul XML:
<contextentity> <logicalname>account</logicalname> </contextentity> <contextvalue>account</contextvalue>Schimbați valoarea contextului de la 1 la 0.
<appaction uniquename="crdff_NewCommand1!8fe72a85-1f84-431e-ac56-854f1bfadc4e!1"> <buttonlabeltext default="Show Alert"> <label description="Show Alert" languagecode="1033" /> </buttonlabeltext> <buttonsequencepriority>10.0000000000</buttonsequencepriority> <context>0</context> <hidden>0</hidden> <iscustomizable>1</iscustomizable> <fonticon>AALinkedInLogo</fonticon> <location>1</location> <name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name> <onclickeventjavascriptfunctionname>ShowGlobalAlert</onclickeventjavascriptfunctionname> <onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters> <onclickeventjavascriptwebresourceid> <webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid> </onclickeventjavascriptwebresourceid> <onclickeventtype>2</onclickeventtype> <statecode>0</statecode> <statuscode>1</statuscode> <type>0</type> </appaction>
După ce ați editat și salvat fișierul appaction.xml, arhivați soluția în același format în care a fost exportată. Apoi importați soluția înapoi în mediul dvs. și testați comportamentul.
Cum să înlocuiți o comandă cu domeniu global cu una cu domeniul tabel
Acest exemplu este pentru situațiile în care doriți ca o comandă de domeniu global să fie aceeași peste tot, cu excepția unui anumit tabel.
-
Acțiunea în domeniul de aplicare al entității va fi vizibilă în
crdff_entity1grilele din toate aplicațiile, cu excepțiacrdff_CustomApp. -
Acțiunea globală cu domeniu de aplicare va fi vizibilă pe toate grilele de entități, cu excepția
crdff_entity1.
Notă
Pentru a înlocui comenzile globale sau de tabel cu o comandă de aplicație, pur și simplu editați comanda folosind proiectantul de comenzi.
Pentru a suprascrie o comandă cu scop global cu o comandă cu scop de tabel, modificați fișierele appactions.xml astfel încât să aibă aceleași XML <name> .
Pași de înlocuire
Urmați pașii din Cum se creează o comandă cu scop global, dar creați două comenzi folosind designerul de comenzi.
După cum este descris în acei pași, exportați soluția și editați fișierele appactions.xml.
Continuați să urmați pașii pentru a crea o comandă globală și o comandă al cărei domeniu să fie o singură entitate.
Setați proprietatea name să fie exact aceeași atât pentru comenzile globale, cât și pentru cele de tip entity scope.
Exemplu de XML pentru comandă cu domeniu global
<appaction uniquename="crdff_NewCommand1!8fe72a85-1f84-431e-ac56-854f1bfadc4e!1">
<buttonlabeltext default="Show Alert">
<label description="Show Alert" languagecode="1033" />
</buttonlabeltext>
<buttonsequencepriority>10.0000000000</buttonsequencepriority>
<context>0</context>
<hidden>0</hidden>
<iscustomizable>1</iscustomizable>
<fonticon>AALinkedInLogo</fonticon>
<location>1</location>
<name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
<onclickeventjavascriptfunctionname>ShowGlobalAlert</onclickeventjavascriptfunctionname>
<onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
<onclickeventjavascriptwebresourceid>
<webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid>
</onclickeventjavascriptwebresourceid>
<onclickeventtype>2</onclickeventtype>
<statecode>0</statecode>
<statuscode>1</statuscode>
<type>0</type>
</appaction>
Exemplu de XML pentru comandă cu domeniu de tabel
<appaction uniquename="crdff_NewCommand!a078463b5d7c473d8965f0f80469f412!crdff_entity1!1">
<buttonlabeltext default="Show Alert">
<label description="Show Alert" languagecode="1033" />
</buttonlabeltext>
<buttonsequencepriority>10.0000000000</buttonsequencepriority>
<context>1</context>
<contextentity>
<logicalname>crdff_entity1</logicalname>
</contextentity>
<fonticon>AALinkedInLogo</fonticon>
<contextvalue>crdff_entity1</contextvalue>
<hidden>0</hidden>
<iscustomizable>1</iscustomizable>
<location>1</location>
<name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
<onclickeventjavascriptfunctionname>ShowEntityAlert</onclickeventjavascriptfunctionname>
<onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
<onclickeventjavascriptwebresourceid>
<webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid>
</onclickeventjavascriptwebresourceid>
<onclickeventtype>2</onclickeventtype>
<statecode>0</statecode>
<statuscode>1</statuscode>
<type>0</type>
</appaction>