About This Page
В ролеориентированном клиенте NAV 2009 SP1 появилась новая опция: About this page, которая придется по душе разработчикам и консультантам. О том зачем она нужна и как ее использовать будет рассказано в данной статье.
Начнем с простого – где она находится. Для вызова этой опции требуется щелкнуть кнопку Help в правом верхнем углу ролеориентированного клиента и выбрать пункт About this page из выпадающего меню.
В результате появится окно About this page:
В строке заголовка указано название окна (About this page), кроме того в него перенесен текст из заголовка страницы.
Кстати, на основании наблюдений можно выяснить как формируется заголовок самой страницы. Для начала вспомним, что страницы могут открываться в двух режимах:
- Ролевой центр и списочные формы, которые можно вызывать из панели навигации отображаются в окне навигации.
- При открытии карточных форм или списков для выбора создается новое окно, которое называется окно задач. У него нет панели навигации, а в панели задач Windows для него создается отдельная кнопка.
Поэтому заголовок страницы формируется по-разному:
- Для страниц, которые отображаются в окне навигации, в качестве заголовка используется название соответствующего пункта меню из панели навигации. Т.е. для ролевого центра пункт меню называется Role Center, значит и заголовок у него будет тоже Role Center. Для списка заказов продажи пункт меню называется Sales Orders, поэтому и заголовок окна будет называться Sales Orders. Как известно, если в панели навигации есть несколько пунктов меню, которые ссылаются на один объект, то они группируются. Сюда относятся, например, открытые заказы продажи (пункт меню Sales Orders – Open). Т.к. этот пункт меню подчинен пункту меню Sales Orders, то в заголовок дополнительно включается название родительского пункта меню: Sales Orders, Sales Orders – Open.
- Что касается страниц открываемых в отдельных окнах – окнах задач, то они тоже бывают двух типов:
a. Страницы, у которых заполнено свойство SourceTable. У таких страниц заголовок состоит из значения свойства Caption, режима отображения страницы (View, Edit, Select) и значения свойства DataCaptionFields таблицы-источника.
b. Для страниц, у которых свойство SourceTable не заполнено, заголовок состоит исключительно из значения свойства Caption.
Но вернемся к окну About this page. Для ролевого центра отображается вкладка Page Information, в которой выведены следующие поля:
Page: название и идентификатор страницы (свойства ID и Name объекта страница). Раньше чтоб узнать идентификатор объекта приходилось запускать страницу с параметром showhelpid.
Page Type: тип страницы (List, Card, Page)
Page Mode: режим в котором открыта страница (Edit - редактирование, View – просмотр, Select - выбор)
Source Table: указывается таблица-источник для страницы (ID и Name).
Rec: указывается запись, на которой в данный момент установлен курсор. Если для таблицы задано свойство DataCaptionFields, то указываются значения полей, перечисленных в данном свойстве. В противном случае выводится информация из полей входящих в первичный ключ.
Но это еще не все, на что способно окно About this page. Попробуем его открыть для страницы Sales Orders.
Во-первых, обратим внимание на поля Source Table и Rec – в них появились соответствующие значения.
Также можно заметить новые закладки: Table Fields, Source Expressions, FlowFilter Fields, Filters. Эти закладки связаны с таблицей-источником.
Table Fields – аналог функциональности Zoom (Ctrl+F8) из классического клиента. На ней показаны поля и их значения. Обратите внимание, что первыми отображаются поля входящие в первичный ключ (отмечены абревиатурой PK - Primary Key), а остальные поля отсортированы по алфавиту (аплодирую стоя).
Далее идет закладка Source Expressions. На ней находится несомненно полезная информация, правда как ее трактовать понятно не всегда. Она несет вспомогательную функцию и поясняет почему значения на закладке Table Fields отображаются так, а не иначе.
Например, строка
Control1102601054_Format: #,##0.#####
Указывает, что для поля 11002601054 (Payment Discount %) установлено свойство DecimalPlaces 0:5, которое отличается от значений, используемых для полей типа Decimal по умолчанию (2:2).
А строки:
Shortcut Dimension 1 Code: Department Code
Shortcut Dimension 2 Code: Project Code
Указывают, что поля Shortcut Dimension 1 Code и Shortcut Dimension 2 Code на закладке Table Fields обозначены как Department Code и Project Code соответственно.
Перейдем дальше, к закладке FlowFilter Fileds, но вначале маленький шаг в сторону.
Для форм такого понятия как тип не существовало. Конечно были карточные, списочные, документы, но все они работали одинаково. В страницах NAV 2009 появилось новое свойство PageType, которое влияет на поведение страницы.
Например, если у страницы тип Card, то нельзя менять высоту первой закладки, зато можно устанавливать flowfilter. Если у страницы тип List, то хотя закладки создавать можно, пользователь не сможет их настраивать – в окне Customize This Page нет режима управления FastTabs, зато можно устанавливать обычные фильтры и задавать сортировку. Если у страницы тип Worksheet, то закладки отображаются не как закладки, а как группы.
Итак, хотя для таблицы 36 Sales Header есть flowfilter, из страницы 9305 Sales Order List их не то чтобы изменить – посмотреть нельзя. А вот с помощью окна About this page – можно. Как видно на рисунке для таблицы 36 Sales Header есть два flowfilter.
Последняя закладка – Filters. На ней отображаются установленные фильтры. Кроме фильтров, заданных пользователем на форме, здесь можно увидеть фильтры, наложенные программно (например, с помощью свойства SourceTableView).
На этом завершим краткое знакомство с полезной опцией About this page.
Метки: Андрей Панько
31 Август 2009 в 11:52
Кстати строка #,##0.##### означает:
1. Следует использовать разделитель тысячных
2. Если число состоит только из дробной части, то нужно отображать в целой части 0. Например: 0,123 так и будет отображаться, а не как ,123.
3. Что касается дробной части - то разрешено 5 знаков после запятой.
Статья MSND называется: Custom Numeric Format Strings
16 Октябрь 2009 в 8:44
Кое-что про фичу About this report http://apanko.ru/showthread.php?p=20281#post20281