Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 22:42

Запрет редактирования спецификаций

Автор EgorL, 04 июл 2014, 09:45

0 Пользователей и 1 гость просматривают эту тему.

EgorL

Возникла задача запретить пользователям УПП редактировать утверждённые спецификации. Создал роль, по подписке на запись делаю проверку поля "состояние" -- если "Утверждён", посылаем пользователя к руководству. Но так пользователь может изменить поле "Состояние" на другое значение и сохранить изменённую спецификацию.
Подскажите, как можно узнать сохранённое состояние спецификации, а не то которое в форме?
Процедура ЗапретИзмененияСпецификаций(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
Если Строка(Источник.Состояние) = "Утвержден" Тогда
                Разрешить = РольДоступна("ИзменениеСпецификаций");
                Если НЕ Разрешить Тогда
                         Отказ = Истина;
                         Сообщить("У вас нет прав на изменение Утверждённых спецификаций!", СтатусСообщения.Важное);
                КонецЕсли;
КонецЕсли;
КонецПроцедуры

LexaK

Надо в форме в событии перед открытием проверить Состояние, если утверждено то форму открыть в режиме только просмотр
пример

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
...
Если Состояние = "Утверждено" Тогда
ЭтаФорма.ТолькоПросмотр = Истина;   
КонецЕсли;
...
КонецПроцедуры
если помогло нажмите: Спасибо!

EgorL

Цитата: LexaK от 04 июл 2014, 10:08
Надо в форме в событии перед открытием проверить Состояние, если утверждено то форму открыть в режиме только просмотр
пример

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
...
Если Состояние = "Утверждено" Тогда
ЭтаФорма.ТолькоПросмотр = Истина;   
КонецЕсли;
...
КонецПроцедуры

К сожалению нет такого события ("ПередОткрытием") в подписке на спецификацию...

LexaK

да при чем здесь подписка? в форме документа, это событие!
если помогло нажмите: Спасибо!

EgorL

Цитата: LexaK от 04 июл 2014, 10:34
да при чем здесь подписка? в форме документа, это событие!
Я пока не готов править конфигурацию.

LexaK

:D :D ну насмешили, чуть со стула не упал :D:D
ЦитироватьЯ пока не готов править конфигурацию.

а создание роли
ЦитироватьСоздал роль,

а редактирование подписки на событие,
Цитироватьпо подписке на запись делаю проверку поля "состояние"

это тогда что?
если помогло нажмите: Спасибо!

Klyacksa

Можно проверить в ПередЗаписью - сравнить объект с объектом в базе, и уже принимать решение - разрешать запись или нет.

LexaK, это ДОБАВЛЕНИЕ новых объектов, автор, видимо, не хочет влазить в типовые объекты.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

LexaK

можно попробовать еще через роль(добавленную), в правах на документ Спецификация на право Изменение в ограничении добавить условие
...
Статус <> "Утверждено"
...

если помогло нажмите: Спасибо!

EgorL

Цитата: Klyacksa от 04 июл 2014, 11:28
LexaK, это ДОБАВЛЕНИЕ новых объектов, автор, видимо, не хочет влазить в типовые объекты.
Совершенно верно.
quote author=Klyacksa link=topic=40936.msg115172#msg115172 date=1404458921]
можно попробовать еще через роль(добавленную), в правах на документ Спецификация на право Изменение в ограничении добавить условие
...
Статус <> "Утверждено"
...
[/quote]
Если я правильно понял, тогда придётся эту роль всем пользователям назначать, кроме тех кому можно. Так можно кого нить упустить.
Цитата: Klyacksa от 04 июл 2014, 11:28
Можно проверить в ПередЗаписью - сравнить объект с объектом в базе, и уже принимать решение - разрешать запись или нет.
А вот как это сделать?

Klyacksa

Сделайте подписку на событие ПередЗаписью. В ней у вас есть Источник - это уже измененный объект, по идее. У него есть Ссылка. По Ссылке получаете еще не измененный объект.
В итоге Источник.Состояние - это новое состояние, Источник.Ссылка.Состояние - старое состояние.
Проверьте отладчиком.

Цитата: LexaK от 04 июл 2014, 11:37
...
Статус <> "Утверждено"
...
Вот, кстати, тоже вариант.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги: УПП подписка 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск