Имя: Пароль:
1C
 
Перенос справочника в перечисления
0 rt2000
 
27.12.16
11:27
Документ поступления товаров. В табличной части есть реквизит СтавкаНДС.
У справочника нет предопределенных элементов, значит сопоставить нельзя.
Создал ПКО "СтавкиНДС". В событии "Перед выгрузкой", написал код. В ПКС, не добавлял реквизиты. т.к. в приемнике их нету. Сопаставлять нечем.
если Источник.Наименование = "10%" тогда
    Значение = "НДС10";
    //Выражение = "Перечисления.СтавкиНДС.НДС10";
иначеЕсли Источник.Наименование = "18%" тогда
    Значение = "НДС18";    
    //Выражение = "Перечисления.СтавкиНДС.НДС18";
конецЕсли;
Это не работает
2) сделал по другому
Зашел в ПКО документа "Поступления". открыл ПКС "СтавкиНДС", установил связь "правило конвертации" на правило "СтавкиНДС"

Что добавить еще?
1 rt2000
 
27.12.16
11:46
Подскажите, может умная мысль будет? Наверняка что то упустил, нужен свежий взгляд.
2 SergTheGreat
 
27.12.16
13:32
(0) Давай еще раз. В источнике есть колонка ТЧ типа "справочник", а в приемнике - "перечисление" и нужно перенести документ, конвертируя справочник в перечисление, так?
3 тарам пам пам
 
27.12.16
13:38
в ПКО в "ПередВыгрузкой" переменная "Значение" не имеет особого смысла. Тебе нужно добавить ПКС, поставить там флаг "Передавать данные в параметр", обозвать его например "Наименование" и поставить по нему флаг "поиск". Затем в ПКО в событии "Поля поиска" по этому параметру вручную найти перечисление, например так:

Наименование = ПараметрыОбъекта["Наименование"];
Ссылка = Перечисления.СтавкиНДС[Наименование];
4 тарам пам пам
 
27.12.16
13:42
Блин, перечитал еще раз справку, похоже я нагнал тут лишнего. В твоем примере замени просто "Значение" на "Приемник" и все.
5 takefive
 
27.12.16
14:03
ПКО не нужно...
6 rt2000
 
27.12.16
14:14
Нашел другой способ. Если кому то будет дальше интересно.
ПКО "СтавкиНДС". "Перед выгрузкой"
Приемник = Источник;
"После выгрузке"
если Источник.Наименование = "10%" тогда
    //Значение = "НДС10";
    //Выражение = "Перечисления.СтавкиНДС.НДС10";
    УзелСсылки = "НДС10";
иначеЕсли Источник.Наименование = "18%" тогда
    //Значение = "НДС18";    
    //Выражение = "Перечисления.СтавкиНДС.НДС18";
    УзелСсылки = "НДС18";
конецЕсли;
Отказ = ИСТИНА;

И поставить галочку "Не запоминать выгруженные объекты"
Так работает. Проверил.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.