Всем привет, на связи ведущий программист 1С Иван Николенко из компании OSMINOG PROJECT. Сегодня я расскажу о проблемах с ККТ и как их решать.
Кассовый узел в 1С — это чёткая связка «Программа — Драйвер — Оборудование». Если разрывается одно звено, касса замолкает, а продажи встают.
Для наглядности будем считать, что расчет ведется в «1С: Рознице» (или УТ 11), но алгоритм действий универсален для любых конфигураций, где используется драйвер ККМ, особенно популярных моделей «Штрих» или «Атол».
Разберем список причин и простой план действий, как реанимировать бизнес.
Типовые причины отказа
В 90% случаев виновник либо в драйвере, либо в рассинхронизации данных. Смотрим на список:
Проблемы с драйвером ККТ (Атол, Штрих). Это самая частая ошибка при подключении нового устройства. Если после обновления до драйвера 10.10.6 1С пишет `{"error":{"code":505,"description":"unauthorized"}}` — проблема в несоответствии протоколов или настроек авторизации. Иногда помогает "откат" на старую версию драйвера или установка `migration client server kkm` для терминальных сессий.
Ошибки в документе чека. 1С не любит, когда цена товара расходится с суммой строки даже на копейку. Из-за скидок, округлений или ручного редактирования возникает коллизия `несовпадение сумм по документу и товарам`. В этом случае 1С просто не отправит запрос на печать.
Рассинхронизация кассовых смен. Если после зависания или ошибки ККТ журнал «Кассовые смены» в 1С думает, что смена закрыта, а фискальный накопитель (ФН) «видит» её открытой, система выдаст блокировку. Алгоритм выглядит так: проверяем номер последней закрытой смены в 1С, сверяем с данными драйвера (тест-драйв/длинный запрос) и принудительно синхронизируем.
Аппаратная составляющая. Физическая неисправность (нет бумаги, отошел кабель, переполнилась память) или банальный выход срока действия фискального накопителя. Также сюда входят ошибки типа `Фатальная ошибка устройства`, требующие очистки памяти кассы или восстановления данных через сервисное меню.
Шаг за шагом по инструкции
Терять клиента нельзя, поэтому действуем строго по инструкции:
1. Проверка связи: Проверьте, включена ли касса в розетку, цел ли кабель (USB/Ethernet), и есть ли чековая лента и бумага.
2. Перезагрузка драйвера: иногда драйвер «засыпает» или блокируется зависшей задачей. Нужно перезагрузить службу «1C: Servis» и очистить очередь заданий печати через консоль принтеров Windows.
3. Диагностика через тест: В 1C есть форма «Подключаемое оборудование». Откройте свой ККМ и нажмите «Тест драйвера» или «Длинный запрос». Если тест проходит, но чек не бьет — проблема в данных документа. Если тест выдает ошибку `Не удалось получить объект драйвера` — проблема в правах доступа или конфликте портов.
4. Проверка шапки чека: Откройте документ «Чек ККМ». Убедитесь, что в номенклатуре корректно проставлены ставки НДС и единицы измерения. Проверьте итог: сумма по товарам должна строго равняться общей сумме чека.
5. Метод «Через ОФД»: если бумажный чек не вышел, проверьте «Личный кабинет ОФД». Это разграничит проблему: если данные в ОФД есть, а бумаги нет — проблема в ленте. Если данных в ОФД нет — проблема в передаче от 1С к драйверу или от драйвера к ОФД.
Реальный кейс из практики Ивана Николенко
Вот что нам рассказал Иван Николенко:
— В середине месяца в офис позвонил управляющий одного известного гипермаркета — продажи остановились. 15 касс «Атол 90Ф» на УТ 11.5 перестали печатать чеки синхронно.
— Я начал с малого: проверил физическое соединение и перезагрузил сервер. Всё было без изменений. В логах драйвера увидел сотни записей «Ошибка 231 — неверные параметры в команде».
— Я быстро идентифицировал проблему: при обновлении конфигурации сломались обработки пробития чеков в модуле «Работа С Чеками ККМ».
— Клиент уже начал паниковать и хотел вызвать инженеров из гарантийного сервиса, но я попросил 5 минут тишины.
— Оказалось, что при доработке 1С копились "мусорные" реквизиты в структуре чека. Программа валилась, когда пыталась сравнить дату следующего рабочего дня с нулевым значением в регистре.
— Я откатил обработку на версию из архива за прошлый месяц, отредактировал пару конфликтных полей и через 15 минут кассы заработали как раньше. Прямых потерь удалось избежать, но инцидент показал, насколько важно держать под контролем любые изменения в коде, чтобы «кривой» релиз не перекрыл кислород всему бизнесу.
Итог
Сбои в работе связки 1С и ККТ — явление частое, но решаемое. Чаще всего проблема кроется в драйверах и данных документа, реже — в физике.
Не пытайтесь исправить ошибку «задним числом» удалением чеков, это только усугубит расхождения с ОФД. Лучше пройтись по логической цепочке: провод, питание, драйвер, тест, чек. И помните — профессиональная поддержка 1С стоит гораздо дешевле, чем час простоя двадцати касс в вечер пятницы.
