При работе в современных конфигурациях на платформе 1С:Предприятие 8.3, таких как 1С:Комплексная автоматизация 2, 1С:ERP Управление предприятием или 1С:Управление торговлей 11, пользователи часто сталкиваются с неочевидным поведением системы. Вы оформляете оптовую продажу, вводите на основании документ Приходный кассовый ордер (ПКО), нажимаете кнопку пробития чека, кассовый аппарат физически печатает чек и отправляет его в ОФД, однако в привычном Журнале чеков ККМ этого чека нет.
Давайте подробно разберем, почему программа ведет себя именно так, рассмотрим внутреннюю архитектуру учета фискальных данных в 1С, выясним, где физически хранятся эти чеки, и научимся их контролировать.
Для понимания логики работы системы важно четко разделить два понятия: документ 1С «Чек ККМ» и фискальный чек кассового аппарата.
Разработчики фирмы 1С заложили в архитектуру конфигураций жесткое разделение хозяйственных операций на две категории:
Чек ККМ. Этот документ самостоятельно делает все движения по регистрам: списывает товары со склада, фиксирует розничную выручку и формирует денежные средства в кассе ККМ. В конце смены на основе этих документов создается сводный документ Отчет о розничных продажах.Реализация товаров и услуг (РТУ) и Приходный кассовый ордер (или Эквайринговая операция). В этой схеме отгрузку товаров со склада делает документ реализации, а поступление денег в кассу отражает ПКО. Они уже сформировали все необходимые проводки в учете.Важнейшее правило: Если бы при пробитии чека из ПКО программа автоматически создавала еще и документ Чек ККМ, это привело бы к моментальному задвоению выручки и остатков товаров на складах в системе учета. ПКО сделал бы проводку по кассе, а документ Чек ККМ попытался бы сделать то же самое параллельно.
Именно поэтому при печати чека из ПКО или Реализации документ Чек ККМ в базе данных 1С не создается в принципе. Следовательно, в «Журнале чеков ККМ» вы его никогда не увидите. Физический чек пробивается напрямую через Библиотеку подключаемого оборудования (БПО), минуя розничный документооборот.
Поскольку документа Чек ККМ не существует, информация о факте пробития и фискальных реквизитах записывается в специальный системный регистр. Давайте разберем по шагам, как получить к нему доступ.
Самый простой способ проверить, пробит ли чек по конкретному ордеру:
Приходный кассовый ордер.Если вам необходимо увидеть общий список абсолютно всех чеков, пробитых в системе (и розничных, и оптовых), выполните следующие действия:
Фискальные операции (в некоторых релизах он называется Журнал фискальных операций).В открывшемся списке вы увидите детальные записи обо всех отправленных на ККТ командах. Каждая строка содержит информацию о документе-основании (это может быть как ПКО, так и Чек ККМ), сумме операции, ставке НДС и заводском номере кассового аппарата.
Более того, дважды кликнув по нужной записи и перейдя на вкладку «XML», мы можем проанализировать точный пакет данных, который программа 1С передала на ККТ. Это незаменимо при поиске технических ошибок (например, если не сходятся копейки по НДС или не передается код маркировки товара).
Поскольку рядовому бухгалтеру неудобно постоянно заходить в каждый ПКО или пользоваться техническим меню для проверки кассовой дисциплины, на практике часто применяются простые и эффективные доработки.
Рассмотрим вариант реализации программного вывода признака «Фискализирован» непосредственно в список документов ПКО. Для этого программисты создают небольшое расширение конфигурации. Посмотрим на пример программного запроса, который позволяет быстро определить, пробит ли чек по документу-основанию:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФискальныеОперации.ДокументОснование КАК Документ,
| ФискальныеОперации.НомерЧека КАК НомерЧека,
| ФискальныеОперации.ФискальныйПризнак КАК ФПД,
| ФискальныеОперации.Период КАК ДатаФискализации
|ИЗ
| РегистрСведений.ФискальныеОперации КАК ФискальныеОперации
|ГДЕ
| ФискальныеОперации.ДокументОснование = &ДокументОснование";
Запрос.УстановитьПараметр("ДокументОснование", СсылкаНаПКО);
РезультатЗапроса = Запрос.Выполнить();
Используя этот алгоритм в расширении, можно вывести зеленую галочку или статус «Чек пробит» прямо в динамический список документов Приходные кассовые ордера. Это позволит пользователю визуально контролировать кассовую дисциплину и не пропускать неотправленные чеки.
Пробивая чеки из документов оптового контура, важно помнить о требованиях законодательства к номенклатурному составу. Согласно 54-ФЗ, в кассовом чеке обязательно должны быть расшифрованы наименования товаров или услуг, их количество, цена и ставка НДС.
Проанализируем типичную ошибку: если бухгалтер создает документ ПКО «сам по себе» (просто выбирает контрагента и указывает сумму, например, по договору в целом), кассовый аппарат не сможет корректно заполнить товарный состав. В чеке напечатается общая формулировка «Оплата от...» с количеством «1».
Чтобы избежать штрафов со стороны налоговых органов, всегда соблюдайте следующие правила:
Таким образом, отсутствие чеков в «Журнале чеков ККМ» при их печати из ПКО — это не системная ошибка, а штатное архитектурное поведение программы 1С, направленное на сохранение чистоты и корректности вашего бухгалтерского и управленческого учета.