Как подключить онлайн-кассу к 1С 7.7 «Торговля и Склад» с минимальными затратами времени и бюджета?

Программист 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

С развитием фискального законодательства (54-ФЗ, форматы фискальных данных ФФД 1.05 и 1.2, обязательная маркировка товаров) многие владельцы торговых систем на базе «1С:Предприятие 7.7» столкнулись с дилеммой. С одной стороны, конфигурация «Торговля и Склад 9.2» (ТиС) за долгие годы эксплуатации была максимально адаптирована под нужды конкретного бизнеса, обросла множеством уникальных доработок, и переводить учет на платформу «1С 8» долго, дорого и болезненно. С другой стороны, требования налогового законодательства обязывают использовать современные онлайн-кассы (ККТ), которые «из коробки» старой платформой не поддерживаются.

В этой статье мы подробно разберем, как решить задачу подключения онлайн-кассы к 1С 7.7 с минимальными затратами ресурсов программиста и без масштабного обновления конфигурации. Мы рассмотрим как самый простой («быстрый») способ обхода ограничений платформы, так и проанализируем современные технические вызовы, с которыми вам придется столкнуться на практике.

---

Методика быстрого подключения: обновляем только обработку обслуживания

Если ваша конфигурация «Торговля и Склад» сильно кастомизирована, стандартное обновление до актуального релиза (в котором реализована поддержка требований 54-ФЗ со стороны вендора) приведет к потере уникального функционала и потребует десятков часов ручного объединения кода.

Однако существует альтернативный путь. Архитектура взаимодействия 1С 7.7 с торговым оборудованием построена на разделении логики: сама конфигурация работает со стандартизированным интерфейсом, а непосредственным управлением кассой занимается внешняя обработка обслуживания (с расширением .ert) и драйвер производителя ККТ. Это позволяет нам обновить только ту часть системы, которая отвечает за отправку команд на фискальный регистратор.

Рассмотрим по шагам алгоритм быстрого подключения:

  1. Получение актуальной обработки обслуживания. Нам понадобится внешняя обработка, адаптированная под требования онлайн-касс (например, разработанная для работы с новыми драйверами АТОЛ или Штрих-М). В качестве примера можно использовать обработки семейства fratol54_comm_105.ert или аналогичные решения от независимых разработчиков.
  2. Локализация ошибок компиляции. При попытке запустить новую обработку в старой конфигурации система выдаст ошибки, указывающие на отсутствие некоторых глобальных переменных. Это происходит потому, что в новых релизах конфигурации «Торговля и Склад» в глобальном модуле были добавлены переменные для хранения параметров подключения ККТ.
  3. Добавление переменных в Глобальный модуль. Чтобы не переписывать логику инициализации оборудования, нам достаточно объявить недостающие переменные в самом начале Глобального модуля вашей информационной базы. Как правило, обработка требует наличия следующих объектов:

Перем глФРPortNumber Экспорт; // Номер порта подключения ФР
Перем глФРBaudRate Экспорт;   // Скорость обмена данными
Перем глФРPassword Экспорт;   // Пароль доступа к ККТ
Перем глФРModel Экспорт;      // Код модели фискального регистратора

Использование ключевого слова Экспорт обязательно, так как внешняя обработка обслуживания должна иметь прямой доступ к этим переменным в контексте всей сессии работы пользователя.

Лайфхак для сохранения «чистоты» конфигурации: если вы категорически не хотите вносить изменения в Глобальный модуль (например, база находится на жесткой поддержке или вы хотите выполнить интеграцию без монопольного доступа к конфигуратору), эти переменные можно определить и инициализировать непосредственно внутри самой внешней обработки обслуживания .ert. Перед началом работы обработка может проверять наличие глобальных переменных, и в случае их отсутствия — использовать свои локальные параметры или вызывать диалоговое окно настройки подключения.

---

Адаптация внешней обработки обслуживания

Разберем подробнее, как именно происходит передача данных из 1С 7.7 в драйвер онлайн-кассы. При классической схеме продаж конфигурация формирует таблицу товаров, содержащую наименование, цену, количество, ставку НДС и сумму. Задача обработки обслуживания — транслировать эти данные в команды XML или методы API, понятные драйверу ККТ.

В простейшем случае процедура печати чека в коде обработки выглядит следующим образом:


// Пример упрощенной отправки строки чека в ККТ
Процедура НапечататьСтрокуЧека(ОбъектДрайвера, ТоварНаименование, Цена, Количество, СтавкаНДС)
    // Установка свойств позиции в драйвере онлайн-кассы
    ОбъектДрайвера.Name = СокрЛП(Лев(ТоварНаименование, 64)); // Ограничение по длине наименования
    ОбъектДрайвера.Price = Цена;
    ОбъектДрайвера.Quantity = Количество;
    
    // Сопоставление ставок НДС 1С и кодов налоговых ставок драйвера ККТ
    Если СтавкаНДС = ПолучитьПустоеЗначение("Справочник.СтавкиНДС") Тогда
        ОбъектДрайвера.TaxNumber = 4; // Без НДС
    ИначеЕсли СтавкаНДС.Ставка = 20 Тогда
        ОбъектДрайвера.TaxNumber = 1; // НДС 20%
    ИначеЕсли СтавкаНДС.Ставка = 10 Тогда
        ОбъектДрайвера.TaxNumber = 2; // НДС 10%
    КонецЕсли;
    
    // Регистрация продажи позиции
    Если ОбъектДрайвера.Registration() <> 0 Тогда
        Предупреждение("Ошибка регистрации товара: " + ОбъектДрайвера.ResultDescription);
    КонецЕсли;
КонецПроцедуры

Такой подход требует минимального времени на реализацию (в среднем от 2 до 4 часов работы программиста) и позволяет быстро запустить продажи по новым правилам.

---

Современные технические сложности и законодательные ограничения

Описанный выше «простой» способ отлично решал задачи бизнеса на этапе перехода на ФФД 1.05. Однако в современных реалиях розничной торговли требования к кассовому чеку существенно ужесточились. Выясним, почему стандартный функционал 1С 7.7 требует более глубокой модернизации при работе в современных условиях:

1. Требования ФФД 1.2 и маркировка товаров

Если ваше предприятие торгует товарами, подлежащими обязательной маркировке в системе «Честный ЗНАК» (обувь, одежда, парфюмерия, молочная продукция, питьевая вода и др.), простая печать наименования товара больше не легальна. Согласно стандарту ФФД 1.2, касса обязана:

Старые драйверы ККТ (например, АТОЛ 8-й или 9-й версии) физически не умеют работать с ФФД 1.2. Потребуется обязательный переход на современные версии драйверов, например, ДТО 10 (Драйвер торгового оборудования АТОЛ 10.x) или Штрих-М 5.16.

2. Совместимость 1С 7.7 с современными драйверами ККТ

Платформа «1С:Предприятие 7.7» является 32-битным приложением и взаимодействует с внешним миром преимущественно через технологию COM/OLE. Современный драйвер АТОЛ ДТО 10 ориентирован на работу в новых средах разработки и не всегда корректно регистрирует свои COM-объекты в операционной системе для использования устаревшими клиентами.

Для решения этой проблемы разработчикам приходится применять специализированные внешние компоненты (так называемые «обертки» или «прокладки»), которые переводят вызовы из 1С 7.7 в формат XML-пакетов, которые принимает драйвер ДТО 10. Напрямую работать с методами драйвера в 1С 7.7 без сторонних библиотек становится крайне трудозатратно.

3. Сложные расчеты и новые ставки НДС

Современный фискальный учет требует корректного отражения типов оплаты. Просто отправить сумму чека на кассу недостаточно, если у вас присутствуют:

Все эти «бантики» (как выразился один из участников обсуждения) на самом деле являются жесткими законодательными требованиями, невыполнение которых грозит серьезными штрафами со стороны ФНС.

---

Альтернативные варианты автоматизации: что выбрать?

Если «простой» метод ручной доработки глобального модуля и старой обработки обслуживания не закрывает все потребности вашего бизнеса (например, из-за маркировки), рассмотрим два основных альтернативных пути решения проблемы.

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

На рынке существуют проверенные комплексные разработки от независимых авторов (например, модули интеграции от разработчика victuan и другие решения на специализированных ресурсах).

Преимущества данного подхода:

Вариант Б. Гибридная схема (1С 7.7 как Back-Office + Кассовое ПО как Front-Office)

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

  1. В качестве рабочей программы кассира на рабочем месте устанавливается современное легкое кассовое ПО (например, «1С:Касса», «Frontol», «СБИС Розница» или аналогичные решения).
  2. Данное кассовое ПО регулярно обновляется разработчиками, поддерживает любые современные онлайн-кассы, ФФД 1.2, эквайринг и маркировку «из коробки».
  3. Из вашей базы 1С 7.7 настраивается выгрузка справочника товаров (штрихкоды, наименования, цены) во внешнюю кассовую программу (например, через текстовые файлы формата CSV, XML или JSON).
  4. В конце смены кассовое ПО выгружает отчет о розничных продажах обратно в 1С 7.7, где на его основании автоматически создается документ «Отчет о розничных продажах» для списания остатков со склада.

Этот подход позволяет сохранить вашу проверенную временем учетную систему в первозданном виде и полностью делегировать сложные кассовые операции современному специализированному софту.

← На главную