Общие вычисляемые поля - это вычислимые поля, которые появляются сразу у всех объектов (типов данных), и значения которых задаются шаблонами.
У каждого типа данных в Mobile SMARTS есть собственный набор полей. Но кроме собственных полей в платформе есть возможность добавить вычисляемое поле сразу для всех типов данных.
Примечание: это именно вычисляемые поля, т.е. они не хранятся в объекте, в них ничего нельзя записать, можно только рассчитать значение.
Такие общие вычисляемые поля доступны для использования в любом месте конфигурации, у любого объекта: его значение можно будет получить у документа, у строки документа, у товара и т.п.
При расчете значения такого вычисляемого поля все данные будут браться из полей того объекта, у которого пытаются получить значение поля.
Использование общих вычисляемых полей позволяет сделать унифицированные шаблоны для вычисления каких-либо данных или для вывода однотипной информации.
Создание общего вычисляемого поля
Создание общего вычисляемого поля практически ничем не отличается от создания дополнительного поля строки или шапки документа, щелчок правой кнопкой мыши вызывает меню добавления поля:
Свойства добавленного поля:
Общее
Свойство |
Значение |
Описание |
---|---|---|
Имя поля |
Строка |
Имя, по которому происходит обращение к данному полю. |
Комментарий |
Строка |
Комментарий, отображается в панели управления. |
Синоним |
Строка |
Альтернативное имя, по которому также можно обратиться к данному полю. |
Тип поля |
String | Boolean | DateTime | Int32 | Double | Decimal | Object |
Тип данных, которые будут храниться в поле. |
Шаблон значения |
Шаблон |
Шаблон значения для вычислимой колонки. Значение такой колонки для объекта не проставляется пользователем и не выгружается извне. При каждом запросе она вычисляется согласно шаблону. |
Пример использования
Рассмотрим работу с общими вычисляемыми полями на небольшом примере. Пример реализует общее вычислимое поле для использования его в списках вывода.
Добавленное общее вычислимое поле назовём его ИнформацияОТоваре. В шаблон значения этого поля занесём следующий шаблон:
<r color="Green">{Item.Product.Marking}</r> {Item.Product.Name} <r color="DarkBlue">{Item.Packing.Характеристика}</r>
Данный шаблон будет выводить на экран мобильного устройства общую информацию о товаре - артикул (зелёным цветом), имя товара и характеристику (синим цветом).
Обратите внимание, что в шаблоне используется Item. При вызове этого поля каким-либо объектом, вместо Item будет подставлено имя вызывающего объекта и выводиться будут именно его поля.
Теперь общее вычислимое поле можно использовать для вывода.
К примеру, использовать в колонке действия Просмотр записей:
Или в верхней части окна действия Выбор номенклатуры:
В первом случае вызывать поле будет строка списка, во втором - объект SelectedProduct.
Результат:
Как видим, неважно, какой объект вызывает общее вычисляемое поле, всё работает корректно. Если у вызывающего объекта заполнены не все поля, использующиеся в шаблоне общего вычисляемого поля, то выводятся только заполненные поля.