Прерывание обработки заполнения

1. irinka1986 05.04.12 23:22 Сейчас в теме
Подскажите, как прервать выполнение обработки на основании.
Если Условие = Истина Тогда
Возврат;
КонецЕсли;
Это не помогает-форма все равно открывается
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Zya 05.04.12 23:32 Сейчас в теме
А если код по открытию формы заключить в условие
Если НЕ Условие Тогда
//открытие формы
КонецЕсли;
3. YNik 05.04.12 23:42 Сейчас в теме
Как сделано в типовой, в модуле объекта в начале объявляем переменную:
Перем мФормуНеОткрывать Экспорт;
в конце (ТЕЛО МОДУЛЯ):
мФормуНеОткрывать = Ложь;
В процедуре ОбработкаЗаполнения:
Если Условие = Истина Тогда
мФормуНеОткрывать = Истина;
Возврат;
КонецЕсли;
в модуле формы в процедуре ПередОткрытием:
Если мФормуНеОткрывать Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
dikktor; leobrn; five_seven; +3 Ответить
4. irinka1986 06.04.12 00:25 Сейчас в теме
5. FeliceYa 5 15.09.23 15:04 Сейчас в теме
Может быть кому-то пригодится.
В управляемых формах описанный выше механизм не работает. Что не помещай в модульные переменные в ОбработкеЗаполнения в обработчике формы ПриСозданииНаСервере модульные переменные имеют значение Неопредалено. Тоже самое и с ДополнительнымиСвойствами - при переходе в форму - это пустая структура. Добавлять для передачи в форму запрета открытия некий реквизит - тоже не очень хорошая идея.
Для себя нашла простое решение, когда в ОбработкеЗаполнения мы понимаем, что нам нужно отказаться от открытия формы - просто устанавливаем пометку удаления. В форме ПриСозданииНаСервере проверяем, что если это форма нового объекта, и ПометкаУдаления = Истина, значит мы отказываемся открывать данную форму.
Оставьте свое сообщение

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