Как узнать, когда и кем была обновлена конфигурация в 1С

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Способ 1. Поиск событий в журнале регистрации

Журнал регистрации платформы 1С фиксирует все ключевые действия администраторов и разработчиков в среде Конфигуратор. Важно разделять сохранение конфигурации разработчика и фактическое применение изменений к конфигурации базы данных (нажатие клавиши F7 или принятие реструктуризации).

Разберем по шагам, как настроить отбор в журнале регистрации для быстрого поиска события обновления:

  1. Откроем информационную базу в режиме Конфигуратор или в режиме 1С:Предприятие с полными правами администратора.
  2. Перейдем в главное меню: Администрирование — Журнал регистрации.
  3. Нажмем кнопку Установить отбор.
  4. В поле Приложение укажем значение Конфигуратор, чтобы исключить действия пользователей из клиентских сеансов.
  5. В списке событий выберем системные события, отвечающие за обновление:
    1. Конфигурация базы данных. Обновление (системный идентификатор _$ConfigDB$_.DatabaseConfigUpdate) — фиксирует факт успешного обновления конфигурации базы данных и реструктуризации таблиц. В строке события будут отображены точная дата, время и имя пользователя.
    2. Конфигурация. Изменение (системный идентификатор _$Config$_.ConfigChange) — фиксирует факт сохранения основной конфигурации (Ctrl+S).
  6. Применим отбор. В результате мы увидим полный список сеансов обновления рабочей базы с указанием автора и времени применения правок.

Способ 2. Проверка истории версий через Библиотеку стандартных подсистем (БСП)

Если конфигурация создана на базе типовых решений 1С (таких как 1С:ERP, 1С:КА, 1С:УТ, 1С:Бухгалтерия и других), в ней присутствует подсистема обновления версии программы. Проанализируем, где хранятся эти данные в пользовательском интерфейсе:

  1. Откроем базу в режиме 1С:Предприятие под учетной записью с правами администратора.
  2. Перейдем в раздел НСИ и администрирование (или Администрирование) — Обслуживание — Обновление программы.
  3. Откроем отчет или форму Результаты обновления программы. Здесь фиксируются дата и время завершения работы дополнительных обработчиков обновления данных для каждой версии конфигурации.
  4. Также программист может открыть через меню Функции для технического специалиста регистр сведений ВерсииПодсистем или регистр РезультатыОбновленияПрограммы, чтобы программно или вручную посмотреть номер релиза и дату его инициализации.

Способ 3. Анализ системных таблиц СУБД (для клиент-серверных баз)

Если журнал регистрации был очищен или сокращен в процессе регламентного обслуживания, выясним дату изменения структуры напрямую через средства 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 наиболее свежих измененных таблиц покажет точное время последней реструктуризации базы данных при обновлении конфигурации.

Особенности и возможные ограничения

Рассмотрим важные нюансы, о которых следует помнить при анализе даты обновления:

  1. Динамическое обновление: при применении изменений конфигурации базы данных без реструктуризации (динамическое обновление) таблицы в SQL не меняют дату модификации, однако запись Конфигурация базы данных. Обновление в журнале регистрации создается обязательно.
  2. Восстановление из резервной копии (.dt или SQL-дамп): если база была развернута из архива, журнал регистрации покажет дату обновления в исходной базе, а не момент загрузки бэкапа на текущий сервер.
  3. История хранилища конфигурации: история хранилища (меню Конфигурация — Хранилище конфигурации — История хранилища) показывает только момент помещения объектов разработчиком в хранилище, но не отражает факт загрузки и применения изменений в конкретной рабочей базе.
← На главную