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

Материал из GB wiki
Перейти к: навигация, поиск
(Новая страница: «{{Функция ГБ |Название=TEMPLATE |Описание=Позволяет форматировать текст по шаблону |Синтаксис=T…»)
 
Строка 6: Строка 6:
 
{{Аргумент
 
{{Аргумент
 
  |Название=Шаблон
 
  |Название=Шаблон
  |Пояснение=строка, описание шаблона
+
  |Пояснение=строка, описание шаблона.
 +
:Шаблон состоит из обычного текста, полей датасета, переменных.
 +
:Имена переменных и имена полей должны быть заключены в двойные квадратные скобки, например: <nowiki>[[:Npp]]</nowiki>.
 +
:Также имеются следующие конструкции:
 +
:*условная<nowiki>[[$if условие]] истина [[$else]] ложь [[$endif]]</nowiki>
 +
:*для получения данных из субсета: <nowiki>[[$whileds датасет]] тут_что-то_выводим [[$wend]]</nowiki>
 
}}
 
}}
 
{{Аргумент
 
{{Аргумент
Строка 13: Строка 18:
 
}}
 
}}
 
|Результат=строка. Текст, отформатированный согласно шаблону
 
|Результат=строка. Текст, отформатированный согласно шаблону
|Пример=Прочитать документ, вывести по шаблону данные документа (основного датасета) и товарную строку (субсет):
+
|Пример=Прочитать документ, вывести по шаблону данные документа (основного датасета) и товарной строки (субсета):
  OpenDataSet(
+
  '''OpenDataSet'''(
 
   `documents_get`,
 
   `documents_get`,
 
   [
 
   [
Строка 22: Строка 27:
 
   `ds`
 
   `ds`
 
  ),
 
  ),
  Info(
+
  '''Info'''(
   Template(
+
   '''Template'''(
     <nowiki>`Номер [[DocNumber]][[$whileds Goodies]] Товар [[Articul.Name]][[$wend]] [[$if DocType=17]] это заказ [[$else]] это не заказ [[$endif]]`,
+
     <nowiki>`Номер [[DocNumber]][[$whileds Goodies]]` +
 +
    `  Товар [[Articul.Name]][[$wend]] [[$if DocType=17]] это заказ [[$else]] это не заказ [[$endif]]`,
 
     `ds`
 
     `ds`
 
   )
 
   )
 
  )</nowiki>
 
  )</nowiki>
 
}}
 
}}

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

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

Синтаксис

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

Аргументы

Шаблон
строка, описание шаблона.
Шаблон состоит из обычного текста, полей датасета, переменных.
Имена переменных и имена полей должны быть заключены в двойные квадратные скобки, например: [[:Npp]].
Также имеются следующие конструкции:
  • условная[[$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`
   )
 )