Продажа алкогольной продукции строго регламентируется законодательством. Одним из ключевых требований является соблюдение временных рамок, в течение которых продажа алкоголя полностью запрещена. В этой статье мы подробно разберем, как правильно настроить ограничения на продажу алкоголя в программе «1С:Розница» версий 2.х и 3.0, проанализируем неочевидные технические нюансы, с которыми сталкиваются пользователи, и рассмотрим способы защиты от случайных или преднамеренных нарушений кассиров.
Многие системные администраторы и владельцы магазинов сталкиваются с ситуацией, когда, казалось бы, все правила в программе настроены, но касса все равно продолжает пробивать запрещенный товар. Выясним основные причины этого сбоя:
Рассмотрим пошагово, как правильно настроить систему, чтобы полностью исключить подобные риски.
---
Для начала нам необходимо активировать соответствующую функциональность в системе. Пройдем по следующему пути:
Активация этой константы добавляет в справочник скидок и наценок новый тип предоставления скидки, который блокирует продажу позиций.
---
Запрет не должен действовать на продукты питания или сопутствующие товары. Нам нужно четко определить список номенклатуры, на которую распространяется ограничение. Для этого мы создадим специальный сегмент:
АлкогольнаяПродукция равен Истина, либо отфильтруем по соответствующим видам номенклатуры.Важное предупреждение! Если вы выбрали способ «Периодически обновлять», обязательно проверьте работу регламентного задания ФормированиеСегментов. Настройте его расписание в разделе Администрирование -> Поддержка и обслуживание -> Регламентные и фоновые задания. Рекомендуется установить интервал запуска каждые 10–15 минут. Если этого не сделать, новые алкогольные позиции, созданные в базе, не будут попадать под запрет до тех пор, пока ответственный сотрудник не нажмет кнопку «Сформировать» вручную в карточке сегмента.
---
Теперь создадим правило, которое будет блокировать продажу товаров из нашего сегмента в неустановленное время. В терминологии «1С:Розница 2.х» эта блокировка реализуется через механизм скидок:
Если алкоголь запрещено продавать с 22:00 до 09:00, нам необходимо создать две строки для каждого дня недели. Программа анализирует каждые сутки отдельно с 00:00:00 до 23:59:59. Настроим расписание следующим образом:
Повторим эту процедуру для каждого дня недели, когда действует ограничение. Если вы укажете интервал «22:00 – 09:00» в одну строку, система просто проигнорирует это правило, и кассиры смогут продавать алкоголь ночью.
---
Сама по себе созданная скидка работать не начнет. Ее необходимо ввести в действие специальным документом:
---
Проанализируем критическую ситуацию, описанную пользователями на форуме: «Товар отсканирован в 21:58, оплата по карте зависла, ЕГАИС зафиксировал продажу в 22:01. Как итог — выписан протокол о нарушении закона».
Почему это произошло? Дело в том, что в стандартной «1С:Розница 2.х» проверка на запрет продаж срабатывает исключительно в момент добавления позиции в чек (при сканировании штрихкода). В момент нажатия кнопки «Оплатить» или при отправке чека на фискальный регистратор повторная проверка времени не производится.
Это открывает лазейку для недобросовестных кассиров или покупателей: можно отсканировать пиво или водку в 21:55, «отложить» чек, а затем спокойно пробить его в 23:00.
Для устранения этой уязвимости программисты 1С разрабатывают и внедряют небольшие расширения конфигурации. Задача расширения — перехватить процедуру перед проведением или пробитием чека ККМ и выполнить дополнительную проверку текущего системного времени. Если в чеке присутствует номенклатура из алкогольного сегмента, а текущее время компьютера уже превысило допустимый порог (например, 22:00), система должна прервать транзакцию и выдать предупреждение. Для такой задачи подойдёт доработка стандартного запрета продажи алкоголя с поддержкой отложенных чеков в 1С:Розница.
Пример программной проверки, которую можно внедрить в модуль чека ККМ:
// Примерный фрагмент кода для проверки перед пробитием чека
ТекущееВремяКассы = ТекущаяДата();
ЧасПроверки = Час(ТекущееВремяКассы);
Если (ЧасПроверки >= 22 Или ЧасПроверки < 9) Тогда
Для Каждого СтрокаТЧ Из Объект.Товары Цикл
Если СтрокаТЧ.Номенклатура.АлкогольнаяПродукция Тогда
ВызватьИсключение "Продажа алкоголя запрещена! Текущее время: " + Формат(ТекущееВремяКассы, "ДФ=ЧЧ:мм:сс");
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если у вас нет возможности дорабатывать конфигурацию 1С, системные администраторы часто используют изящное системное решение — блокировку самого транспортного модуля ЕГАИС по расписанию.
Для этого на кассовом компьютере с помощью стандартного «Планировщика задач Windows» настраивается запуск двух простых скриптов:
Для этого создается файл с расширением .bat следующего содержания:
net stop transport
При остановленной службе ЕГАИС программа физически не сможет отправить чек на проверку в государственную систему, и касса выдаст ошибку проведения чека с алкоголем.
net start transport
Этот метод гарантирует 100% защиту от любых попыток кассиров обойти программу, так как блокировка происходит на уровне системных служб операционной системы.
---
Выясним, как обстоят дела в современных конфигурациях на новой платформе. Разработчики 1С услышали пожелания пользователей и полностью переработали этот механизм, отказавшись от сложной и неочевидной настройки через маркетинговые акции.
Теперь в «1С:Розница 3.0» настройка выполняется напрямую через параметры рабочего места кассира (РМК):
Современный интерфейс стал гораздо дружелюбнее, и теперь владельцу торговой точки не нужно создавать фиктивные скидки и запускать маркетинговые акции, чтобы выполнить базовые требования законодательства. Для комплексной организации кассовой зоны подойдёт руководство по настройке торгового места на базе РМК в 1С:Розница 3.0 и 1С:УНФ 3.0.
Подведем итоги нашей совместной настройки. Чтобы спать спокойно и не бояться проверок контролирующих органов, придерживайтесь следующих правил: