Обновил расширение UDS_Game под розницу 2.3.11.33
У одного из моих клиентов используется многострадальное расширение UDS_Game для скидочной системы UDS Game. Не обновлялись целый год и вот после обновления UDS перестало работать.
Пришлось залезть внутрь расширения.
Во-первых многие события формы РМК перестали работать, потому что поменялся список параметров, это известная беда проверки применимости расширения.
Ну и далее теперь событие после пробития связано с очередью чеков, а код был ориентирован на событие формы «После пробития», где вызывалась функция вызова накопления/списания UDS. А она проверяла статус чека. Естественно, чек был еще не пробит.
Причем по комментариям было видно, что изначально функция UDS вызывалась из процедуры проведения и его перенесли оттуда при прошлом обновлении. Правда, проведение вызывается до того, как чек становится пробитым, а при изменении статуса чека он не перепроводится.
Поэтому я вынес функцию в модуль записи чека:
Реализация так себе, потому что если проходит ошибка начисления UDS, то чек уже пробит и ничего не сделаешь — нужно только вносить ручные правки в кабинете UDS. Также завязано все только на возврат день-в-день, при возвратах задним числом операции не сторнируются. Но это редкие операции, поэтому клиент с ними мирится.
Пришлось ставить эмулятор кассы, без него никак не разобраться.
Протестировал накопление бонусов:
Протестировал списание бонусов:
Все вроде работает.
Среда: Розница 2.3.11.33. Объем: 2 час.
Свежие комментарии