При работе с онлайн-кассами, особенно в условиях массовых корректировок или при переходе на электронный документооборот, часто возникает вопрос: можно ли сформировать чек коррекции так же, как и обычный чек — только в электронном виде, без вывода на чековую ленту? Рассмотрим эту ситуацию на примере популярной модели АТОЛ-50Ф и программных продуктов 1С.
Типичная ситуация: в организации накопилось большое количество документов, по которым не были пробиты чеки (например, из-за технических сбоев или специфики бизнес-процессов). Бухгалтерия ставит задачу программисту — реализовать пакетную печать чеков коррекции. При этом, чтобы сэкономить чековую ленту и время, желательно отправлять эти чеки только в электронном виде (в ОФД и на e-mail покупателя), подавив физическую печать на устройстве.
Для обычных чеков (приход, возврат прихода) в 1С и драйверах ККТ предусмотрен флаг «Электронно». Однако при попытке применить ту же логику к чекам коррекции пользователи часто сталкиваются с тем, что касса игнорирует настройки и всё равно выводит бумажный документ. Проанализируем, почему это происходит и какие ограничения существуют.
Для понимания причин нам необходимо заглянуть в логику работы Библиотеки подключаемого оборудования (БПО) и программного интерфейса драйвера ККТ. Проанализируем фрагмент кода, который используется для вызова методов фискализации в 1С:
Попытка
Если ПараметрыФискализации.РевизияИнтерфейса >= 3000 Тогда
// Версия стандарта 3.0 (ОФД 1.1)
Результат = ОбъектДрайвера.СформироватьЧек(ПараметрыПодключения.ИДУстройства, ПараметрыФискализации.Электронно, ПараметрыФискализации.ДанныеЧекаXML, ПараметрыФискализации.РезультатОперацииXML);
ИначеЕсли ПараметрыФискализации.РевизияИнтерфейса > 2001 Тогда
// Версия стандарта 2.2 (ОФД 1.0.5)
Результат = ОбъектДрайвера.СформироватьЧек(ПараметрыПодключения.ИДУстройства, ПараметрыФискализации.Электронно, ПараметрыФискализации.ДанныеЧекаXML, ...);
КонецЕсли;
Исключение
Результат = Ложь;
КонецПопытки;
Как мы видим, для обычного чека метод СформироватьЧек (или ProcessCheck в терминах драйвера) принимает параметр Электронно (тип Boolean). Если передать туда Истина, касса сформирует фискальный признак, отправит данные в ОФД, но не задействует механизм печати.
Однако для чека коррекции используется другой метод — СформироватьЧекКоррекции (ProcessCorrectionCheck). И здесь кроется главная проблема: в большинстве старых реализаций драйверов и протоколов ККТ у этого метода отсутствует параметр подавления печати. Проанализируем документацию: метод принимает данные чека в формате XML, но не содержит флага, отвечающего за «безбумажный» режим.
Разберем ситуацию с точки зрения законодательства и форматов передачи данных. Существует несколько версий ФФД, и возможности чека коррекции в них сильно различаются:
При обращении в техническую поддержку производителя по модели АТОЛ-50Ф часто можно получить следующий ответ: «Печать без бумаги именно чеков коррекции невозможна. Так заложено производителем в протоколе работы ККТ версии 3.1». Это связано с тем, что касса должна гарантировать наличие бумажного подтверждения корректировки выручки для налоговой проверки.
Даже если в настройках 1С вы укажете e-mail и снимете галку «Печатать чек», при выполнении команды ККТ проигнорирует эти параметры для типа документа «Чек коррекции». В логах драйвера можно увидеть, что данные о e-mail просто не передаются в структуру фискального документа коррекции.
Если вам все же необходимо выполнить массовую коррекцию без расхода бумаги, рассмотрим возможные пути обхода ограничений:
В современных драйверах АТОЛ 10-й серии реализована возможность глобального подавления печати. Разберем по шагам:
Важно: Этот флаг действует на уровне «железа». Если он включен, касса перестанет печатать вообще все документы. Это позволит вам запустить обработку в 1С, сформировать тысячи чеков коррекции в памяти ФН и отправить их в ОФД, не потратив ни сантиметра ленты. После завершения операции не забудьте вернуть настройку в исходное состояние.
Если касса при регистрации в ФНС была отмечена признаком «Для расчетов в сети интернет», то такая касса по закону не обязана иметь печатающее устройство и не печатает бумажные чеки в принципе. Для АТОЛ-50Ф, который является физическим принтером, этот режим также можно включить при перерегистрации, если деятельность компании соответствует требованиям закона (например, интернет-торговля).
Убедитесь, что в вашей конфигурации 1С используется актуальная версия БиблиотекиПодключаемогоОборудования. Начиная с версий 3.0 и выше, механизмы работы с чеками коррекции были значительно расширены для поддержки ФФД 1.2. Проанализируем версию в регистре сведений «Версии подсистем». Если версия ниже 2.1, она может просто не содержать необходимых полей для передачи признака электронного чека в драйвер.
Подведем итоги нашего анализа:
Таким образом, мы выяснили, что невозможность печати без бумаги — это не «глюк» 1С, а аппаратное и методологическое ограничение, заложенное производителем ККТ в соответствии с требованиями законодательства того периода, когда разрабатывалась модель АТОЛ-50Ф и соответствующие ей протоколы.