При переходе со старых фискальных регистраторов или АСПД на современные онлайн-кассы с фискальным накопителем (по требованиями 54-ФЗ) у владельцев систем на базе 1С:Предприятие 7.7 (в частности, «Торговля и Склад») возникает вопрос: сможет ли программа работать с новым кассовым аппаратом без изменения кода?
Рассмотрев требования законодательства и архитектуру платформы, сделаем главный вывод: штатный механизм взаимодействия с кассами в 1С 7.7 требует обязательно доработки. Простой замены драйвера оборудованием недостаточно, так как изменился состав передаваемых в ККТ фискальных данных и логика расчета показателей чека.
Разберем по шагам, какие именно изменения необходимо внести в конфигурацию и обработку обслуживания кассового аппарата (.ert):
Так как платформа 1С 7.7 является 32-разрядной и не поддерживается современной библиотекой подключаемого оборудования (БПО), проанализируем доступные способы интеграции:
Прямой вариант подключения заключается в вызове 32-битной COM-компоненты драйвера (например, драйверов Штрих-М или АТОЛ), предварительно зарегистрированной в операционной системе с помощью команды regsvr32. Внешняя обработка обслуживания 1С 7.7 инициализирует OLE/COM-объект и передает данные чека командами драйвера.
Более надежная схема интеграции подразумевает формирование в 1С 7.7 файла-запроса (JSON или XML) и его отправку по HTTP-протоколу на локальный кассовый веб-сервер. Веб-сервер принимает структуру чека и взаимодействует с онлайн-кассой по протоколу TCP/IP через современный 64-битный драйвер. Этот подход полностью изолирует 1С 7.7 от возможных зависаний кассовых драйверов и решает проблемы с пробросом портов при работе через RDP.
При таком подходе 1С 7.7 выполняет роль системы товароучета (Back-Office), а на рабочем месте кассира устанавливается специализированная кассовая программа (Front-Office). Обмен данными о товарах, ценах, остатках и пробитых чеках между 1С 7.7 и кассовой программой выполняется в фоновом режиме через файлы обмена (XML, CSV, JSON).
Проанализируем порядок формирования чеков в торговых операциях при расчетах наличными или по эквайринговым картам: