Как обойти ограничение длины кода товара в кассе АТОЛ 92Ф при выгрузке из 1С?

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

При автоматизации небольших торговых точек часто возникает ситуация, когда бюджетное оборудование, такое как ньюджеры АТОЛ 91Ф или АТОЛ 92Ф, накладывает жесткие технические ограничения на бизнес-процессы. Одной из самых распространенных проблем является нестыковка разрядности кодов товаров: в учетной системе 1С:Предприятие (особенно в старых конфигурациях 7.7) коды товаров могут быть шестизначными и более, в то время как автономная касса принимает только четырехзначные коды (PLU).

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

Выясним причину: почему АТОЛ 92Ф не принимает длинные коды?

Проанализируем архитектуру работы автономных касс (ньюджеров). Эти устройства изначально проектировались для работы в режиме "коробочки", куда загружается база товаров, а кассир выбирает их по короткому коду (PLU) или штрихкоду. Внутренняя память таких устройств ограничена (обычно до 9999 товаров), поэтому и поле "Код" жестко ограничено 4 знаками. Когда мы пытаемся выгрузить из 1С товар с кодом 801234, касса либо обрезает его, либо выдает ошибку, так как ожидает значение в диапазоне от 1 до 9999.

Решение 1: Перевод кассы в режим фискального регистратора (ФР)

Это самый эффективный и рекомендуемый способ. Если ваша задача, как указано в Сообщении 19, — просто напечатать чек из 1С и отправить его в ОФД, то вам совершенно не нужно использовать внутреннюю память кассы и ее таблицу товаров.

Рассмотрим алгоритм работы в режиме ФР:

  1. В этом режиме касса подключается к компьютеру (или ноутбуку) через USB, Ethernet или Wi-Fi.
  2. Управление печатью полностью берет на себя 1С. При пробитии чека 1С передает драйверу ККТ полную структуру данных: наименование товара, цену, количество, ставку НДС и прочие реквизиты.
  3. Поскольку товар не ищется во внутренней памяти кассы по коду PLU, ограничение в 4 знака полностью нивелируется. Вы можете передавать в чеке товар с любым артикулом или кодом, так как касса в данном случае работает просто как принтер с фискальным накопителем.

Для реализации этого метода в 1С v7.7 потребуется использование Драйвера ККТ 10.х от АТОЛ. Проанализируем пример логики взаимодействия через COM-объект:


// Пример инициализации объекта драйвера в 1С 7.7
Драйвер = СоздатьОбъект("AddIn.Atol_KKT_10");
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_MODEL, Строка(Драйвер.LIBFPTR_MODEL_ATOL_92F));
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_PORT, Строка(Драйвер.LIBFPTR_PORT_COM));
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_COM_FILE, "COM3");
Драйвер.applySingleSettings();
Драйвер.open();

Важно помнить, что для перевода АТОЛ 92Ф в режим ФР может потребоваться обновление прошивки до "Платформы 5.0" и активация соответствующей лицензии в личном кабинете АТОЛ Connect.

Решение 2: Использование дополнительного поля SKU в 1С

Если по каким-то причинам работа в режиме ФР невозможна (например, касса должна физически находиться далеко от компьютера и работать автономно), рассмотрим вариант с использованием промежуточного кода.

Как предложено в Сообщении 5, мы можем добавить в справочник Номенклатура дополнительный реквизит — КодДляКассы (или SKU). Проанализируем этот процесс:

  1. В 1С создается новое поле, которое заполняется по порядку от 1 до 9999.
  2. При выгрузке базы товаров в кассу передается именно этот короткий код в качестве PLU.
  3. На ценниках в магазине печатается этот короткий код рядом с основным. Кассир вводит его на клавиатуре кассы, касса находит товар в своей памяти и печатает верное наименование.

Этот способ позволяет сохранить существующую нумерацию в 1С для прайсов и накладных, удовлетворив при этом технические требования АТОЛ 92Ф.

Решение 3: Смена оборудования на смарт-терминал или связку с мобильным устройством

Разберем альтернативный подход, предложенный в Сообщении 13. Если текущая касса не справляется с задачами, можно рассмотреть переход на современные смарт-терминалы (например, Эвотор, MSPOS или АТОЛ Sigma).

Посмотрим на преимущества этого решения:

Подведем итоги

Выясним, какой путь наиболее рационален для вашего случая. Если у вас уже есть компьютер на рабочем месте и касса АТОЛ 92Ф подключена к нему, лучшим решением будет использование режима фискального регистратора. Это бесплатно (если не считать затрат на настройку драйвера в 1С) и полностью снимает проблему разрядности кодов. Мы просто передаем в команду Registration() или registration() драйвера все необходимые данные о товаре из 1С в реальном времени.

Если же требуется полная автономность, внедрите систему SKU — это позволит не менять привычные коды в 1С, обеспечив при этом корректную работу кассового аппарата.

← На главную