![]() |
![]() |
![]() |
|
КД, пометка на удаление после загрузки объекта | ☑ | ||
---|---|---|---|---|
0
Loki
11.08.08
✎
12:46
|
Добрый день. Задача такая: отобрать документы по определенному критерию и в базе источнике пометить их на удаление. Делаю так: добавляю параметр "Объекты для удаления", тип не определяю, ставлю галочку "Передавать при выгрузке". Далее перед выгрузкой данных пишу: Параметры.ОбъектыДляУдаления = ОбъектыДляУдаления(пустой массив), в ПВД документа пишу: Параметры.ОбъектыДляУдаления.Добавить(Объект).
В ПКО объекта после загрузки: Если Не Параметры.ОбъектыДляУдаления.Найти(Объект) = Неопределено Тогда Объект.ПометкаУдаления = Истина; КонецЕсли; в отладчике параметр ОбъектыДляУдаления = Неопределено. Поскажите, пожалуйста, что не правильно делаю? |
|||
1
ТелепатБот
гуру
11.08.08
✎
12:46
|
||||
2
GenV
11.08.08
✎
12:48
|
(0) Массивы в параметрах не выгружаются ...
|
|||
3
Loki
11.08.08
✎
12:52
|
Ужос, а другие структуры? тз, например?
|
|||
4
GenV
11.08.08
✎
12:57
|
(3) А зачем тебе ТЗ без объекта? КД сделана для переноса данных объектов и их сопоставления. Ну, если хочешь можешь написать свою запись/чтение в XML данных массива, ТЗ и т.п. и работу с ней.
ЗЫ Твоя задача решается очень просто - нужно после выгрузки данные выгрузить по отдельному ПКО (в котором будет кроме полей поиска только Истина для ПометкаУдаления) удаляемые документы или сразу для них пометку удаления ставить. |
|||
5
Loki
11.08.08
✎
13:17
|
(4)Спасибо, буду пробовать.
|
|||
6
Loki
12.08.08
✎
07:19
|
Подниму ветку. Ставлю ПометкаУдаления = Истина, но если документ в базе приемнике проведен, то отрабатывает только ОтменаПроведения, а пометка не устанавливатся...
|
|||
7
Loki
12.08.08
✎
08:25
|
ап
|
|||
8
GenV
12.08.08
✎
09:00
|
(6) В ПередВыгрузкой для ПКС ПометкаУдаления у ПКО документа: Значение = Истина; ставил? Можно еще добавить РежимЗаписи = "ОтменаПроведения" для ПередВыгрузкой ПКО документа на всякий случай.
|
|||
9
Loki
12.08.08
✎
09:07
|
(8) да, именно так и делаю. Но происходит только отмена проведения, пометка удаления не ставится
|
|||
10
GenV
12.08.08
✎
09:21
|
(9) Добавть еще в ПередВыгрузкой для ПКС Проведен ПКО документа: Значение = Ложь;
Похоже если объет перед отменой проведений проведен, то пометка удаления сбрасывается. |
|||
11
Loki
12.08.08
✎
09:42
|
(10) уфф... спасибо)))
еще есть один момент, был удален зарегестрированный объект, выгружаю ссылку "объект не найден". По идее в базе приемнике он также должен быть помечен на удаление, но при записи ругается на то, что у документа не задана дата( |
|||
12
Loki
12.08.08
✎
09:46
|
(10) вот, что нашла:
Если Объект.Проведен Тогда Объект.ПометкаУдаления = Ложь; КонецЕсли; |
|||
13
GenV
12.08.08
✎
09:47
|
(11) Дата то пустая, как он нужный документ найдет. Другое дело если GUID объекта есть и он совпадает в обоих базах, тогда по нему можно синхронизироватья. Иначе восстанавливай объект или вручную удаляй.
|
|||
14
Loki
12.08.08
✎
09:51
|
да, синхронизация по GUID
|
|||
15
Loki
12.08.08
✎
12:00
|
(13)При загрузке идет проверка модификации объекта, не совпадают номера, так как в источнике объект удален и номер пустой. Дальше по логике получается, что надо записать объект и возникает ошибка, так как номер пустой.
|
|||
16
Loki
12.08.08
✎
12:21
|
ап
|
|||
17
GenV
12.08.08
✎
12:24
|
(15) поставь для этих реквизитов "не замещать", тогда когда найдет по GUID их не заменит (если конечно не используешь их для синхронизации).
|
|||
18
Loki
12.08.08
✎
12:28
|
Спасибо, GenV, помогло)))
|
|||
19
Loki
12.08.08
✎
12:44
|
Сразу бы еще хотелось задать вопрос по КД. У меня есть параметр НомерСообщения. У него стоят галочки Передавать при выгрузке и При загрузке. Но значение параметра в файл выгрузки не пишется. Разве эти галочки не для того, чтобы можно было работать со значением параметра при загрузке?
|
|||
20
GenV
12.08.08
✎
12:51
|
(19) Должна еще стоять галочка "редактировать в диалоге". Если не хочешь чтобы пользователи видели этот параметр, то можно самой выгружать его программно через
ПередатьОдинПараметрВПриемник(ИмяПараметра, ЗначениеПараметра, ПКОПараметра) |
|||
21
Loki
12.08.08
✎
12:57
|
(20)Класс, спасибо)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |