Как создать 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.
5. Щелкните ОК, чтобы перейти далее. Появится окно Card Part Page Designer
6. Выберите поле No. в списке доступных полей и перенесите его в правое поле с помощью кнопки “>”. Тоже самое повторите для поля Picture.
7. Щелкните Finish, чтобы завершить работу мастера. Появится окно 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. Закройте и сохраните окно Page Designer для страницы 42 Sales Order.
Щелкните кнопку Run, чтобы запустить ролеориентированный клиент (если не запущен) и открыть страницу Sales Order.
В результате должно получиться примерно вот так:
Чтобы картинка была приемлемых размеров, были выполнены следующие настройки для страницы:
1. Скрыл панель действий (Action Pane).
2. Для большинства полей на закладке General установил важность – Дополнительные (Additional).
Краткий обзор о возможностях по настройке ролеориентированного клиента можно посмотреть в статье Что нового в Microsoft Dynamics NAV 2009.
Метки: Андрей Панько




