НДС 20% в нетиповой конфигураци

1. akmelek 17.01.19 09:07 Сейчас в теме
Добрый день! Вопрос такой, есть сильно переписанная БП 3. Конф 3.0.37.2. В документах ставка НДС по умолчанию подтягивается из номенклатуры. Хочу реализовать чтобы до 01012019 подтягивался НДС18, после НДС20. Ставка НДС это перечисление.
Подскажите пожалуйста как лучше реализовать? Как сделано в последних версиях БП 3?
+
Найденные решения
3. 24rus 125 17.01.19 09:25 Сейчас в теме
Добавить еще одно перечисление "20%" , пройтись поиском , и везде где есть "18%" ,включить вилку на дату, до 01012019, "18%" после 20%
akmelek; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 17.01.19 09:11 Сейчас в теме
(1)В зависимости от даты получают ставку по умолчанию, затем везде где есть реквизит НДС и ставка пересчитывают, если отличается от умолчания. При записи можно в подписке заменить с предупреждением или без если ставка отличается.
+
4. Octopus 337 17.01.19 09:39 Сейчас в теме
Присоединяюсь к (3) - так и делал при адаптации старенькой УТ 11.1. Добавил два значения перечисления СтавкиНДС: НДС20 и НДС20_120, поискал по строке "НДС18", вставил проверки вида
	Объект.СтавкаНДС = ?(ТекущаяДата() >= Дата(2019, 1, 1), Перечисления.СтавкиНДС.НДС20, Перечисления.СтавкиНДС.НДС18);
. Еще советую просмотреть формы документов (и объектов, и списков) на предмет списков выбора, заполненных непрограммным способом. Например, мне попались форма списка авансовых СФ.
+
3. 24rus 125 17.01.19 09:25 Сейчас в теме
Добавить еще одно перечисление "20%" , пройтись поиском , и везде где есть "18%" ,включить вилку на дату, до 01012019, "18%" после 20%
akmelek; +1
5. markw 17.01.19 09:57 Сейчас в теме
В последней БП в номенклатуре СтавкаНДС переименована в УдалитьСтавкаНДС.
Добавлено перечисление ВидыСтавокНДС со значениями Общая, ОбщаяРасчетная, Пониженная, ПониженнаяРасчетная, Нулевая, БезНДС.
Перечисление СтавкиНДС осталось и используется в документах.
Для получения ставки НДС из ВидаСтавкиНДС используется функция в модуле менеджера перечисления СтавкиНДС:

Функция СтавкаНДС(ВидСтавки, Период) Экспорт
	
	Если ВидСтавки = Перечисления.ВидыСтавокНДС.Общая Тогда
		Возврат УчетНДСКлиентСервер.ОбщаяСтавкаНДС(Период);
	ИначеЕсли ВидСтавки = Перечисления.ВидыСтавокНДС.ОбщаяРасчетная Тогда
		Возврат УчетНДСКлиентСервер.ОбщаяРасчетнаяСтавкаНДС(Период);
	ИначеЕсли ВидСтавки = Перечисления.ВидыСтавокНДС.Пониженная Тогда
		Возврат Перечисления.СтавкиНДС.НДС10;
	ИначеЕсли ВидСтавки = Перечисления.ВидыСтавокНДС.ПониженнаяРасчетная Тогда
		Возврат Перечисления.СтавкиНДС.НДС10_110;
	ИначеЕсли ВидСтавки = Перечисления.ВидыСтавокНДС.Нулевая Тогда
		Возврат Перечисления.СтавкиНДС.НДС0;
	ИначеЕсли ВидСтавки = Перечисления.ВидыСтавокНДС.БезНДС Тогда
		Возврат Перечисления.СтавкиНДС.БезНДС;
	Иначе
		Возврат Перечисления.СтавкиНДС.ПустаяСсылка();
	КонецЕсли;
	
КонецФункции
Показать


Для получения ВидаСтавкиНДС из СтавкиНДС используется функция в модуле менеджера перечисления ВидыСтавокНДС:
Функция ВидСтавки(СтавкаНДС) Экспорт
	
	Если СтавкаНДС = Перечисления.СтавкиНДС.НДС18 Тогда
		Возврат Перечисления.ВидыСтавокНДС.Общая;
	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда
		Возврат Перечисления.ВидыСтавокНДС.ОбщаяРасчетная;
	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10 Тогда
		Возврат Перечисления.ВидыСтавокНДС.Пониженная;
	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда
		Возврат Перечисления.ВидыСтавокНДС.ПониженнаяРасчетная;
	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС0 Тогда
		Возврат Перечисления.ВидыСтавокНДС.Нулевая;
	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
		Возврат Перечисления.ВидыСтавокНДС.БезНДС;
	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда
		Возврат Перечисления.ВидыСтавокНДС.Общая;
	ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120 Тогда
		Возврат Перечисления.ВидыСтавокНДС.ОбщаяРасчетная;
	Иначе
		Возврат Перечисления.ВидыСтавокНДС.ПустаяСсылка();
	КонецЕсли;
	
КонецФункции
Показать


Текст УчетНДСКлиентСервер.ОбщаяСтавкаНДС(Период):
Функция ОбщаяСтавкаНДС(Период) Экспорт
	
	Если Период < '20190101' Тогда
		Возврат ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18");
	Иначе
		Возврат ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20");
	КонецЕсли;
	
КонецФункции
Показать
+
6. akmelek 20.01.19 22:36 Сейчас в теме
Спасибо всем! Проблему решил.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот