![]() |
![]() |
![]() |
|
Конвертация данных: не переносить помеченные на удаление и отсутствующие в приемнике | ☑ | ||
---|---|---|---|---|
0
Max91
16.08.19
✎
11:08
|
Добрый день.
Подскажите, пожалуйста, как в КД 2.0 не переносить элементы справочника, которые помечены на удаление в источнике и отсутствуют в приемнике? В ПКО при загрузке определил новый объект или уже существует с помощью ОбъектНайден. Но все реквизиты у Объект пустые, поэтому не получается проверить Пометку удаления. |
|||
1
Cyberhawk
16.08.19
✎
11:15
|
В ПослеЗагрузки делай это (ОбъектНайден + ПометкаУдаления)
|
|||
2
Max91
16.08.19
✎
11:22
|
(1) Сделал так:
Если НЕ ОбъектНайден И Объект.Ссылка.ПометкаУдаления = Истина Тогда Отказ = Истина; КонецЕсли; в результате в приемник загрузились пустые объекты. |
|||
3
mikecool
16.08.19
✎
11:25
|
не переносить элементы справочника, которые помечены на удаление
в ПКО Если Источник.ПометкаУдаления Тогда Отказ = Истина |
|||
4
mikecool
16.08.19
✎
11:26
|
+3 а по второму, может будет достаточно настройки http://hkar.ru/ZhNp
|
|||
5
Cyberhawk
16.08.19
✎
11:27
|
(2) Кто ж ссылку-то анализирует у нового объекта
|
|||
6
Cyberhawk
16.08.19
✎
11:27
|
Чувака выше вообще не слушай - херню знатную несет
|
|||
7
Max91
16.08.19
✎
11:29
|
(5) если в условии написать Объект.ПометкаУдаления = Истина результат тот же.
|
|||
8
mikecool
16.08.19
✎
11:30
|
(6) точно-точно ))) а в чем херня?
|
|||
9
Max91
16.08.19
✎
11:30
|
(3) проблема в том, что в приемнике могут пометить на удаление и эту пометку нужно перенести в источник. Но если пометили в источнике и нет в приемнике, то переносить объект не нужно.
|
|||
10
mikecool
16.08.19
✎
11:32
|
(9) а, дошло...
|
|||
11
Cyberhawk
16.08.19
✎
11:33
|
(8) В том что рассогласование данных произойдет, как только ты не выгрузишь помеченный в источнике на удаление объект, который в приемник ранее уже загружался
|
|||
12
mikecool
16.08.19
✎
11:36
|
а вот где будет пометкаудаления в призагрузке?
дополнительно в параметрыобъекта добавлять при выгрузке? |
|||
13
Cyberhawk
16.08.19
✎
11:38
|
(12) В ПриЗагрузке приехавшего объекта нигде нет. Параметров тоже нет.
|
|||
14
mikecool
16.08.19
✎
11:39
|
(13) как нет?
После загрузки ПараметрыОбъекта - либо Неопределено либо Соответствие, в котором хранятся дополнительные параметры переденные для данного объекта из источника в приемник. Если параметров передано не было, то ПараметрыОбъекта = Неопределено. |
|||
15
mikecool
16.08.19
✎
11:42
|
а так да - сравнить объект и ссылку и объектнайден и запилить отказ при необходимости
|
|||
16
Max91
16.08.19
✎
11:43
|
(14) если делать Отказ ПослеЗагрузки, то в приемник попадают пустые записи.
|
|||
17
mikecool
16.08.19
✎
11:45
|
(16) а справка говорит "Отказ - Булево - Если Истина, то объект загружен не будет."
как же у тебя реализовано? я тут надумал так в ПослеЗагрузки: Если Объект.ПометкаУдаления Тогда Если Не ОбъектНайден Тогда Отказ = Истина; КонецЕсли; КонецЕсли; |
|||
18
Cyberhawk
16.08.19
✎
11:50
|
(14) Ты нерусь что ли?
|
|||
19
Cyberhawk
16.08.19
✎
11:50
|
(16) У тебя нелады с логикой - твой неокрепший мозг создает ложные связи.
|
|||
20
mikecool
16.08.19
✎
11:52
|
(19) ты тоже не блещешь Запись в регистр сведений? как лучше?
так что по делу то |
|||
21
Cyberhawk
16.08.19
✎
11:55
|
(20) Что-то мне подсказывает, что ты не способен вывезти этот разговор)
|
|||
22
mikecool
16.08.19
✎
11:55
|
(21) не городи огород, по делу городи
|
|||
23
Cyberhawk
16.08.19
✎
11:56
|
(22) Для этого надо быть последовательным
|
|||
24
Max91
16.08.19
✎
11:59
|
(17) твой вариант и мой из (2) работают. Объекты действительно не попадают в приемник. Но только в тестовую базу. Если обмен делать на рабочей базе, то "лишние" объект из источника попадают в приемник. Базы одинаковые. Как такое вообще возможно...
|
|||
25
Cyberhawk
16.08.19
✎
12:12
|
(24) Правила загрузки в приемник относительно давно уже (в типовых на БСП) теперь берутся (внезапно!) из регистра базы-приемника, а не из загружаемого файла. От такие дела.
|
|||
26
Max91
16.08.19
✎
12:15
|
(25) Ээээ.... и как быть?
|
|||
27
Cyberhawk
16.08.19
✎
12:17
|
Ну посмотри что у тебя за обмен и обнови правила
|
|||
28
Max91
16.08.19
✎
12:21
|
(27) а в каком регистре?
|
|||
29
Cyberhawk
16.08.19
✎
12:23
|
"Правила обмена" как-то так. Смотря что за конфа-приемник и какому плану обмена принадлежит узел.
|
|||
30
Max91
16.08.19
✎
12:31
|
(29) нашел регистр Правила для обмена данными. Только одна запись:
СинхронизацияДанныхЧерезУниверсальныйФормат. Стоит галочка Использовать типовые правила. В этой же записи регистра загружать свои правила? Не понимаю, почему в одну базу без проблем загружается из файла. А в другую из этого же файла с проблемами. Я вношу изменения в правила загрузки и в тестовой базе всё срабатывает корректно. |
|||
31
Cyberhawk
16.08.19
✎
12:37
|
Отсюда не видно. Одна из причин описана.
|
|||
32
Вафель
16.08.19
✎
13:03
|
|
|||
33
13_Mult
16.08.19
✎
13:15
|
(30) Может ты ранее тестировал (др. правила) и с последней версией правил видишь ранее не корректно загруженные данные?
|
|||
34
Cyberhawk
16.08.19
✎
13:30
|
(32) Збс, стакан эля этому господину
|
|||
35
Max91
16.08.19
✎
14:08
|
(33) Выгрузил файл из источника. Сначала загружаю в тестовую базу — объекты не попадают. Из этого же файла выгрузки загружаю в рабочую базу — лишние объекты загружаются пустыми.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |