Документ поступления товаров. В табличной части есть реквизит СтавкаНДС.
У справочника нет предопределенных элементов, значит сопоставить нельзя.
Создал ПКО "СтавкиНДС". В событии "Перед выгрузкой", написал код. В ПКС, не добавлял реквизиты. т.к. в приемнике их нету. Сопаставлять нечем.
если Источник.Наименование = "10%" тогда
Значение = "НДС10";
//Выражение = "Перечисления.СтавкиНДС.НДС10";
иначеЕсли Источник.Наименование = "18%" тогда
Значение = "НДС18";
//Выражение = "Перечисления.СтавкиНДС.НДС18";
конецЕсли;
Это не работает
2) сделал по другому
Зашел в ПКО документа "Поступления". открыл ПКС "СтавкиНДС", установил связь "правило конвертации" на правило "СтавкиНДС"
(0) Давай еще раз. В источнике есть колонка ТЧ типа "справочник", а в приемнике - "перечисление" и нужно перенести документ, конвертируя справочник в перечисление, так?
в ПКО в "ПередВыгрузкой" переменная "Значение" не имеет особого смысла. Тебе нужно добавить ПКС, поставить там флаг "Передавать данные в параметр", обозвать его например "Наименование" и поставить по нему флаг "поиск". Затем в ПКО в событии "Поля поиска" по этому параметру вручную найти перечисление, например так:
Наименование = ПараметрыОбъекта["Наименование"];
Ссылка = Перечисления.СтавкиНДС[Наименование];
Нашел другой способ. Если кому то будет дальше интересно.
ПКО "СтавкиНДС". "Перед выгрузкой"
Приемник = Источник;
"После выгрузке"
если Источник.Наименование = "10%" тогда
//Значение = "НДС10";
//Выражение = "Перечисления.СтавкиНДС.НДС10";
УзелСсылки = "НДС10";
иначеЕсли Источник.Наименование = "18%" тогда
//Значение = "НДС18";
//Выражение = "Перечисления.СтавкиНДС.НДС18";
УзелСсылки = "НДС18";
конецЕсли;
Отказ = ИСТИНА;
И поставить галочку "Не запоминать выгруженные объекты"
Так работает. Проверил.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой