При командной разработке и регулярном сопровождении информационных баз 1С часто возникает необходимость точно узнать, когда именно конфигурация базы данных была обновлена на рабочем сервере, кто из программистов или администраторов применил изменения и какие версии были зафиксированы. Разберем основные и наиболее точные способы получения этой информации.
Журнал регистрации платформы 1С фиксирует все ключевые действия администраторов и разработчиков в среде Конфигуратор. Важно разделять сохранение конфигурации разработчика и фактическое применение изменений к конфигурации базы данных (нажатие клавиши F7 или принятие реструктуризации).
Разберем по шагам, как настроить отбор в журнале регистрации для быстрого поиска события обновления:
Администрирование — Журнал регистрации.Конфигуратор, чтобы исключить действия пользователей из клиентских сеансов.Конфигурация базы данных. Обновление (системный идентификатор _$ConfigDB$_.DatabaseConfigUpdate) — фиксирует факт успешного обновления конфигурации базы данных и реструктуризации таблиц. В строке события будут отображены точная дата, время и имя пользователя.Конфигурация. Изменение (системный идентификатор _$Config$_.ConfigChange) — фиксирует факт сохранения основной конфигурации (Ctrl+S).Если конфигурация создана на базе типовых решений 1С (таких как 1С:ERP, 1С:КА, 1С:УТ, 1С:Бухгалтерия и других), в ней присутствует подсистема обновления версии программы. Проанализируем, где хранятся эти данные в пользовательском интерфейсе:
НСИ и администрирование (или Администрирование) — Обслуживание — Обновление программы.Функции для технического специалиста регистр сведений ВерсииПодсистем или регистр РезультатыОбновленияПрограммы, чтобы программно или вручную посмотреть номер релиза и дату его инициализации.Если журнал регистрации был очищен или сокращен в процессе регламентного обслуживания, выясним дату изменения структуры напрямую через средства Microsoft SQL Server или PostgreSQL.
В реляционной базе данных метаданные хранятся в специальных таблицах Config, ConfigSave и Params. При выполнении реструктуризации базы данных изменяются даты модификации системных объектов.
Посмотрим на пример SQL-запроса для MS SQL Server, который позволяет определить время последнего изменения таблиц базы данных:
SELECT TOP 10
name AS TableName,
create_date AS CreateDate,
modify_date AS ModifyDate
FROM sys.tables
ORDER BY modify_date DESC;
Колонка modify_date наиболее свежих измененных таблиц покажет точное время последней реструктуризации базы данных при обновлении конфигурации.
Рассмотрим важные нюансы, о которых следует помнить при анализе даты обновления:
Конфигурация базы данных. Обновление в журнале регистрации создается обязательно.Конфигурация — Хранилище конфигурации — История хранилища) показывает только момент помещения объектов разработчиком в хранилище, но не отражает факт загрузки и применения изменений в конкретной рабочей базе.