.. _gs3_txt_template: TXT-шаблоны (``.txt``) ====================== TXT-шаблон — текстовый файл, который заполняется подстановками и макроязыком. Формат удобен для быстрой печати и простого контроля результата. Если в данном разделе встречается пометка "не подтверждено", это означает: - Функциональность отчетов, работавшая в :term:`Global 1`, может не работать при построении отчета на сервере приложений Global. - Работу функциональности необходимо проверить на реальном решении для сервера приложений Global. Базовая разметка ---------------- Теги в TXT-шаблонах: - Подстановка значения: ``[#AttributeName#]`` - Открытие секции: ``[#&SectionName#]`` - Закрытие секции (после имени может быть макрокод): ``[#/SectionName #]`` Если атрибут не найден, значение заменяется на пустую строку. Для обращения к мастер-выборке используйте ``super$``: ``[#super$AttributeName#]`` Секции и SQL ------------ Открывающий тег может ссылаться на выборку или содержать SQL: - Выборка: ``[#&EntityName.Representation#]`` - SQL: ``[#&SectionName = select ...#]`` Тело секции повторяется для каждой строки выборки. Многострочный открывающий тег ----------------------------- .. versionadded:: v1.27.0-ms17 Открывающий тег можно разнести на несколько строк подряд: .. code-block:: text [#&SectionName = select ... ... продолжение ... ... продолжение ... #] Правила: - ``[#&`` должен быть в начале строки (допускаются пробелы слева). - Закрывающий ``#]`` должен встретиться в одной из следующих строк. - Эти строки являются частью открывающего тега и не попадают в результат. Встроенные функции (макроязык) ------------------------------ Функции применяются внутри тегов, например ``[#FNum(nPrice,2)#]``. Поддерживается вложение функций. .. include:: _macro_language_functions_common.rst Пример ------ .. code-block:: text [#&MainSelect = select t.ID, t.dDocDate, t.fSumm, t.nDocNum from DemoReport t#] [#nDocNum#] от [#dDocDate#] Позиции документа: [#&ChildSelect = select t.ID, t.IDDemoReport, t.fSumma, t.nCount from DemoReportCollection t where t.IDDemoReport = :super$id#] | [#RPad(sName,25)#] | [#LPad(FNum(nCount,2),14)#] | [#LPad(fSumma,14)#] | [#/ChildSelect Sum(nCount, ResultCount); Sum(fSumma, ResultSumma)#] ИТОГО: [#FNum(ResultSumma, 2)#] ([#NumberToStrRUS(ResultSumma)#]) [#/MainSelect#] Параметры отчета ---------------- Некоторые параметры из :term:`Global 1` (``CurrentSession``, ``PassByDataSet``, ``FileName``) в AS **не подтверждены**. Требуется проверка в целевом решении.