При обновлении программы добавляются новые поля в таблицы базы данных.
Если эти поля используются а агенте, то после обновления агента возникают ошибки запуска агента на базах, где обновление еще не выполнено.
При запуске агента проверять наличие всех необходимых таблиц и полей в таблицах данных и, если таблица или поле отсутствует, то автоматически добавлять.
1. Заполнение списка обязательных полей на форме Обязательные поля для агента
При запуске Агента АХ выполняется две функции проверки наличия полей, которые различаются только источником данных:
1. Запрашивается список обязательных полей из таблицы DB_Tables_Fields.
Выполняется запрос к Агенту «Менеджера проектов» по команде GetDB_Tables_Fields
https://cl.agb.is/GetDB_Tables_Fields
2. Для каждой записи определяются поля
3. Добавление поля.
3.1. Если заданы значения Наименование таблицы, Наименование поля, Тип поля, то проверяется наличие поля и, при необходимости добавляется. Скрипт отправляется по репликации.
3.2. Если, дополнительно, задано значение Описание назначения поля, то после добавления поля добавляется и описание поля. Скрипт отправляется по репликации.
3.3. Если, дополнительно, задан SQL-запрос, то после добавления поля выполняется SQL запрос. Скрипт не отправляется по репликации.
После каждой операции результат сразу сохраняется в базе данных.
В случае критической ошибки сообщение об ошибке записывается в лог агента и остальной список полей игнорируется.