Имя: Пароль:
1C
1С v8
Не переносятся объекты помеченные на удаление.
0 happysan
 
27.03.19
10:36
Приветствую!
Типовой обмен между типовыми БД 1С посредством универсального формата ED не переносит объекты помеченные на удаление. Настроек подобных в синхронизации обмена не обнаружил, пока анализирую в отладчике, но ещё не добрался до этого отбора. Может кто-нибудь сталкивался с подобным и может оперативно подсказать где "копать"? Заранее всем спасибо за участие.
1 happysan
 
27.03.19
12:01
?
2 happysan
 
27.03.19
13:16
Никто не сталкивался с подобным?
3 happysan
 
27.03.19
16:58
Нашёл где, кому интересно пишите.
4 НаборДанных
 
27.03.19
17:00
(3)Интриган, пиши уже сразу номер карты для получения благотворительных платежей)
5 happysan
 
27.03.19
17:05
(4) Так и знал, что найдётся какой-нибудь НаборДанных, который выскажется подобным образом))
6 happysan
 
27.03.19
17:07
В ОМ "ОбменДаннымиXDTOСервер" есть процедура "ВыполнитьВыгрузкуЗарегистрированныхДанных(КомпонентыОбмена, НомерСообщения)". В ней есть строки кода:
                Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить Тогда
                    //ВыгрузитьУдаление(КомпонентыОбмена, Данные.Ссылка); //Закомментировал.
                    ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Данные); //Добавил.
                ИначеЕсли ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать Тогда
                    // Ситуация, когда объект не соответствует условиям фильтра, но его не нужно отправлять как удаление.
                    // Возникает в случае первоначальной выгрузки данных.
                    Продолжить;
                Иначе
                    ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Данные);
                КонецЕсли;
7 happysan
 
27.03.19
17:14
Делаем выгрузку и загрузку. Помеченные на удаление объекты передаются наряду с актуальными (не помеченными на удаление) объектами. Есть нюанс, в базе приемнике они окажутся без пометки на удаление. Чтобы синхронизировать пометки на удаление между базой данных источника и приёмника, - нужно код вернуть в типовой вариант и повторно выгрузить и загрузить данные. Вуаля, ловкость рук и никакого мошенничества)) Можно так же передавать через дополнительный реквизит AdditionalInfo.
8 happysan
 
27.03.19
17:16
Другого способа я пока не нашёл, если есть у кого-то свои наработки - делитесь, будет любознательно.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн