Как исправить ошибку «Неверное количество» при печати чека из 1С:Управление торговлей 11

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При работе с торговым оборудованием в среде 1С:Предприятие пользователи часто сталкиваются с техническими коллизиями, которые блокируют процесс продажи или возврата денежных средств. Одной из наиболее специфичных является ошибка «При выполнении операции произошла ошибка: Неверное количество». Чаще всего она проявляется на кассовых аппаратах семейства АТОЛ при попытке оформить возврат оплаты покупателю через документ Расходный кассовый ордер (РКО) или при работе с авансовыми платежами.

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

Разбор причины: почему возникает ошибка «Неверное количество»?

Проанализируем ситуацию с технической стороны. Когда 1С отправляет команду на печать чека фискальному регистратору, она передает массив данных, содержащий информацию о товарах, услугах или платежах. Ошибка Неверное количество сигнализирует о том, что в одном из полей (тег 1023 в терминах ФФД), отвечающих за количественные показатели, передано значение, которое драйвер или прошивка кассы не могут обработать.

Рассмотрим основные сценарии возникновения проблемы:

  1. Использование устаревшего драйвера: Драйверы АТОЛ версии 8.х и 9.х разрабатывались под старые стандарты. Современные конфигурации 1С:УТ 11.4 и выше ориентированы на работу с драйверами версии 10.х, которые корректно поддерживают форматы фискальных данных (ФФД) 1.05, 1.1 и 1.2.
  2. Передача пустого значения из РКО: При создании Расходного кассового ордера вручную программа может не заполнить номенклатурный состав чека. Если в драйвер уходит сумма, но количество позиций равно 0 или не указано, ККТ возвращает ошибку, так как количество должно быть строго положительным (минимум 1 для платежа).
  3. Конфликт типов данных: В новых версиях 1С данные о количестве могут передаваться с большой точностью (дробная часть). Старые драйверы могут некорректно округлять эти значения, вызывая отказ оборудования.

Решение 1: Обновление драйвера оборудования до версии 10.х

Первым и самым важным шагом является отказ от драйверов 8-й серии. Рассмотрим, как правильно выполнить переход, чтобы 1С начала корректно взаимодействовать с кассой АТОЛ 30Ф или аналогичными моделями.

Рассмотрим последовательность действий:

  1. Удалите старый драйвер АТОЛ (8.х или 9.х) через панель управления Windows.
  2. Скачайте актуальную версию Драйвера ККТ 10.х с официального сайта производителя или из раздела поддержки 1С.
  3. В интерфейсе 1С:Управление торговлей перейдите в раздел НСИ и администрирование — РМК и оборудование — Подключаемое оборудование.
  4. Для вашего фискального регистратора измените тип драйвера. Выберите вариант «АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ) 10.х».
  5. Нажмите кнопку Настроить и проверьте связь. Обратите внимание, что в 10-й версии драйвера настройки портов и протоколов могут отличаться (часто используется протокол JSON или обновленный бинарный протокол).

Важный момент: При переходе на драйвер 10.х убедитесь, что в самой 1С обновлена «Интеграционная компонента». Обычно она обновляется автоматически при обновлении конфигурации, но в случае ручной настройки стоит нажать кнопку Установить драйвер в карточке оборудования.

Решение 2: Корректное оформление возврата аванса

Часто ошибка возникает не из-за техники, а из-за неправильной цепочки документов. Если покупатель внес аванс (ПКО), а затем просит его вернуть, оформление простого Расходного кассового ордера «в пустоту» часто приводит к тому, что 1С не знает, какую «номенклатуру» подставить в чек возврата.

Выясним, как сделать это правильно в УТ 11.4:

  1. Вместо создания РКО вручную, рекомендуется использовать специализированный документ Возврат денежных средств клиенту.
  2. Документ должен иметь основание — тот самый платеж (ПКО), по которому принимались деньги. В этом случае 1С подтянет признак способа расчета «Возврат аванса».
  3. Если используется режим Рабочее место кассира (РМК), операцию возврата лучше проводить именно там через функцию возврата без чека продажи или по номеру чека.

Проанализируем ситуацию с передачей данных. Если программа все же требует указания позиций, убедитесь, что в табличной части или в настройках формирования чека указана служебная номенклатура (например, «Возврат неиспользованных денежных средств») с количеством 1 и суммой возврата. Это исключит передачу нулевого количества в драйвер.

Решение 3: Проверка прошивки ККТ и формата ФФД

Если обновление драйвера не помогло, проанализируем состояние самого кассового аппарата. Для работы с современными версиями 1С касса АТОЛ должна иметь версию внутреннего ПО (прошивки) не ниже 5000-й серии (для платформы 5.0). Старые прошивки не умеют работать с новыми тегами, которые генерирует 1С:УТ 11 при оформлении сложных операций вроде возврата предоплаты.

Посмотрим, на что обратить внимание:

Технические подробности взаимодействия (для программистов)

Для тех, кто хочет глубже разобраться в коде, рассмотрим пример того, как формируется объект данных для драйвера. В 1С используется XML-структура или JSON-запрос. Ошибка возникает, когда узел количества выглядит следующим образом:


// Пример некорректного формирования позиции чека (упрощенно)
Позиция.Количество = 0; // Это вызовет ошибку "Неверное количество"
Позиция.Цена = 100;
Позиция.Наименование = "Возврат аванса";

Правильный подход подразумевает обязательную проверку заполненности количества перед вызовом метода печати:


Если ОбъектЧека.Позиции.Количество() > 0 Тогда
    Для Каждого Стр Из ОбъектЧека.Позиции Цикл
        Если Стр.Количество <= 0 Тогда
            Стр.Количество = 1; // Корректировка для финансовых операций
        КонецЕсли;
    КонецЦикла;
    // Вызов функции печати через стандартную библиотеку подключаемого оборудования
    МенеджерОборудования.ВыполнитьКоманду("PrintReceipt", ПараметрыЧека);
КонецЕсли;

Итоговые рекомендации

Подведем итог нашему разбору. Чтобы навсегда избавиться от ошибки «Неверное количество» в 1С:УТ 11 при работе с кассами АТОЛ, выполните следующие шаги:

  1. Обновите драйвер АТОЛ до версии 10.9.x или выше. Это решит 90% проблем с совместимостью тегов.
  2. Используйте правильные типы документов. Возврат аванса лучше делать через Возврат денежных средств с привязкой к заказу или ПКО, а не через «пустой» РКО.
  3. Проверьте настройки номенклатуры. Для операций возврата аванса должна использоваться услуга или платеж, где количество по умолчанию принимается равным единице.
  4. Актуализируйте прошивку кассы. Обратитесь в сервисный центр для обновления ПО ККТ до актуальной версии, поддерживающей ФФД 1.05/1.2.

Соблюдение этих правил обеспечит стабильную работу кассового узла и отсутствие проблем при проверках со стороны налоговых органов, так как все теги в чеке будут заполнены корректно и в соответствии с законодательством.

← На главную