При переходе на онлайн-кассы владельцы «классических» конфигураций 1С на обычных формах (таких как Управление торговлей 10.3 или Бухгалтерия предприятия 2.0) часто сталкиваются с проблемой совместимости нового оборудования. В данной статье мы подробно разберем процесс интеграции фискального регистратора «Касса №1» (К-1Ф) от компании Астрал в программную среду 1С, выясним, какие драйверы необходимы, и как обойти ограничения типовых библиотек.
Прежде всего, проанализируем само устройство. Под брендом «Касса №1» скрывается фискальный регистратор «К-1Ф». Это важно понимать при поиске драйверов в реестрах и на официальных ресурсах. Устройство работает на базе современных протоколов передачи данных, однако для его связи со старыми версиями 1С требуется специфический подход, отличный от того, который применяется в современных конфигурациях на управляемых формах.
Рассмотрим техническую сторону вопроса. Современные конфигурации 1С используют БПО (Библиотеку подключаемого оборудования) и Native-компоненты. Старые же решения (УТ 10.3, БП 2.0, 1С 7.7) «общаются» с торговым оборудованием через COM-объекты (ActiveX).
Для успешного подключения нам необходимо выполнить следующие шаги:
v8 или drivers) появятся необходимые нам внешние обработки обслуживания.AstralKKT.dll (через regsvr32), если это не произошло автоматически при установке.Разберем ситуацию с УТ 10.3. Начиная с релизов 10.3.45, в конфигурацию был добавлен функционал для работы с ККТ с передачей данных (54-ФЗ). Посмотрим на алгоритм действий:
В справочнике «Торговое оборудование» при добавлении нового устройства необходимо выбрать тип «ККТ с передачей данных». Если в списке моделей нет прямой поддержки «Кассы №1», мы используем внешнюю обработку. Проанализируем содержимое архива поставщика драйвера: там должна присутствовать обработка с именем вроде VersionTKKT.epf или AstralKKT_FZ54.epf.
Важный нюанс: даже если при нажатии кнопки «Тест устройства» система выдает сообщение «Тест не пройден», это не всегда означает неработоспособность. На практике часто оказывается, что смена открывается и чеки пробиваются корректно, так как обработка может возвращать нестандартный код ответа, который не распознается типовым механизмом теста связи 1С.
Ситуация с БП 2.0 значительно сложнее. Фирма 1С официально прекратила развитие функционала 54-ФЗ в этой конфигурации, сосредоточившись на БП 3.0. Рассмотрим, как решить эту задачу:
Для работы в БП 2.0 стандартный механизм подключаемого оборудования может «не подцепить» драйвер К-1Ф. В этом случае нам потребуется специализированная внешняя обработка, которая будет напрямую обращаться к объекту драйвера, минуя типовые механизмы конфигурации.
Выясним причину, почему это вызывает сложности: в БП 2.0 отсутствуют необходимые метаданные для хранения информации о чеках (теги ФФД 1.05 и выше). Решение заключается в использовании внешних обработок, которые самостоятельно формируют структуру чека и передают её в кассу. Пример инициализации драйвера в коде может выглядеть так:
Попытка
Драйвер = Новый COMОбъект("AstralKKT.Driver");
Драйвер.УстановитьПараметрыСвязи(Порт, Скорость);
Драйвер.ОткрытьЧек(ТипЧека, Налоги);
Исключение
Сообщить("Ошибка инициализации драйвера: " + ОписаниеОшибки());
КонецПопытки;
Проанализируем современные требования законодательства. Если ваша организация занимается продажей маркированных товаров, касса должна поддерживать ФФД 1.2.
Несмотря на то, что «Касса №1» технически поддерживает этот формат, старые конфигурации (БП 2.0, УТ 10.3) не умеют передавать коды маркировки (тег 1163) в кассу. Даже с рабочим драйвером вам придется либо дорабатывать код конфигурации, внедряя в него механизмы работы с DataMatrix, либо использовать сторонние решения (внешние обработки печати чеков), которые берут на себя всю логику взаимодействия с драйвером Астрала.
Если перед вами стоит задача подключить К-1Ф к 1С:Предприятие 7.7, обратите внимание на папку v7 в комплекте драйвера. Там находится файл k1f_77.ert. Подключение осуществляется через загрузку внешней компоненты. Рассмотрим пример программного подключения:
Если ЗагрузитьВнешнююКомпоненту("AstralKKT.dll") <> 0 Тогда
ККТ = СоздатьОбъект("AddIn.AstralKKT");
// Далее следуют команды управления кассой согласно протоколу производителя
Иначе
Предупреждение("Компонента AstralKKT.dll не найдена!");
КонецЕсли;
Подводя итог нашему анализу, можно сделать следующие выводы:
Таким образом, мы выяснили, что связка «Касса №1» + 1С (Обычные формы) является вполне жизнеспособной при условии правильного подбора внешних обработок обслуживания и корректной регистрации библиотек драйвера в системе.