Администрирование · 9 мин
Как добавить кнопку «История изменений» в 1С
Как включить версионирование объектов и добавить кнопку «История изменений» в 1С: настройка через интерфейс, права доступа, команда в форме и проверка результата.
Кнопка «История изменений» в 1С нужна там, где важно видеть, кто, когда и что именно поменял в документе или элементе справочника: сумму в заказе, контрагента в договоре, реквизиты номенклатуры. Механизм, который за это отвечает, называется версионированием объектов — он встроен в Библиотеку стандартных подсистем (БСП) и присутствует в большинстве типовых конфигураций: «Управление торговлей», «ERP», «Бухгалтерия предприятия», «Зарплата и управление персоналом».
Есть два пути. Первый — включить штатную настройку в режиме 1С:Предприятие, если конфигурация типовая: тогда кнопка появится в формах объектов автоматически, без доработок. Второй — добавить команду вручную через конфигуратор, если конфигурация самописная, снята с поддержки или кнопку нужно вывести в нестандартное место. Ниже разобраны оба варианта, права доступа и типичные ошибки.
Что такое версионирование и когда кнопка появляется сама
Версионирование объектов — подсистема БСП, которая при каждой записи объекта сохраняет его снимок: значения реквизитов, табличных частей, автора изменения, дату и время. Кнопка «История изменений» открывает отчёт, в котором версии можно сравнить между собой и увидеть, какие именно поля поменялись.
В типовых конфигурациях на БСП кнопка выводится в форму объекта автоматически, как только для этого типа объектов включено версионирование. Она обычно появляется в меню «Ещё» формы документа или элемента справочника. Если версионирование выключено — кнопки в форме нет вовсе, и это нормальное поведение, а не ошибка.
Важно понимать ограничение: версионирование работает только для объектов, которые записываются в базу целиком — справочников, документов, планов видов характеристик. Регистры сведений и накопления штатно не версионируются.
Включение версионирования в типовой конфигурации
Для настройки нужны права администратора. Порядок действий одинаков для большинства типовых решений на управляемых формах.
- 1Откройте раздел «Администрирование» → «Общие настройки» (в некоторых конфигурациях — «Настройка программы»).
- 2Найдите группу «Версионирование объектов» или пункт «История изменений» и установите флажок «Версионировать объекты».
- 3Перейдите по ссылке настройки списка объектов и отметьте типы, для которых нужна история: например, «Документы.РеализацияТоваровУслуг», «Справочник.Контрагенты».
- 4Для каждого типа выберите режим: версионировать всегда или только при проведении документа.
- 5Откройте любой документ отмеченного типа и проверьте: в меню «Ещё» появилась команда «История изменений».
После включения кнопка появляется не только в форме объекта, но и в списках — через контекстное меню или кнопку «Ещё» командной панели списка. Вид команды может отличаться: «История изменений», «Версии объекта» — зависит от версии БСП.
Обратите внимание: версии начнут сохраняться только с момента включения настройки. Изменения, сделанные раньше, отчёт не покажет — для анализа прошлых правок остаётся только журнал регистрации, где виден факт изменения, но не сравнение значений.
Настройка прав доступа к истории изменений
Даже при включённом версионировании пользователь может не видеть кнопку, если у него нет прав. В типовых конфигурациях за это отвечают роли из состава БСП, чаще всего «Просмотр истории изменений» и «Чтение информации о версиях объектов» (точные названия зависят от версии библиотеки).
Чтобы выдать доступ, откройте «Администрирование» → «Настройки пользователей и прав» → «Пользователи», выберите сотрудника и добавьте ему соответствующий профиль группы доступа или роль через конфигуратор. После изменения прав пользователю нужно перезайти в программу — права подхватываются при старте сеанса.
Типичная ситуация: администратор видит «Историю изменений», а менеджер — нет. Это почти всегда вопрос ролей, а не настройки версионирования. Проверяйте права до того, как дорабатывать форму.
Добавление кнопки вручную через конфигуратор
Если конфигурация самописная или без БСП, кнопку добавляют в конфигураторе. Самый простой способ — команда формы, которая открывает отчёт по версиям или собственную форму истории.
Вариант 1: кнопка в форме объекта
Откройте конфигуратор, найдите нужный объект (например, документ), откройте его основную форму. В дереве элементов формы добавьте кнопку в командную панель, создайте для неё команду формы и в обработчике команды пропишите открытие отчёта или собственной формы истории.
&НаКлиенте
Процедура ИсторияИзменений(Команда)
ПараметрыФормы = Новый Структура("СсылкаНаОбъект", Объект.Ссылка);
ОткрытьФорму("Отчет.ИсторияИзменений.Форма", ПараметрыФормы, ЭтотОбъект);
КонецПроцедурыВариант 2: общая команда для нескольких объектов
Если кнопка нужна сразу в нескольких видах документов и справочников, создайте общую команду в ветке «Общие» → «Общие команды», задайте ей тип параметра команды (нужные ссылки) и режим «Использовать в командном панели форм». Тогда команда появится в меню «Ещё» всех форм указанных типов без правки каждой формы отдельно.
Если конфигурация доработана и снята с поддержки, предпочтителен механизм расширений: команда добавляется в расширение конфигурации, не затрагивая основной код. Это сохраняет возможность обновления и снижает риск конфликтов при апгрейде.
Проверка результата
После настройки проверьте работу механизма на тестовом объекте, а не только наличие самой кнопки. Сама по себе кнопка не гарантирует, что версии пишутся.
Как проверить результат
«История изменений» есть в меню «Ещё» формы объекта
Команды нет даже у администратора — версионирование не включено для этого типа
После изменения и записи документа в отчёте появилась новая строка с автором и временем
Отчёт пустой после записи — версии не сохраняются, проверьте настройку типа объекта
При выборе двух версий видно, какие реквизиты изменились
Отчёт открывается с ошибкой — возможно, повреждены данные версий или нет прав
Рядовой пользователь с нужной ролью видит историю
Кнопка есть только у администратора — не выдана роль просмотра версий
Для теста достаточно изменить один реквизит в документе, записать его и открыть историю: должна появиться версия с вашим именем и текущим временем, а сравнение версий должно подсветить изменённое поле.
Частые ошибки и ограничения
Ещё одно ограничение: стандартный отчёт по версиям хранит данные в сериализованном виде, поэтому произвольный запрос к версиям построить сложно. Если нужна аналитика по изменениям (например, «все случаи изменения цены больше чем на 20%»), потребуется отдельная доработка — подписка на событие записи с сохранением нужных полей в собственный регистр.
Как выбрать подход
FAQ
Почему кнопка «История изменений» есть у администратора, но не видна менеджеру?
У пользователя нет роли просмотра версий объектов. Добавьте ему профиль с ролью «Просмотр истории изменений» (название зависит от версии БСП) и попросите перезайти в программу — права применяются при старте нового сеанса.
Можно ли увидеть историю изменений, сделанных до включения версионирования?
Нет, версии сохраняются только после включения настройки. Для прошлых правок доступен лишь журнал регистрации: он покажет, кто и когда записывал объект, но без сравнения значений реквизитов.
Где находится кнопка, если в форме документа её не видно?
Чаще всего команда скрыта в меню «Ещё» командной панели формы или в контекстном меню списка документов. Если там её нет у пользователя с полными правами — версионирование для этого типа объектов не включено в настройках.
Сильно ли версионирование замедляет работу базы?
При разумной настройке влияние небольшое: одна дополнительная запись при записи объекта. Проблемы начинаются, если версионировать все объекты подряд без очистки старых версий — тогда растёт объём базы. Включайте механизм точечно и настройте регламентное удаление устаревших версий.
Как добавить кнопку, не снимая конфигурацию с поддержки?
Используйте расширение конфигурации: в нём создаётся общая команда или дорабатывается форма, а типовой код остаётся нетронутым. Такой подход сохраняет возможность штатного обновления конфигурации.
Что важно запомнить
В типовых конфигурациях кнопка «История изменений» появляется автоматически после включения версионирования объектов в разделе «Администрирование». Для самописных решений команду добавляют через конфигуратор, предпочтительно расширением. Проверяйте права пользователей, включайте версионирование точечно и тестируйте на копии базы.