gifts2017

Всем, у кого не проходит возврат через пластиковую карту в 1С:Рознице, посвящается...

Опубликовал Марат Настоящий (rayastar) в раздел Оборудование - POS терминал

Решение проблемы с возвратом денежных средств в режиме РМК через POS терминал

В статье infostart.ru/public/259667 я делился  опытом подключения POS терминала Hypercom Optimum T4220 К Рознице 1.0 Финальным аккордом являлась успешная интеграция. Да не тут то было! при тестировании было выявлено, что возврат по кассе не проходил, но по пос терминалу он был успешно авторизован. Оставалось разобраться в чем дело. на стороне терминала проблем нет - сумма возврата успешно уходила на карту. Пришла в голову идея проверить как отрабатывает возврат при оплате наличными. Анализ ТИПОВОГО исходного кода показал странные моменты в коде. Расскажу по подробнее.

В модуле объекта документа ЧекККМ присутствует Функция ПолучитьСтрокиРасхожденияПоОплатеСЧекомПродажи(ДанныеДокумента) Экспорт

Данный код отрабатывает при возврате. Не могу детально рассказать что она делает, но меня смутил вот этот код:

Если Не ЗначениеЗаполнено(СтрокаТаблицыЗначений.ВидОплаты)
 ИЛИ СтрокаТаблицыЗначений.ВидОплаты.ТипОплаты = Перечисления.ТипыОплатЧекаККМ.Наличные 
 ИЛИ СтрокаТаблицыЗначений.ВидОплаты = Справочники.ВидыОплатЧекаККМ.ОплатаПодарочнымСертификатом Тогда
     ТаблицаОплат.Удалить(СтрокаТаблицыЗначений);
КонецЕсли;

Как мы видим, в проверке возврата видно что имеются перечисления возврата ч/з наличные и подарочный сертификат. Помимо этого, чуть ниже этого кода есть запрос, в котором указаны точно такие же условия(отрывок запроса):

| ГДЕ
| ЧекККМОплата.Ссылка = &ДокументОснование
| И ЧекККМОплата.ВидОплаты.ТипОплаты <> ЗНАЧЕНИЕ(Перечисление.ТипыОплатЧекаККМ.Наличные)
| И (НЕ ЧекККМОплата.ВидОплаты = ЗНАЧЕНИЕ(Справочник.ВидыОплатЧекаККМ.ОплатаПодарочнымСертификатом))

Как мы видим ни про какое перечисление платежной картой здесь нет..ради интереса добавим его:

Если Не ЗначениеЗаполнено(СтрокаТаблицыЗначений.ВидОплаты)
 ИЛИ СтрокаТаблицыЗначений.ВидОплаты.ТипОплаты = Перечисления.ТипыОплатЧекаККМ.Наличные 
 ИЛИ СтрокаТаблицыЗначений.ВидОплаты.ТипОплаты = Перечисления.ТипыОплатЧекаККМ.ПлатежнаяКарта 
 ИЛИ СтрокаТаблицыЗначений.ВидОплаты = Справочники.ВидыОплатЧекаККМ.ОплатаПодарочнымСертификатом Тогда
     ТаблицаОплат.Удалить(СтрокаТаблицыЗначений);
КонецЕсли;
И в запрос:
| ГДЕ
| ЧекККМОплата.Ссылка = &ДокументОснование
| И ЧекККМОплата.ВидОплаты.ТипОплаты <> ЗНАЧЕНИЕ(Перечисление.ТипыОплатЧекаККМ.Наличные)
| И ЧекККМОплата.ВидОплаты.ТипОплаты <> ЗНАЧЕНИЕ(Перечисление.ТипыОплатЧекаККМ.ПлатежнаяКарта)
| И (НЕ ЧекККМОплата.ВидОплаты = ЗНАЧЕНИЕ(Справочник.ВидыОплатЧекаККМ.ОплатаПодарочнымСертификатом))

и вуаля! возврат успешно прошел! Не могу с уверенностью сказать нашел ли я изъян в рознице или просто что то не понял, но сейчас возврат заработал. Возможно, точно такая же проблема присутствует в Рознице 2.0, а быть может и в УТ..надо смотреть

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Антон Рощин (wolfsoft) 05.03.14 10:54
Не знаю, в чём проблема была у вас, но у одного клиента чей-то терминал оплаты подключал к Рознице 1.0, и возврат нормально работал. Не помню, чтоб я что-то допиливал в этой части. Подозреваю, что дело в конкретном релизе конфигурации.
2. Марат Настоящий (rayastar) 05.03.14 11:20
(1) wolfsoft, спасибо за инфу. я все таки искал у кого все нормально прошло, а не как у нас. Релиз конфигурации: Розница, редакция 1.0 (1.0.14.3), 1С:Предприятие 8.1 (8.1.15.14)
Я бы не против посмотреть в будущих релизах, быть может вы и правы - дело в релизе..
А какой у вас был терминал?
3. Марат Настоящий (rayastar) 05.03.14 17:37
4. Галина Орехова (orehova123) 05.03.14 23:29
На 8.1... Да вы маньяк, батенька!!! :) Хотя дело, конечно, не в платформе. Только вот я не помню, чтоб я исправляла такое именно в конфигурации. Я бы сослалась на обработку подключения самого оборудования
5. Сергей Самошин (saiten) 07.03.14 13:15
Это не ошибка. С тем же успехом можно закомментировать всё содержимое этой функции и всегда возвращать из неё пустой массив. Эффект будет почти такой же. Суть этой проверки - чтобы оплата проведённая картой не возвращалась налом. Защита от мошенничества и раздолбайства продавцов такая.
6. Марат Настоящий (rayastar) 07.03.14 15:22
(5) saiten, а как тогда поступить более правильнее? то есть моя доработка будет являться ошибкой? я кстати, не тестировал возврат в случае если оплата была картой, а кассир выбрал нал. и наоборот
7. Сергей Самошин (saiten) 07.03.14 16:23
(6) Хм... Если оплата одним видом оплаты, тогда ошибка возникать не должна...
8. Марат Настоящий (rayastar) 07.03.14 16:36
(7) saiten, эх, если бы все было так...
9. Сергей Самошин (saiten) 07.03.14 16:42
(8) Т.е. вид оплаты и сумма чека продажи совпадает с видом оплаты и суммой чека возврата и всё равно пишет ошибку?
10. Марат Настоящий (rayastar) 07.03.14 17:07
11. Vlad (KillHunter) 09.03.14 19:51
Добрый день! Подскажите пожалуйста,правильно делает мой клиент или нет. У клиента магазин,там стоит программа Розница 8 (релиз не уточняла),работают с оплатой по банковским картам, в бухгалтерии стоит программа Бухгалтерия 2.0,каждый день магазин скидывает им "Отчет по розничным продажам". Вопрос: от покупателя был сделан возврат товара через карту, не в тот же день (допустим,через 3 дня). В магазине оформили возврат товара по документам (все как надо) и корректировку долга по карте клиента,это все загружается в Бухгалтерию 2.0. Следовательно,в бухгалтерии 2.0 мы имеем "Возврат товара" и "Корректировку долга" ( Корректировка долга идет,как я понимаю, "списание задолженности", т.к. остальное не подходит). Это правильно будет или еще что-то надо сделать в программе?
12. Галина Орехова (orehova123) 21.03.14 20:30
(11) В рознице 1.0 есть документ Оплата платежной картой от покупателя, его можно использовать с видом операции Возврат денежных средств покупателю.
В КД посмотрите правила обмена, как этот документ грузится в бухгалтерию. Если он используется в этом обмене, тогда однозначно никаких корректировок долга!!!
13. Константин Юрин (kostyaomsk) 01.07.14 11:42
Замечено, что с операцией возврата везде всегда проблемы. Хорошо если простая ошибка с желтым окошком.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа