Функция формирует строку по заданному фиксированному шаблону.
Синтаксис
Функция ФиксШаблон()
имеет следующий синтаксис:
строка ФиксШаблон(Шаблон)
А также альтернативный англоязычный синтаксис:
string FixTemplate(Template)
Параметры
Описание параметров функции ФиксШаблон()
Имя параметра | Тип | Описание |
---|---|---|
Шаблон* | Строка | Строка, содержащая встроенные выражения |
* — обязательный параметр |
Возвращаемое значение
Строка
Если в шаблоне строки нет ни одного встроенного выражения, то функция вернет пустую строку!!!
Описание
Результат функции формируется путем вычисления всех встроенных выражений фиксированного шаблона и замены на их строковые представления. Встроенное выражение — это выражение на встроенном языке, заключенное в квадратные скобки. В качестве выражения может выступать имя переменной, объявленной в модуле, или реквизитом объекта. Во встроенных выражениях поддерживаются логические и математические операции, вызов процедур и функций, а также использование свойств и методов объектов агрегатных типов.. При вычислении встроенных выражений символы квадратных скобок игнорируются и не выводятся в результирующую строку. Если результат вычисления встроенного выражения отличается от типа Строка, производится неявное преобразование типа.
Основное назначение данной функции — формирование печатных форм на базе текстовых документов, и вот почему: в отличие от функции Шаблон() количество символов, отведенное под значение встроенного выражения фиксировано и определяется длиной строки [Переменная]
, включая квадратные скобки. Значения, превышающие эту длину, усекаются, а недостающие символы заполняются пробелами.
Товар = "Сковородка Tefal"; Кол = 2; Цена = 1250; //под поле Товар выделим 20 символов, под остальные - 10 Сообщить(ФиксШаблон("[Товар ][Кол ]х[Цена ]=[Кол*Цена]")); //результат // Сковородка Tefal 2х 1250= 2500
Также встроенные выражения поддерживают форматирование значений. Для этого в конце выражения после символа # (решетка) следует разместить форматную строку. В этом случае результат встроенного выражения будет дополнительно отформатирован, аналогично вызову функции Формат().
Товар = "Сковородка Tefal"; Кол = 2; Цена = 1250.25; Сообщить("+-------------------+------------+------------+----------------+"); Сообщить("|Наименование |Количество |Цена |Сумма |"); Сообщить("+-------------------+------------+------------+----------------+"); Сообщить(ФиксШаблон("|[Товар ]|[Кол #Ч10.3]|[Цена#Ч10.2]|[Кол*Цена#Ч10.2]|")); Сообщить("+-------------------+------------+------------+----------------+"); //результат // +-------------------+------------+------------+----------------+ // |Наименование |Количество |Цена |Сумма | // +-------------------+------------+------------+----------------+ // |Сковородка Tefal | 2.000| 1250.25| 2500.50| // +-------------------+------------+------------+----------------+