Как настроить сверку итогов по эквайрингу при закрытии смены в 1С:Управление торговлей 10.3

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

При переходе на «1С:Управление торговлей 10.3» с более современных конфигураций (таких как УТ 11 или «1С:Розница») пользователи и администраторы часто сталкиваются с неожиданным поведением системы: чеки по банковским картам через РМК успешно пробиваются, но в конце смены отчет со сверкой итогов по эквайринговому терминалу автоматически не распечатывается. Проанализируем, почему это происходит и какими способами можно организовать правильное закрытие банковской смены.

Причины отсутствия автоматической сверки в типовой УТ 10.3

Разберем архитектурные особенности типовой конфигурации. В отличие от конфигураций на управляемых формах, в типовой «Управление торговлей 10.3» реализована следующая логика:

  1. Разделение процедур закрытия: Обработка Закрытие кассовой смены и интерфейс РМК при закрытии кассы отправляют команду снятия Z-отчета исключительно на фискальный регистратор (ККТ) и создают документ ОтчетОРозничныхПродажах. Программное взаимодействие с эквайринговым терминалом в этот момент кодом типовой конфигурации не предусмотрено.
  2. Ограничение прав доступа: Штатная обработка для работы с терминалом вынесена в отдельный пункт меню и по умолчанию доступна только пользователям с полными правами. У типовой роли кассира нет прав на ее запуск.

Способ 1. Ручное выполнение сверки через типовой интерфейс

Рассмотрим, где в стандартной конфигурации расположен инструмент для взаимодействия с банковским терминалом. Для выполнения сверки итогов вручную выполним следующие шаги:

  1. Перейдем в главное меню: Сервис → Торговое оборудование → Управление эквайринговой системой.
  2. В открывшемся окне выберем нужный эквайринговый терминал из списка подключенного оборудования.
  3. Нажмем кнопку Сверка итогов. Терминал свяжется с процессинговым центром банка и распечатает отчет о закрытии банковской смены.

Обратите внимание: выполнять сверку итогов по банковскому терминалу рекомендуется до снятия Z-отчета на фискальном регистраторе. Это позволит кассиру убедиться в отсутствии расхождений между суммами оплат картой в 1С и на стороне банка до окончательной фиксации смены на ККТ.

Способ 2. Доработка типовой процедуры закрытия смены в конфигураторе

Если требуется полностью автоматизировать процесс, как в современных версиях 1С, необходимо доработать процедуру закрытия смены. Разберем по шагам, как встроить вызов сверки итогов:

  1. Откроем конфигурацию и найдем форму обработки ЗакрытиеКассовойСмены (либо модуль формы РМК).
  2. В процедуру, отвечающую за нажатие кнопки закрытия смены, добавим вызов метода эквайринга перед командой снятия отчета с гашением (Z-отчета).
  3. Посмотрим на пример программного вызова операции сверки:

// Получаем ссылку на подключенный терминал
Если ПолучитьСерверТО().ПолучитьСостояниеОборудования(Перечисления.ВидыТорговогоОборудования.ЭквайринговыйТерминал) Тогда
    
    // Выполняем сверку итогов на эквайринговом терминале
    Отказ = Ложь;
    ПолучитьСерверТО().ВыполнитьКоманду(
        Перечисления.ВидыТорговогоОборудования.ЭквайринговыйТерминал,
        "СверкаИтогов",
        ,
        Отказ
    );
    
    Если Отказ Тогда
        Предупреждение("Не удалось выполнить сверку итогов по банковскому терминалу!");
    КонецЕсли;

КонецЕсли;

Такой подход гарантирует, что кассир не забудет закрыть банковский день перед фискализацией итогов смены.

Способ 3. Автоматическая сверка на уровне драйвера эквайринга (Сбербанк)

Проанализируем вариант решения без изменения конфигурации 1С, если используется эквайринг Сбербанка (библиотеки pilot_nt.dll или sbrf.dll). В таком ПО предусмотрена возможность выполнения операций по внутреннему расписанию.

Разберем настройку конфигурационного файла pinpad.ini:

  1. Перейдем в рабочий каталог обмена эквайринга на компьютере (как правило, это C:\SBRF или C:\sc552).
  2. Откроем файл pinpad.ini текстовым редактором.
  3. Добавим параметры автоматического запуска команды сверки итогов (код команды 7) в заданное время:

ScheduledTime=23:59:00
ScheduledCommand=7

После сохранения параметров терминал будет автоматически отправлять команду закрытия банковского дня на хост банка в указанное время без участия оператора и независимо от действий в 1С.

← На главную