gifts2017

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

Опубликовал kras_71 (kras_71) в раздел Администрирование - Журнал регистрации

Контроль изменения всех реквизитов любых справочников и документов в любой конфигурации

Очень часто бывает необходимость выяснить, кто же изменил значение реквизита или каким оно было на определенную дату. Поискал недолго на сайте, не нашел и решил написать что-то свое. 

Обработка использует внешние компоненты FormEx.dll и 1sqlite.dll. Легко подключается к любой конфигурации без доработок. Данные хранятся во внешнем файле.

При открытии формы справочника или документа делается снимок его состояния на момент открытия. После закрытия формы опять делается снимок состояния объекта и сравнение с предыдущим снимком. Если были изменения реквизитов, предлагает ввести причину изменений.

Снимки состояния и изменения реквизитов пишутся в БД history.sdb в каталоге базы. Для того, чтобы посмотреть изменения, нужно открыть форму интересующего справочника или документа и нажать на кнопку F4.

Подключение: в процедуре ПриНачалеРаботыСистемы добавить

парам=СоздатьОбъект("СписокЗначений");
парам.ДобавитьЗначение(1,"Режим");
ОткрытьФорму("Отчет",парам,КаталогИБ()+"ExtForms\ИсторияОбъекта.ert");

22.10.2015г Добавил настройки контроля. В любом случае изменения фиксируются все, но запрос комментария и отражение изменений в карточке можно настраивать. Изменил сам интерфейс просмотра истории.

Скачать файлы

Наименование Файл Версия Размер
Контроль изменений 5
.rar 546,13Kb
17.10.15
5
.rar 546,13Kb Скачать
Контроль изменений (версия 2) 3
.rar 554,70Kb
22.10.15
3
.rar 554,70Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Alexey (zarius) 21.10.15 12:23
Почему именно F4 - для вызова формы изменений? Обычно F4 - активно используется пользователями в качестве стандартного поведения 1С - открытия для выбора формы списка активного реквизита.
2. kras_71 (kras_71) 22.10.15 18:15
Можете любую назначить там есть процедура ПриНажатииКнопки
3. kras_71 (kras_71) 22.10.15 18:19
Процедура ПриНажатииКнопкиКлавиатуры(конт,код,альт,шифт,контрл,символ,фсо)
Если Число(код)=115 Тогда
ИсторияИзмОбъекта();
фсо=0;
КонецЕсли;
КонецПроцедуры
4. Alexey (zarius) 23.10.15 12:12
(2) (3)
Понятно что можно любую - интересно было, почему у Вас именно F4?
Ну и по структуре хранения табличных частей - хранить их целиком через ЗначениеВСтроку() - не есть хорошо (хотя, конечно, "не хорошо" - больше для меня, т.к. скачивал обработку как раз ради того, чтобы посмотреть как реализовано логирование ТЧ).
5. kras_71 (kras_71) 24.10.15 18:32
F4 просто понравилась ))). А по поводу табличных частей - ни кто не мешает Вам сделать ещё одну таблицу в Sql и хранить их там по строчно. Делал для себя на скорую руку, понятно, что нет предела совершенству, но меня и такой вариант устраивает.