Конвертация единиц измерения
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Пишу правила выгрузки из переписанной БП 1.6 в типовую БП 2.0.
Столкнулся с следующей проблемой - в конфигурации источнике создан, подчиненный справочнику Номенклатура (Справочники.Номенклатура.БазоваяЕдиницаИзмерения), справочник ЕдиницыИзмерения. В этом справочнике есть реквизит - ЕдиницаПоКлассификатору (тип - СправочникСсылка.КлассификаторЕдиницИзмерения). В ПКС сформировалось правило при котором в Справочники.КлассификаторЕдиницИзмерения, конфигурации приемника, попадают элементы справочника ЕдиницыИзмерения конфигурации источника, соответственно появляется куча идентичных единиц измерения с кодами не соответствующих ОКЕИ.
Каким образом сформировать ПКС, что бы в конфигурацию приемник (значение реквизита - Справочники.Номенклатура.БазоваяЕдиницаИзмерения) попадало значение реквизита справочника ЕдиницыИзмерения типа СправочникСсылка.КлассификаторЕдиницИзмерения? Или какой обработчик написать надо?
В прикрепленном файле - скриншот ПКС.
Столкнулся с следующей проблемой - в конфигурации источнике создан, подчиненный справочнику Номенклатура (Справочники.Номенклатура.БазоваяЕдиницаИзмерения), справочник ЕдиницыИзмерения. В этом справочнике есть реквизит - ЕдиницаПоКлассификатору (тип - СправочникСсылка.КлассификаторЕдиницИзмерения). В ПКС сформировалось правило при котором в Справочники.КлассификаторЕдиницИзмерения, конфигурации приемника, попадают элементы справочника ЕдиницыИзмерения конфигурации источника, соответственно появляется куча идентичных единиц измерения с кодами не соответствующих ОКЕИ.
Каким образом сформировать ПКС, что бы в конфигурацию приемник (значение реквизита - Справочники.Номенклатура.БазоваяЕдиницаИзмерения) попадало значение реквизита справочника ЕдиницыИзмерения типа СправочникСсылка.КлассификаторЕдиницИзмерения? Или какой обработчик написать надо?
В прикрепленном файле - скриншот ПКС.
По теме из базы знаний
- Пример переноса справочников, документов и движений через Эксель и "Конвертацию данных 2" из оптовой учетной системы 1С 7.7 Комплексной 4.2 и розничной учетной системы Рарус Торговый комплекс -> в 1С 8.3 ЕРП 2.4 (расширение и дополнительные реквизиты)
- Конвертация данных 2. Использование исходящих и входящих данных. Свойство "Получить из входящих данных"
- Конвертация данных 2.1. Методика переноса остатков
- Не установлено значение одного из следующих свойств: Единица измерения
- Конвертация данных 3.0: приемы работы. Обзор. Часть 2
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Как то сумбурно написано. Я правильно понимаю что у вас в реквизите "БазоваяЕденицаИзмерения" в конфигурации источник Тип "СправочникСсылка.ЕденицыИзмерения" а в приемнике "СправочникСсылка.КлассификаторЕденицИзмерения". Если это так, то я бы попробовал следующее: 1. Создал правило конвертации "СправочникСсылка.КлассификаторЕденицИзмерения" в "СправочникСсылка.КлассификаторЕденицИзмерения". 2. При выгрузке "Базовой еденицы измерения" в справочнике номенклатура в событии реквизита "Перед выгрузкой" написал код "Значение = Источник.ЕденицаПоКлассификатору", где ЕденицаПоКлассификатору - имя реквизита содержащего ссылку на Классификатор едениц измерения.
(2) davdykin,
Согласен, написано немного сумбурно, для наглядности приведу скрины:
1. Конфигурация источник
2. Конфигурация приемник
Обработчик событий "перед выгрузкой" или "при выгрузке" Значение = Источник.ЕдиницаПоКлассификатору выдал ошибку - "Поле объекта не обнаружено (ЕдиницаПоКлассификатору)", что выглядит весьма странным.
Согласен, написано немного сумбурно, для наглядности приведу скрины:
1. Конфигурация источник
2. Конфигурация приемник
Обработчик событий "перед выгрузкой" или "при выгрузке" Значение = Источник.ЕдиницаПоКлассификатору выдал ошибку - "Поле объекта не обнаружено (ЕдиницаПоКлассификатору)", что выглядит весьма странным.
В общем решил я проблему. Быть может решение не самое элегантное, но рабочее.
В ПКС объект-источник - БазоваяЕдиницаИзмерения и такой же объект-приемник, правило - КлассификаторЕдиницИзмерения, в обработчике "Перед выгрузкой" следующий код:
В ПКС объект-источник - БазоваяЕдиницаИзмерения и такой же объект-приемник, правило - КлассификаторЕдиницИзмерения, в обработчике "Перед выгрузкой" следующий код:
Если Источник.ЭтоГруппа = Истина Тогда
Отказ = Истина;
ИначеЕсли ПустаяСтрока (Источник.БазоваяЕдиницаИзмерения.ЕдиницаПоКлассификатору) Тогда
Отказ = Истина;
Иначе
Значение = Источник.БазоваяЕдиницаИзмерения.ЕдиницаПоКлассификатору.ПолучитьОбъект();
КонецЕсли;
Показать
(6) s_lim, у вас в сравнении немного не верно, т.к. это ссылка то необходимо проверять так . А так молодец, честно говоря в вашем случаи можно было помочь только смоделировав ситуацию, а времени небыло :).
ПустаяСтрока (Источник.БазоваяЕдиницаИзмерения.ЕдиницаПоКлассификатору)
Источник.БазоваяЕдиницаИзмерения.ЕдиницаПоКлассификатору.Пустая()
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот