NAV4U (онлайн-журнал) » Blog Archive » Как создать FactBox, который будет отображать данные связанные со строками.

Как создать FactBox, который будет отображать данные связанные со строками.

В данной статье мы рассмотрим одну из типовых задач, которая возникает при работе со страницами. Напомню, что страница – это новый объект, который заменил формы в ролеориентированном клиенте Microsoft Dynamics NAV 2009. Также мы рассмотрим работу мастера по созданию страниц, который появился в версии Dynamics NAV 2009 SP1.

Задача: В ролеориентированном клиенте NAV 2009 в Заказе продажи требуется отображать изображение выбранного товара.
Для решения задачи будет создан FactBox, в котором будет отображаться изображение товара. Понятно, что в заказе продажи строк с товарами может быть много, поэтому в FactBox должно быть изображение товара из выбранной (активной) строки.

В первую очередь создадим сам FactBox. Данные операции выполняются в классическом клиенте.
1. Открыть ObjectDesigner
2. Щелкнуть по кнопке Page, чтобы открыть список страниц
3. Щелкнуть по кнопке New, чтобы запустить мастера по созданию страниц (мастер доступен в NAV 2009 SP1).
4. В мастере указать Table = 27 (Item), установить переключатель напротив Create Page Using Wizard и выбрать значение CardPart.

New Page

5. Щелкните ОК, чтобы перейти далее. Появится окно Card Part Page Designer
6. Выберите поле No. в списке доступных полей и перенесите его в правое поле с помощью кнопки “>”. Тоже самое повторите для поля Picture.

Page Wizard

7. Щелкните Finish, чтобы завершить работу мастера. Появится окно Page Designer.

Page Designer

8. Закройте окно Page Designer. Система предложит сохранить страницу. Укажите ID = 50001 и Description = Item Picture Fact Box.

Кстати можно испытать новую возможность, которая появилась в NAV 2009 SP1. Теперь кнопка Run работает и для страниц.

Итак, мы создали FactBox. Теперь нужно этот FactBox подключить к основной странице – Sales Order. С помощью опции About This Page мы узнали идентификатор страницы Sales Order.
1. Открыть Object Designer
2. Щелкнуть по кнопке Page, чтобы открыть список страниц.
3. Перейти к странице 42 Sales Order и щелкнуть кнопку Design.
Структура страницы 42 Sales Order следующая:

ContentArea - Общий контейнер
  Group General – закладка General
  Part SalesLines – закладка Sales Lines (обратите внимание, что используется тип Part, а не Group)
  Group Invoicing – закладка Invoicing
  Group Shipping – закладка Shipping
  Group Foreign Trade – закладка Foreign Trade
  Group E-Commerce – закладка E-Commerce
  Group Prepayment – закладка Prepayment
  FactBoxArea – контейнер для FactBox.
    Набор Fact Box, доступных для данной страницы

Как легко догадаться нужно поместить созданный ранее FactBox в контейнер FactBoxArea.
Для этого нужно:
1. Установить курсор в пустую строку.
2. В поле Type указать значение Part
3. Щелкнуть View, Properties, чтобы открыть окно свойств.
4. В свойстве PagePartID установите значение 50001 (Item Picture FactBox). Таким образом, мы указали конкретный FactBox.

Далее нужно указать связь между активной строкой заказа продажи и FactBox. Для этого в свойстве ProviderID укажите значение 58. 58 – это идентификатор строки Part SalesLines, которая отвечает за отображение строк на странице. Строка Part SalesLines связана со страницей 46 Sales Order Subform, которая в свою очередь основана на таблице 37 Sales Line. Таким образом FactBox будет связан с таблицей Sales Line.
Теперь, когда мы указали, что FactBox связан со строкой заказа в целом, укажем конкретные поля. Для этого нужно щелкнуть кнопку AssistEdit свойства SubFormLink. Откроется окно Table Filter.

Создайте новую строку и укажите в ней следующие значения:

  • Filed = No.
  • Type = Field
  • Value = No.

Щелкните ОК, чтобы закрыть окно Table Filter.
Окно Properties должно выглядеть следующим образом:

Properties

Закройте окно Properties. Закройте и сохраните окно Page Designer для страницы 42 Sales Order.
Щелкните кнопку Run, чтобы запустить ролеориентированный клиент (если не запущен) и открыть страницу Sales Order.
В результате должно получиться примерно вот так:

Заказ продажи с FactBox

Чтобы картинка была приемлемых размеров, были выполнены следующие настройки для страницы:
1. Скрыл панель действий (Action Pane).
2. Для большинства полей на закладке General установил важность – Дополнительные (Additional).

Краткий обзор о возможностях по настройке ролеориентированного клиента можно посмотреть в статье Что нового в Microsoft Dynamics NAV 2009.

Метки:



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