Модуль текстовых констант List editor

Модуль List editor обеспечивает централизованное ведение единого файла для всех текстовых констант, встречающихся в шаблонах. Константы хранятся в файле Setup.ini, который находится в подпапке Templates программной папки.

Отметим, что данный файл не единственный, который обеспечивает работу всей системы. Константы (с помощью функций) могут ссылаться на файлы справочников, хранящиеся в подпапке Lists программной папки.

Примечание

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

Модуль List editor запускается командой меню Сервис > Документы > Текстовые константы…. Внешний вид модуля показан на Рис.12.14.

Рисунок 12.14. Модуль List editor

Модуль List editor

Константы разделены на две группы:

Поскольку с первой группой констант все очевидно, давайте остановимся подробнее на второй.

С точки зрения пользователя все тоже довольно просто:

  1. На закладке Утверждающие органы следует выбрать свою область, район и местный совет.

  2. Ниже находятся две панели с фильтрами категорий (слева) и подкатегорий (справа) в виде “галочек”. Сняв галочки, можно скрыть константы, которые вы не собираетесь редактировать в данный момент.

  3. Остается отредактировать значения в констант списке внизу. Изменения будут автоматически внесены в соответствующие справочники.

Теперь заглянем “под капот”. Вот фрагмент файла Setup.ini :

RepНазва(Область)=SEF(RegionID,'Obl.txt')  1
DMTНазва(Область)=SEF(CUT(1,2,P[ID106]),Obl.txt)  2
RepНазваР(Область)=SEF(RegionID,'OblRod.txt')  3
DMTНазваР(Область)=SEF(CUT(1,2,P[ID106]),OblRod.txt)  4

1

Разберем строку, определяющую константу.

  • В левой части (до знака равенства) находится имя константы. Имя состоит из следующих частей:

    Rep

    Тип константы. Указывает на то, что данная константа предназначена для применения в шаблонах FastReport. Такое разделение констант необходимо из-за небольших отличий в синтаксисе функциональных выражений.

    (Область)

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

    Каждой категории поставлен в соответствие префикс имен справочников. В данном случае это префикс Obl (файл Obl.txt).

    Категории сопоставляются префиксам в окне Добавление новой категории, которое вызывается после нажатия кнопки Добавить справочник. Здесь мы на этом подробно не останавливаемся.

    Другие возможные категории, уже присутствующие в Setup.ini: Район, Сільрада, Держадміністрація, УЗР, ВМА, ДЗК, ОблСЕС, ОблЕкологія, ОблАрхеологія, ДержАкт.

    Назва

    Название подкатегории. В данном случае, в сочетании с категорией, означает, что константа возвращает название области.

    Другие возможные подкатегории: НазваР, НазваД, Пасада, Начальник, Адреса, НазваУЗРР, Зберігається.

  • В правой части описано выражение, извлекающее данные. Функция SEF по заданному входному значению ищет строку во внешнем файле.

    Здесь RegionID представляет собой переменную, действительную в модуле Reports, которая хранит номер области. Имя файла Obl.txt взято в одинарные кавычки по требованию синтаксиса языка PascalScript, используемого в шаблонах FastReport.

2

Отличия в левой части: DMT вместо Rep означает, что данная константа применяется в шаблонах DMT.

Отличия в правой части связаны с особенностями использования функций в DMT. Код области извлекается с помощью функции CUT из параметра, содержащего кадастровый номер участка. Имя файла справочника записывается без кавычек.

3

Здесь подкатегория меняется на НазваР, что означает название в родительном падеже. Соответсвенно меняется файл справочника - OblRod.txt. Обратите внимание, что имя файла имеет тот же префикс - Obl.

4

Ну и вариант предыдущей константы для шаблона DMT.

А вот фрагмент справочника OblRod.txt, в котором ведется поиск названий областей в родительном падеже. Коды в справочнике отделяются от названий символом табуляции.

01   Автономної Республіки Крим
05   Вінницької областї
07   Волинської області

Подобным образом описаны и остальные константы, содержащиеся в файле Setup.ini.

Примечание

Как уже было отмечено выше, модуль List editor допускает создание новых категорий констант. Обратитесь к системе помощи модуля для получения более подробной информации.

Отметим также, что файл Setup.ini не рекомендуется редактировать вручную, ввиду возможной потери изменений после запуска List editor. Тем не менее, если отказаться от помощи данного модуля, ручное редактирование вполне допустимо. В этом случае имена констант и функции, которые вы за ними скрываете, ограничиваются только вашей фантазией.

Впрочем, никто не запрещает создать параллельно существующую систему констант, назвав файл, к примеру, Setup2.ini. Такой подход позволит сохранить текущую реализацию в рабочем состоянии.