2 года назад История
README.md

Средство работы с конфигурацией на DCL5.

Эта утилита создана с целью, организовать работу с конфигурацией через средство контроля версий (git, svn). И поэтому конфигурация представляется структурой человеко-читаемых и редактируемых текстовых файлов.

Так же утилита позволяет создавать пакеты, которые потом могут быть загружены и\или запущены в платформе. При пересечении имён скриптов со скриптами конфигурации, главнее считаются скрипты из пакета. Это позволяет модифицировать сузествуюзие конфигурации.

С помощью пакетов, так же доступно, создание меню. Пересечение номеров идентификаторов в меню, так же вызовет замену элементом из пакета.

Подробно

Конфигурация представляется набором файлов со скриптами и папкой metadata, с дополнительной информацией, такой как идентификаторы меню, идентификаторы записей (скриптов), поля с командами. Так же в папке metadata помещается структура меню.

Описание типов файлов, представляющих объекты и их данные, конфигурации.

.id - Файлы содержащие сведения о первичных ключах объектов. Необязательны. При создании новых объектов могут остутствовать. Изменять запрещено.

.md - Файлы с информацией об идентификаторах объектов конфигурации. Обязательны. При создании новых объектов должны указываться в соответствии с правилами создаваемых объектов. Разрешено ограниченно менять. Допустима произвольное именование только в ограниченом наборе объектов.

.show - Файл показывающий что объект разрешено показывать. Необязателен. Пустой, не содержит никакой информации. Работают только у ограниченного типа объеков. Допустима произвольное именование только в ограниченом наборе объектов.

.text - Содержит текст объекта. Необязателен. Разрешено менять для достижения необъодимых целей. Работают только у ограниченного типа объеков.

.title - Содержит текст в одну строку

.command - Содержит имя вызывающего скрипта. Фиксированное наименование. Необязателен. Доступен только у элементов меню.

.width - Содержит число с шириной элемента в пикселях экрана.

.user - Содержит идентификатор пользователя. Не обязателен.

.splt - Файл объекта разделителя меню (визуальный компонент). Может присутствовать только в меню со второго и выше уровней. Содержит параметризированные параметры размещения. Необязателен. Допустимо изменение. Допустимо переименование.

.compress - Признак того, что данные хранящиеся в конфигурации хранятся сжатыми. Присутствует в разделе Templates (Шаблоны). Удаление этого файла и пересохранение данных приведёт к записи не сжатых данных и наоборот. Необязателен. Пустой, не содержит никакой информации. Работают только у ограниченного типа объеков. Допустимо произвольное именование.

Configuration.options - Файл с настройками конфигурации. Не обязательный. Фиксированное имя.

.dsp - Подписаные пакеты.

Во всех случаях, "переименование", это только изменение имени файла, без расширения.


Структура конфигурации (дерево фалов):

  • [Корневой каталог]
    • [metadata]
      • [Menu]
        • [Элемент меню 1]
          • [Подменю 1]
            • [Меню третьего уровня 1]
              • Metadata.id
              • Metadata.md
              • Command.command
            • [Меню третьего уровня 2]
            • N.splt
          • Metadata.id
          • Metadata.md
        • [Элемент меню 2]
        • [Элемент меню 3]
      • [Roles]
        • [Роль 1]
          • [MenuItems]
            • 44.md
            • 45.md
          • Role.id
          • Role.md
          • Role.show
        • [Роль N]
      • [Users]
        • [Пользователь 1]
          • [Roles]
            • 1.id
            • 99.id
          • User.id
          • User.md
          • User.show
        • [Пользователь N]
      • [ApplicationTitle]
        • Metadata.id
        • App.title
      • [Inits]
        • InitScript.id
        • InitScript.md
      • [Ends]
        • ByeScript.id
        • ByeScript.md
      • [Panels]
        • 23.id
        • 23.title
        • 23.text
        • 23.width
      • [Captions]
        • 1.id
        • 1.title
      • [GlobalParams]
        • [BaseUID]
          • BaseUID.id
          • BaseUID.title
          • BaseUID.user
          • BaseUID.text
        • [Param_N]
          • Param_N.id
          • Param_N.title
          • Param_N.text
          • Param_N.show
      • [Scripts]
        • Script_1.id
        • Script_2.id
        • Script_N.id
      • [Templates]
        • [TemplateN]
          • TemplateN.id
          • TemplateN.md
          • BinFile.bin
          • TemplateN.compress
    • [Delete]
      • [Id]
        • DeleteScrId.id
      • DeletedScriptN.text
    • [Packages]
      • [PackageName]
        • Script_1.text
        • Script_N.text
      • [MyPackage]
        • [Menu]
          • [Элемент меню N]
            • [Подменю N]
              • Metadata.md
              • Command.command
          • Metadata.md
        • Script_1.text
        • Script_N.text
        • SQLScript_1.sql
      • Configuration.options
    • Script_1.text
    • Script_2.text
    • Script_N.text
    • InitScript.text
    • ByeScript.text

Сводная таблица по типам файлов и их свойствам.

| |.id|.md|.show|.text|.title|.command|.width|.user|.splt| | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Обязателен |нет|да|нет|да|да|да (в конечных пунктах)|нет|если нужен|если нужен| | Можно редактировать |нет|да|пуст|да|да|пуст|да|да|да| | Пустой |нет|нет|да|нет|нет|да|нет|нет|нет| | Параметрический |нет|да|-|нет|нет|-|нет|нет|да| | Сырые данные |да|-|-|да|да|-|да|да|да| | Произвольное именование | п.1 | п.1 | да | п.1 | п.1 | команда | нет | да | да |

п.1 - Если в дереве файлов выше, файл назван только цифрами, то его переименование запрещено.


Настройка параметров в DCL.ini

Параметры указываемые в файле конфигурации DCL.ini.

DisableLoad= - При значении 1 запрещает сохранение конфигурации в базу.

DisableUnLoad= - При значении 1 запрещает сохранение конфигурации на диск.

ScriptDir= - Папка с конфигурацией.

EasyIdentMode= - Простой режим работы с полем 'Ident' в файлах конфигурации, когда в поле 'Ident' пишется относительный номер начиная с 1, вместо абсолютного из диапазона для этого типа элемента.

Применять изменения конфигурации может только пользователь с правам Администратор.

Сборка

Сборка осуществляется в среде Lazarus последних версий. Под ту\той ОС в которой нужно. Никаких зависимостей. Возможно придётся настроить параметры в проектном файле.

Примечание

Этот проект является частью большой системы проектов о CRM DCL5.

Описание
Исходная конфигурация DCL5
Конвейеры
0 успешных
0 с ошибкой
Разработчики