Коллеги,
есть кто-нибудь понимающий, зачем при оплате автоматом зачисляется и тут же списывается сумма оплаты на внутренний счет?...
Всю голову сломал, не могу придумать..
Но это лирика. А по факту делаем бонусную систему для пользователей с использованием внутреннего счета. Так вот в журнале транзакций жутко раздражает наличие этой двойной записи. Фильтровать не вариант, т.к. запись с теми же параметрами создается при оплате заказа с внутреннего счета (читай бонусами), а она должна показываться.
Раскопки показали, что за эту двойную запись отвечает CSaleOrder::PayOrder, который вызывается при оплате заказа. Метод имеет замечательный параметр bWithdraw, который и отвечает за использование проводок по внутреннему счету.
Понятно, что в обработчике платежной системы я могу вызывать этот метод с нужным мне параметром и все будет хорошо, но что делать с админкой? То есть при оплате заказа наличными или безналом с проведением ручной смены статуса оплаты у меня нет варианта поправить вызов и запись в журнал идет двойная.
Есть, конечно, в самом методе вызов события OnSaleBeforePayOrder, но нужный нам параметр передается в событие значением, а не ссылкой, т.е. повлиять на него никак не могу.
Есть тут гуру? Спасите
есть кто-нибудь понимающий, зачем при оплате автоматом зачисляется и тут же списывается сумма оплаты на внутренний счет?...
Всю голову сломал, не могу придумать..
Но это лирика. А по факту делаем бонусную систему для пользователей с использованием внутреннего счета. Так вот в журнале транзакций жутко раздражает наличие этой двойной записи. Фильтровать не вариант, т.к. запись с теми же параметрами создается при оплате заказа с внутреннего счета (читай бонусами), а она должна показываться.
Раскопки показали, что за эту двойную запись отвечает CSaleOrder::PayOrder, который вызывается при оплате заказа. Метод имеет замечательный параметр bWithdraw, который и отвечает за использование проводок по внутреннему счету.
Понятно, что в обработчике платежной системы я могу вызывать этот метод с нужным мне параметром и все будет хорошо, но что делать с админкой? То есть при оплате заказа наличными или безналом с проведением ручной смены статуса оплаты у меня нет варианта поправить вызов и запись в журнал идет двойная.
Есть, конечно, в самом методе вызов события OnSaleBeforePayOrder, но нужный нам параметр передается в событие значением, а не ссылкой, т.е. повлиять на него никак не могу.
Есть тут гуру? Спасите