Очень часто бывает необходимость выяснить, кто же изменил значение реквизита или каким оно было на определенную дату. Поискал недолго на сайте, не нашел и решил написать что-то свое.
Обработка использует внешние компоненты FormEx.dll и 1sqlite.dll. Легко подключается к любой конфигурации без доработок. Данные хранятся во внешнем файле.
При открытии формы справочника или документа делается снимок его состояния на момент открытия. После закрытия формы опять делается снимок состояния объекта и сравнение с предыдущим снимком. Если были изменения реквизитов, предлагает ввести причину изменений.
Снимки состояния и изменения реквизитов пишутся в БД history.sdb в каталоге базы. Для того, чтобы посмотреть изменения, нужно открыть форму интересующего справочника или документа и нажать на кнопку F4.
Подключение: в процедуре ПриНачалеРаботыСистемы добавить
парам=СоздатьОбъект("СписокЗначений");
парам.ДобавитьЗначение(1,"Режим");
ОткрытьФорму("Отчет",парам,КаталогИБ()+"ExtFormsИсторияОбъекта.ert");
22.10.2025г Добавил настройки контроля. В любом случае изменения фиксируются все, но запрос комментария и отражение изменений в карточке можно настраивать. Изменил сам интерфейс просмотра истории.
Почему именно F4 — для вызова формы изменений? Обычно F4 — активно используется пользователями в качестве стандартного поведения 1С — открытия для выбора формы списка активного реквизита.
Можете любую назначить там есть процедура ПриНажатииКнопки
Процедура ПриНажатииКнопкиКлавиатуры(конт,код,альт,шифт,контрл,символ,фсо)
Если Число(код)=115 Тогда
ИсторияИзмОбъекта();
фсо=0;
КонецЕсли;
КонецПроцедуры
(2) (3)
Понятно что можно любую — интересно было, почему у Вас именно F4?
Ну и по структуре хранения табличных частей — хранить их целиком через ЗначениеВСтроку() — не есть хорошо (хотя, конечно, «не хорошо» — больше для меня, т.к. скачивал обработку как раз ради того, чтобы посмотреть как реализовано логирование ТЧ).
F4 просто понравилась ))). А по поводу табличных частей — ни кто не мешает Вам сделать ещё одну таблицу в Sql и хранить их там по строчно. Делал для себя на скорую руку, понятно, что нет предела совершенству, но меня и такой вариант устраивает.