TEMPLATE

Материал из GB wiki
Перейти к: навигация, поиск

Позволяет форматировать текст по шаблону

Синтаксис

TEMPLATE(Шаблон, Датасет)

Аргументы

Шаблон
строка, описание шаблона.

Шаблон состоит из обычного текста, полей датасета, переменных.
Имена переменных, полей и выражения должны быть заключены в двойные квадратные скобки, например:
  • [[:Npp]]
  • [[SubStr(Articul.Name,1,25)]]
Также имеются следующие конструкции:
  • условная: [[$if условие]] истина [[$else]] ложь [[$endif]]
  • для получения данных из субсета: [[$whileds датасет]] тут_что-то_выводим [[$wend]]
  • дополнение пробелами для достижения заданной длины строки: [[<50>]]. Для каждой строки шаблона допустима только одна такая конструкция.
Датасет
строка, имя датасета, значение полей текущей записи которого используется как источник для шаблона

Тип результата

строка, отформатированный согласно шаблону текст

Примеры

Прочитать документ, вывести по шаблону данные документа (основного датасета) и товарной строки (субсета):

OpenDataSet(
  `documents_get`,
  [
    `ids` : 1125,
    `props` : `*`
  ],
  `ds`
),
Info(
  Template(
    `Номер: [[DocNumber]].`
     + \
     + `[[$whileds Goodies]]  Товар: [[SubStr(Articul.Name,1,28)]] [[<50>]]Кол-во: [[Quantity]]`
     + \
     + `[[$wend]][[$if DocType=17]]Это заказ[[$else]]Это не заказ[[$endif]]`,
     `ds`
   )
 )

Результат будет таким:

Номер: АП12345.
  Товар: Пончик "Лакомство для копа"     Кол-во: 5
  Товар: Лимонад "Глотни, если смелый!"  Кол-во: 1
  Товар: Лопата "Сапёрная", в чехле      Кол-во: 1
Это заказ