|
Сдача с безналичного расчета | ☑ | ||
---|---|---|---|---|
0
MrCrowley1988
28.11.12
✎
14:41
|
Всем доброе время суток!
Нужна помощь... Вот какая ситуация: В магазине (розничная торговля продуктами питания) стоят фискальные регистраторы (ФР) ИКС-483 LT. Работают через 1С 8.2, Конфигурация "Розница". Проблема при пробитии чеков через тип оплаты "Карта" (Безнал). Например: Товар Количество: 0,516 кг Цена: 59,99 Сумма без скидки (взял с печатной формы чека ККМ): 30,95 Скидка(взял с печатной формы чека ККМ): 0,00 Сумма (взял с печатной формы чека ККМ): 30,95 Если подсчитать калькулятором, то 0,516 * 59,99 = 30,95484. Оплата наличкой: проблем нету Оплата картой: пишет: " Ошибка фискального регистратора! Ошибка Сдача с данного типа оплаты запрещена. !Необходимо проверить настройки подключения фискального регистратора. " На табло ФР светиться сумма 30,94 (хотя в чеке 1С сумма 30,95). Чек в конце смены не пробивается, его приходится аннулировать. Моя версия: ФР не правильно рассчитывает сумму скидки. Лезу в лог событий ФР, там такая ситуация (вырезал только кусок лога с побитием именно этого чека: " 27.11.2012/16:20:59 R: Смена открыта 27.11.2012/16:20:59 Продажа F:Sale(0.516,1,59.99,1,Сервілат сливочний Гулівер н/к ваг (Зоря Дніпропет,48,0) 27.11.2012/16:20:59 o Ђ2‘Ґаўi« в б«Ёў®зЁ© ѓг«iўҐа /Є ў Ј (‡®ап „iЇа®ЇҐв0 № 27.11.2012/16:20:59 Получен ACK 27.11.2012/16:20:59 F: Получен DLE ETX 27.11.2012/16:20:59 t , 27.11.2012/16:20:59 После замены символов DLE 27.11.2012/16:20:59 t , 27.11.2012/16:20:59 S: Код статуса= 27.11.2012/16:20:59 Данные в виде строки: 27.11.2012/16:20:59 27.11.2012/16:20:59 0x17 0x0C 0x00 0x00 0x17 0x0C 0x00 0x00 27.11.2012/16:20:59 R: Принтер фискализирован 27.11.2012/16:20:59 R: Смена открыта 27.11.2012/16:20:59 R: Открыт чек 27.11.2012/16:20:59 Скидка/надбавка F:Discount(0,-0.0156357,) 27.11.2012/16:20:59 # „ N2 27.11.2012/16:20:59 Получен ACK 27.11.2012/16:20:59 F: Получен DLE ETX 27.11.2012/16:20:59 # t Ђ Ѕ 27.11.2012/16:20:59 После замены символов DLE 27.11.2012/16:20:59 # t Ђ Ѕ 27.11.2012/16:20:59 S: Код статуса= 27.11.2012/16:20:59 Данные в виде строки: 27.11.2012/16:20:59 Ђ 27.11.2012/16:20:59 0x01 0x00 0x00 0x80 0x16 0x0C 0x00 0x00 27.11.2012/16:20:59 R: Принтер фискализирован 27.11.2012/16:20:59 R: Смена открыта 27.11.2012/16:20:59 R: Открыт чек 27.11.2012/16:20:59 Оплата чека F:Payment(,4,30.95) 27.11.2012/16:20:59 ї2 27.11.2012/16:20:59 Получен ACK 27.11.2012/16:21:00 F: Получен DLE ETX 27.11.2012/16:21:00 +tC 27.11.2012/16:21:00 После замены символов DLE 27.11.2012/16:21:00 +tC 27.11.2012/16:21:00 S: Код статуса= 27.11.2012/16:21:00 E: Сдача с этого типа оплаты запрещена Код ошибки: 43 27.11.2012/16:21:00 Данные в виде строки: 27.11.2012/16:21:00 " Как видим вес, цену и наименование ФР из 1С берет правильно: 27.11.2012/16:20:59 Продажа F:Sale(0.516,1,59.99,1,Сервілат сливочний Гулівер н/к ваг (Зоря Дніпропет,48,0) Сумма оплаты из 1С тоже правильная: 27.11.2012/16:20:59 Оплата чека F:Payment(,4,30.95) (цифра 4 - это признак безналичного расчета, при наличном она равна 1). Но вот какая фигня: 27.11.2012/16:20:59 Скидка/надбавка F:Discount(0,-0.0156357,) То-есть, ФР по непонятному мне алгоритму вычисляет скидку на позицию, равной 0,0156357 коп (в 1С в печатной форме чека ККМ она пишется 0,00, хотя, по моим расчетам, равна 0,00484). Как мне сказал спец с компании, у которой покупались драйвера к ФР, "ФР вычисляет ПРОЦЕНТНУЮ скидку на позицию в чеке, поэтому и расхождения" (в 1С 30,95, на ФР 30,94). Если бы понять алгоритм вычисления скидки ФР, проблем бы не было - я бы в 1С написал такой-же алгоритм, и расхождений бы не было... но понять алгоритм не могу. Спец с компании мягко меня послал, сказав, что драйвер работает нормально, проблема в 1С, обращайтесь к спецам по 1С или в компанию-разработчик конфигурации. В общем, кто сталкивался с подобной ситуацией, огромная просьба помочь... Код 1С обработки к драйверам ФР немного массивный, поэтому вставлять его сюда не стал, т.к. толком не знаю, что именно нужно и в чем проблема. Хотя... " Функция ПечататьСтроку(Объект, Наименование, Количество, Цена, Скидка, Отдел, НДС, Код=0) Экспорт Перем ЕдиницаВНаименовании, ДлинаНаименования, Порт; Результат = мНетОшибки; ... ... // printRecItemAdjustment(ТипСкидки, Комментарий, Сумма/Процент) // Печать скидки/надбавки на строку/чек // Тип скидки: // 0 - % скидка/надбавка на товар // 1 - абсолютная скидка/надбавка на товар // 2 - % скидка/надбавка на промежуточную сумму // 3 - абсолютная скидка/надбавка на промежуточную сумму Если Скидка <> 0 Тогда Объект.Драйвер.printRecItemAdjustment(0, "", -Скидка); Результат = ПроверкаОшибокРегистратора(Объект); Если Результат <> мНетОшибки Тогда Объект.Драйвер.printRecVoid(); //отмена чека Объект.Драйвер.ClosePort(); КонецЕсли; КонецЕсли; Возврат Результат; " " Функция ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал) Экспорт Результат = мНетОшибки; // Закрытие чека // printRecTotal(тип, сумма, комментарий) // 1 – оплата наличными; // 2 – оплата в кредит; // 3 – оплата чеком; // 4 – оплата карточкой; Если СуммаБезнал > 0 Тогда Объект.Драйвер.printRecTotal(4,СуммаБезнал,""); // оплата карточкой КонецЕсли; Если СуммаНал > 0 Тогда Объект.Драйвер.printRecTotal(1,СуммаНал,""); // оплата наличными КонецЕсли; Результат = ПроверкаОшибокРегистратора(Объект); Объект.Драйвер.OpenDrawer(); // Открытие денежного ящика Объект.Драйвер.ClosePort(); Возврат Результат; КонецФункции " |
|||
1
MrCrowley1988
28.11.12
✎
14:45
|
"
СуммаВсего = Товары.Итог("Сумма"); СуммаНал = ПолучитьСуммуНаличнойОплаты(); СуммаБезнал = ПолучитьСуммуБезналичнойОплаты(); " " Функция ПолучитьСуммуБезналичнойОплаты() Экспорт СуммаБезналичнойОплаты = 0; Для Каждого ТекОплата Из Оплата Цикл Если ЗначениеЗаполнено(ТекОплата.ВидОплаты) И ТекОплата.ВидОплаты.ТипОплаты <> Перечисления.ТипыОплатЧекаККМ.Наличные Тогда СуммаБезналичнойОплаты = СуммаБезналичнойОплаты + ТекОплата.Сумма; КонецЕсли; КонецЦикла; Возврат СуммаБезналичнойОплаты; КонецФункции // ПолучитьСуммуБезналичнойОплаты( " |
|||
2
MrCrowley1988
28.11.12
✎
14:48
|
В Функция ПечататьСтрок менял 0 на 1
"// 1 - абсолютная скидка/надбавка на товар"... сумма на ФР становилась вообще 30,93 |
|||
3
MrCrowley1988
28.11.12
✎
14:49
|
Проблем с пробытием штучного товара через безнал нету... там ничего не округляеться (цены у нас стоят кратные 5коп)...
|
|||
4
MrCrowley1988
28.11.12
✎
14:57
|
давно не пользовался форумом... случайно поставил пометку Admin...извените за ошибку
|
|||
5
MrCrowley1988
28.11.12
✎
17:11
|
Никто не сталкивался с такой проблемой... жаль
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |