При работе в режиме Рабочего места кассира (РМК) в таких конфигурациях, как «1С:Розница» или «1С:Управление нашей фирмой», пользователи иногда сталкиваются с парадоксальной ситуацией. При попытке оплатить покупку подарочным сертификатом, номинал которого в точности соответствует сумме чека (например, 300 рублей), система выдает предупреждение: «Потери клиента составляют 600 р». В результате фискальный регистратор печатает чек на общую сумму 900 рублей, где 300 рублей проходят как товар, а 600 рублей — как «внереализационный доход».
Такая ситуация критична для учета: в базе 1С документ фиксируется на одну сумму, а через кассовый аппарат проходит совершенно другая. Проанализируем причины этого поведения системы и разберем по шагам, как найти и устранить корень проблемы.
Для начала выясним причину появления самой формулировки «Потери клиента». В логике 1С подарочный сертификат — это авансовый платеж. Если покупатель приобретает товар на сумму меньше, чем номинал сертификата, и при этом настройки программы или условия использования сертификата запрещают выдачу сдачи, то остаток средств считается прибылью организации.
С точки зрения законодательства (54-ФЗ), в момент гашения такого сертификата необходимо отразить в чеке полную сумму. Если клиент не «выбирает» весь номинал, разница фиксируется в чеке как «Внереализационный доход» (часто по отделу 8 или другому выделенному отделу).
В рассматриваемом примере система «уверена», что номинал сертификата составляет 900 рублей. При покупке на 300 рублей расчет выглядит так: 900 (остаток) - 300 (покупка) = 600 (доход предприятия). Рассмотрим подробнее, почему возникают такие расхождения.
Типичная ошибка начинающего администратора 1С — проверка только справочника ПодарочныеСертификаты. Однако информация о том, сколько денег «лежит» на сертификате, берется не из названия или текстового поля в его карточке.
Проанализируем ситуацию в базе данных. В 1С финансовое состояние сертификата определяется записями в регистрах накопления. Обычно это регистр ПодарочныеСертификаты или ДвиженияПодарочныхСертификатов.
Разберем основные причины, по которым остаток в регистре может стать некорректным:
КорректировкаРегистров, допуская ошибки в знаках (приход/расход) или измерениях.Чтобы выяснить истинную причину, пройдем по шагам технической проверки:
Шаг 1. Проверка отчета по сертификатам.
Откроем отчет «Остатки подарочных сертификатов» (название может варьироваться в зависимости от конфигурации). В настройках обязательно установим детализацию по Серийному номеру. Если мы видим, что по конкретному номеру числится сумма 900 вместо 300 — проблема в данных регистра.
Шаг 2. Анализ движений документа.
Выясним, каким документом была сформирована эта сумма. Для этого прямо из отчета можно перейти в расшифровку «Карточка движения документа» по регистратору. Посмотрим на список документов, которые делали записи в РегистрНакопления.ПодарочныеСертификаты с этим серийным номером.
Шаг 3. Использование отладчика (для программистов).
Если в отчетах суммы верные, но в РМК все равно лезут «потери», необходимо проверить модуль формирования XML-пакета для фискального регистратора. Рассмотрим пример функции, где может происходить расчет:
// Примерный фрагмент логики в модуле обработки чека
СуммаСертификата = ОстаткиПоСертификатам.ПолучитьОстаток(СерийныйНомер);
Если СуммаСертификата > СуммаЧека Тогда
ПотериКлиента = СуммаСертификата - СуммаЧека;
// Здесь формируется строка с внереализационным доходом
КонецЕсли;
Проанализируем, не попадает ли в СуммаСертификата значение из кэша формы Сложная оплата. В старых релизах «1С:Розница 2.2» встречался баг: если кассир несколько раз добавлял и удалял оплату сертификатом в одной форме, суммы могли суммироваться в оперативной памяти до момента нажатия кнопки «Пробить».
Выяснив причину, выберем метод устранения:
Если мы обнаружили «лишние» продажи сертификата, необходимо аннулировать некорректные чеки или создать документ КорректировкаРегистров, чтобы привести остаток по регистру ПодарочныеСертификаты к фактическому номиналу (300 рублей).
Зайдем в настройки вида сертификата. Проверим, установлена ли возможность частичного гашения. Если флаг «Возвращать сдачу» не стоит, 1С всегда будет пытаться списать весь остаток сертификата в доход. Однако это не решит проблему, если в базе по ошибке числится 900 рублей вместо 300. Исправлять нужно именно входящий остаток.
Если проблема носит случайный характер и связана с формой РМК, рекомендуем выполнить очистку кэша пользователя и проверить наличие исправлений (патчей) для вашего релиза. Ошибка в обработке СложнаяОплата.Форма.ФормаВыбора часто исправляется в официальных обновлениях от 1С.
Помните: фраза «Потери клиента составляют...» — это симптом того, что учетный остаток сертификата в системе превышает сумму покупки. Программа ведет себя корректно с точки зрения заложенной в нее логики 54-ФЗ, но оперирует неверными данными. Всегда доверяйте данным регистров накопления больше, чем тексту в наименовании или карточке справочника. Своевременный контроль отчетов по остаткам сертификатов позволит избежать подобных «сюрпризов» на кассе.