Приветствую.
Предстоит интеграция сервиса Атол.Онлайн.
Посмотрел код обработчика онлайн-кассы и заметил, что в массиве данных чека, который формируется для отправки в Атол, поле 'payment_object' (признак предмета расчета по описанию протокола Атол.Онлайн v4), установлено в 'commodity' (товар) и никак не меняется в зависимости от позиции в чеке.
Соотвественно, при оформлении заказа с доставкой, позиция "Доставка курьером" устанавливается как "Товар", хотя скорее является услугой.
Фрагмент кода из Bitrix\Sale\Cashbox\CashboxAtolFarmV4::buildCheckQuery() с 88 строки
[CODE]$result['receipt']['items'][] = array(
'name' => $item['name'],
'price' => (float)$item['price'],
'sum' => (float)$item['sum'],
'quantity' => $item['quantity'],
'payment_method' => $checkTypeMap[$check::getType()],
'payment_object' => 'commodity', // ???
'vat' => array(
'type' => $vat
),
);[/CODE]
Почему для позиции с доставкой предмет расчета устанавливается как товар?
Версия Битрикс 18.0.4.
Версия модуля Sale 17.8.22
Предстоит интеграция сервиса Атол.Онлайн.
Посмотрел код обработчика онлайн-кассы и заметил, что в массиве данных чека, который формируется для отправки в Атол, поле 'payment_object' (признак предмета расчета по описанию протокола Атол.Онлайн v4), установлено в 'commodity' (товар) и никак не меняется в зависимости от позиции в чеке.
Соотвественно, при оформлении заказа с доставкой, позиция "Доставка курьером" устанавливается как "Товар", хотя скорее является услугой.
Фрагмент кода из Bitrix\Sale\Cashbox\CashboxAtolFarmV4::buildCheckQuery() с 88 строки
[CODE]$result['receipt']['items'][] = array(
'name' => $item['name'],
'price' => (float)$item['price'],
'sum' => (float)$item['sum'],
'quantity' => $item['quantity'],
'payment_method' => $checkTypeMap[$check::getType()],
'payment_object' => 'commodity', // ???
'vat' => array(
'type' => $vat
),
);[/CODE]
Почему для позиции с доставкой предмет расчета устанавливается как товар?
Версия Битрикс 18.0.4.
Версия модуля Sale 17.8.22