Действия (Actions) в страницах NAV 2009 (часть 1).

При использовании ролеориентированного клиента NAV 2009 вместо привычных форм, пользователю отображаются новые объекты – страницы. В целом жалеть не о чем, так как они предоставляют на порядок больше возможностей по настройке по рабочего окружения (краткий обзор возможностей по настройке смотри в статье Что нового в Microsoft Dynamics NAV 2009).

Вместе со страницами в ролеориентированный интерфейс пришло такое понятие как “действия” (Actions). Эта сущность призвана заменить кнопки-меню, которые обычно находились в нижней левой части формы. Стоит отметить, что в NAV 2009 действия это несколько больше чем просто кнопки.

Действия (Actions) в Microsoft Dynamics NAV 2009

 Действия (Actions) в Microsoft Dynamics NAV 2009

В данной статье рассмотрим каждый вид действий детально.
Начнем с простого - со страницы типа карточка, в которой отражается информация по клиенту.
1. В классическом клиенте открыть Object Designer.
2. Щелкнуть кнопку Page, чтобы открыть список страниц.
3. Найти страницу 21 Customer Card, щелкнуть кнопку Design. Откроется Page Designer.
4. Установить курсор на пустую строку (в конце) и щелкнуть View > Actions. Откроется окно Action Designer.

Action Designer

В нем мы видим иерархическую структуру, на верхних уровнях которой находятся элементы типа ActionContainer, а на нижних – сами Action (действия). Между ними могут находиться элементы типа ActionGroup.
Начнем с самого начала. Итак, на верхнем уровне должен быть элемент типа ActionContaigner, который указывает “где” должны отображаться содержащиеся в нем действия. За конкретику отвечает поле SubType.
Поле SubType может принимать следующие значения:

  • ActionItems
  • NewDocumentItems
  • RelatedInformation
  • Reports
  • HomeItems
  • ActivityButtons

Начнем по порядку.

ActionItems

Элементы, которые находятся в контейнере ActionItems, содержатся в пункте меню Actions. Согласно рисунку, приведенному выше, в контейнере ActionItems содержатся три действия, одно из которых находится в группе Functions. Обычно в данное меню помещаются действия, которые раньше вызывались с помощью кнопки Функция.

Меню Actions

Обратите внимание, что в меню Actions также находятся системные действия, такие как:

  • View
  • Edit
  • New
  • Delete
  • Notes
  • Links
  • Open in New Window (для страниц типа List)
  • Refresh
  • Clear Filter
  • Send To
  • Previous (начиная с NAV 2009 SP1)
  • Next (начиная с NAV 2009 SP1)
  • Print Page

На наличие системных действию влияют права доступа, заданные для пользователя. 

NewDocumentItems

Однако кроме перечисленных выше системных действий, и действий, указанных в контейнере Actions, в меню Action содержится еще один пункт: New Document. Этому пункту меню соотвествует контейнер типа NewDocumentItems. В него следует помещать действия, которые приводят к созданию новых документов.

NewDocumentItems

Например, для карточки клиента это действия по созданию новых квот продажи для данного клиента или заказов, кредит-нот и т.п.

Меню New Document

Обратите внимание, что в окне Properties для таких действий указывается свойство RunFormMode = Create, а также свойство RunFormLink (например, RunFormLink = Sell-to Customer No.=FIELD(No.)). Это позволяет создать новый документ с уже заполненным кодом клиента.

Примечание. Будет открыт пустой документ, но при нажатии на клавишу Enter, в нем будут заполнены поля No., Sell-to Customer No, Sell-to Customer Name и другие поля, которые заполняются при указании кода клиента.

RelatedInformation

Следующим после Actions в меню идет пункт Related Information. Его содержимое формируется на основании элементов содержащихся в контейнере RelatedInformation.

RelatedInformation

В данный пункт меню обычно помещают ссылки на связанные страницы. Например, это могут быть учтенные операции, статистика по клиенту или измерения по умолчанию.

Меню Related Information

Reports

Report является последним пунктом меню. За его содержимое отвечает контейнер Reports.

Reports

В него рекомендуется помещать вызовы отчетов.

Меню Reports

Стоит отметить, что если в Actions Designer нет какого-либо контейнера, то пустой пункт меню отображаться не будет.
Мы не рассматривали контейнеры типа HomeItems и ActivityButtons. Эти два контейнера используются исключительно в страницах типа RoleCenter (Ролевой Центр) и мы их рассмотрим в следующей статье .

А сейчас обратите внимание на Панель действий (Action Pane), которая расположилась под строкой меню. В ней есть большие и маленькие кнопки, при нажатии на которые вызываются различные действия.
Чтобы действие появилось в виде кнопочки нужно открыть для этого действия окно свойств и изменить свойства:

  • Image
  • Promoted
  • PromotedCategory
  • PromotedIsBig

 Action Properties

Image – это рисунок, который должен отображаться. Влияет не только на панель действия, но и на то, как действия отображаются в меню. В данное поле нужно вводить названия изображение. Перечень доступных изображений можно посмотреть здесь: http://blogs.msdn.com/clausl/archive/2008/09/28/action-and-activity-button-icons-in-microsoft-dynamics-nav-2009.aspx. Если ничего не указывать, то система использует изображение по умолчанию (оранжевая восьмиконечная звезда).
Свойство Promoted – указывает на то, будет ли действие отображаться на Панели действий или нет. PromotedBig – указывает на то, будет ли использоваться большое изображение или стандартное.

Про PromotedCategory необходимо рассказать отдельно. Дело в том, что пользователи при настройке Панели Действий могут указывать не только эти три категории, но и создавать свои собственные. Однако разработчики такой возможности были лишены. С появлением NAV 2009 SP1 у разработчиков также появилась возможность создавать свои категории прямо из среды разработки.

По умолчанию в свойстве PromotedCategory доступны для выбора следующие опции:

  • New
  • Process
  • Report

С NAV 2009 SP1 появились также опции:

  • Category4
  • Category5
  • Category6
  • Category7
  • Category8
  • Category9
  • Category10

 Category4

Однако кому понравится размещать свои действия в категории с названием “Category4″? Чтобы изменить название категорий нужно в окне свойств страницы отредактировать значение свойства PromotedActionCategoriesML.
При работе с данным свойством следует использовать те же принципы, что и при работе со свойством PageNamesML элемента управления TabControl (используется в формах).

Для того, чтобы задать нормальное название для категории Category4 нужно ввести в свойство PromotedActionCategoriesML нужно ввести значение:

ENU=New,Process,Report,My Category.

Как видим, если требуется изменить название дополнительных категорий нужно в начале указывать названия существующих категорий. А что будет, если ввести туда свои значения?

Page Properties

Явно “кое-кто” считает себя большим затейником.

Вот что получилось из этого эксперимента:

Action Menu

Продолжение следует…

Метки:



Комментариев: 3

  1. Роман пишет:

    Спасибо в очередной раз за интересный сабж, Андрей.
    Единственный вопрос: когда же 2009 SP1 появится на партнерском сайте не в виде виртуалки?
    Спасибо заранее за Ваш ответ.

  2. apanko пишет:

    Приветствую.
    Говорят, что 1го сентября ожидается релиз для правильных стран.
    http://www.mibuso.com/forum/viewtopic.php?f=32&t=34738

    В этой теме ссылка на график на партнер сурсе.

  3. Роман пишет:

    Спасибо.
    Больше всего улыбнуло следующее:

    ara3n:
    Release date for Group 1 is September 1st.

    Ravi_Thakkar:
    Group1 means SP1?

    :)

Оставьте свой отзыв!