Доработки УТ 10.3 под новую ставку НДС с розничными чеками

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

Изменения помечал комментарием: //НДС22 Осипов 26.01.13

Обычные изменения делал, как описывал ранее, а что касается доработок по чекам, доработки коснулись только модуля МенеджерОборудованияВызовСервера.

В обработках обслуживания касс ссылок на НДС нет.

У меня уже был опыт обновления по УТ 11, здесь все оказалось похоже, хотя и конфигурация старая. Все те же названия переменных для разных ставок. Проще было тем, что клиент захотел доработки только ставки 22% по кассе, без 5% и 7%.

Пришлось даже запрос поправлять:

Я просто искал НДС20 и копировал по аналогии для ставок 22 и 122:

Если СуммаНДС22 > 0 Тогда  //НДС22 Осипов 26.01.13
						ФискальнаяСтрока = МенеджерОборудованияКлиентСервер.ПараметрыФискальнойСтрокиЧека();
						ФискальнаяСтрока.Наименование = НСтр("ru='Фискальная позиция НДС 22%'");
						ФискальнаяСтрока.Количество   = 1;
						ФискальнаяСтрока.ЦенаСоСкидками = Мин(СуммаНДС22 * 122 / 22, СуммаДокумента);
						ФискальнаяСтрока.Сумма          = ФискальнаяСтрока.ЦенаСоСкидками;
						ФискальнаяСтрока.СтавкаНДС      = 22;
						ОбщиеПараметры.ПозицииЧека.Добавить(ФискальнаяСтрока);
					КонецЕсли;


Если СуммаНДС122 > 0 Тогда //НДС22 Осипов 26.01.13
						ФискальнаяСтрока = МенеджерОборудованияКлиентСервер.ПараметрыФискальнойСтрокиЧека();
						ФискальнаяСтрока.Наименование = НСтр("ru='Фискальная позиция НДС 22/122'");
						ФискальнаяСтрока.Количество   = 1;
						ФискальнаяСтрока.ЦенаСоСкидками = Мин(СуммаНДС122 * 122 / 22, СуммаДокумента);
						ФискальнаяСтрока.Сумма          = ФискальнаяСтрока.ЦенаСоСкидками;
						ФискальнаяСтрока.СтавкаНДС      = 122;
						ОбщиеПараметры.ПозицииЧека.Добавить(ФискальнаяСтрока);
					КонецЕсли;

Мои доработки выглядят примерно так:

Поиск строки "//НДС22 Осипов 26.01.13"...
Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(3418, 83) : |   КОГДА ПДРП.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС22) //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5036, 20) : СуммаНДС22  = 0; //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5037, 21) : СуммаНДС122  = 0; //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5053, 40) : ИначеЕсли СтавкаНДС = 22 Тогда    //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5054, 92) : СуммаНДС22 = СуммаНДС22 + ?(СуммаНДС > 0, СуммаНДС, ПозицияЧека.Сумма / 122 * 22);   //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5063, 40) : ИначеЕсли СтавкаНДС = 122 Тогда   //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5064, 92) : СуммаНДС120 = СуммаНДС122 + ?(СуммаНДС > 0, СуммаНДС, ПозицияЧека.Сумма / 122 * 22); //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5098, 77) : ЗаписьXML.ЗаписатьАтрибут("SumTAX22"  , XMLСтрока(Окр(СуммаНДС22, 2))); ////НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5102, 79) : ЗаписьXML.ЗаписатьАтрибут("SumTAX122"  , XMLСтрока(Окр(СуммаНДС122, 2))); ////НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5877, 33) : СтавкиНДС.Вставить("22", 22);  //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(5882, 37) : СтавкиНДС.Вставить("22/122", 122); //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(6114, 80) : СуммаНДС22  = Число(ЗначениеXMLАтрибута(ЧтениеXML, "SumTAX22"  , , 0));   //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(6115, 79) : СуммаНДС122 = Число(ЗначениеXMLАтрибута(ЧтениеXML, "SumTAX122" , , 0));  //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(6157, 33) : Если СуммаНДС22 > 0 Тогда  //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль(6197, 33) : Если СуммаНДС122 > 0 Тогда //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.УчетНДС.Модуль(5663, 99) : Р = _Доработки.УточнениеСтавки(СтавкаНДС); Если ЗначениеЗаполнено(Р) Тогда Возврат Р; КонецЕсли; //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.УчетНДС.Модуль(5687, 2) : //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль.УчетНДС.Модуль(7097, 61) : ИЛИ _Доработки.ЭтоРасчетнаяСтавкаНДС(Строчка.СтавкаНДС)  //НДС22 Осипов 26.01.13   

Основная конфигурация ОбщийМодуль.УчетНДС.Модуль(7703, 75) : ИЛИ _Доработки.ЭтоРасчетнаяСтавкаНДС( СтрокаТабличнойЧасти.СтавкаНДС)  //НДС22 Осипов 26.01.13   

Основная конфигурация ОбщийМодуль._Доработки.Модуль(2, 108) : //Вызов: Р = _Доработки.УточнениеСтавки(СтавкаНДС); Если ЗначениеЗаполнено(Р) Тогда Возврат Р; КонецЕсли; //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(14, 89) : //Вызывать: _Доработки.ДополнитьСтавкуНДСВЗапросе(Запрос.Текст, "Планы.Номенклатура"); //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(34, 79) : //Вызывать: _Доработки. ДополнитьСоответствиеСтавокНДС(СоответствиеСтавок);  //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(41, 86) : //Вызывать: _Доработки. ДополнитьСоответствиеСтавокНДССложное(СоответствиеСтавок);  //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(51, 60) : //Вызывать: _Доработки. ЭтоНеПустаяСтавкаНДС(СтавкаНДС);  //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(62, 60) : //Вызывать: _Доработки.ЭтоРасчетнаяСтавкаНДС(СтавкаНДС);  //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(71, 67) : Функция ПересчитатьСуммуНДСПоСтавке(Сумма, СтавкаНДС, СуммаНДС)   //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(72, 93) : //Вызывать: _Доработки. ПересчитатьСуммуНДСПоСтавке(ТД.Сумма, ТД.СтавкаНДС, ТД.СуммаНДС);  //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(94, 65) : Процедура УстановтиьРасчетнуюСтавкуНДСПоДате(Дата, СтавкаНДС)   //НДС22 Осипов 26.01.13

Основная конфигурация ОбщийМодуль._Доработки.Модуль(95, 80) : //Вызывать: _Доработки. УстановтиьРасчетнуюСтавкуНДСПоДате(Дата, СтавкаНДС);  //НДС22 Осипов 26.01.13

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(297, 74) : _Доработки. ДополнитьСоответствиеСтавокНДССложное(СоответствиеСтавок);  //НДС22 Осипов 26.01.13

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(486, 87) : _Доработки. УстановтиьРасчетнуюСтавкуНДСПоДате(Дата, СтрокаПоСтавке.СтавкаНДС);  //НДС22 Осипов 26.01.13

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(497, 87) : _Доработки. УстановтиьРасчетнуюСтавкуНДСПоДате(Дата, СтрокаПоСтавке.СтавкаНДС);  //НДС22 Осипов 26.01.13

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(614, 68) : _Доработки. ДополнитьСоответствиеСтавокНДС(СоответствиеСтавок);  //НДС22 Осипов 26.01.13

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(690, 69) : _Доработки. ДополнитьСоответствиеСтавокНДС(СоответствиеСтавок);  //НДС22 Осипов 26.01.13

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(4260, 74) : _Доработки. ДополнитьСоответствиеСтавокНДССложное(СоответствиеСтавок);  //НДС22 Осипов 26.01.13

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(4489, 62) : ИЛИ _Доработки.ЭтоРасчетнаяСтавкаНДС(Строчка.СтавкаНДС)  //НДС22 Осипов 26.01.13   

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(4890, 62) : ИЛИ _Доработки.ЭтоРасчетнаяСтавкаНДС(Строчка.СтавкаНДС)  //НДС22 Осипов 26.01.13   

Основная конфигурация Документ.СчетФактураВыданный.Модуль объекта(5294, 62) : ИЛИ _Доработки.ЭтоРасчетнаяСтавкаНДС(Строчка.СтавкаНДС)  //НДС22 Осипов 26.01.13   

Найдено вхождений: 38

Среда: Детали машин 2.2 2 на базе 1С: Управление торговлей (2.2.20.3) Объем: 1 час.

image_pdfimage_print

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *