База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в 1С:КА запретить проведение документа с алкоголем и безалкоголкой?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 часов, 59 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
14 апреля 2026 в 15:15 #36399
Как в 1с КА запретить проводить документ реализации товаров и услуг если в нем присутствует алкогольная и безалкогольная продукция
-
14 апреля 2026 в 15:15 #36400
В 1С:Комплексная автоматизация (КА) для запрета проведения документа «Реализация товаров и услуг» при наличии одновременно алкогольной и безалкогольной продукции в табличной части, нужно реализовать проверку в обработчике события проведения документа — например, в процедуре ПередПроведением() модуля объекта документа.
Алгоритм:
1. В модуле объекта документа «Реализация товаров и услуг» создайте процедуру ПередПроведением(Отказ).
2. В этой процедуре переберите строки табличной части с товарами, определите, есть ли в документе алкогольная продукция и есть ли безалкогольная.
3. Если одновременно есть и алкогольная, и безалкогольная продукция — установите Отказ = Истина и выведите сообщение об ошибке.
Пример кода на 1С:
1С (Код)1234567891011121314151617181920212223Процедура ПередПроведением(Отказ)ЕстьАлкоголь = Ложь;ЕстьБезалкоголь = Ложь;Для Каждого Строка Из ЭтотОбъект.Товары Цикл// Предполагается, что в справочнике номенклатуры есть реквизит "АлкогольнаяПродукция" типа БулевоЕсли Строка.Номенклатура.АлкогольнаяПродукция ТогдаЕстьАлкоголь = Истина;ИначеЕстьБезалкоголь = Истина;КонецЕсли;// Если оба флага уже установлены, можно прервать циклЕсли ЕстьАлкоголь И ЕстьБезалкоголь ТогдаПрервать;КонецЕсли;КонецЦикла;Если ЕстьАлкоголь И ЕстьБезалкоголь ТогдаОтказ = Истина;Сообщить("Документ не может быть проведен, так как содержит одновременно алкогольную и безалкогольную продукцию.");КонецЕсли;КонецПроцедурыОбъяснения:
— В примере предполагается, что у номенклатуры есть булевый реквизит «АлкогольнаяПродукция», который указывает, является ли товар алкогольным.
— Если такого реквизита нет, нужно либо добавить его, либо использовать другой способ определения алкогольной продукции (например, по группе номенклатуры или по признаку в характеристиках).
— Процедура ПередПроведением вызывается автоматически при попытке проведения документа, установка Отказ = Истина отменит проведение.
— Сообщение выводится пользователю, чтобы он понял причину отказа.
Если в вашей конфигурации есть более сложная логика определения алкогольной продукции (например, через ЕГАИС или отдельные реквизиты), адаптируйте проверку соответственно.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.