gifts2017

Хранение удаленных документов в отдельной базе. Часть 1.

Опубликовал Антон Егоров (egorovntn) в раздел Администрирование - Архивирование (backup)

Резервное хранение данных.
Пример работы с внешними источниками данных.
Работа с файлами.
Подписка на событие.
Работа с XML файлами.
Сериализатор XDTO.

Решил опубликовать эту статью думаю, она будет многим полезна, заодно хороший пример работы с механизмами платформы.

Рассмотрим на примере УТ 11 задачу хранения и восстановления удаленных документов, дабы они не загрязняли нашу базу будем хранить их в файлах, а в следующей статье - в отдельной конфигурации. Ниже приведена пошаговая инструкция.

Берем УТ 11

 

УДАЛЕНИЕ ОБЪЕКТА

 

Необходимо создать новую подписку на событие «ВыгрузкаУдаляемогоОбъекта» указав в источниках объекты которые мы будем сохранять пусть для примера это будут документы и справочники ну и укажем когда будет она будет срабатывать «ПередУдалением»

 

Для определения обработчика подписки создадим серверный общий модуль «МодульОбработчикаСобытияУдаленияОбъекта»

 

Укажем наш модуль в подписке в пункте "Обработчик" 

Теперь в модуле «МодульОбработчикаСобытияУдаленияОбъекта» пропишем процедуру.



Удаляем документы в УТ 11.

 

Сначала пометим документ на удаление 

 

Удаляем их непосредственно

 Это наши удаленные объекты один файл на объект.

 Так выглядит содержание нашего файла.

 

ВОССТАНОВЛЕНИЕ ОБЪЕКТА

 

Теперь наша задача восстановить удаленный объект.

 

Для этого создадим в Общих командах команду «ВосстановитьОбъект» по следующими процедурами. Добавим команду в подсистему «Администрирование»

 

В Предприятии 

В итоге при выборе файла получаем востановленный объект.

Вы скажете, а если объектов тысячи? Конечно хранить их в виде файлов в каталоге, да еще с именем фала в виде ID не целесообразно, но эту задачу решим в следующем примере.

Если считаете, что лучше выложить пишите об этом, тогда выложу на каркасной конфигурации для сдачи на специалист.А  УТ 11 выкладывать не будем Cool

PS. Ждем продолжение ставим плюсики ;-). Будут плюсы разберем вопрос создания конфигурации для хранения удаленных объектов.

 

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Гость 12.12.12 15:39
2. Виктор Желтко (ViksVik) 19.12.12 14:42
Интересно. С удовольствием бы познакомился с продолжением. Отдельная база данных для удалённых объектов - хороший механизм контроля для руководителя.
3. Fomix (fomix) 19.12.12 15:09
Вполне подходящий вариант. Однако, как минимум, есть одно предложение по его доработке:
1. Загружать файлы с удаленными объектами все сразу, а не по одному. Причем перед загрузкой в базу, показывать их в таблице с возможностью отбора объектов, которые требуется загрузить.
4. Антон Егоров (egorovntn) 19.12.12 21:42
Согласен, просто этот функционал возложу на дополнительную конфигурацию, для хранения и систематизации удаленных данных.(3) fomix,
5. Антон Егоров (egorovntn) 23.12.12 00:38
6. Никита Коротаев (bforce) 24.12.12 10:20
Необычно и интересно. В некоторых ситуациях вполне применимо (особенно, если удаление непосредственное).
7. Ярослав Радкевич (WKBAPKA) 24.12.12 11:12
а я бы сделал попроще, с использование РИБ... единственное, что при удалении объектов, очищал регистрацию этого события... а дальше, одна обработка по сравнению объектов в базе и все... ну можно еще хранить ссылки на удаленные объекты в базе источнике, для упрощения задачи... это позволило бы быстро находить копии объектов в базе приемнике...

а синхронизация автоматическая в фоновом режиме... красота :)
8. Максим Зудин (kasper076) 29.12.12 09:44
В случае изменения структуры объекта, в том числе изменения имени реквизита, объект не загрузится.
9. Антон Егоров (egorovntn) 19.01.13 23:45
(8) Да по этой причине, нужно внести изменения в алгоритм загрузки, сделаю в следующих релизах
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа