Пример работы с внешними источниками данных.
Работа с файлами.
Подписка на событие.
Работа с XML файлами.
Сериализатор XDTO.
Решил опубликовать эту статью думаю, она будет многим полезна, заодно хороший пример работы с механизмами платформы.
Рассмотрим на примере УТ 11 задачу хранения и восстановления удаленных документов, дабы они не загрязняли нашу базу будем хранить их в файлах, а в следующей статье — в отдельной конфигурации. Ниже приведена пошаговая инструкция.
Берем УТ 11
УДАЛЕНИЕ ОБЪЕКТА
Необходимо создать новую подписку на событие «ВыгрузкаУдаляемогоОбъекта» указав в источниках объекты которые мы будем сохранять пусть для примера это будут документы и справочники ну и укажем когда будет она будет срабатывать «ПередУдалением»

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

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

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

Удаляем их непосредственно
Это наши удаленные объекты один файл на объект.
![]()
Так выглядит содержание нашего файла.

ВОССТАНОВЛЕНИЕ ОБЪЕКТА
Теперь наша задача восстановить удаленный объект.

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

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

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

Вы скажете, а если объектов тысячи? Конечно хранить их в виде файлов в каталоге, да еще с именем фала в виде ID не целесообразно, но эту задачу решим в следующем примере.
Если считаете, что лучше выложить пишите об этом, тогда выложу на каркасной конфигурации для сдачи на специалист.А УТ 11 выкладывать не будем 
PS. Ждем продолжение ставим плюсики ;-). Будут плюсы разберем вопрос создания конфигурации для хранения удаленных объектов.


















Да, тему можно развить.
Интересно. С удовольствием бы познакомился с продолжением. Отдельная база данных для удалённых объектов — хороший механизм контроля для руководителя.
Вполне подходящий вариант. Однако, как минимум, есть одно предложение по его доработке:
1. Загружать файлы с удаленными объектами все сразу, а не по одному. Причем перед загрузкой в базу, показывать их в таблице с возможностью отбора объектов, которые требуется загрузить.
Согласен, просто этот функционал возложу на дополнительную конфигурацию, для хранения и систематизации удаленных данных.(3) fomix,
Готово продолжение!
Необычно и интересно. В некоторых ситуациях вполне применимо (особенно, если удаление непосредственное).
а я бы сделал попроще, с использование РИБ… единственное, что при удалении объектов, очищал регистрацию этого события… а дальше, одна обработка по сравнению объектов в базе и все… ну можно еще хранить ссылки на удаленные объекты в базе источнике, для упрощения задачи… это позволило бы быстро находить копии объектов в базе приемнике…
а синхронизация автоматическая в фоновом режиме… красота 🙂
В случае изменения структуры объекта, в том числе изменения имени реквизита, объект не загрузится.
(8) Да по этой причине, нужно внести изменения в алгоритм загрузки, сделаю в следующих релизах