В процессе работы с розничными продажами в 1С:Управление торговлей 11.5 пользователи часто сталкиваются с ситуацией, когда при попытке оформить возврат только одной позиции из чека, оплаченного банковской картой в текущую смену, система принудительно выбирает все товары. Чтобы разобраться в ситуации, часто требуется предварительный анализ документов оплаты по чекам, так как в этой версии программного продукта логика работы с эквайрингом имеет свои нюансы. В этой статье мы разберем, почему это происходит, проанализируем программный код и рассмотрим варианты решения данной проблемы.
Основная причина кроется не в прихоти разработчиков 1С, а в технологических особенностях работы банковских протоколов. Разберем по шагам два сценария возврата:
Проанализируем фрагмент кода, который отвечает за выбор позиций в форме оформления возврата. В типовом решении при наличии оплаты картой система автоматически устанавливает признак Выбран для всех строк чека:
Для Каждого СтрокаТЧ Из ТаблицаТоваров Цикл
Если СтрокаТЧ.ЧекККМ = ЧекККМ
И (ОплаченКартой
ИЛИ (СтрокаТЧ.НоменклатураНабора = НоменклатураНабора
И СтрокаТЧ.ХарактеристикаНабора = ХарактеристикаНабора)) Тогда
СтрокаТЧ.Выбран = ТекущиеДанные.Выбран;
КонецЕсли;
Если НЕ СтрокаТЧ.ЧекККМ = ЧекККМ Тогда
СтрокаТЧ.Выбран = Ложь;
КонецЕсли;
Если СтрокаТЧ.Выбран Тогда
ПодобраноПозиций = ПодобраноПозиций + 1;
Всего = Всего + СтрокаТЧ.Сумма;
КонецЕсли;
КонецЦикла;
Как мы видим, условие ОплаченКартой является триггером, который заставляет систему «подтягивать» весь перечень товаров без возможности индивидуального подбора строк пользователем.
Это официальная рекомендация методистов 1С для работы с интегрированными терминалами. Если покупатель хочет вернуть один товар из трех:
Этот метод гарантирует отсутствие расхождений, когда в конце дня выполняется автоматическая сверка итогов при закрытии смены на банковском терминале. Он обеспечивает полное соответствие данных в 1С, данных в ОФД и фактического движения денежных средств по банку.
Если схема с перепродажей не подходит, можно рассмотреть использование автономного режима работы терминала. Когда терминал не подключен к 1С физически (в настройках оборудования указано «Автономный терминал»), программа теряет контроль над банковской транзакцией. В этом случае:
Если бизнес-процессы требуют возможности частичного возврата именно через интерфейс РМК «день в день», потребуется расширение или модификация формы ОформлениеВозвратаДеньВДень. Также можно применить готовое расширение: частичная отмена по эквайрингу для УТ 11.5. Рассмотрим основные направления доработки:
ОплаченКартой при заполнении таблицы подбора.Подведем итог: ограничение частичного возврата при оплате картой в 1С:УТ 11.5 — это защитный механизм от ошибок эквайринга. Самым безопасным и правильным с точки зрения учета методом остается полное сторнирование операции с последующим оформлением новой продажи.