gifts2017

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

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

Для того, чтобы после удаления объекта из конфигурации его можно было восстановить нужно в режиме “КОНФИГУРАТОР” проделать действия которые были описаны в первой публикации.  

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

 

Обработка позволяет восстановить удаленные объекты из конфигурации.

По кнопке “Восстановить объекты”

image

В настройках есть возможность указать каталог в которых хранятся XML файлы удаленных объектов. А также если установить галку “Хранить восстановленные объекты” то после восстановления объекта файл с его описанием будет перемещен в папку “Каталог объектов восстановленных”

image

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

Наименование Файл Версия Размер
ВосстановлениеУдаленныхДокументов.epf 19
.epf 10,08Kb
22.12.12
19
.epf 10,08Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Антон . (infologgoto) 23.12.12 21:17
+
Еще нужен поиск по объектам.
2. Антон Егоров (egorovntn) 23.12.12 21:44
Это сделаю в конфигурации, не думал что будет три статьи просто комментарии к первой Хранение удаленных документов в отдельной базе. Часть 1 побудили написать обработку. Я еще в первой обещал, что будет конфигурация для хранения удаленных объектов.
3. Ильшат (shatt) 24.12.12 09:25
А как решается вопрос по уникальности номеров?
Ведь после удаления объекта могли создать новый с таким же номером
Как поведет себя методика?
Затрет или будут 2 документа с одинаковым номером?
4. Антон Егоров (egorovntn) 24.12.12 15:39
(3) Удаление объектов происходит как правило не мгновенно если нумератор уже после создания удаляемого объекта присвоил новый номер следующему созданному объекту. То этот номер после удаления останется не использованным.
Если прочитать принцип формирования ИД (а унас имя файла = ИД) "принцип формирования ИД" то совпадение по логике очень мало вероятно. (добавлю проверку и сообщения на данный случай)
5. Антон Егоров (egorovntn) 24.12.12 15:42
6. Антон Егоров (egorovntn) 24.12.12 15:44
7. Роман (Raminus) 24.12.12 16:48
В целом, интересное решение! Плюсик.
8. Ярослав Радкевич (WKBAPKA) 25.12.12 15:38
спасибо что пригласили к обсуждению...
как я уже писал, можно сделать такое решение на базе РИБ (распределенной информационной базы). Для этого используем стандартные планы обмена с небольшой модификацией... нам нужно, что бы данные мигрировали из одной базы в другую, при этом вторая база должна отправлять уведомление в виде квитанции о том, что порция данных получена. В связи со спецификой задачи, при удалении объектов, регистрацию этого действия нужно очищать... тем самым получаем вторую базу со всеми объектами которые в первой были удалены... а регистрацию об удаленных объектах можно хранить в первой базе, в виде ссылок... тогда используя данный регистр, можно быстро найти удаленные объекты во второй базе...

такая реализация не потребует большого количества времени... есть конечно и нюансы, один из которых, это сам обмен, вернее интервал обмена. если в интервале между обменами объект будет создна и будет удален, вторая база его не "увидит".
9. Ярослав Радкевич (WKBAPKA) 25.12.12 15:40
ну а что касается восстановления удаленных объектов, для этого достаточно выполнить регистрацию нужного объекта во второй базе (немного нужно будет допилить) и при обмене он автоматически попадет в базу 1
10. Антон Егоров (egorovntn) 25.12.12 16:23
(8) Честно не догоняю, как на полном обмене сделать и что. Ведать не хватает знаний
11. Антон Егоров (egorovntn) 25.12.12 16:32
(8)
16:25:11 Собеседник: Предлагает создать регистр, в который при удалении бы записывались ссылки удаленных объектов, чтобы их быстро можно было найти в другой базе по УИ, правда я не понимаю для чего это надо. К тому же зачем использовать план обмена. Нетривиальная и непонятная задача
16:26:25 egorovntn: Полный обмен!?, я понимаю что можно обмен только этого региста настроить, и для обмена нужны одинаковые конфигурации
[16:27:30] Собеседник: Собственно никто не мешает удаленные объекты хранить в регистре, по принципу версионирования. Когда документ удаляется - выгружать его в XML в сжимать в двоичные данные.

Так работет собственно вся система версионирования в УПП. И вторая база не нужна
12. Ярослав Радкевич (WKBAPKA) 25.12.12 17:06
реализация через РИБ просто достаточно простая и быстро реализуема...

в чем идея РИБ, это полная синхронизация данных. вот мы ее и используем и добиваемся полной копии базы... удаляя регистрацию об удалении объектов, мы тем самым получаем вторую базу с объектами, которые были удалены в первой...
а регистр сведений удаленных объектов с идентификаторами нужен, что бы быстро получить доступ к нужным объектам, не делая сложных обработок по сравнению двух баз
13. Антон Егоров (egorovntn) 25.12.12 17:38
(12) В общем то идею я понял, но держать образ РИБ базы это вся конфигурация, притом нет возможности в одном месте хранить удаленные объекты из нескольких баз.


Я же пишу конфигурацию для управления удаленными объектами для любого количества конфигураций.
14. Fomix (fomix) 25.12.12 22:09
Cпасибо, что пригласили к обсуждению...
Насчет использования плана обмена - идея не очевидная, потому как я понял, автор не предполагает делать полную копию базы. А чтобы объекты не затирались можно попробывать использовать GUID. И если попадется в базе хранения удаленных данных объект с одинаковым номером, присваивать ему такой же, но с каким-нибудь префиксом.
15. Антон Егоров (egorovntn) 28.12.12 18:43
Тут обновили конфигурацию и сериализация перестала работать, где бы почитать подробности работы с XDTO
16. Fomix (fomix) 11.01.13 11:22
17. andrey dyak (dyak84) 11.01.13 12:02
Спасибо за публикацию статья действительно нужная и интересная буду пробовать зделать по вашей статье. Автору огромное спасибо Так держать