При автоматизации небольших торговых точек часто возникает ситуация, когда бюджетное оборудование, такое как ньюджеры АТОЛ 91Ф или АТОЛ 92Ф, накладывает жесткие технические ограничения на бизнес-процессы. Одной из самых распространенных проблем является нестыковка разрядности кодов товаров: в учетной системе 1С:Предприятие (особенно в старых конфигурациях 7.7) коды товаров могут быть шестизначными и более, в то время как автономная касса принимает только четырехзначные коды (PLU).
Разберем детально, почему возникает эта проблема и какими способами ее можно решить, не прибегая к болезненной перенумерации всей базы товаров в 1С.
Проанализируем архитектуру работы автономных касс (ньюджеров). Эти устройства изначально проектировались для работы в режиме "коробочки", куда загружается база товаров, а кассир выбирает их по короткому коду (PLU) или штрихкоду. Внутренняя память таких устройств ограничена (обычно до 9999 товаров), поэтому и поле "Код" жестко ограничено 4 знаками. Когда мы пытаемся выгрузить из 1С товар с кодом 801234, касса либо обрезает его, либо выдает ошибку, так как ожидает значение в диапазоне от 1 до 9999.
Это самый эффективный и рекомендуемый способ. Если ваша задача, как указано в Сообщении 19, — просто напечатать чек из 1С и отправить его в ОФД, то вам совершенно не нужно использовать внутреннюю память кассы и ее таблицу товаров.
Рассмотрим алгоритм работы в режиме ФР:
Для реализации этого метода в 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.
Если по каким-то причинам работа в режиме ФР невозможна (например, касса должна физически находиться далеко от компьютера и работать автономно), рассмотрим вариант с использованием промежуточного кода.
Как предложено в Сообщении 5, мы можем добавить в справочник Номенклатура дополнительный реквизит — КодДляКассы (или SKU). Проанализируем этот процесс:
Этот способ позволяет сохранить существующую нумерацию в 1С для прайсов и накладных, удовлетворив при этом технические требования АТОЛ 92Ф.
Разберем альтернативный подход, предложенный в Сообщении 13. Если текущая касса не справляется с задачами, можно рассмотреть переход на современные смарт-терминалы (например, Эвотор, MSPOS или АТОЛ Sigma).
Посмотрим на преимущества этого решения:
1С:Мобильная касса на обычном смартфоне, подключенном к бюджетному фискальному регистратору по Bluetooth. В этом случае смартфон выступает в роли управляющего терминала, а ФР просто печатает чеки.Выясним, какой путь наиболее рационален для вашего случая. Если у вас уже есть компьютер на рабочем месте и касса АТОЛ 92Ф подключена к нему, лучшим решением будет использование режима фискального регистратора. Это бесплатно (если не считать затрат на настройку драйвера в 1С) и полностью снимает проблему разрядности кодов. Мы просто передаем в команду Registration() или registration() драйвера все необходимые данные о товаре из 1С в реальном времени.
Если же требуется полная автономность, внедрите систему SKU — это позволит не менять привычные коды в 1С, обеспечив при этом корректную работу кассового аппарата.