Отчет об изменениях в объектах


Обработка подписывается на событие записи выбранных объетов, и по команде, показывает таблицу изменений реквизитов в объекте.
Обработка универсальная - не требует вносить изменения в конфигурацию.
Eсть пример подключения к обмену ковертации данных через XML.

Таблица строится по сравнению реквизитов объекта и ссылки

Обработа универсальная, не требует изменений в конфигурации, тестировалась в обычном приложении (для тонкого клиента надо переделывать вывод таблицы)

Первоначальные реквизиты объектов хранятся в табличной части обработки.

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

Для удобства можно добавить ее в общие обработчики записи и включать при необходимости отладки (без изменения обработок загрузки)

 

Можно использовать как аналог версионирования - хранить в рег.сведений только изменения ссылок, но тогда обработку надо доработать чтобы не терялась информация при удалени/добвлении строк

 

Пока обрабатываются только справочники и документы (без учета движений).

 

Для того, что бы обработка начала слушать запись объекта перед его записью, например при создании, надо его подписать методом обработки .РегистрироватьИзменения(объект):

(ЛогИзменений = ВнешниеОбработки.Создать("c:\Epf\Trans\ОтчетОбИзменнииОбъетов.epf"); )

Док = Ссылка.ПолучитьОбъект();

ЛогИзменений.РегистрироватьИзменения(Док);

 

Можно включить возможность отмены изменений: ЛогИзменений.ИспользоватьТранзакцию();

 

Когда все изизменения завершены (документы загруженны) можно показать отчет: ЛогИзменений.ПоказатьРезультат();

Если включили транзакцию - форма откроется в модальном режиме, и в меню действия добавиться диалог сохранить / отменить изменения (не придумал как это сделать без модального режима?)

Что бы отчет по изменнеиям не был слишком большим - реквизиты табличной части проверяются только если не изменилось количество строк (+/- строки). Выводится не больше 20 изменений одной таб.части.

Созданные-измененные документы можно сразу провести - действия => провести документы.

 

Обнаружил не очевидную вещь: Если для одного объета два раза вызвать ДобавитьОбработчик Объект.ПередЗаписью, ЭтаОбработка.ПередЗаписьюДокумента; то обработчик будет вызываться два раза (!)

 

В обработку V8Exchan82.epf добавлен пример вызова ЛогИзменений - теперь можно посмотреть,  что загрузилось в базу, и при необходимости отменить загрузку (галочка на фоме "фл использовать транзакцию лог изменений").

( было интересно отследить откуда вызывается запись в V8Exchan82.epf   ;-)  )

 

Идея обработки довольно проста, но похожей на ИнфоСтарте не нашел

(такое уже сделано в http://avprog.ru/public/16654/ ,но по дуругому -через добавление текста в обработчики при записи)

 

В качестве примеров работы с СКД использовались :
http://avprog.ru/public/16408/
http://avprog.ru/public/72280/
-Спасибо!

Точно такого использования СКД не нашел - обработка может быть полезнна как пример програмного создания СКД по таблице значений, с группировками, ресурсами и возможностью пере-настроить СКД (гораздо легче было бы сразу делать отчетом с готовой схемой компановки)



Похожие обработки:
Визуальный контроль изменений документа
Изменения объектов (версионирование)
Универсальная выгрузка/загрузка XML (2.0.26) С АНАЛИЗОМ ИЗМЕНЕННЫХ ОБЪЕКТОВ ПРИ ЗАГРУЗКЕ

Подсистема восставноления и регистрации изменени данных
Журнал регистрации изменений

 

Еще интересный вариант проверки изменнеий -сравнивать с эталонной базой: http://avprog.ru/public/102176/

что то подобное есть в обработке СопоставлениеОбъектовИнформационныхБаз из библиотеке стандартных подсистем, но описаний работы не нашел, и пока не разобрался как это работает. -если кто видел описание -киньте ссылку.

 

upd 27/12/2011: Добавлен проведедение созданных-изменных документов, добавлены кнопки сворачивания групп

upd 24/11/2011: Добавлен пример вызова из V8Exchan82.epf

Файлы обработки:

-