Имя: Пароль:
1C
1С v8
Обмен данными и выгрузка объектов из ПКС
0 TirWorm
 
30.07.21
11:38
Здравствуйте.

Столкнулся с проблемой в настройке обмена, после 3го круга поиска и часа отправки всяких вариантов вопросов гуглу, решил спросить.

Есть ERP+PM типовая, нужно устроить обмен с давно не обновляемой УТ 11.1. Сделал планы обмена в базах (изначально думал через EnterpiseData, но УТ поддерживает только 1.0 версию, а обновлять этого динозавра не вариант), в ERP встроил в бсп. Написал правила на нужные объекты в кд2, все встроил, обмен запустился. Но есть ложка дегтя: при отправке объекта система по вложенным ссылкам отправляет только саму ссылку и поля поиска (все настроено через БСП). При этом, если не нашлось по УИД и полям поиска, то и объекты не создаются. В то же время, если через универсальную выгрузку XML сделать выгрузку по тем же правилам, то выгружается вся структура, на всю глубину вложенности. То есть, правила рабочие, но БСП какими-то настройками срезает все выгрузки по ПКО, указанные в ПКС. План обмена делал копированием с типового, настройки выгрузки: НСИ - только по необходимости, документы - все с даты и ограничения по организации.

Есть вариант писать регистрацию всех документов, чтобы они регистрировали все вложенные ссылки, но там 2 десятка типов документов, описывать регистрацию всех вложенных НСИ прокатит, но это не совсем правильное решение. Нужно чтобы система искала их, если нашла, то использовала существующую ссылку, не меняя объект за ней, а если не нашлось, то создавала необходимый объект, заполняя все поля.

Возможно я долблюсь в глаза, и где-то надо всего лишь включить какую-то опцию, но у меня найти не получается.

Заранее спасибо.
1 asady
 
30.07.21
15:18
(0) Обмен настраивал по этому мануалу?
https://infostart.ru/1c/articles/1187782/
2 TirWorm
 
30.07.21
15:26
(1) не конкретно по этому, но в общем и целом очень похож.
3 asady
 
30.07.21
15:29
(2) без регистрации изменений не взлетит
4 TirWorm
 
30.07.21
15:36
(3) но тогда она будет постоянно "перезаливать" справочники, это выглядит как очень нелогичное решение. Должна быть возможность подправить БСПшную часть, чтобы она выгружала как универсальный обмен XML.
5 asady
 
30.07.21
15:49
(4) почему перезаливать а настроить "Не выгружать объекты свойств по ссылкам"?
6 TirWorm
 
30.07.21
16:23
(5) Как настроить?

Суть проблемы вот в чем:
Как делает БСП:
Берет зарегистрированные объекты из Плана обмена. Каждый зарегистрированный объект конвертирует полностью, а все ПКО из указанных ПКС - выгружает ссылку и поля поиска (если указаны).
Приемник берет объекты, загружает их, но вложенные только ищет (сначала по ссылке, потом по полям поиска). Если не найден ни одним из способов, он просто записывает в поле ссылку (битую) и все.

Как нужно мне:
Все зарегистрированные объекты из Плана обмена переносятся и перезаливаются принудительно. Все "вложенные" объекты - выгружаются полностью, но при загрузке такие объекты ищутся, и если не найдены, то создаются по всем полям ПКО.

Если я поставлю во всех ПКО по справочникам "Не замещать существующие, а только создавать новые", то я не смогу принудительно перегружать эти элементы справочников, если понадобится. Да и это не решает проблемы, что он все равно не выгружает все реквизиты, только ссылка и поля поиска.

"Не выгружать объекты свойств по ссылкам" - везде в правилах выключено. Если бы было включено, я бы еще утром поотключал и попробовал.
7 TirWorm
 
30.07.21
16:28
(5) (6) Перечитал оба сообщения, понял, что можно попытаться отследить, откуда запускается правило ПКО - из ПВД или ПКС, для ПКС принудительно ставить "Не замещать существующие, а только создавать новые", чтобы перезалив не шел, но это не отменяет что все равно выгружаются не все поля по ссылкам. Будто "Не выгружать объекты свойств по ссылкам" стоит в истине, хотя в правилах нигде не стоит.
8 asady
 
30.07.21
16:28
(6)
"Не выгружать объекты свойств по ссылкам" - везде в правилах выключено.
Может включить?
9 TirWorm
 
30.07.21
16:29
(8) ничего не меняется. Я тоже так подумал, что описание в обратную написано, но нет: установка этой опции ничего не меняет.
10 TirWorm
 
30.07.21
16:31
(8) о, так вот же! надо поискать эту опцию в коде! Может БСП принудительно ее меняет! НеВыгружатьОбъектыПоСсылкам.
11 TirWorm
 
30.07.21
16:33
(8) БИНГО! БСП всегда передает при обмене данными НеВыгружатьОбъектыПоСсылкам = Истина. Без проверок, просто всегда при выгрузке по правилам обмена XML.
12 runoff_runoff
 
30.07.21
21:04
Обработчики "Конвертация" / Перед конвертацией объекта
добавить строку

ТолькоПолучитьУзелСсылки = Ложь;
13 runoff_runoff
 
30.07.21
21:06
ну, или "Перед выгрузкой" в ПКО..
14 TirWorm
 
02.08.21
10:01
(12) (13) Огромное спасибо, помогло. Сделал через "Перед выгрузкой" в ПКО.

а вот подмена НеВыгружатьОбъектыПоСсылкам = Истина - не помогло. Там еще флаги разные работают.

А вот найти инфу об этом флаге в справочной информации КД не получилось. Зато гугл выдал кучу упоминаний этого флага с фразами, что работает, но нигде не написано о нем, что возвращает к вопросу, как про него узнавать, если не знать как он называется, а в документации этого нет? Но это уже другой вопрос.

Еще раз всем спасибо.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.