Форматирование значений атрибутов в файле шаблона экспорта и формулах
Введение
В Comindware Business Application Platform предусмотрена возможность выгрузки данных записи в шаблон Word, Excel или PDF. Cм. «Подготовка файла шаблона экспорта».
В файле шаблона экспорта используются заполнители в фигурных скобках вида {attributeSystemName}
, где attributeSystemName
— системное имя атрибута.
Для некоторых типов атрибутов можно задать формат значения. Для этого после имени атрибута через двоеточие следует указать формат, в указанной ниже нотации.
Аналогичным образом можно форматировать значения при использовании функций FORMAT()
и FORMATLOC()
.
Форматирование чисел
В документ Word значение атрибута типа «Число» экспортируется как текст.
При экспорте в Excel числовых атрибутов формат ячейки, заданный в Excel, не учитывается:
- Если в свойствах атрибута типа «Число» указано количества знаков после запятой, ячейке в Excel назначается соответствующий формат. Если для количества знаков после запятой выбрать пункт «Не преобразовывать», то ячейке будет назначен формат «Общий».
- Если в шаблоне экспорта в заполнителе задано количество знаков после запятой, этот формат будет назначен ячейке Excel. Он имеет приоритет над форматом числа, заданным в свойствах атрибута.
В шаблоне экспорта, в заполнителе количество знаков после запятой задаётся следующим образом:
{numberAttributeSystemName:N2}
— десятичное число с 2 знаками после запятой;{numberAttributeSystemName:N1}
— десятичное число с 1 знаком после запятой;{numberAttributeSystemName:N0}
— целое число.
Синтаксис для формулы
Аналогичным образом можно форматировать числа при использовании функции FORMAT()
, например:
FORMAT("{0:N2}",LIST($numberAttributeSystemName))
Форматирование дат и времени
Значение атрибута типа «Дата и время» экспортируется в документ Word как текст.
Для экспорта в шаблон Excel необходимо в файле Excel настроить соответствующий тип ячейки.
Для экспорта значения атрибута типа «Дата и время» можно задать формат по стандарту ISO 8601, например:
- заполнитель
{dateAttributeSystemName:dd.MM.yyyy}
будет экспортирован в формате04.12.2024
.
Синтаксис для формулы
Аналогичным образом можно форматировать даты и время при использовании функций FORMAT()
и FORMATLOC()
, например:
FORMAT("{0:dddd, dd MMMM yyyy 'г.'}",LIST($dateAttributeSystemName))
Примеры форматирования дат и времени
Формат | Результат |
---|---|
dd.MM.yyyy |
29.05.2024 |
dddd, dd MMMM yyyy 'г.' |
среда, 29 мая 2024 г. |
dddd, dd MMMM yyyy HH:mm:ss |
среда, 29 мая 2024 05:50:06 |
dd.MM.yyyy HH:mm |
29.05.2024 17:50 |
dd.MM.yyyy hh:mm tt |
29.05.2024 05:50 ПП 29.05.2024 05:50 ДП |
dd.MM.yyyy H:mm |
29.05.2024 5:50 29.05.2024 17:50 |
dd.MM.yyyy h:mm tt |
29.05.2024 5:50 ПП |
dd.MM.yyyy HH:mm:ss |
29.05.2024 05:50:06 29.05.2024 17:50:06 |
dd MMMM |
29 мая |
yyyy'-'MM'-'dd', 'HH':'mm':'ss.fffffffK |
2024-05-16, 05:50:06.7199222-04:00 |
ddd, dd MMM yyy HH':'mm':'ss 'GMT' K |
ср, 16 май 2024 05:50:06 GMT +03:00 |
'dd'.'MM'.'yyyy'T'HH':'mm':'ss |
16.05.2024T05:50:06 |
HH:mm |
05:50 |
hh:mm tt |
05:50 ДП 05:50 ПП |
H:mm |
5:50 |
h:mm tt |
5:50 ДП 5:50 ПП |
HH:mm:ss |
05:50:06 |
MMMM yyyy 'г.' |
май 2024 г. |
Символы форматирования
Символ | Описание |
---|---|
' ' |
В одинарные кавычки следует заключать символы, которые могут быть интерпретированы некорректно. Например, сочетание GMT без одинарных кавычек будет интерпретировано как G , номер месяца и T , так как буква M означает номер месяца. |
d |
Число месяца без ведущего нуля (1–31). |
dd |
Число месяца с ведущим нулём (01–31). |
ddd |
Сокращенное название дня недели со строчной буквы (пн, вт, ср, чт, пт, сб, вс). |
dddd |
Полное название дня недели со строчной буквы (понедельник – воскресенье). |
h |
Час в 12-часовом формате без ведущего нуля (например, 4). |
hh |
Час в 12-часовом формате с ведущим нулём (например, 04). |
H |
Час в 24-часовом формате без ведущего нуля (например, 4). |
HH |
Час в 24-часовом формате формат с ведущим нулём (например, 16). |
m |
Минуты, без ведущего нуля (0–59). |
mm |
Минуты с ведущим нулём (00–59). |
M |
Номер месяца без ведущего нуля (1–12). |
MM |
Номер месяца с ведущим нулём (01–12). |
MMM |
Сокращенное название месяца без склонения со строчной буквы (янв., февр., март, апр., май, июнь, июль, авг., сент., окт., нояб., дек.). |
MMMM |
Полное название месяца со склонением со строчной буквы (например, января – декабря). |
c |
Секунды без ведущего нуля (0–59). |
cc |
Секунды с ведущим нулём (00–59). |
t |
Сокращенное обозначение «До полудня» или «После полудня» (Д или П). |
tt |
Полное обозначение «До полудня» или «После полудня» (ДП или ПП). |
y |
Год без ведущего нуля (например, 2004 будет выведен как 4). |
yy |
Год с ведущим нулём (например, 2004 год будет выведен как 04). |
yyy |
Год (например, 2024). |
yyyy |
Год (например, 2024). |
K |
Часовой пояс значения даты и времени (например, +05:00). |
z |
Отрицательное или положительное смещение часового пояса локальной операционной системы от UTC в часах (например, +6). |
zz |
То же самое, что z , но с ведущим нулём (например, +06). |
zzz |
Отрицательное или положительное смещение часового пояса локальной операционной системы от UTC в часах и минутах (например, +06:00). |
f |
Десятые доли секунды. |
ff |
Сотые доли секунды. |
fff |
Миллисекунды. |
ffff |
Десятитысячные доли секунды. |
fffff |
Стотысячные доли секунды. |
ffffff |
Миллионные доли секунды. |
fffffff |
Десятимиллионные доли секунды. |
Форматирование значений длительности
Значение атрибута типа «Длительность» экспортируется в документ Word как текст.
Для экспорта в шаблон Excel без потери формата необходимо в файле Excel настроить соответствующий тип ячейки.
Для экспорта значения атрибута типа «Дата и время» можно задать формат по стандарту ISO 8601, например:
- заполнитель
{durationAttributeSystemName:dd' д 'hh' ч'}
будет экспортирован в формате1 д 3 ч
.
Синтаксис для формулы
Аналогичным образом можно форматировать даты и время при использовании функций FORMAT()
и FORMATLOC()
, например:
FORMAT("{0:dd' д. 'hh':'mm':'ss}",LIST($durationAttributeSystemName))
Примеры форматирования значений длительности
Формат | Результат |
---|---|
c |
1.23:01:01 01:01:01 -23:59:59 |
g |
1.23:01:01 1.23:01:01,000 |
G |
1:23:01:59,0000000 |
dd' д. 'hh':'mm':'ss |
01 д. 03:01:01 |
d' д 'hh' ч 'mm' м 'ss 'c' |
1 д 03 ч 01 м 01 с |
d' д 'h' ч ' |
1 д 3 ч |
Символы форматирования
Элемент | Описание |
---|---|
с |
[-][d.]hh:mm:ss[.fffffff] — унифицированный формат без локализации, необязательные дни и доли секунды, формат по умолчанию. |
g |
[-][d:]h:mm:ss[.FFFFFFF] — короткий формат, необязательные дни и доли секунды, разделитель долей секунды локализуется. |
G |
[-]d:hh:mm:ss.fffffff — длинный формат, всегда включает дни и доли секунды, разделитель долей секунды локализуется. |
- |
Необязательный отрицательный знак, обозначающий отрицательный интервал времени. |
' ' |
В одинарные кавычки следует заключать символы, которые могут быть интерпретированы некорректно. Например, двоеточие необходимо заключать в одинарные кавычки, иначе значение длительности не будет выведено, а символ m без одинарных кавычек будет интерпретирован количество минут. |
d |
Дни без ведущего нуля. |
dd |
Дни с ведущим нулём. |
h |
Часы без ведущего нуля, 00–23. |
hh |
Часы с ведущим нулём, 0–23. |
m |
Минуты без ведущего нуля, 0–59. |
mm |
Минуты с ведущим нулём, 00–59. |
ss |
Секунды без ведущего нуля, 0–59. |
ss |
Секунды в диапазоне 00–59. |
fffffff |
Доли секунды в диапазоне 0000001–9999999. |
FFFFFFF |
Доли секунды в диапазоне 0000001–9999999, выводится минимально возможное количество цифр. |
Форматирование логических значений
Значение атрибута типа «Логический» экспортируется как строка «Истина» или «Ложь».
Для экспорта значения в другом виде (например, "Согласовано","Не согласовано"
) можно привести его к требуемому формату. Для этого создайте новый текстовый атрибут и сделайте его вычисляемым с помощью формулы, например:
FORMAT("{0}",LIST(IF($attributeSystemName == true,"Согласовано","Не согласовано")))
Форматирование данных аккаунта
Посредством атрибута типа «Аккаунт» можно экспортировать данные пользователя (значения атрибутов аккаунта), например, адрес эл. почты и должность.
При этом можно форматировать значения атрибутов. Например:
{accountAttributeSystemName.birthday:dd MMMM yyyy 'г.'}
— дата рождения в формате: 29 мая 2024 г.;{accountAttributeSystemName.title}
— должность.
См. также полный перечень атрибутов аккаунта.
Форматирование атрибутов связанных записей
Атрибут типа «Запись» можно экспортировать атрибуты связанных записей, указывая атрибут связанного шаблона через точку после системного имени атрибута типа «Запись».
При этом можно форматировать значения атрибутов. Например:
{recordAttributeSystemName.Date:dd.MM.yyyy}
— дата в записи, связанной с текущей записью, в формате: 05.12.2024;{recordAttributeSystemName.Dogovor.Summa:N2}
— сумма договора в записи, связанной с текущей записью, в формате десятичного числа с двумя знаками.
Гиперссылка на запись
Для формирования гиперссылки на запись перед системным атрибута типа «Запись» символ #
, например, {#recordAttributeSystemName}
.
Форматирование значений при экспорте коллекции записей
Для атрибута типа «Запись» с несколькими значениями (коллекции) можно экспортировать как столбцы коллекции, так и значения атрибутов связанных шаблонов.
При этом можно форматировать значения атрибутов.
Пример таблицы для экспорта коллекции
Дата | Название | Количество | Сумма |
---|---|---|---|
{foreach:Collection}{Date:dd.MM.yyyy} |
{Type.Name} |
{Quantity:N1} |
{Sum:N2}{end:Collection} |
Синтаксис экспорта атрибутов коллекции
{foreach:Collection}
foreach
— объявление начала цикла по коллекции записей в первом столбце строки.Collection
— системное имя атрибута типа «Запись» с несколькими значениями.
Name
,Quantity
,Sum
— системные имена атрибутов шаблона записи, на который ссылается атрибутCollection:
Date:dddd, dd.MM.yyyy
— значение атрибута типа «Дата» в формате: вторник, 05.12.2024.Quantity:N0
— целочисленное значение атрибута типа «Число».Sum:N2
— десятичное значение атрибута типа «Число» с двумя знаками после запятой.
Type.Name
Type
— системное имя атрибута типа «Запись», который ссылается на шаблон «Тип».Name
— системное имя атрибута «Название» типа «Текст» в шаблоне «Тип».
{end:Collection}
— конец цикла по коллекции записей в последнем столбце строки.
Связанные статьи
Системные имена атрибутов аккаунтов
Эта статья была полезна 1 чел.