Интеграция учетных систем на платформе 1С:Предприятие 7.7 с контрольно-кассовой техникой (ККТ) нового образца по требованиям 54-ФЗ вызывает множество вопросов. Разберем детально архитектуру взаимодействия учетной системы, фискального регистратора и оператора фискальных данных (ОФД), выясним состав обязательных реквизитов фискального документа и проанализируем частые ошибки при формировании чеков продажи и возврата.
Архитектура взаимодействия: кто отправляет данные в ОФД
Рассмотрим типовое заблуждение о том, что отправкой данных в ОФД управляет сама платформа 1С. В соответствии с 54-ФЗ программа 1С отвечает исключительно за передачу товарного состава и параметров платежа в кассовый аппарат через установленный драйвер. Непосредственное шифрование и отправку данных выполняет фискальный накопитель (ФН) внутри кассы.
Разберем по шагам цепочку пробития чека:
Кассир оформляет расчет в 1С и инициирует печать фискального документа.
Учетная система формирует пакет данных и передает его в драйвер ККТ.
Фискальный накопитель принимает данные, рассчитывает фискальный признак документа (ФПД) и выполняет фискализацию записи в своей энергонезависимой памяти.
ККТ распечатывает чек на бумажной ленте (или формирует электронный документ) и параллельно отправляет зашифрованный пакет в ОФД по доступному каналу связи (Ethernet, Wi-Fi, GSM или через службу драйвера EoU/EoT).
ОФД передает сведения о расчете в Федеральную налоговую службу (ФНС).
Обязательный состав реквизитов фискального чека
Проанализируем требования к составу данных, которые конфигурация 1С 7.7 обязана передавать в драйвер ККТ для формирования корректного чека по форматам фискальных данных (ФФД):
Реквизиты расчета и организации: применяемая система налогообложения (СНО), признак расчета (приход, возврат прихода, расход, возврат расхода), наименование и ИНН организации/ИП, адрес и место расчетов.
Сведения о кассире: должность и фамилия с инициалами лица, оформившего расчет, а также ИНН кассира.
Товарные позиции: наименование каждого товара, работы или услуги, цена за единицу с учетом скидок, количество, ставка НДС, итоговая сумма по позиции.
Итоги и типы оплат: общая сумма расчета, суммы по видам оплаты (наличные, безналичные/электронные, предоплата, постоплата), итоговые суммы НДС по каждой применяемой ставке.
Особенности работы с ККТ в среде 1С 7.7
При реализации обмена с ККТ из 1С 7.7 важно учитывать технические ограничения платформы:
1. Разрядность компонентов: платформа 1С 7.7 является строго 32-битным приложением (x86). Все используемые внешние компоненты и COM-объекты драйверов ККТ должны быть 32-разрядными.
2. Кодировка данных: 1С 7.7 оперирует строками в кодировке Windows-1251 (ANSI). Если драйвер ККТ принимает команды в виде XML или JSON-пакетов в кодировке UTF-8, строковые параметры необходимо конвертировать перед отправкой.
3. Контроль округлений: ККТ жестко контролирует математическое равенство сумм строк и итога документа. Если сумма позиций (цена × количество) отличается от общего итога чека хотя бы на одну копейку из-за округлений скидок, касса отклонит регистрацию.
Причины блокировок ККТ и отказов в печати
Выясним условия, при которых кассовый аппарат может аппаратно заблокировать формирование чеков:
Превышение длительности смены: если с момента открытия смены прошло более 24 часов, ФН блокирует оформление фискальных документов до снятия Z-отчета (закрытия смены).
Отсутствие связи с ОФД более 30 дней: при наличии неотправленных документов в памяти ФН и отсутствии связи с сервером ОФД дольше 30 календарных дней касса блокирует регистрацию новых чеков.
Несовпадение СНО: попытка пробить чек с кодом системы налогообложения, которая не была активирована при регистрации (перерегистрации) кассы в ФНС.
Рассинхронизация времени: дата и время чека не могут быть меньше даты и времени последнего успешно закрытого фискального документа в ФН.
Диагностика и устранение ошибок при оформлении чека «Возврат прихода»
Рассмотрим распространенную проблему: чек продажи (приход) пробивается без ошибок, но при попытке оформить «Возврат прихода» через стандартный метод СформироватьЧек() касса аннулирует операцию с ошибкой вида Неверная команда регистрации аннулирования или Error in Tender(lCash).
Разберем основные причины такого поведения и способы их решения:
Некорректная версия драйвера ККТ: ошибка трансляции команд оплаты возврата (MoneyOut / Tender) часто связана с недоработками конкретного релиза интеграционной внешней компоненты. Решением является обновление драйвера производителя ККТ до актуальной стабильной версии.
Контроль остатка наличных в денежном ящике: многие модели фискальных регистраторов блокируют возврат наличными, если сумма возврата превышает сумму текущей выручки и внесений в кассу за смену. В таком случае необходимо выполнить операцию внесения денежных средств в кассу либо отключить аппаратный контроль наличности в параметрах драйвера.
Неверное сопоставление типов оплаты: при смене признака документа с продажи на возврат в структуре XML необходимо удостовериться, что идентификаторы типов оплаты (наличные, электронные) соответствуют спецификации конкретного драйвера.