Подключение современного торгового оборудования к устаревшим конфигурациям, таким как 1С:Розница 1.0, — задача нетривиальная, но выполнимая. Основная сложность заключается в том, что архитектура «старой» Розницы создавалась задолго до вступления в силу закона 54-ФЗ об онлайн-кассах. В этой статье мы подробно разберем, как реализовать поддержку ККТ с передачей данных, не прибегая к полному обновлению конфигурации до версии 2.2 или 3.0.
Когда мы сталкиваемся с сильно переписанной конфигурацией, которую невозможно обновить типовыми средствами, у нас есть три основных пути. Рассмотрим каждый из них подробнее:
Проанализируем наиболее эффективный путь — адаптацию функционала через механизмы обработки обслуживания.
В старых версиях системы все кассовые аппараты воспринимались как ФискальныйРегистратор. В современных реалиях нам нужно работать с объектом ККТ с передачей данных. Основное отличие заключается в расширенном составе передаваемых данных (теги ФФД).
Для начала нам необходимо изучить логику работы в модуле, отвечающем за печать чека. Разберем типичный алгоритм доработки:
Найдем в конфигурации места, где происходит вызов функций печати. Обычно это обработка РМК или документ ЧекККМ. Нам нужно внедрить проверку типа оборудования. Проанализируем пример логики:
Если ТипОборудования = Перечисления.ТипыОборудования.ККТСПередачейДанных Тогда
// Вызов нового метода печати, адаптированного под 54-ФЗ
Результат = ПечатьЧекаНаККТ(ОбъектДрайвера, ДанныеЧека);
Иначе
// Старая логика для обычных ФР
Результат = ОбъектДрайвера.ПечататьЧек(Параметры);
КонецЕсли;
Основная задача — подготовить структуру ДанныеЧека так, чтобы она содержала все необходимые теги (ИНН покупателя, адрес установки, систему налогообложения и т.д.).
Выясним причину возможных проблем при подключении драйверов. Современные онлайн-кассы требуют использования драйверов новых поколений (например, АТОЛ 10.х или Штрих-М 5.x).
Важный момент: Если ваша 1С:Розница работает на 32-битной платформе, вам обязательно нужно устанавливать и регистрировать 32-битные компоненты драйвера ККТ. При несоответствии разрядности COM-объект не будет инициализирован, и программа выдаст ошибку «Объект не найден».
Также стоит обратить внимание на компоненту fptr1c.dll. В старых конфигурациях она жестко прописана в макетах обработок обслуживания. Посмотрим на ситуацию критически: скорее всего, вам придется полностью заменить старую обработку обслуживания (файлы .epf) на новую, взятую из актуального дистрибутива 1С или обновленной УТ 10.3.
Закон требует передачи специфических данных, которых в Рознице 1.0 просто нет в структуре метаданных. Рассмотрим, как это решить:
Полный расчет по умолчанию, если не планируется сложная доработка системы авансов.СформироватьЧек.Проанализируем важный аспект, упомянутый опытными разработчиками: в 1С:Розница 1.0 отсутствуют документы «Чек коррекции». По закону 54-ФЗ, если кассир совершил ошибку или произошел технический сбой, необходимо оформить коррекцию.
Для решения этой проблемы мы рекомендуем два варианта:
Когда вы приступите к тестированию, помните о золотом правиле: «Бейте чеки на 1 рубль». Поскольку касса онлайн, все данные сразу уходят в ОФД и налоговую. Для тестирования лучше использовать специальный фискальный накопитель (МГМ — массо-габаритный макет) или тестовый контур ОФД.
Если вы решили копировать код из УТ 10.3, обратите внимание на модуль РаботаСТорговымОборудованием. В нем сосредоточена вся логика взаимодействия с внешними компонентами. Проанализируем процедуру инициализации устройства:
Функция ПодключитьУстройство(Устройство)
// Инициализация COM-объекта нового драйвера
Попытка
ОбъектДрайвера = Новый COMОбъект("AddIn.Atol_KKT_10");
Исключение
Сообщить("Не удалось загрузить драйвер ККТ!");
Возврат Ложь;
КонецПопытки;
// Настройка параметров связи
ОбъектДрайвера.set_Model(Параметры.Модель);
ОбъектДрайвера.set_Port(Параметры.Порт);
// ... и так далее
КонецФункции
Подключение онлайн-кассы к 1С:Розница 1.0 — это процесс, требующий глубокого понимания работы драйверов и протоколов обмена. Несмотря на кажущуюся сложность, использование механизмов из УТ 10.3 или проверенных внешних обработок позволяет продлить жизнь старой конфигурации без дорогостоящего перехода на новые версии, сохраняя при этом все доработки и привычный интерфейс для кассиров.
Главное — уделить внимание корректному заполнению тегов ФФД и обеспечить возможность ввода контактных данных покупателя для отправки электронных чеков.