Конвертация 2.1 - перекачка одного справочника в два, один из них подчинённый третьему

1. DWZ2 26.07.20 03:01 Сейчас в теме
В обеих конфигурациях версии 8.3 есть справочник "Номенклатура". В обеих конфигурациях у неё есть реквизит "БазоваяЕдиницаИзмерения" типа "СправочникСсылка.КлассификаторЕдиницИзмерения".

Также в приёмнике есть реквизит "ЕдиницаХраненияОстатков" типа "СправочникСсылка.ЕдиницыИзмерения", который подчинён справочнику "Номенклатура". В свою очередь, в справочнике "ЕдиницыИзмерения" есть реквизит "ЕдиницаПоКлассификатору" типа "СправочникСсылка.КлассификаторЕдиницИзмерения" (как в источнике).

Требуется перебросить справочник "Номенклатура" с переносом реквизита "БазоваяЕдиницаИзмерения" в 2 справочника - "КлассификаторЕдиницИзмерения" и "ЕдиницыИзмерения". Кроме того, в справочнике "ЕдиницыИзмерения" надо проставить:

1) реквизит "ЕдиницаПоКлассификатору" из реквизита "БазоваяЕдиницаИзмерения" справочник "Номенклатура" источника;
2) реквизит "Коэффициент" жёстко равен 1

Делаю "по писаному" (см. вложение), в результате имею ошибку:

Ошибка получения свойства объекта из входящих данных 
	ПКО                    =  ЕдиницыИзмерения  (Справочник: Классификатор единиц измерения)
	ПКС                    =  4  (--> Владелец)
	Объект                 =  кг  (Классификатор единиц измерения)
	СвойствоПриемника      =  Владелец  (СправочникСсылка.Номенклатура)
	ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
	ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8286)
	КодСообщения           =  68
Показать


Отладчик показывает, что почему-то не заполняются ВходящиеДанные, хотя в ПКО "Номенклатура" для ПКС "БазоваяЕдиницаИзмерения -> ЕдиницаХраненияОстатков" (внизу в группе) написано

ИсходящиеДанные = Новый Соответствие;
ИсходящиеДанные.Вставить("Владелец", Источник);


и прописано правило конвертации "ЕдиницыИзмерения".

Что я делаю не так?
Прикрепленные файлы:
Нужные куски баз и XML.zip
Вознаграждение за ответ
Показать полностью
Найденные решения
2. Ivanov_OM 38 26.07.20 08:47 Сейчас в теме +0.79 $m
В ПКО "ЕдиницыИзмерения" не указаны правила конвертации
для ЕдиницаПоКлассификатору и для Владелец
Попробуй так:
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ivanov_OM 38 26.07.20 08:47 Сейчас в теме +0.79 $m
В ПКО "ЕдиницыИзмерения" не указаны правила конвертации
для ЕдиницаПоКлассификатору и для Владелец
Попробуй так:
Прикрепленные файлы:
7. DWZ2 27.07.20 05:15 Сейчас в теме
(2) Большое спасибо! Всё заработало.
3. Ivanov_OM 38 26.07.20 08:49 Сейчас в теме
И еще нужно Создать ПКО "ТипыНоменклатуры", там сопоставить значения
и в ПКО "ВидыНоменклатуры" для ПКС ТипНоменклатуры указать ПКО "ТипыНоменклатуры"
4. Ivanov_OM 38 26.07.20 09:03 Сейчас в теме
К сожалению те куски баз, которые ты выложил совсем другие.
Там даже нет справочника Номенклатура, так что проверить не смог
5. DWZ2 26.07.20 09:38 Сейчас в теме
(4) Извините, действительно не те базы источник/приёмник. Но можно по XML или Конвертации.dt понять, что там (не зря я её положил, как чувствовал). Вот только перекачку данных тестировать уже не выйдет.

Вечером доползу до рабочего места, выложу.
6. DWZ2 27.07.20 01:57 Сейчас в теме
8. Ivanov_OM 38 27.07.20 12:19 Сейчас в теме
(6) Вот держи файл правил, все работает.
Только ВидНоменклатуры и ТипНоменклатуры настрой
Прикрепленные файлы:
ПравилаОбменаДанными_1.xml
9. DWZ2 28.07.20 02:42 Сейчас в теме
Для услуг создаются единицы измерения, хотя не должны.

Что-то я не понимаю :(((((

А почему в ПКО "ЕдиницыИзмерения" из источника заполняется не "ЕдиницаПоКлассификатору", а "Наименование", хотя поиск идёт по единице? (И, тем не менее, всё работает)

И почему для наименования указан и источник "БазоваяЕдиницаИзмерения" и событие?

Значение = Источник.БазоваяЕдиницаИзмерения.Наименование;


(Я убрал источник "БазоваяЕдиницаИзмерения" - всё равно работает)

И как взаимодействуют ПКО "Номенклатура" и ПКО "ЕдиницыИзмерения"?

В ПКО "Номенклатура" в ПКС "ЕдиницаХраненияОстатков" программный код
Значение = Источник;


передаёт Номенклатуру в ПКО "ЕдиницыИзмерения" или наоборот записывает в поле "ЕдиницаХраненияОстатков" то, что вернуло ПКО "ЕдиницыИзмерения"?

И как в ПКО "ЕдиницыИзмерения" попадает Номенклатура в Источник? Через имя правила в ПКО "Номенклатура" в ПКС "ЕдиницаХраненияОстатков"?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот