В процессе эксплуатации 1С:Управление торговлей (начиная с релиза 11.4.13.103 и выше) пользователи часто сталкиваются с тем, что привычный механизм возврата товаров через Рабочее место кассира (РМК) перестает работать для чеков прошлых смен. Если раньше система позволяла найти старый чек и пробить на его основании возврат, то теперь программа выдает ошибку или блокирует возможность печати фискального чека. В этой статье мы разберем, почему это произошло, как теперь выглядит правильная методология возврата и какие технические способы существуют для обхода данного ограничения.
Для начала проанализируем ситуацию с точки зрения архитектуры системы. В последних обновлениях фирма «1С» привела механизмы работы с ККТ в строгое соответствие с требованиями ФНС и методологией бухгалтерского учета. Основная причина блокировки пробития возврата через Чек ККМ «не день в день» заключается в следующем:
Чек ККМ является оперативным документом, существующим в рамках одной открытой смены. После выполнения операции «Закрытие смены» все чеки за день архивируются и сворачиваются в один сводный документ — Отчет о розничных продажах.Рассмотрим подробнее стандартный алгоритм, который закладывает вендор. Если клиент пришел возвращать товар на следующий день (или позже), мы не должны использовать интерфейс РМК. Нам необходимо выполнить цепочку действий в бэк-офисе.
Шаг 1. Оформление возврата товара
Первым делом необходимо создать документ Возврат товаров от клиента. Это можно сделать на основании документа Продажа или Отчет о розничных продажах. Данный документ восстановит товар на складе и зафиксирует вашу задолженность перед покупателем.
Шаг 2. Оформление выплаты денежных средств
В зависимости от того, как покупатель оплачивал товар, мы создаем один из двух документов:
Расходный кассовый ордер (РКО) с видом операции «Возврат оплаты клиенту».Эквайринговая операция с видом операции «Возврат оплаты клиенту».Шаг 3. Пробитие чека
В созданном финансовом документе (РКО или Эквайринговая операция) на верхней панели команд будет доступна кнопка «Пробить чек». При нажатии на нее касса выдаст фискальный чек с признаком расчета «Возврат прихода». Это и есть корректный способ оформления операции согласно текущим стандартам 1С.
Проанализируем ситуацию с возвратом на банковскую карту. В новых релизах система требует обязательной связи с исходной операцией оплаты. Это необходимо для корректной передачи в банк данных RRN (Reference Retrieval Number) и Идентификатора терминала.
Если вы попытаетесь оформить возврат без привязки к исходной эквайринговой транзакции, система может выдать ошибку. Разберем, как поступить в таком случае:
Эквайринговая операция, которым была проведена продажа.Если бизнес-процессы компании жестко завязаны на работу кассиров только в интерфейсе РМК и вы хотите вернуть возможность пробития «как было раньше», потребуются программные доработки. Выясним причину запрета в коде.
Ограничение обычно накладывается в модуле менеджера документа Чек ККМ или в процедурах проверки перед печатью чека в формах РМК. Система проверяет дату документа и номер текущей смены. Для обхода этого ограничения программисты используют расширения конфигурации.
Рассмотрим пример логики, которую можно внедрить в расширение для снятия фильтра на архивные чеки (пример упрощенного кода для понимания области вмешательства):
&НаПрефиксе
Процедура Расш_ПередПробитиемЧекаВозврата(ДокументОснование, Отказ)
// Текст расширения, переопределяющий стандартную проверку
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ЧекККМ") Тогда
Если ДокументОснование.Статус = Перечисления.СтатусыЧековККМ.Архивный Тогда
// Разрешаем обработку, несмотря на архивный статус
ИнформироватьПользователя("Внимание: Вы оформляете возврат по архивному чеку.");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Важно: Мы крайне не рекомендуем просто «отключать» проверки. Правильнее будет доработать форму поиска чеков в РМК, чтобы она позволяла выбирать документы за произвольный период, но при этом корректно инициализировала процедуру печати чека возврата.
Чтобы упростить жизнь пользователям, выполним следующие настройки в программе:
Возврат товаров от клиента и Расходный кассовый ордер, если вы планируете использовать стандартный метод.Подведем итоги нашего анализа. Изменение логики в 1С:УТ 11.4 — это не ошибка разработчиков, а приведение программы к законодательным нормам.
Короткий путь решения:
Использование официальной методики позволит вам избежать расхождений в отчетах о розничных продажах и корректно отражать себестоимость возвращаемых товаров в управленческом учете. Если же потребность в возврате через РМК критична, следует обратиться к разработчику для написания расширения, которое снимет проверку на архивность чека, но помните о рисках нарушения методологии учета.