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

Права доступа

Автор vaxilion, 12 июл 2016, 15:27

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

vaxilion

Есть роль в конфигураторе "УчетДМ", которая дает право менять одно поле табличной части в документе "ТребованиеНакладная".
Нужно сделать так, чтобы проверялись права доступа при попытке изменить это поле.
Делал так
Процедура МатериалыЦенаБезНДСПриИзменении(Элемент)
Если НЕ РольДоступна("УчетДМ") Тогда
МатериалыЦенаБезНДС.ТолькоПросмотр = Истина;
Иначе
МатериалыЦенаБезНДС.ТолькоПросмотр = Ложь;


Нечего не происходило. Подскажите плз.

vitasw

:D Логика у вас страдает. Событие "ПриИзменении" срабатывает ПОСЛЕ того как пользователь уже что-то наменял. Копайте событие таблицы на форме "ПередНачаломИзменения"

LexaK

Цитата: vitasw от 12 июл 2016, 16:44
:D Логика у вас страдает. Событие "ПриИзменении" срабатывает ПОСЛЕ того как пользователь уже что-то наменял. Копайте событие таблицы на форме "ПередНачаломИзменения"

:D
vitasw, у вас тоже логика немного странная, вообще управление видимостью/доступностью оформляют в виде процедур,
типа УстановитьВидимоть(...), УправлениеВидимостью(...) и т.д.
которые вызываются один раз при открытии формы, либо при изменении каких-то условий влияющих на логику документа.
Ни разу не видел, что бы рулили доступом к полям в событиях ПередНачаломИзменения.
если помогло нажмите: Спасибо!

cska-fanat-kz

у вас действительно свойство ТолькоПросмотр не зависит от данных текущей строки,
поэтому это свойство лучше настроить один раз в ПриОткрытии().
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Цитата: LexaK от 12 июл 2016, 17:45vitasw, у вас тоже логика немного странная, вообще управление видимостью/доступностью оформляют в виде процедур,

справедливо

vaxilion

Цитата: cska-fanat-kz от 13 июл 2016, 07:34
у вас действительно свойство ТолькоПросмотр не зависит от данных текущей строки,
поэтому это свойство лучше настроить один раз в ПриОткрытии().

Не зависит. Мне нужно, чтобы некоторые бухгалтера могли менять это поле. Пробивал через процедуру ПриОткрытии(), но там проблема. Она на Клиенте, а "РольДоступна" --на сервере только проверяеться
Добавлено: 13 июл 2016, 14:40


Цитата: vaxilion от 13 июл 2016, 14:39
Цитата: cska-fanat-kz от 13 июл 2016, 07:34
у вас действительно свойство ТолькоПросмотр не зависит от данных текущей строки,
поэтому это свойство лучше настроить один раз в ПриОткрытии().

Не зависит. Мне нужно, чтобы некоторые бухгалтера могли менять это поле. Пробивал через процедуру ПриОткрытии(), но там проблема. Она на Клиенте, а "РольДоступна" --на сервере только проверяеться


{Документ.ТребованиеНакладная.Форма.ФормаДокумента.Форма(758,12)}: Процедура или функция с указанным именем не определена (РольДоступна)
     Если НЕ <<?>>РольДоступна("УчетДМ") Тогда (Проверка: Тонкий клиент)

vitasw

Кто вам мешает в ПриСозданииНаСервере осуществить задуманное?

cska-fanat-kz

Цитата: vaxilion от 13 июл 2016, 14:39Не зависит. Мне нужно, чтобы некоторые бухгалтера могли менять это поле. Пробивал через процедуру ПриОткрытии(), но там проблема. Она на Клиенте, а "РольДоступна" --на сервере только проверяеться

а где-то было сказано про управляемое приложение?
в случае УП может и функциональную опцию применить можно...
и условное оформление...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск