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