Работа с маркированной алкогольной продукцией в интерфейсе «Рабочее место кассира» (РМК) требует четкой последовательности действий. Одной из часто встречающихся проблем в редакции 10.3 является ситуация, когда после аннулирования чека акцизная марка «подвисает» в памяти системы. При попытке продать ту же бутылку повторно программа выдает ошибку, сообщая, что марка уже находится в документе, хотя чек был отменен. Разберем подробно причины этого поведения и способы устранения ошибки.
Проанализируем техническую сторону вопроса. В конфигурации «Управление торговлей 10.3» (особенно в релизах до 10.3.60) логика работы с алкоголем реализована через временные таблицы и внутренние коллекции данных формы РМК. Когда кассир сканирует марку, данные попадают не только в табличную часть товаров, но и в скрытую коллекцию АкцизныеМарки.
При нажатии кнопки «Аннулировать чек» в некоторых версиях программы срабатывает процедура очистки только видимых строк товаров, в то время как коллекция марок остается заполненной. Рассмотрим фрагмент кода, который отвечает за это поведение (в упрощенном виде):
// При аннулировании чека должна вызываться полная очистка
Товары.Очистить();
// ОШИБКА: Если разработчик забыл вызвать очистку коллекции марок
// АкцизныеМарки.Очистить(); // Эта строка часто отсутствует в старых релизах
Выясним причину, почему помогает перезапуск программы. При закрытии интерфейса РМК и выходе из 1С сеанс пользователя завершается, и оперативная память, где хранилась временная коллекция марок, полностью очищается. Чтобы решить проблему без перезапуска, необходимо либо обновить конфигурацию до актуальной (где эта ошибка исправлена), либо внести изменения в модуль формы ФормаРегистрацииПродаж в процедуру АннулироватьЧек().
Как мы видим из обсуждения, кассиры часто прибегают к полному аннулированию чека только потому, что у них не работает клавиша DEL. Это в корне неверный бизнес-процесс, который провоцирует программные сбои. Если клиент отказался от одной бутылки из десяти, правильнее удалить одну строку, а не весь чек.
Разберем по шагам, как настроить права, чтобы избежать лишних аннулирований:
Если эти права установлены, кассир сможет просто удалить ошибочную позицию. При удалении одной строки стандартные механизмы 1С корректно отрабатывают исключение связанной марки из кэша, и «подвисания» не происходит.
Иногда «подвисание» путают с долгой обработкой чека. Если при продаже маркированного товара 1С «задумывается» на время от 1 до 15 минут, это свидетельствует о проблемах взаимодействия с УТМ (Универсальным транспортным модулем). Рассмотрим, как ускорить этот процесс.
Одной из самых частых причин медленной работы является протокол IPv6. Система 1С пытается обратиться к адресу localhost (где запущен УТМ) сначала по протоколу IPv6, долго ждет ответа по таймауту и только потом переключается на IPv4. Проанализируем решение:
Также важно следить за размером лог-файлов УТМ. Если папка с логами разрастается до нескольких гигабайт, служба начинает работать крайне медленно. Рекомендуется регулярно очищать содержимое папки logs в директории установки УТМ.
Рассмотрим ситуацию, когда продажа уже состоялась и напечатан фискальный чек, но покупатель вернул товар. В УТ 10.3 в интерфейсе РМК при оформлении возврата обязательно должно открываться окно сканирования марки. Это необходимо для того, чтобы отправить в ЕГАИС документ «Чек возврата» и вернуть марку на баланс организации.
Если окно сканирования не появляется, проверьте следующие настройки:
Enter или использовать специальную функциональную клавишу, которая вызывает диалог сканирования PDF417.Соблюдение этих правил позволит избежать накопления ошибок в регистре акцизных марок и обеспечит корректный документооборот с государственными системами учета.