Каталог решений - Конвертация ставок НДС: из Перечисления в Справочник (правила обмена в конвертации 2.0)

Конвертация ставок НДС: из Перечисления в Справочник (правила обмена в конвертации 2.0)

Конвертация ставок НДС: из Перечисления в Справочник (правила обмена в конвертации 2.0)

В наличии

При написании правил обмена между «более старой» и «более новой» конфигурациями можно столкнуться с тем, что в одной конфигурации ставки НДС — это перечисление, а в другой — справочник (или наоборот, но мой пример именно из перечисления в справочник). Ситуация несложная, но нестандартная, поэтому выкладываю работающий пример, может, кому пригодится.

Категория:

Описание

В Конвертации 2.0 создаем правило обмена Ставок НДС.

Тип значения в конфигурации-источнике: Перечисление.СтавкиНДС
Тип значения в конфигурации-источнике: Справочник.СтавкиНДС

Создаем ПКО и в нем 4 ПКС для каждого реквизита справочника "Ставки НДС":

 

    Для каждого реквизита прописываем получение значения из перечисления в обработчике "перед выгрузкой":

    Вид ставки:

 

Если Источник = Перечисления.СтавкиНДС.НДС20 ИЛИ Источник = Перечисления.СтавкиНДС.НДС18 Тогда
	Значение = "Общая";
ИначеЕсли Источник = Перечисления.СтавкиНДС.НДС20_120 ИЛИ Источник = Перечисления.СтавкиНДС.НДС18_118 Тогда
	Значение = "ОбщаяРасчетная";
ИначеЕсли Источник = Перечисления.СтавкиНДС.НДС10  Тогда
	Значение = "Пониженная";
ИначеЕсли Источник = Перечисления.СтавкиНДС.НДС10_110  Тогда
	Значение = "ПониженнаяРасчетная";
ИначеЕсли Источник = Перечисления.СтавкиНДС.НДС0  Тогда
	Значение = "Нулевая";
ИначеЕсли Источник = Перечисления.СтавкиНДС.БезНДС  Тогда
	Значение = "БезНДС";
КонецЕсли;

 

Не облагается:

 

Если Источник = Перечисления.СтавкиНДС.БезНДС  Тогда
	Значение = Истина;
Иначе
	Значение = Ложь;
КонецЕсли;

 

Расчетная:

 

Если Источник = Перечисления.СтавкиНДС.НДС20_120 
	ИЛИ Источник = Перечисления.СтавкиНДС.НДС18_118 
	ИЛИ Источник = Перечисления.СтавкиНДС.НДС10_110 Тогда
	Значение = Истина;
Иначе  
	Значение = Ложь;
КонецЕсли;

 

Ставка:

 

Если Источник = Перечисления.СтавкиНДС.НДС20 ИЛИ Источник = Перечисления.СтавкиНДС.НДС20_120  Тогда
	Значение = 20;
ИначеЕсли Источник = Перечисления.СтавкиНДС.НДС18 ИЛИ Источник = Перечисления.СтавкиНДС.НДС18_118 Тогда
	Значение = 18;
ИначеЕсли Источник = Перечисления.СтавкиНДС.НДС10 или Источник = Перечисления.СтавкиНДС.НДС10_110 Тогда
	Значение = 10;
ИначеЕсли Источник = Перечисления.СтавкиНДС.НДС0 или Источник = Перечисления.СтавкиНДС.БезНДС  Тогда
	Значение = 0;
КонецЕсли;

 

    Готово. Теперь можно указывать это ПКО, например, для реквизита табличной части документа:

has been added to your cart:
Оформление заказа