![]() |
|
Конвертация Данных 2.1 (Вопрос по правилу очистки) | ☑ | ||
---|---|---|---|---|
0
Толич
28.01.13
✎
09:50
|
Добрый день.
Есть односторонний обмен между двумя разными базами. Нужно чтобы при повторной выгрузке документов за один и тот же период, удаленные документы в базе источнике (которые выгружались при первичной выгрузке) оставались помеченными на удаление в базе приемнике. Сейчас этот механизм реализован следующим образом: В справочнике "конвертация" в обработчике "перед загрузкой данных" я помечаю на удаление все документы за период выгрузки, а затем замещаю данные в этих документах при самой загрузке. Все работает. Вот только не пойму как это же реализовать с помощью механизма правила очистки данных. А именно не знаю как сделать отбор за период. Сейчас могу проверять помечать на удаление именно этот документ или нет. Проблема заключается в том, что обрабатываются документы за весь период и это очень долго. Как сделать этот отбор в очистке? |
|||
1
cw014
28.01.13
✎
09:58
|
(0) я помечаю на удаление все документы за период выгрузки, а затем замещаю данные в этих документах при самой загрузке. Все работает.
Это ЖЕСТЬ |
|||
2
cw014
28.01.13
✎
09:59
|
(0) Правила очистки удаляют непосредственно из базы, по моему
|
|||
3
Толич
28.01.13
✎
11:32
|
(1) Конечно это неправильно. Поэтому и ищу более правильное решение.
Если под словом "Жесть" вы подразумеваете выгрузку не отдельных записей и документов а весь период, то это условие было постановке задачи. (2) Нет. В правиле есть условие удаления объекта пометка или непосредственно. |
|||
4
Kasper076
28.01.13
✎
11:36
|
При непосредственном удалении объекта в таблице изменений хранится объект "УдалениеОбъекта", который содержит ссылку на удаленный объект. Собственно достаточно проверки на "УдалениеОбъекта" и обработки его соответсвующим образом.
|
|||
5
Толич
28.01.13
✎
11:41
|
(4) Спасибо. Запомню на будущее...
Но в моей задаче надо именно помечать на удаление документы в базе приемника которых нет при повторной выгрузке этого периода. |
|||
6
Kasper076
28.01.13
✎
11:43
|
(5) Так и бери данные об удаленых объектах из плана обмена. И помечай на удаление эти объекты в приемнике.
|
|||
7
Kasper076
28.01.13
✎
11:45
|
Если ГУИДы объектов в источнике и приемнике одинаковые, то будет работать.
|
|||
8
Толич
28.01.13
✎
11:50
|
(6)(7) Так то конечно так, но у меня есть некоторые периодические движения регистров сведений в базе источника, которые я с помощью запроса собираю в документы базы приемника вот с ними у меня и проблема...
Так что в моей задаче надо именно помечать на удаление документы в базе приемника которых нет при повторной выгрузке этого периода. Как это сделать правильно через очистку данных? |
|||
9
Толич
28.01.13
✎
11:51
|
(8)+Т.е. у меня фактически нет этих документов в базе источника.
|
|||
10
Kasper076
28.01.13
✎
11:59
|
Не оч понимаю, чем схема с планом обмена и "ОбъектУдален" не устраивает.
Можешь еще выгрузить список ИД (допустим Номер + Дата) документов, как параметр в глобальном обработчике "ПослеВыгрузки", а в глобальном обработчике "ПослеЗагрузки" обработать этот список. Все что в приемнике "лишнее", пометить. |
|||
11
Толич
28.01.13
✎
12:07
|
(10) Уже и такое делал. В принципе все работает.
Просто не понимаю как делать отборы в очистке данных... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |