Справка Инфо-Бухгалтер 10

Управление системой бланков

При помощи методов и объектных типов в модуле LOCCFG существует возможность управлять системой бланков. Структура системы бланков состоит из разделов и бланков. Бланк хранится внутри раздела. Для бланков и разделов во внутереннем языке предусмотрены специальные типы ЛКФ_БЛАНК и ЛКФ_РАЗДЕЛ, а для совокупности всех бланков внутри одного раздела используется тип ЛКФ_СПИСОК_БЛАНКОВ.

В системе бланков разделы могут быть вложенными. По умолчанию существует корневой раздел, имя которого во внутреннем языке обозначается пустой строкой. Обязательно в системе раздел и бланк должны иметь строковые имя и идентификатор, для бланка также указываются параметры. В качестве параметров бланка выступают ссылка на алгоритм и, опционально, строковый параметр запуска. Имена бланков могут повторяться в одном разделе. Имена разделов должны быть уникальными. Бланк в разделе идентифицируется по позиции, соответственно предусмотрены методы определяющие позиции разделов и блакнов: ПОЗ_БЛАНКА и ПОЗ_РАЗДЕЛА.

Изменения внесенные из внутреннего языка сразу же отображаются в редакторе бланков.

Управление системой бланков заключается в добавлении, редактировании и удалении бланков и разделов. Методы добавления разделов и бланков:

Редактирование раздела подразумевает изменение его имени и идентификатора, а редактирование бланка - его имени, идентификатора и параметров. Методы редактирования разделов и бланков:

Метод УДАЛИТЬ удаляет раздел по имени со всем его содержимым. Метод УДАЛИТЬ_ПОЗ производит удаление раздела по его позиции. При удалении раздела происходит удаление всех содержащихся в нем бланков.

В примере ниже демонстрируется создание бланка в корневом разделе системы бланков, если бланка с именем "Бланк1" еще не существует. Если бланк с именем "Бланк1" существует, то происходит его редактирование.

ВЫЧИСЛИТЬ
  ПЕРЕМ ЛКФ_СПИСОК_БЛАНКОВ: список
  список.раздел = ""
  ПЕРЕМ ЛКФ_БЛАНК: бланк
  ЕСЛИ список.ПОЗ_БЛАНКА("Бланк1") = 0 ТО
    бланк = [имя = "Бланк1", идент = "бланк_тест", парам = "показать справочник.ibx"]
    список.ДОБАВИТЬ_БЛАНК(бланк)
  ИНАЧЕ
    бланк = [имя = "Бланк1", идент = "бланк_тест", парам = "справочник.ibx"]
    список.ЗАПИСАТЬ_БЛАНК(список.ПОЗ_БЛАНКА("Бланк1"), бланк)
  КОНЕЦ_ЕСЛИ
КОНЕЦ

См. также: