В процессе разработки и сопровождения решений на платформе «1С:Предприятие» часто возникает необходимость выяснить точный момент времени, когда в конкретную информационную базу были помещены или применены обновления из хранилища конфигурации. Рассмотрим подробно особенности работы хранилища и выясним, как найти точную дату обновления.
Разберем важный нюанс: в платформе «1С:Предприятие» отсутствует встроенный реквизит или системная константа, где автоматически сохранялась бы дата последнего получения изменений из хранилища. Кроме того, важно различать три разных состояния конфигурации:
Загрузка изменений из хранилища обновляет основную конфигурацию. Однако применение этих изменений к физическим таблицам базы происходит только при обновлении конфигурации базы данных (по клавише F7 или при запуске с соответствующими ключами). Проанализируем основные способы определения момента обновления.
Основным инструментом для определения времени применения изменений является системный журнал регистрации 1С. Выясним, как найти нужную запись:
Администрирование — Журнал регистрации).Событие выберем значение: Информационная база. Изменение конфигурации базы данных.Важное замечание: данное событие фиксирует момент применения изменений к конфигурации базы данных. Платформа не разделяет в журнале регистрации источник этих изменений (были ли они получены из хранилища, загружены из файла .cf или внесены вручную). Тем не менее, это дает точное время, когда структура базы была обновлена.
Если требуется понять, актуальна ли текущая база относительно хранилища, выполним сравнение конфигураций:
Конфигурация — Хранилище конфигурации — Сравнить конфигурацию базы данных с хранилищем (или сравнить основную конфигурацию).Конфигурация — Хранилище конфигурации — История хранилища.Если обновление баз из хранилища автоматизировано через скрипты командной строки, проанализируем файлы логов. При пакетном обновлении обычно используются параметры запуска Конфигуратора:
/ConfigurationRepositoryUpdateCfg — для получения изменений из хранилища;
/UpdateDBCfg — для обновления конфигурации базы данных;
/Out "C:\logs\update.log" — для записи результатов в текстовый лог.
Проверив сформированные файлы логов, можно получить исчерпывающую информацию о дате, времени и статусе выполнения операции обновления.
Чтобы в дальнейшем точно знать дату и номер версии полученных обновлений, рекомендуется использовать следующие практики: