При автоматизации торговых процессов в нетиповых и самописных решениях на платформе 1С неизбежно возникает задача фискализации расчетов в соответствии с требованиями 54-ФЗ. Оценим сложность задачи, разберем возможные варианты реализации, а также выясним, какие изменения потребуется внести в учетную структуру конфигурации.
Сложность и сроки подключения кассового оборудования к самописке напрямую зависят от текущего состояния прикладного решения. Проанализируем ключевые факторы:
ЧекККМ, ОтчетОРозничныхПродажах или ПриходныйКассовыйОрдер), интеграция займет значительно меньше времени. Если же учет продаж и кассовых смен отсутствует, придется с нуля проектировать кассовые документы, учет чеков, открытие и закрытие смены.Рассмотрим стандартный и наиболее масштабируемый подход — перенос в самописную систему подсистем из типовой «1С:Библиотеки подключаемого оборудования».
Преимущества подхода:
Особенности реализации: внедрение требует переноса справочников подключаемого оборудования, общих модулей, макетов драйверов и обработок обслуживания, что может потребовать времени на первичное объединение метаданных.
Разберем вариант, когда внедрение полной библиотеки БПО является избыточным, и требуется реализовать точечное пробитие чеков через Native API или COM-интерфейс драйвера ККТ.
Особенности подхода:
Посмотрим на общую схему вызова внешней компоненты на клиенте:
// Подключение внешней компоненты драйвера ККТ
ИмяКомпоненты = "AddIn.Fptr10";
Подключено = ПодключитьВнешнююКомпоненту(ИмяКомпоненты);
Если Подключено Тогда
ДрайверККТ = Новый(ИмяКомпоненты);
// Установка параметров соединения и открытие чека
ДрайверККТ.setParam(ДрайверККТ.LIBFPTR_PARAM_PORT, ДрайверККТ.LIBFPTR_PORT_USB);
ДрайверККТ.open();
Иначе
ВызватьИсключение "Не удалось загрузить внешнюю компоненту ККТ!";
КонецЕсли;
Если самописная конфигурация работает в режиме веб-клиента, на Linux-клиентах или в терминальной ферме (RDP), прямое подключение COM-компонент к локальным портам часто вызывает сложности. В таких случаях рассмотрим архитектуру через промежуточный HTTP/REST-сервис.
HTTPСоединение и HTTPЗапрос) с телом чека в формате JSON.При проектировании документов продажи в самописной базе важно предусмотреть реквизиты для сохранения результатов фискализации. Добавим в документ или специальный регистр сведений следующие поля:
СтатусЧека (перечисление или булево: НеПробит, Пробит, Ошибка);НомерФискальногоДокумента (число / строка);ФискальныйПризнак (строка);НомерКассовойСмены (число);НомерЧекаЗаСмену (число);ДатаВремяФискализации (дата).Итог: для простой базы с готовым документом продажи подключение через готовый драйвер или базовую обработку занимает от 1 до 3 рабочих дней. Если база полностью самописная без кассового контура, либо планируется масштабирование парка оборудования и поддержка ФФД 1.2 с маркировкой, оптимальным решением является интеграция типовой подсистемы БПО, что займет в среднем от 1 до 2 недель разработки.