Руководство разработчика

Строковые подстановки

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

Определения строковых подстановок задаются начиная со строки, следующей за ключевым словом ОПЕРАЦИЯ или ДИАЛОГ и после инструкций объявления переменных. Определение состоит из символа % (процент), который должен располагаться в первой позиции, номера подстановки, символа = (равно) и значения строковой подстановки.

%<номер>=<текст>

Строки определений подстановок не включаются в состав визуального шаблона типовой операции. Поэтому первая строка, не являющаяся определением подстановки (не начинающаяся с %), относится уже к визуальному шаблону.

Номера подстановок могут быть произвольными. Не обязательно соблюдать порядок %1, %2, %3 и т.д. В определениях подстановок номера не должны повторяться.

В определении графы ссылка на строку происходит указанием символа % и номера подстановки. Ссылок на строку подстановки с одним номером может быть несколько.

Пример

ОПЕРАЦИЯ Пример
%1="Тест.ibl"
%2="ПримерФункции"
  Ввод информации: *~инфо(%1,%2)****
ВЫЧИСЛИТЬ
  // ...
КОНЕЦ

Строковые подстановки могут использоваться для задания параметров граф с выбором счета, граф с вызовом функции, граф с выбором из базы данных, кнопок и опций.

Пример

Данный пример демонстрирует определение типовой операции без использования подстановок:

ОПЕРАЦИЯ ЗАРПЛАТА : ЗАМЕНА УДЕРЖАНИЯ
                                      
  Подразделение : *~ПОДРАЗД("ZP\ZP_LIB06","ВЕД_ВЫБ_СЧ"):40
  Отдел         : *~ОТДЕЛ("ZP\ZP_LIB06","ВЕД_ВЫБ_ОТД"):20
  За месяцы     :  с  &мн:2    по &мк:2     текущего года
                                                           
  Исходное удержание  : *~исх_нач("ZP\ZP_LIB07","СПР_УДЕРЖ"):20
  Конечное удержание  : *~кон_нач("ZP\ZP_LIB07","СПР_УДЕРЖ"):20
                                                    
  Проверять существование удержаний  -->*~флаг("ZP\GD","Ф"):1
                                                    
ВЫЧИСЛИТЬ                                           
  //...
КОНЕЦ

Аналогичная типовая операция с использование подстановок:

ОПЕРАЦИЯ ЗАРПЛАТА : ЗАМЕНА УДЕРЖАНИЯ
%1="ZP\ZP_LIB06"
%2="ZP\ZP_LIB07"
%3="ВЕД_ВЫБ_СЧ"
%4="ВЕД_ВЫБ_ОТД"
%5="СПР_УДЕРЖ"
                                      
  Подразделение : *~ПОДРАЗД(%1,%3):40
  Отдел         : *~ОТДЕЛ(%1,%4):20
  За месяцы     :  с  &мн:2    по &мк:2     текущего года
                                                           
  Исходное удержание  : *~исх_нач(%2,%5):20
  Конечное удержание  : *~кон_нач(%2,%5):20
                                                    
  Проверять существование удержаний  -->*~флаг("ZP\GD","Ф"):1
                                                    
ВЫЧИСЛИТЬ                                           
  //...
КОНЕЦ

См. также: