|
Перенос справочника в перечисления
| ☑ |
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";
конецЕсли;
Отказ = ИСТИНА;
И поставить галочку "Не запоминать выгруженные объекты"
Так работает. Проверил.
|
|