Вносимая безналичной оплатой сумма больше суммы чека
Добрый день!
Настроена работа программного продукта 1С:Розница 8 и ККТ с передачей данных в ОФД Штрих-М Ф-01. Наблюдается следующая проблема:
В информационной базе через РМК совершается продажа товара. Указывается ручная скидка. Производится оплата товара, с последующим пробитием чека.
Если оплата происходит по платежной карте, то в момент попытки печати чека появляется ошибка: "4Dh. Вносимая безналичной оплатой сумма больше суммы чека"
Сумма, указанная в распечатанном чеке из банковского терминала, полностью соответствует сумме чека в информационной базе.
Без указания ручной скидки ошибка не наблюдается и чек печатается.
В чем может быть проблема? Драйвера переустанавливал, кеш чистил, релиз актуальный, прошивки на ккт новее нету.
P.S. Со старым ФР такой проблемы не было.
Настроена работа программного продукта 1С:Розница 8 и ККТ с передачей данных в ОФД Штрих-М Ф-01. Наблюдается следующая проблема:
В информационной базе через РМК совершается продажа товара. Указывается ручная скидка. Производится оплата товара, с последующим пробитием чека.
Если оплата происходит по платежной карте, то в момент попытки печати чека появляется ошибка: "4Dh. Вносимая безналичной оплатой сумма больше суммы чека"
Сумма, указанная в распечатанном чеке из банковского терминала, полностью соответствует сумме чека в информационной базе.
Без указания ручной скидки ошибка не наблюдается и чек печатается.
В чем может быть проблема? Драйвера переустанавливал, кеш чистил, релиз актуальный, прошивки на ккт новее нету.
P.S. Со старым ФР такой проблемы не было.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) отладчиком не проверял.
Сейчас еще заметил при оплате наличными: цена товара - 152 рубля, скидка 10.64 рублей. Получилась цена товара со скидкой - 141.36 рублей. В ИТОГЕ чека получилось 130.73 рублей, наличными - 141.36 рублей, скидка - 10.64 рублей. Что за бред?
Сейчас еще заметил при оплате наличными: цена товара - 152 рубля, скидка 10.64 рублей. Получилась цена товара со скидкой - 141.36 рублей. В ИТОГЕ чека получилось 130.73 рублей, наличными - 141.36 рублей, скидка - 10.64 рублей. Что за бред?
вопрос в моменте округления... т.е. округление происходит ДО передачи суммы в терминал и в ккт? или округление происходит в момент конечной обработки суммы при выводе чека?
поясню:
1) на экране 133,5 р. скидка 7%
2) финал суммы без округления 124,155
3) а отображается 124,16
вот тут и вопрос что передается: 124,155 или 124,16?
поясню:
1) на экране 133,5 р. скидка 7%
2) финал суммы без округления 124,155
3) а отображается 124,16
вот тут и вопрос что передается: 124,155 или 124,16?
приветствую!
проблема со скидками всегда была больной темой 1С и ККМ
у меня был пример:
установлена УТ 10.3.42.1 и ККТ с передачей данных Штрих М РР01ПТК с последней прошивкой и драйвером 4.13.572
все самое последнее и свежее! .... но и тут проблемы со скидками
вообщем я не стал долго париться - дернул функционал округления как он был раньше через ТОСервер
в итоге в ОбщемМодуле МенеджерОборудованияВызовСервера процедура ПолучитьXMLПакетДляФискализацияЧека
поменял следующее:
=============================================================================
Если ТекущаяПозиция.Свойство("ФискальнаяСтрока") Тогда
ЗначениеСкидки = ТекущаяПозиция.Количество*ТекущаяПозиция.Цена -Цел(ТекущаяПозиция.Количество*ТекущаяПозиция.Цена); //снгИлья
ЗаписьXML.ЗаписатьНачалоЭлемента("FiscalString");
ЗаписьXML.ЗаписатьАтрибут("Name" , XMLСтрока(ТекущаяПозиция.Наименование));
Если ЗначениеСкидки <> 0 Тогда
ЗаписьXML.ЗаписатьАтрибут("Quantity" , XMLСтрока("1"));
ЗаписьXML.ЗаписатьАтрибут("Price" , XMLСтрока(ТекущаяПозиция.Сумма));
ЗаписьXML.ЗаписатьАтрибут("Amount" , XMLСтрока(ТекущаяПозиция.Сумма));
Иначе
ЗаписьXML.ЗаписатьАтрибут("Quantity" , XMLСтрока(ТекущаяПозиция.Количество));
ЗаписьXML.ЗаписатьАтрибут("Price" , XMLСтрока(ТекущаяПозиция.Цена));
ЗаписьXML.ЗаписатьАтрибут("Amount" , XMLСтрока(ТекущаяПозиция.Сумма));
КонецЕсли;
ЗаписьXML.ЗаписатьАтрибут("Department", XMLСтрока(ТекущаяПозиция.НомерСекции));
Если НЕ ПустаяСтрока(ТекущаяПозиция.СтавкаНДС) Тогда
ЗаписьXML.ЗаписатьАтрибут("Tax" , "none");//XMLСтрока(ТекущаяПозиция.СтавкаНДС)); снгИлья
Иначе
ЗаписьXML.ЗаписатьАтрибут("Tax" , "none");
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
=======================================================================
после таких правок проблемы с округлением и со скидками ушли
а также чеки стали печататься БезНДС как и положено (так как НДС подставлялся не из Чека,а из Номенклатуры)
проблема со скидками всегда была больной темой 1С и ККМ
у меня был пример:
установлена УТ 10.3.42.1 и ККТ с передачей данных Штрих М РР01ПТК с последней прошивкой и драйвером 4.13.572
все самое последнее и свежее! .... но и тут проблемы со скидками
вообщем я не стал долго париться - дернул функционал округления как он был раньше через ТОСервер
в итоге в ОбщемМодуле МенеджерОборудованияВызовСервера процедура ПолучитьXMLПакетДляФискализацияЧека
поменял следующее:
============================================================
Если ТекущаяПозиция.Свойство("ФискальнаяСтрока") Тогда
ЗначениеСкидки = ТекущаяПозиция.Количество*ТекущаяПозиция.Цена -Цел(ТекущаяПозиция.Количество*ТекущаяПозиция.Цена); //снгИлья
ЗаписьXML.ЗаписатьНачалоЭлемента("FiscalString");
ЗаписьXML.ЗаписатьАтрибут("Name" , XMLСтрока(ТекущаяПозиция.Наименование));
Если ЗначениеСкидки <> 0 Тогда
ЗаписьXML.ЗаписатьАтрибут("Quantity" , XMLСтрока("1"));
ЗаписьXML.ЗаписатьАтрибут("Price" , XMLСтрока(ТекущаяПозиция.Сумма));
ЗаписьXML.ЗаписатьАтрибут("Amount" , XMLСтрока(ТекущаяПозиция.Сумма));
Иначе
ЗаписьXML.ЗаписатьАтрибут("Quantity" , XMLСтрока(ТекущаяПозиция.Количество));
ЗаписьXML.ЗаписатьАтрибут("Price" , XMLСтрока(ТекущаяПозиция.Цена));
ЗаписьXML.ЗаписатьАтрибут("Amount" , XMLСтрока(ТекущаяПозиция.Сумма));
КонецЕсли;
ЗаписьXML.ЗаписатьАтрибут("Department", XMLСтрока(ТекущаяПозиция.НомерСекции));
Если НЕ ПустаяСтрока(ТекущаяПозиция.СтавкаНДС) Тогда
ЗаписьXML.ЗаписатьАтрибут("Tax" , "none");//XMLСтрока(ТекущаяПозиция.СтавкаНДС)); снгИлья
Иначе
ЗаписьXML.ЗаписатьАтрибут("Tax" , "none");
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
============================================================
после таких правок проблемы с округлением и со скидками ушли
а также чеки стали печататься БезНДС как и положено (так как НДС подставлялся не из Чека,а из Номенклатуры)
(9) Данная ошибка возникает когда цена допустим 0.33, количество 3, а сумма 1 руб.
Не логично как то заменить количество на 1 шт, а цену и сумму взять 1, покупатель может не оценить. Более правильно разделить на 2 строки с разными ценами. 2*0,33 и 1*0,34
Отклонение=0;
Е
Не логично как то заменить количество на 1 шт, а цену и сумму взять 1, покупатель может не оценить. Более правильно разделить на 2 строки с разными ценами. 2*0,33 и 1*0,34
Отклонение=0;
Е
сли ТекущаяПозиция.Свойство("ФискальнаяСтрока") Тогда
Отклонение= ТекущаяПозиция.Количество*ТекущаяПозиция.Цена - ТекущаяПозиция.Сумма;
ЗаписьXML.ЗаписатьНачалоЭлемента("FiscalString");
ЗаписьXML.ЗаписатьАтрибут("Name" , XMLСтрока(ТекущаяПозиция.Наименование));
Если Отклонение <> 0 Тогда
Кол = ТекущаяПозиция.Количество-1;
Сумм = Кол * ТекущаяПозиция.Цена;
ЗаписьXML.ЗаписатьАтрибут("Quantity" , XMLСтрока(Кол));
ЗаписьXML.ЗаписатьАтрибут("Price" , XMLСтрока(ТекущаяПозиция.Цена));
ЗаписьXML.ЗаписатьАтрибут("Amount" , XMLСтрока(Сумм));
Иначе
ЗаписьXML.ЗаписатьАтрибут("Quantity" , XMLСтрока(ТекущаяПозиция.Количество));
ЗаписьXML.ЗаписатьАтрибут("Price" , XMLСтрока(ТекущаяПозиция.Цена));
ЗаписьXML.ЗаписатьАтрибут("Amount" , XMLСтрока(ТекущаяПозиция.Сумма));
КонецЕсли;
ЗаписьXML.ЗаписатьАтрибут("Department", XMLСтрока(ТекущаяПозиция.НомерСекции));
Если НЕ ПустаяСтрока(ТекущаяПозиция.СтавкаНДС) Тогда
ЗаписьXML.ЗаписатьАтрибут("Tax" , "none");//XMLСтрока(ТекущаяПозиция.СтавкаНДС));
Иначе
ЗаписьXML.ЗаписатьАтрибут("Tax" , "none");
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
Если Отклоение <> 0 Тогда \\выведим еще одну строку для выравнивания суммы
ЗаписьXML.ЗаписатьНачалоЭлемента("FiscalString");
ЗаписьXML.ЗаписатьАтрибут("Name" , XMLСтрока(ТекущаяПозиция.Наименование));
ЗаписьXML.ЗаписатьАтрибут("Quantity" , XMLСтрока(Кол));
ОстСуммы = ТекущаяПозиция.Сумма - Сумм;
ЗаписьXML.ЗаписатьАтрибут("Price" , XMLСтрока(ОстСуммы));
ЗаписьXML.ЗаписатьАтрибут("Amount" , XMLСтрока(ОстСуммы));
ЗаписьXML.ЗаписатьАтрибут("Department", XMLСтрока(ТекущаяПозиция.НомерСекции));
Если НЕ ПустаяСтрока(ТекущаяПозиция.СтавкаНДС) Тогда
ЗаписьXML.ЗаписатьАтрибут("Tax" ,"none");//XMLСтрока(ТекущаяПозиция.СтавкаНДС));
Иначе
ЗаписьXML.ЗаписатьАтрибут("Tax" , "none");
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот