Запрет проведения заказ покупателя

1. user1729112 20.07.22 09:12 Сейчас в теме
Доброго всем дня!
Подскажите пожалуйста, как мне быть?
Из данных: 1С:Предприятие 8.3 (8.3.21.1302). Конфига Управление сервисным центром, редакция 1.6 (1.6.26.229) . Конфига типовая на поддержке.
Необходимо на форме документа, во вкладке "Платёжный календарь" сделать так, чтоб документ не проводился, если оплата не запланирована, то есть, если "Запланировать оплату" = ЛОЖЬ, вылазило предупреждение и документ не проводился.
Добавил такой код в модуль объекта ЗаказПокупателя:

&После("ПередЗаписью")
Процедура Расш1_ПроверкаЗаполненияПлатежногоКалендаря(Отказ, РежимЗаписи, РежимПроведения)
Если ЗапланироватьОплату = Ложь Тогда
Отказ = Истина;
КонецЕсли;
Если Отказ Тогда
ВызватьИсключение "Необходимо заполнить платёжный календарь!";
КонецЕсли;
КонецПроцедуры

Работает. Но, теперь не дает распровести документ, пометить на удаление, пока не заполнен календарь. Как это исправить? Чтоб только запрещал проводить документ.
По теме из базы знаний
Найденные решения
4. VZyryanov 20.07.22 09:33 Сейчас в теме
Если ЗапланироватьОплату = Ложь  И  РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
lefthander; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 20.07.22 09:23 Сейчас в теме
Так добавь условие на режим записи...
lefthander; +1 Ответить
3. user1729112 20.07.22 09:32 Сейчас в теме
(2)Не очень понял, что нужно сделать и где?
4. VZyryanov 20.07.22 09:33 Сейчас в теме
Если ЗапланироватьОплату = Ложь  И  РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
lefthander; +1 Ответить
6. user1729112 20.07.22 10:03 Сейчас в теме
(4)Спасибо добрый человек :)
5. FatPanzer 20.07.22 09:38 Сейчас в теме
И Отказ надо проверять в начале процедуры. Потому что отказ мог быть вызван совсем не твоим платежным календарем, а в основном обработчике.
Или просто сообщение об отказе вставить внутрь проверки платежного календаря, а не снаружи его оставлять.

И вообще - вызов исключения предназначен не для этих целей!
7. user1729112 20.07.22 10:07 Сейчас в теме
(5)"Или просто сообщение об отказе вставить внутрь проверки платежного календаря, а не снаружи его оставлять."
Изначально так и сделал через Сообщить. Но, тогда при отказе выходила ошибка, а сообщение вылазило снизу.
Пользователи не всегда смотрят, чего там им внизу сообщают.
Нашел такой вариант, какой реализовал, устраивает больше.
"И Отказ надо проверять в начале процедуры. Потому что отказ мог быть вызван совсем не твоим платежным календарем, а в основном обработчике." а это я не поняль. Я пока только учусь)
8. FatPanzer 20.07.22 10:11 Сейчас в теме
(7) Ну представь, что в твою процедуру пришел "Отказ = Истина" и "Платеж запланирован = Истина".
Что у тебя произойдет в твоем коде?
9. user1729112 20.07.22 10:25 Сейчас в теме
(8)Полагаю, что то не хорошее. А как правильно сделать? Не соображу
10. FatPanzer 20.07.22 10:27 Сейчас в теме
(9) А ты не полагайся, а начерти схему, посмотри свой код - что будет в этом случае?
Не буду я за тебя ничего делать.
11. user1729112 20.07.22 10:32 Сейчас в теме
(10)Все равно будет вызвано исключение с текстом, что не заполнен календарь
Я правильно понимаю, вот тут &После("ПередЗаписью") нужно не "после", а "перед"?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот