Рассмотрим распространенную ситуацию: на торговой точке используется проверенная временем конфигурация «Торговля и Склад» (ТиС) на платформе 1С 7.7. Руководство решает установить банковский эквайринговый терминал для приема оплат по картам. Изначально терминал может работать автономно: кассир вводит сумму на самом устройстве, покупатель прикладывает карту, а затем в 1С пробивается чек. Проанализируем, как правильно передать команду фискальному регистратору на печать чека с верным типом оплаты, так как штатные механизмы старой платформы имеют свои ограничения.
Разберем по шагам, как устроен базовый обмен 1С 7.7 с кассовым оборудованием. В отличие от современных конфигураций, в старых версиях взаимодействие с драйвером фискального регистратора (ФР) часто реализовано через формирование промежуточного XML-файла. В этот файл передаются основные параметры чека, включая типы оплаты.
Посмотрим на пример стандартного кода, формирующего узлы оплат в XML:
Атрибут(XMLPayments, "Cash", Макс(СуммаЧека, Получено));
Атрибут(XMLPayments, "CashLessType1", "0");
Атрибут(XMLPayments, "CashLessType2", "0");
Атрибут(XMLPayments, "CashLessType3", "0");
Из примера видно, что для безналичных расчетов зарезервированы три параметра: CashLessType1, CashLessType2 и CashLessType3. Однако в описании формата файла нет жесткой привязки, какой именно из них отвечает за банковские карты. Они лишь передают суммы электронной оплаты первого, второго и третьего типа соответственно.
Выясним причину такой абстрактности. Дело в том, что параметры типа CashLessType не содержат текстовых наименований (таких как «Оплата картой» или «Кредит»). Они напрямую ссылаются на индексы типов оплат, которые зашиты во внутренней памяти (таблицах) самой кассы (ККТ).
Чтобы чек печатался правильно, выполним следующие действия:
CashLessType3.Рассмотрим подробнее законодательный нюанс. Ранее многие пользователи просто переименовывали один из пунктов (или использовали существующий) под названием «Электронные». Однако, согласно актуальным форматам фискальных документов (ФФД 1.05, 1.1 и 1.2) по закону 54-ФЗ, оплата банковской картой должна строго классифицироваться и печататься в чеке с тегом «Безналичными».
Термин «Электронные» использовался в первоначальной версии ФФД 1.0, которая давно утратила силу. Современные драйверы ККТ способны «на лету» заменять старое название на новое, но правильнее и безопаснее изначально настроить таблицу ККТ так, чтобы нужный индекс оплаты назывался именно «Безналичными».
Проанализируем текущие реалии автоматизации. Стандартный механизм с формированием XML-файла сегодня безнадежно устарел. Основная проблема заключается в том, что этот файл не поддерживает передачу множества обязательных тегов, требуемых 54-ФЗ: кодов маркировки товаров (Честный ЗНАК), ИНН кассира, признаков предмета и способа расчета.
Чтобы решить все эти проблемы разом, рекомендуем отказаться от XML-обмена. В 1С 7.7 сейчас повсеместно применяются доработанные внешние обработки (файлы с расширением .ert). Они работают следующим образом:
Если вы хотите избежать человеческого фактора (когда кассир забыл пробить чек в 1С, но списал деньги с карты, или наоборот), систему можно улучшить. 1С 7.7 вполне поддерживает полноценную интеграцию с банковскими терминалами.
Рассмотрим схему интеграции, например, со Сбербанком:
sbrf.dll.Такой подход делает работу пользователей в 1С 7.7 максимально похожей на работу в современных версиях программы (1С 8.3), сводит к минимуму ошибки кассиров и обеспечивает полное соответствие требованиям законодательства по применению онлайн-касс.