Конвертация 2.1 - перекачка одного справочника в два, один из них подчинённый третьему
В обеих конфигурациях версии 8.3 есть справочник "Номенклатура". В обеих конфигурациях у неё есть реквизит "БазоваяЕдиницаИзмерения" типа "СправочникСсылка.КлассификаторЕдиницИзмерения".
Также в приёмнике есть реквизит "ЕдиницаХраненияОстатков" типа "СправочникСсылка.ЕдиницыИзмерения", который подчинён справочнику "Номенклатура". В свою очередь, в справочнике "ЕдиницыИзмерения" есть реквизит "ЕдиницаПоКлассификатору" типа "СправочникСсылка.КлассификаторЕдиницИзмерения" (как в источнике).
Требуется перебросить справочник "Номенклатура" с переносом реквизита "БазоваяЕдиницаИзмерения" в 2 справочника - "КлассификаторЕдиницИзмерения" и "ЕдиницыИзмерения". Кроме того, в справочнике "ЕдиницыИзмерения" надо проставить:
1) реквизит "ЕдиницаПоКлассификатору" из реквизита "БазоваяЕдиницаИзмерения" справочник "Номенклатура" источника;
2) реквизит "Коэффициент" жёстко равен 1
Делаю "по писаному" (см. вложение), в результате имею ошибку:
Отладчик показывает, что почему-то не заполняются ВходящиеДанные, хотя в ПКО "Номенклатура" для ПКС "БазоваяЕдиницаИзмерения -> ЕдиницаХраненияОстатков" (внизу в группе) написано
и прописано правило конвертации "ЕдиницыИзмерения".
Что я делаю не так?
Также в приёмнике есть реквизит "ЕдиницаХраненияОстатков" типа "СправочникСсылка.ЕдиницыИзмерения", который подчинён справочнику "Номенклатура". В свою очередь, в справочнике "ЕдиницыИзмерения" есть реквизит "ЕдиницаПоКлассификатору" типа "СправочникСсылка.КлассификаторЕдиницИзмерения" (как в источнике).
Требуется перебросить справочник "Номенклатура" с переносом реквизита "БазоваяЕдиницаИзмерения" в 2 справочника - "КлассификаторЕдиницИзмерения" и "ЕдиницыИзмерения". Кроме того, в справочнике "ЕдиницыИзмерения" надо проставить:
1) реквизит "ЕдиницаПоКлассификатору" из реквизита "БазоваяЕдиницаИзмерения" справочник "Номенклатура" источника;
2) реквизит "Коэффициент" жёстко равен 1
Делаю "по писаному" (см. вложение), в результате имею ошибку:
Ошибка получения свойства объекта из входящих данных
ПКО = ЕдиницыИзмерения (Справочник: Классификатор единиц измерения)
ПКС = 4 (--> Владелец)
Объект = кг (Классификатор единиц измерения)
СвойствоПриемника = Владелец (СправочникСсылка.Номенклатура)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8286)
КодСообщения = 68
ПоказатьОтладчик показывает, что почему-то не заполняются ВходящиеДанные, хотя в ПКО "Номенклатура" для ПКС "БазоваяЕдиницаИзмерения -> ЕдиницаХраненияОстатков" (внизу в группе) написано
ИсходящиеДанные = Новый Соответствие;
ИсходящиеДанные.Вставить("Владелец", Источник);и прописано правило конвертации "ЕдиницыИзмерения".
Что я делаю не так?
Прикрепленные файлы:
Нужные куски баз и XML.zip
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В ПКО "ЕдиницыИзмерения" не указаны правила конвертации
для ЕдиницаПоКлассификатору и для Владелец
Попробуй так:
для ЕдиницаПоКлассификатору и для Владелец
Попробуй так:
Прикрепленные файлы:
И еще нужно Создать ПКО "ТипыНоменклатуры", там сопоставить значения
и в ПКО "ВидыНоменклатуры" для ПКС ТипНоменклатуры указать ПКО "ТипыНоменклатуры"
и в ПКО "ВидыНоменклатуры" для ПКС ТипНоменклатуры указать ПКО "ТипыНоменклатуры"
К сожалению те куски баз, которые ты выложил совсем другие.
Там даже нет справочника Номенклатура, так что проверить не смог
Там даже нет справочника Номенклатура, так что проверить не смог
(4) Извините, действительно не те базы источник/приёмник. Но можно по XML или Конвертации.dt понять, что там (не зря я её положил, как чувствовал). Вот только перекачку данных тестировать уже не выйдет.
Вечером доползу до рабочего места, выложу.
Вечером доползу до рабочего места, выложу.
(6) Вот держи файл правил, все работает.
Только ВидНоменклатуры и ТипНоменклатуры настрой
Только ВидНоменклатуры и ТипНоменклатуры настрой
Прикрепленные файлы:
ПравилаОбменаДанными_1.xml
Для услуг создаются единицы измерения, хотя не должны.
Что-то я не понимаю :(((((
А почему в ПКО "ЕдиницыИзмерения" из источника заполняется не "ЕдиницаПоКлассификатору", а "Наименование", хотя поиск идёт по единице? (И, тем не менее, всё работает)
И почему для наименования указан и источник "БазоваяЕдиницаИзмерения" и событие?
(Я убрал источник "БазоваяЕдиницаИзмерения" - всё равно работает)
И как взаимодействуют ПКО "Номенклатура" и ПКО "ЕдиницыИзмерения"?
В ПКО "Номенклатура" в ПКС "ЕдиницаХраненияОстатков" программный код
передаёт Номенклатуру в ПКО "ЕдиницыИзмерения" или наоборот записывает в поле "ЕдиницаХраненияОстатков" то, что вернуло ПКО "ЕдиницыИзмерения"?
И как в ПКО "ЕдиницыИзмерения" попадает Номенклатура в Источник? Через имя правила в ПКО "Номенклатура" в ПКС "ЕдиницаХраненияОстатков"?
Что-то я не понимаю :(((((
А почему в ПКО "ЕдиницыИзмерения" из источника заполняется не "ЕдиницаПоКлассификатору", а "Наименование", хотя поиск идёт по единице? (И, тем не менее, всё работает)
И почему для наименования указан и источник "БазоваяЕдиницаИзмерения" и событие?
Значение = Источник.БазоваяЕдиницаИзмерения.Наименование;(Я убрал источник "БазоваяЕдиницаИзмерения" - всё равно работает)
И как взаимодействуют ПКО "Номенклатура" и ПКО "ЕдиницыИзмерения"?
В ПКО "Номенклатура" в ПКС "ЕдиницаХраненияОстатков" программный код
Значение = Источник;передаёт Номенклатуру в ПКО "ЕдиницыИзмерения" или наоборот записывает в поле "ЕдиницаХраненияОстатков" то, что вернуло ПКО "ЕдиницыИзмерения"?
И как в ПКО "ЕдиницыИзмерения" попадает Номенклатура в Источник? Через имя правила в ПКО "Номенклатура" в ПКС "ЕдиницаХраненияОстатков"?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
