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



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

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

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

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

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

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

 

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

 

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

 

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

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

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

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

 

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

 

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

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

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

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

 

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

 

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

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

 

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

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

 

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

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

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

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

 

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

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

 

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

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

5 Comments

  1. Trakt0risT

    Интересно, думаю может пригодится… по тестирую в ближайшее время!

    Reply
  2. 1cmax
    Eсть пример подключения к обмену ковертации данных через XML.

    и каким образом применяется?

    Reply
  3. i132

    (6) я применяю для проверки входящих данных для загрузи в копиии: распечатал изменения -спросил у людей которые их делали -какой вариант более корректен -этого года или прошлого.

    помогает перед загразкой в рабочую базу отсечь множество проблем.

    если вопрос как подключитть обработку к конвертации — изменить обработку V8Exchan82.epf : в 3-4 местах где создаются объекты написать вызов ЛогИзменений.РегистрироватьИзменения(ОбъектДляЗаписи)

    -или скачать обработку прикрепленную к статье.

    Reply
  4. help1Ckr

    Спасибо!. Замечательная идея — часто приходится обрабатывать данные. Так можно хранить историю изменений что бы отследить что было до и после.

    Reply
  5. i132

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *