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

Табличные формы

Табличные формы – наиболее мощный инструмент создания печатных форм. Табличная форма содержит последовательность разделов, которые могут быть:

  1. регулярными таблицами с одинаковой структурой столбцов во всех строках;
  2. нерегулярными наборами строк без общей структуры столбцов.

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

Пример табличной формы, открытой в редакторе форм:

Столбцы и строки табличной формы образуют ячейки. Ячейкам назначается тип (строка, число и т.п.) и могут быть установлены соответствующие типу данные. Границам ячеек могут быть назначены толщина и цвет линии. Вся совокупность разделов, строк, ячеек и других данных сохраняется в файл табличной формы с расширением *.ibf.

Для работы с табличными формами во внутреннем языке модуль FC объявляет тип ТАБ_ФОРМА. Этот тип содержит большое количество методов для получения и изменения данных формы. Для удобного программного доступа ячейкам могут быть назначены строковые идентификаторы. В общем случае программный доступ к любой ячейке может быть осуществлен по имени раздела, номеру строки и номеру столбца.

Программно заполненная табличная форма может быть сохранена в ibf-файл, что позволяет создавать архивы сформированных форм. Заполненную и сохраненную форму можно открыть позже для правки, печати или извлечения данных. Таким образом, ibf-файл выступает в двух ролях: как шаблон незаполненной формы и как средство для долговременного хранения заполненных форм.

Для создания нового проекта табличной формы в мастере создания проекта выберите шаблон "Табличная форма". В открывшемся окне проекта вызовете редактор форм и введите имя ibf-файла. После сохранения изменений получим следующий исходный текст:

ТИП ТабФорма1(ТАБ_ФОРМА)
[
    СТРОКА: файл = "ТабФорма1.ibf";
]

ВЫЧИСЛИТЬ
    ПЕРЕМ ТабФорма1: тф
    // тф <- данные
    тф.ПОКАЗАТЬ
КОНЕЦ

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

В Инфо-Бухгалтер 8 отдаленные аналогии с табличными формами можно проводить для бланков. Хранение значений граф ввода в архивах бланков, выбор архивной записи по полям-идентификаторам – это ограниченный случай неполного сохранения состояния формы. Для табличных форм сохраняется состояние полностью, со всем оформлением, входными и выходными полями. Метки табличных форм – это ключевые значения, хранящиеся в заголовке ibf-файла – близкие родственники идентификаторов архивов в Инфо-Бухгалтер 8.