К статье
Практический материал

Администрирование · 9 мин

Как добавить кнопку «История изменений» в 1С

Как включить версионирование объектов и добавить кнопку «История изменений» в 1С: настройка через интерфейс, права доступа, команда в форме и проверка результата.

Кнопка «История изменений» в 1С нужна там, где важно видеть, кто, когда и что именно поменял в документе или элементе справочника: сумму в заказе, контрагента в договоре, реквизиты номенклатуры. Механизм, который за это отвечает, называется версионированием объектов — он встроен в Библиотеку стандартных подсистем (БСП) и присутствует в большинстве типовых конфигураций: «Управление торговлей», «ERP», «Бухгалтерия предприятия», «Зарплата и управление персоналом».

Есть два пути. Первый — включить штатную настройку в режиме 1С:Предприятие, если конфигурация типовая: тогда кнопка появится в формах объектов автоматически, без доработок. Второй — добавить команду вручную через конфигуратор, если конфигурация самописная, снята с поддержки или кнопку нужно вывести в нестандартное место. Ниже разобраны оба варианта, права доступа и типичные ошибки.

Что такое версионирование и когда кнопка появляется сама

Версионирование объектов — подсистема БСП, которая при каждой записи объекта сохраняет его снимок: значения реквизитов, табличных частей, автора изменения, дату и время. Кнопка «История изменений» открывает отчёт, в котором версии можно сравнить между собой и увидеть, какие именно поля поменялись.

В типовых конфигурациях на БСП кнопка выводится в форму объекта автоматически, как только для этого типа объектов включено версионирование. Она обычно появляется в меню «Ещё» формы документа или элемента справочника. Если версионирование выключено — кнопки в форме нет вовсе, и это нормальное поведение, а не ошибка.

Важно понимать ограничение: версионирование работает только для объектов, которые записываются в базу целиком — справочников, документов, планов видов характеристик. Регистры сведений и накопления штатно не версионируются.

Включение версионирования в типовой конфигурации

Для настройки нужны права администратора. Порядок действий одинаков для большинства типовых решений на управляемых формах.

Порядок включения версионирования
  1. 1
    Откройте раздел «Администрирование» → «Общие настройки» (в некоторых конфигурациях — «Настройка программы»).
  2. 2
    Найдите группу «Версионирование объектов» или пункт «История изменений» и установите флажок «Версионировать объекты».
  3. 3
    Перейдите по ссылке настройки списка объектов и отметьте типы, для которых нужна история: например, «Документы.РеализацияТоваровУслуг», «Справочник.Контрагенты».
  4. 4
    Для каждого типа выберите режим: версионировать всегда или только при проведении документа.
  5. 5
    Откройте любой документ отмеченного типа и проверьте: в меню «Ещё» появилась команда «История изменений».

После включения кнопка появляется не только в форме объекта, но и в списках — через контекстное меню или кнопку «Ещё» командной панели списка. Вид команды может отличаться: «История изменений», «Версии объекта» — зависит от версии БСП.

Обратите внимание: версии начнут сохраняться только с момента включения настройки. Изменения, сделанные раньше, отчёт не покажет — для анализа прошлых правок остаётся только журнал регистрации, где виден факт изменения, но не сравнение значений.

Настройка прав доступа к истории изменений

Даже при включённом версионировании пользователь может не видеть кнопку, если у него нет прав. В типовых конфигурациях за это отвечают роли из состава БСП, чаще всего «Просмотр истории изменений» и «Чтение информации о версиях объектов» (точные названия зависят от версии библиотеки).

Чтобы выдать доступ, откройте «Администрирование» → «Настройки пользователей и прав» → «Пользователи», выберите сотрудника и добавьте ему соответствующий профиль группы доступа или роль через конфигуратор. После изменения прав пользователю нужно перезайти в программу — права подхватываются при старте сеанса.

Типичная ситуация: администратор видит «Историю изменений», а менеджер — нет. Это почти всегда вопрос ролей, а не настройки версионирования. Проверяйте права до того, как дорабатывать форму.

Добавление кнопки вручную через конфигуратор

Если конфигурация самописная или без БСП, кнопку добавляют в конфигураторе. Самый простой способ — команда формы, которая открывает отчёт по версиям или собственную форму истории.

Вариант 1: кнопка в форме объекта

Откройте конфигуратор, найдите нужный объект (например, документ), откройте его основную форму. В дереве элементов формы добавьте кнопку в командную панель, создайте для неё команду формы и в обработчике команды пропишите открытие отчёта или собственной формы истории.

bsl
&НаКлиенте
Процедура ИсторияИзменений(Команда)
	ПараметрыФормы = Новый Структура("СсылкаНаОбъект", Объект.Ссылка);
	ОткрытьФорму("Отчет.ИсторияИзменений.Форма", ПараметрыФормы, ЭтотОбъект);
КонецПроцедуры

Вариант 2: общая команда для нескольких объектов

Если кнопка нужна сразу в нескольких видах документов и справочников, создайте общую команду в ветке «Общие» → «Общие команды», задайте ей тип параметра команды (нужные ссылки) и режим «Использовать в командном панели форм». Тогда команда появится в меню «Ещё» всех форм указанных типов без правки каждой формы отдельно.

Если конфигурация доработана и снята с поддержки, предпочтителен механизм расширений: команда добавляется в расширение конфигурации, не затрагивая основной код. Это сохраняет возможность обновления и снижает риск конфликтов при апгрейде.

Проверка результата

После настройки проверьте работу механизма на тестовом объекте, а не только наличие самой кнопки. Сама по себе кнопка не гарантирует, что версии пишутся.

Контрольные точки

Как проверить результат

Наличие команды
Норма

«История изменений» есть в меню «Ещё» формы объекта

Тревожный признак

Команды нет даже у администратора — версионирование не включено для этого типа

Создание версии
Норма

После изменения и записи документа в отчёте появилась новая строка с автором и временем

Тревожный признак

Отчёт пустой после записи — версии не сохраняются, проверьте настройку типа объекта

Сравнение версий
Норма

При выборе двух версий видно, какие реквизиты изменились

Тревожный признак

Отчёт открывается с ошибкой — возможно, повреждены данные версий или нет прав

Права пользователя
Норма

Рядовой пользователь с нужной ролью видит историю

Тревожный признак

Кнопка есть только у администратора — не выдана роль просмотра версий

Для теста достаточно изменить один реквизит в документе, записать его и открыть историю: должна появиться версия с вашим именем и текущим временем, а сравнение версий должно подсветить изменённое поле.

Частые ошибки и ограничения

Типичные ошибки
01
Включают версионирование для всех объектов подряд — база быстро разрастается, а отчёт становится нечитаемым. Оставляйте только критичные типы: договоры, заказы, цены, ключевые справочники.
02
Ждут историю за прошлые периоды — версии пишутся только с момента включения настройки, задним числом восстановить сравнение изменений нельзя.
03
Добавляют кнопку в форму, забыв про права — пользователи видят команду, но получают ошибку доступа при нажатии.
04
Правят типовую форму напрямую вместо расширения — при очередном обновлении конфигурации доработка теряется или блокирует обновление.
05
Путают версионирование с журналом регистрации — журнал фиксирует факт записи, но не показывает, какие значения реквизитов изменились.

Ещё одно ограничение: стандартный отчёт по версиям хранит данные в сериализованном виде, поэтому произвольный запрос к версиям построить сложно. Если нужна аналитика по изменениям (например, «все случаи изменения цены больше чем на 20%»), потребуется отдельная доработка — подписка на событие записи с сохранением нужных полей в собственный регистр.

Маршрут решения

Как выбрать подход

Конфигурация типовая на БСП и нужен стандартный просмотр историиВключите версионирование через «Администрирование» → «Общие настройки», доработки не требуются
Кнопка нужна в нестандартном месте или конфигурация самописнаяДобавьте общую команду или кнопку формы через конфигуратор
Конфигурация на поддержке и обновляетсяРеализуйте кнопку через расширение конфигурации, не меняя типовой код
Нужен анализ изменений по условиям, а не просто просмотрДелайте подписку на событие записи с сохранением данных в собственный регистр

FAQ

Почему кнопка «История изменений» есть у администратора, но не видна менеджеру?

У пользователя нет роли просмотра версий объектов. Добавьте ему профиль с ролью «Просмотр истории изменений» (название зависит от версии БСП) и попросите перезайти в программу — права применяются при старте нового сеанса.

Можно ли увидеть историю изменений, сделанных до включения версионирования?

Нет, версии сохраняются только после включения настройки. Для прошлых правок доступен лишь журнал регистрации: он покажет, кто и когда записывал объект, но без сравнения значений реквизитов.

Где находится кнопка, если в форме документа её не видно?

Чаще всего команда скрыта в меню «Ещё» командной панели формы или в контекстном меню списка документов. Если там её нет у пользователя с полными правами — версионирование для этого типа объектов не включено в настройках.

Сильно ли версионирование замедляет работу базы?

При разумной настройке влияние небольшое: одна дополнительная запись при записи объекта. Проблемы начинаются, если версионировать все объекты подряд без очистки старых версий — тогда растёт объём базы. Включайте механизм точечно и настройте регламентное удаление устаревших версий.

Как добавить кнопку, не снимая конфигурацию с поддержки?

Используйте расширение конфигурации: в нём создаётся общая команда или дорабатывается форма, а типовой код остаётся нетронутым. Такой подход сохраняет возможность штатного обновления конфигурации.

Итог

Что важно запомнить

В типовых конфигурациях кнопка «История изменений» появляется автоматически после включения версионирования объектов в разделе «Администрирование». Для самописных решений команду добавляют через конфигуратор, предпочтительно расширением. Проверяйте права пользователей, включайте версионирование точечно и тестируйте на копии базы.