Имя: Пароль:
1C
1C 7.7
v7: Конвертация. Перечисление 7.7 -> Справочник 8.2.
0 Antipod-SH
 
21.03.16
15:54
Здравствуйте!
Конвертация данных v8 2.1.
В ПКО для Перечисления "При выгрузке" написал следующий код:

Если Источник = Перечисление.СтавкиНДС.БезНДС Тогда
    Наимен = "без НДС";
    Ставка = 0;
    ДляОсв = 1;
Иначе
    Наимен = "12%";
    Ставка = 12;
    ДляОсв = 0;
КонецЕсли;
ВходящиеДанные = СоздатьОбъект("СписокЗначений");
ВходящиеДанные.ДобавитьЗначение(Наимен, "Наименование");
ВходящиеДанные.ДобавитьЗначение(Ставка, "Ставка");
ВходящиеДанные.ДобавитьЗначение(ДляОсв, "ДляОсвобожденногоОборота");

При выгрузке в XML-файл попадает только "Ставка", поля "Наименование" и "ДляОсвобожденногоОборота" пустые. На всех свойствах стоит галочка "Получить значение из входящих данных".

Нужна помощь, почему остальные поля пустые?
1 Alexor
 
21.03.16
16:08
Я бы создал ПКО с пустым источником и приемников Справочник.

В ПКС Наименование галка Поиск
При выгрузке
Если Источник = Перечисление.СтавкиНДС.БезНДС Тогда
   Значение= "без НДС";
Иначе
Значение= "12%";
КонецЕсли;
2 Alexor
 
21.03.16
16:08
+1 При желании по аналогии добавить остальные поля и заполнение значения.
3 Antipod-SH
 
26.03.16
11:13
(1) Не помогло.
4 Antipod-SH
 
26.03.16
20:45
Разобрался. Может кому пригодится.
Поле "Наименование" - свойство поиска, поэтому выгружается ещё до того как происходит обработчик объекта "При выгрузке". Поэтому написал следующий код в обработчик свойства "Перед выгрузкой":

Если Источник = Перечисление.СтавкиНДС.БезНДС Тогда
    Значение = "без НДС";
Иначе
    Значение = "12%";
КонецЕсли;

Поле "ДляОсвобожденногоОборота" - булево, и когда ложь - выгружается пустым.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший