Доработки УТ 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 час.




Свежие комментарии