Имя: Пароль:
1C
1С v8
Порядок загрузки объектов при онлайн обмене кд2
0 SunFox
 
19.02.24
10:57
Сделал онлайн обмен Бух в УПП - правила КД2, обмен через "интернет" БСП. В ПКО Договора и Контрагента стоит галка "Не замещать ... ", чтобы грузил только новые. Регистрирую в плане обмена в базе Бух Контрагента и Договор, если объекты новые, то Контрагент загружается в УПП пустой ссылкой, делаю вывод, что Контрагент выгружается после договора, в договоре есть ссылка через Владельца. Как определить порядок загрузки объектов, сделать, что бы Контрагент первым загружался.
1 Волшебник
 
19.02.24
19:27
не путайте пустые (поле не заполнено) и битые ссылки (которые ведут на несуществующий объект)

p.s. и не путайте пустые ссылки с NULL-значениями
2 Волшебник
 
19.02.24
10:58
Объекты могут выгружаться и загружаться в любом порядке. Для этого при загрузке ставится "Объект.ОбменДанными=Истина"
3 SunFox
 
19.02.24
11:05
(2) После загрузки в УПП - пустая карточка - без реквезитов, а к нему договор привязан, после такой загрузки. И это происходит только тогда, когда и контрагент и договор новые. В остальных случаях все ок.
4 Волшебник
 
19.02.24
11:07
(3) Эти проблемы не связаны с порядком объектов в файле.
5 SunFox
 
19.02.24
11:09
Ошибок нет в журнале, отладку проблематично запустить, но наверно прийдеться.
6 Волшебник
 
19.02.24
18:21
(5) пишется "придётся"
7 mikecool
 
19.02.24
19:25
а точно одно правило на контрагента?
я, периодически, делаю 1 правило на ссылку, второе - на объект с данными для снижения трафика
8 Волшебник
 
19.02.24
19:27
(7) 👍 Разумно.
9 SunFox
 
20.02.24
10:16
(7)Сделал два правила для Контрагента, одно для Владельца Договора для поиска, второе сам контрагент. Не помогло, все равно по-видимому договор загружается первым, не находит контрагента, потому, что его еще нет, потом контрагент загружается, а договор без владельца остался. Нужно как то контрагента первым грузить по плану обмена.
(2) Объект.ОбменДанными=Истина то же пробовал, не работает.
10 SunFox
 
20.02.24
10:18
Или сделать загрузку контрагента по ссылке, что в онлайн обмене повидимому не сделать.
11 Волшебник
 
20.02.24
10:19
(9) Всё там работает. Не порите чушь
12 SunFox
 
20.02.24
10:23
(11) Не знаю в чем чушь, но не работает в моем случае.
13 SunFox
 
20.02.24
10:25
В типовых онлайн обменах наверно не стоит флаг "не замещать..." и вторым разом карточка догружается со всеми свойствами.
14 Ёпрст
 
20.02.24
10:25
(13) не угадал.
15 SunFox
 
20.02.24
10:27
(7) У вас наверно не стоит у контрагента запрет замещения.
16 vicof
 
20.02.24
11:58
(11) Не сработает. Объект.ОбменДанными.Загрузка = Истина; надо.
17 Волшебник
 
20.02.24
13:02
(16) Да, я её имел в виду
18 SunFox
 
20.02.24
13:21
Прописать в обработчик при загрузке контрагента? Тогда контрагент по ссылке загрузится полностью?
19 Волшебник
 
20.02.24
13:29
(18) Этот флаг надо ставить при загрузке ЛЮБОГО объекта. Тогда отключаются все проверки ПриЗаписи и объекты загружаются с битыми ссылками по мере чтения файла обмена. Но к окончанию файла все ссылки оказываются загружены.
20 SunFox
 
20.02.24
13:33
Смысл флага ясен, выходит первый раз рубится загрузка потому, что новый был, что то сработало при создании. Проверю, спасибо.
21 Aleksey
 
20.02.24
13:34
(18) в типовых был прикол именно в контрагентах когда при записи они меняли ссылку (ГУИД ссылки). И для обхода этого как раз и нужен (16). Скорее всего дело в этом
22 SunFox
 
20.02.24
13:47
Не сработало, не тот случай по видимому.
Помогает только костыль, убрать у ПКО галку "Не замещать существующие объекты...", а прописать после загрузке:

Если ОбъектНайден Тогда
         ИсходныйОбъект = Объект.Ссылка.ПолучитьОбъект();
         Если ЗначениеЗаполнено(ИсходныйОбъект.Код) Тогда
             Отказ = Истина;
         КонецЕсли;
КонецЕсли;
23 SunFox
 
20.02.24
13:49
Догружает второй раз гогда идет сам объект.
24 SunFox
 
20.02.24
13:53
Но везде пишут что онлайн обмен не грузит по ссылке, на практике у типовых не раз с этим сталкивался.
25 Волшебник
 
20.02.24
13:53
(22) Вот из-за таких костылей первый же влетевший дятел разрушит цивилизацию.
26 SunFox
 
20.02.24
13:56
(25) Это да, но пока так, дальше отладкой искать, сервер перезапускать.
27 SunFox
 
20.02.24
14:16
Контрагент в выгрузке, у которой нет договора залетает с первого раза, значит "при записи" - проверки не причем.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.