При переходе на «1С:Управление торговлей 10.3» с более современных конфигураций (таких как УТ 11 или «1С:Розница») пользователи и администраторы часто сталкиваются с неожиданным поведением системы: чеки по банковским картам через РМК успешно пробиваются, но в конце смены отчет со сверкой итогов по эквайринговому терминалу автоматически не распечатывается. Проанализируем, почему это происходит и какими способами можно организовать правильное закрытие банковской смены.
Разберем архитектурные особенности типовой конфигурации. В отличие от конфигураций на управляемых формах, в типовой «Управление торговлей 10.3» реализована следующая логика:
Закрытие кассовой смены и интерфейс РМК при закрытии кассы отправляют команду снятия Z-отчета исключительно на фискальный регистратор (ККТ) и создают документ ОтчетОРозничныхПродажах. Программное взаимодействие с эквайринговым терминалом в этот момент кодом типовой конфигурации не предусмотрено.Рассмотрим, где в стандартной конфигурации расположен инструмент для взаимодействия с банковским терминалом. Для выполнения сверки итогов вручную выполним следующие шаги:
Обратите внимание: выполнять сверку итогов по банковскому терминалу рекомендуется до снятия Z-отчета на фискальном регистраторе. Это позволит кассиру убедиться в отсутствии расхождений между суммами оплат картой в 1С и на стороне банка до окончательной фиксации смены на ККТ.
Если требуется полностью автоматизировать процесс, как в современных версиях 1С, необходимо доработать процедуру закрытия смены. Разберем по шагам, как встроить вызов сверки итогов:
ЗакрытиеКассовойСмены (либо модуль формы РМК).
// Получаем ссылку на подключенный терминал
Если ПолучитьСерверТО().ПолучитьСостояниеОборудования(Перечисления.ВидыТорговогоОборудования.ЭквайринговыйТерминал) Тогда
// Выполняем сверку итогов на эквайринговом терминале
Отказ = Ложь;
ПолучитьСерверТО().ВыполнитьКоманду(
Перечисления.ВидыТорговогоОборудования.ЭквайринговыйТерминал,
"СверкаИтогов",
,
Отказ
);
Если Отказ Тогда
Предупреждение("Не удалось выполнить сверку итогов по банковскому терминалу!");
КонецЕсли;
КонецЕсли;
Такой подход гарантирует, что кассир не забудет закрыть банковский день перед фискализацией итогов смены.
Проанализируем вариант решения без изменения конфигурации 1С, если используется эквайринг Сбербанка (библиотеки pilot_nt.dll или sbrf.dll). В таком ПО предусмотрена возможность выполнения операций по внутреннему расписанию.
Разберем настройку конфигурационного файла pinpad.ini:
C:\SBRF или C:\sc552).pinpad.ini текстовым редактором.7) в заданное время:
ScheduledTime=23:59:00
ScheduledCommand=7
После сохранения параметров терминал будет автоматически отправлять команду закрытия банковского дня на хост банка в указанное время без участия оператора и независимо от действий в 1С.