Имя: Пароль:
1C
1С v8
Конвертация данных: не переносить помеченные на удаление и отсутствующие в приемнике
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) Выгрузил файл из источника. Сначала загружаю в тестовую базу — объекты не попадают. Из этого же файла выгрузки загружаю в рабочую базу — лишние объекты загружаются пустыми.