TEMPLATE — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 6: Строка 6:
 
{{Аргумент
 
{{Аргумент
 
  |Название=Шаблон
 
  |Название=Шаблон
  |Пояснение=строка, описание шаблона.
+
  |Пояснение=строка, описание шаблона.<p></p>
 
:Шаблон состоит из обычного текста, полей датасета, переменных.
 
:Шаблон состоит из обычного текста, полей датасета, переменных.
:Имена переменных и имена полей должны быть заключены в двойные квадратные скобки, например: <nowiki>[[:Npp]]</nowiki>.
+
:Имена переменных и полей должны быть заключены в двойные квадратные скобки, например: <nowiki>[[:Npp]], [[Articul]]</nowiki>.
 
:Также имеются следующие конструкции:
 
:Также имеются следующие конструкции:
:*условная<nowiki>[[$if условие]] истина [[$else]] ложь [[$endif]]</nowiki>
+
:*условная: <nowiki>[[$if условие]] истина [[$else]] ложь [[$endif]]</nowiki>
 
:*для получения данных из субсета: <nowiki>[[$whileds датасет]] тут_что-то_выводим [[$wend]]</nowiki>
 
:*для получения данных из субсета: <nowiki>[[$whileds датасет]] тут_что-то_выводим [[$wend]]</nowiki>
 
}}
 
}}

Версия 11:47, 23 декабря 2016

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

Синтаксис

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

Аргументы

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

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

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

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

Примеры

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

OpenDataSet(
  `documents_get`,
  [
    `ids` : 1125,
    `props` : `*`
  ],
  `ds`
),
Info(
  Template(
    `Номер [[DocNumber]][[$whileds Goodies]]` +
     `   Товар [[Articul.Name]][[$wend]] [[$if DocType=17]] это заказ [[$else]] это не заказ [[$endif]]`,
     `ds`
   )
 )