Запрет проведения/сохранения через расщирение

1. pisarevEV 8 17.04.24 09:36 Сейчас в теме
надо запретить сохранение/проведение документа из формы через расширение. Сделал в модуле документа (в расширении) так:

&Вместо("ПередЗаписью")
Процедура Р1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	
	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	
	
	//добавим проверку флага пользователя:
	Запрет = УправлениеСвойствами.ЗначениеСвойства(ПользователиКлиентСервер.ТекущийПользователь(), "ЗапретНаКнопкуСохранитьВРеализации");
	
	Если Запрет Тогда 
		Отказ = Истина;	//выдает ошибку: [Ошибка хранимых данных]
		Сообщить("ВАМ ЗАПРЕЩЕНО!",СтатусСообщения.Важное);  
		Возврат;
	КонецЕсли;  
	
КонецПроцедуры
Показать


но при работе выдает ошибку "Не удалось провести "Реализация (акт, накладная, УПД)"! [ОшибкаХранимыхДанных]"
что это вообще?
Найденные решения
2. spacecraft 17.04.24 09:46 Сейчас в теме
(1) Отказ в ПередЗаписью это и есть ошибка.
ОшибкаХранимыхДанных это имя категории ошибки.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 17.04.24 09:46 Сейчас в теме
(1) Отказ в ПередЗаписью это и есть ошибка.
ОшибкаХранимыхДанных это имя категории ошибки.
4. pisarevEV 8 17.04.24 09:56 Сейчас в теме
(2) о как... я как-то можно изменить текст предупреждения?
6. spacecraft 17.04.24 10:04 Сейчас в теме
(4) если нужно запретить сохранение/проведение документа из формы, зачем это делать в модуле объекта?
В модуле объекта ПередЗаписью исполняется уже в транзакции. И Отказ соответственно отменяет транзакцию. Если это делать в модуле формы, то транзакции еще не будет.
7. pisarevEV 8 17.04.24 10:07 Сейчас в теме
(6) + надо запретить пометку удаление в списке...
8. spacecraft 17.04.24 10:15 Сейчас в теме
(7) как вариант, вместо Отказ использовать:
ВызватьИсключение "ВАМ ЗАПРЕЩЕНО!";
9. pisarevEV 8 17.04.24 10:19 Сейчас в теме
10. spacecraft 17.04.24 11:16 Сейчас в теме
(9) "научно" это делается ролями.
3. vadim.semyonov.rzn 17.04.24 09:50 Сейчас в теме
Устанавливать отказ лучше в процедуре &Перед("ПередЗаписью"), а не в замещающей &Вместо("ПередЗаписью").
5. pisarevEV 8 17.04.24 09:56 Сейчас в теме
Оставьте свое сообщение

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