Поділитися через


Області для сучасних команд

Команди мають одну з трьох областей. Область визначає, чи буде команду (schemaname = appaction) відтворено для таблиці в одній програмі, для таблиці у всіх програмах, чи для всіх таблиць і всіх програм.

Команда має бути прив’язана до розташування панелі команд, наприклад, до основної сітки або основної форми, незалежно від області застосування. Тому змінення області не призведе до відтворення команди в інших розташуваннях панелі команд, наприклад, в основній сітці та основній формі.

  • Програма – це найвужча область застосування і поведінка за замовчуванням під час створення або редагування команд за допомогою сучасного конструктора команд. Конструктор команд відкрито в контексті модельної програми, таблиці й розташування панелі команд.
  • Таблиця – також називається областю застосування сутності. Прив’язано до певної таблиці та розташування панелі команд. Не прив’язано до жодної певної програми. Отже команди області застосування таблиць відображатимуться в усіх програмах, які використовують таблицю. Наприклад, команда області застосування таблиць для таблиці бізнес-партнера та розташування основної форми відображатиметься в усіх програмах під час перегляду основної форми запису бізнес-партнера.
  • Глобальна – це найбільша область застосування. Команди глобальної області застосування прив’язуються лише до розташування панелі команд, а не до програми або таблиці. Наприклад, команда глобальної області застосування для розташування основної форми відображається в усіх програмах у середовищі під час перегляду основної форми кожної таблиці.

Важливо

Команди, які використовують Power Fx для дії та/або видимості, наразі не можна перетворити на таблицю або глобальну область застосування.

Якщо команди вкладено в розкривні списки, групи та кнопки розділення, усе повинно бути налаштовано для однакової області застосування.

Якщо команда глобальної області застосування або області застосування таблиці редагується в сучасному конструкторі команд, створюється копія (екземпляр) за допомогою області застосування програми та пов’язується з вихідною командою. Наприклад, редагування команди глобальної області застосування в конструкторі команд заміщує вихідну команду глобальної області застосування, але лише для конкретної програми та таблиці, вибраної під час відкриття конструктора команд. Усі інші програми та таблиці відтворюватимуть вихідну команду. Тепер копія (екземпляр) має власний життєвий цикл. Змінення вихідної команди глобальної області застосування не вплине на новий екземпляр області застосування програми й навпаки.

Перевизначення команд таблиць та команд глобальної області застосування

Вужчі області застосування можуть перевизначати команду ширшої області застосування на кожному рівні. Найвужча область застосування має перевагу.

  • Команда області застосування таблиці (сутності) перевизначає команди глобальної області застосування. Можна визначити команду, яка буде однаковою для всіх таблиць, але змінювати поведінку лише для певних таблиць.
  • Команда області застосування програми замінює всі інші області, але тільки для певної програми та таблиці.

Процедура створення команди області застосування таблиці

  1. Створіть одну або кілька команд у рішенні за допомогою конструктора команд. Або створіть окреме рішення та виберіть Додати наявне > Таблиця.

  2. Виберіть Вибрати об’єкти, а потім додайте потрібні команди.

  3. Виберіть Експортувати, щоб експортувати рішення.

    Експортувати рішення.

  4. Якщо ви внесли останні зміни, які ще не було опубліковано, натисніть кнопку Опублікувати. Потім натисніть кнопку Виконати, щоб перевірити, чи є в рішенні проблеми чи залежності, а потім натисніть кнопку Далі.

  5. Виберіть значення Некерований, а потім натисніть Експортувати.

  6. У діалоговому вікні Завантажити натисніть кнопку Зберегти, а потім у діалоговому вікні Завантаження завершено виберіть пункт Відкрити папку.

  7. Клацніть правою кнопкою миші, щоб вибрати завантажений стиснутий ZIP-файл, а потім виберіть елемент Видобути все.

  8. Виберіть розташування, в яке потрібно видобути файли, а потім натисніть кнопку Видобути.

  9. Відкрийте папку з видобутими файлами, відкрийте файл appaction.xml і знайдіть потрібну команду (appaction).

  10. Видаліть вузол appmoduleid з xml.

     <appmoduleid>
       <uniquename>demo_DemoFestApp</uniquename>
     </appmoduleid>
    
  11. Змініть значення унікальної назви appaction. Достатньо змінити будь-який з останніх символів, наприклад, з 1 на 2, або, за бажанням, ви можете скористатися більш описовими правилами іменування.

Приклад 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>

Після редагування та збереження файлу appaction.xml запакуйте рішення в тому самому форматі, в якому його було експортовано. Потім імпортуйте рішення назад до середовища та перевірте поведінку.

Процедура створення команди глобальної області застосування

  1. Виконайте зазначені вище кроки, щоб відредагувати файл appaction.xml.

  2. Видаліть вузол appmoduleid з xml:

     <appmoduleid>
       <uniquename>demo_DemoFestApp</uniquename>
     </appmoduleid>
    
  3. Змініть значення унікальної назви appaction. Достатньо змінити будь-який з останніх символів, наприклад, з 1 на 2, або, за бажанням, ви можете скористатися більш описовими правилами іменування.

  4. Видаліть вузли contextentity й contextvalue з xml:

    <contextentity>
     <logicalname>account</logicalname>
    </contextentity>
    <contextvalue>account</contextvalue>
    
  5. Змініть значення контекст з 1 на 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>
    

Після редагування та збереження файлу appaction.xml запакуйте рішення в тому самому форматі, в якому його було експортовано. Потім імпортуйте рішення назад до середовища та перевірте поведінку.

Процедура перевизначення команди глобальної області застосування за допомогою області застосування таблиці

Цей приклад демонструє випадок, коли потрібно, щоб команда глобальної області застосування була однаковою всюди, за винятком певної таблиці.

  • Дія області застосування сутностей буде видима в сітках crdff_entity1 у всіх програмах, за винятком crdff_CustomApp.
  • Дія глобальної області застосування буде видима в усіх сітках сутності, за винятком crdff_entity1.

Примітка

Щоб перевизначити команди глобальної області застосування або області застосування таблиці на команду області застосування програми, просто відредагуйте команду за допомогою конструктора команд.

Щоб перевизначити команду глобальної області застосування на команду області застосування таблиці, змініть файли appactions.xml так, щоб вони мали однакове XML <name> .

Кроки, які слід виконати, щоб перевизначити

  1. Виконайте кроки, описані в розділі Процедура створення команди глобальної області застосування, але створіть дві команди за допомогою конструктора команд.

  2. Експортуйте рішення та відредагуйте файли appactions.xml, як описано в кроках.

  3. Продовжуйте виконувати описані кроки, щоб створити одну команду глобальної області застосування й одну команду області застосування сутностей.

  4. Установіть властивість Ім’я, щоб воно було однаковим для команди глобальної області застосування й для команди області застосування сутностей.

Приклад XML команди глобальної області застосування

<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>

Приклад XML команди області застосування таблиці

<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>

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).