HelpF.pro

Функции Шаблон и ФиксШаблон

Шаблон
Функции возвращают строковое значение, сформированное в соответствии с заданным параметром <Строка_шаблон>, заменив в ней все встро­енные выражения, заключенные в квадратные скобки, на их строковые значе­ния.
Строковое значение параметра <Строка_шаблон> обрабатывается сле­дующим образом: символы "[" , "]" (квадратные скобки) являются специаль­ными символами, которые выделяют поля, содержащие встроенные выражения. Выделенные поля фиксируют свою длину с учетом ограничивающих скобок. Например:
Имя Клиента [Имя], телефон: [Телефон]

После встроенного выражения может стоять символ "#", после которого следует Форматная_строка описанная в функции Формат. В этом случае в данное поле будет проставлен результат выражения, обработанный функцией Формат.

Код 1C v 7.x
 
Стр = Шаблон("Это название услуги: [Услуга.Наименование]");
// выдает: "Это название услуги: Доставка Товара"



ФиксШаблон

В отличие от функции Шаблон, поля замещаются значениями выражений с со­хранением своей длины в символах, то есть обрезаются, если поле короче ре­зультата вычисления выражения и дополняются пробелами если длиннее. Если результат числовой, то в границах поля строка прижимается к правой границе.

Код 1C v 7.x
 
// ниже - пример с дополнением пробелами
Стр = ФиксШаблон("Это название услуги [Услуга.Наименование]");
// выдает: "Это название услуги Доставка Товара"
// далее - с сокращением строки
Стр = ФиксШаблон("Это название услуги [Услуга.Наименование]");
// выдает: "Это название услуги Упаковка товара"


Примеры вспомогательных функций для вычисления выражений с помощью системной функции Шаблон():
Код 1C v 7.x
 
// Возвращает объект любого типа. По сути является универсальной, но
// работает дольше чем _Вычислить(), поэтому рекомендовал бы
// использовать ее когда нужно вернуть именно объект
Функция _ВычислитьОбъект( Выражение ) Экспорт
Возврат ЗначениеИзСтроки(Шаблон( "[ЗначениеВСтроку("+ Выражение+")]"));
КонецФункции

// Возвращает число. Использую ее когда нужно получить результат выполнения
// лок. функции, которые обычно возвращают 0/1 или когда просто нужно вызвать
// лок. функцию из глоб. модуля
Функция _Вычислить( Выражение) Экспорт
Возврат Число(Шаблон( "["+ Выражение+ "]"));
КонецФункции
Вызов функции осуществляется так:
_Вычислить( "ИмяЛокФункции()");

// Возвращает строку. Функцию удобно использовать когда нужно получить значение
// лок. переменной в гл. модуле
Функция _ВычислитьСтроку( Выражение) Экспорт
Возврат Строка(Шаблон( "["+ Выражение+ "]"));
КонецФункции
Вызов функции осуществляется так:
глПерем= _ВычислитьСтроку( "ЛокПерем");

// Присвоение. Функция используется для присвоения значений локальным переменным из гл. модуля
Функция _Присвоение ( Приемник ,Источник) Экспорт
Попытка
Приемник = Источник ;
Исключение
КонецПопытки;
КонецФункции
Функция вызывается примерно так:
_Вычислить ("_Присвоение(ЛокПерем,глПерем)" );

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq7/view/321.html