При работе с торговым оборудованием в 1С:Розница 2.2 специалисты часто сталкиваются с ситуацией, когда после проведения сверки итогов на эквайринговом терминале Ingenico (например, iPP220) кассовый аппарат начинает бесконтрольно печатать слип-чеки за всю прошедшую смену. Это приводит к огромному расходу кассовой ленты и задержке процесса закрытия магазина. Давайте разберем эту проблему подробно, выясним причины такого поведения оборудования и рассмотрим пошаговые алгоритмы решения задачи.
Прежде чем приступать к настройкам, нам необходимо понять механику процесса. Когда мы инициируем процедуру «Закрытие смены» в 1С, программа отправляет команду фискальному регистратору на печать Z-отчета и эквайринговому терминалу на выполнение операции «Сверка итогов». Проблема избыточной печати возникает тогда, когда терминал вместо краткого отчета о сверке (сумма по картам) начинает выгружать контрольную ленту (полный журнал операций).
Выделим основные уровни, на которых может скрываться ошибка:
В первую очередь проверим самые простые настройки в интерфейсе программы. Перейдем в раздел Администрирование — Подключаемое оборудование. Найдем наш эквайринговый терминал и откроем его настройки.
Обратим внимание на следующие параметры:
Если ваш терминал Ingenico работает под управлением ПО Arcus2, то причина практически всегда кроется в конфигурационном файле драйвера. Нам нужно найти папку, в которую установлен софт терминала (обычно это C:\Arcus2 или C:\Opos\Arcus2).
Рассмотрим алгоритм правки конфигурации:
cashier.xml (или в старых версиях cashier.ini).PrintJournal или PrintAllReceipts.1, терминал будет печатать все чеки при сверке. Нам необходимо изменить его на 0.Пример корректной настройки в XML-структуре:
<PrintJournal>0</PrintJournal>
В случае, если эквайринг предоставлен Сбербанком, настройки хранятся в иных местах. Проанализируем папку с ПО (часто это C:\sc552). Здесь за поведение терминала при сверке отвечают параметры, прописанные в утилите настройки или файле tlv.list.
Для исправления ситуации выполним следующие шаги:
loadparm.exe (если она предоставлена банком).Print Full Report = No в конфигурации терминала.Иногда настройки печати жестко заданы в самом устройстве. Посмотрим, как мы можем это проверить вручную (может потребоваться пароль инженера, который обычно есть у сотрудников банка):
Если настройки оборудования верны, но проблема сохраняется, нам придется заглянуть «под капот» 1С. Разберем ситуацию: возможно, программный код 1С отправляет терминалу не ту команду. Проанализируем метод закрытия смены.
Нам нужно найти процедуру, отвечающую за сверку итогов. Обычно это метод ВыполнитьСверкуИтогов() в обработке обслуживания терминала. Попробуем использовать отладчик, чтобы понять, в какой момент начинается печать.
Пример логики, которую стоит проверить в коде:
// В обработке закрытия смены может быть цикл
Для Каждого Чек Из СменаЧеки Цикл
// Если здесь по ошибке вызывается печать слипа
ЭквайринговаяСистема.ПечатьПоследнегоЧека(Объект);
КонецЦикла;
Проанализируем процедуру ЗакрытьСмену в модуле формы РМК. Нам нужно убедиться, что вызов метода сверки итогов происходит единократно и после него не следуют команды печати копий чеков. Если мы видим, что 1С вызывает печать для каждого документа из коллекции ЧекиЗаСмену, это явная ошибка конфигурации, которую нужно устранить, закомментировав лишние вызовы.
Мы рассмотрели все возможные варианты решения проблемы «бумажного расточительства» при закрытии смены. Начните с проверки файла настроек драйвера (Arcus2 или Сбербанк), так как в 90% случаев терминал Ingenico ведет себя так именно из-за включенного флага печати журнала (Journal). Если это не помогло — используйте отладчик 1С, чтобы исключить циклическую отправку команд на печать из самой конфигурации.
Помните, что корректно настроенная система при закрытии смены должна выдавать только Z-отчет фискального регистратора и краткий отчет о сверке итогов по банковскому терминалу (обычно это небольшой слип с итоговыми суммами по типам карт).