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

Вопрос легкого характера

Автор demon3, 13 фев 2014, 09:35

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

demon3

имеется документ с управл формой,в нем 2 таб части с двумя реквизитами. ограничение к табчастям сделано на уровне ролей. тоесть один пользователь имеет доступ к одной таб части(права просмотр ,редактирование),второй пользователь к другой таб части(права просмотр ,редактирование). а к тем таб частям,в которые не могут добавлять элементы,там права только просмотр. вопрос вот в чем. мне нужно программно при изменении таб части,к которой пользователь имеет доступ,добавить запись в таб часть.к которой пользоователь имеет права только на просмотр. написал такой код, но из за ограничения прав он не дает записать,ругается что поле объекта недоступно для записи, если же дать ему права,все нормально записывается. подскажите.как решить данную проблему.код прикладываю:

Процедура ТехнологЗаключениеБлокиПриИзменении(Элемент)

//заполняем заключения электриков и конструкторо,ели сложность от 1 до 4
тех =Объект.ТехнологЗаключение.Количество();
если тех >0 и Объект.сложностьзапроса = перечисления.УровниСложностиЗапроса.Первый тогда   
констр = объект.КонструкторЗаключение.Добавить();
констр.Блоки = справочники.Номенклатура.НайтиПоНаименованию("Одобряю");
электр = объект.ЭлектрикЗаключение.Добавить();
электр.Блоки = справочники.Номенклатура.НайтиПоНаименованию("Одобряю");
иначеесли тех >0 и Объект.сложностьзапроса = перечисления.УровниСложностиЗапроса.Второй тогда
констр = объект.КонструкторЗаключение.Добавить();
констр.Блоки = справочники.Номенклатура.НайтиПоНаименованию("Одобряю");
электр = объект.ЭлектрикЗаключение.Добавить();
электр.Блоки = справочники.Номенклатура.НайтиПоНаименованию("Одобряю");
иначеесли тех >0 и Объект.сложностьзапроса = перечисления.УровниСложностиЗапроса.третий тогда
констр = объект.КонструкторЗаключение.Добавить();
констр.Блоки = справочники.Номенклатура.НайтиПоНаименованию("Одобряю");
электр = объект.ЭлектрикЗаключение.Добавить();
электр.Блоки = справочники.Номенклатура.НайтиПоНаименованию("Одобряю");
иначеесли тех >0 и Объект.сложностьзапроса = перечисления.УровниСложностиЗапроса.Четвертый тогда
констр = объект.КонструкторЗаключение.Добавить();
констр.Блоки = справочники.Номенклатура.НайтиПоНаименованию("Одобряю");
электр = объект.ЭлектрикЗаключение.Добавить();
электр.Блоки = справочники.Номенклатура.НайтиПоНаименованию("Одобряю");   
конецЕсли;   

КонецПроцедуры

belu

Мне кажется если прав нет - он все равно не даст записать.

В свойствах таб.части есть галочка ТолькоПросмотр - если её ставишь - то в таб.часть добавить ничего нельзя. Может перед открытием формы в зависимости от пользователя выставлять эту галочку в нужную таб.часть, чтобы он туда не мог писать. Но это по сложному получается, т.к. надо понять с какой ролью зашел пользователь.

demon3

Цитата: belu от 13 фев 2014, 12:29
Мне кажется если прав нет - он все равно не даст записать.

В свойствах таб.части есть галочка ТолькоПросмотр - если её ставишь - то в таб.часть добавить ничего нельзя. Может перед открытием формы в зависимости от пользователя выставлять эту галочку в нужную таб.часть, чтобы он туда не мог писать. Но это по сложному получается, т.к. надо понять с какой ролью зашел пользователь.

Вопрос решился создание серверной функции и возврат ее на клиента!

belu

О, хорошо, буду знать!
Я сначала так же подумал, но потом решил, что права всё равно подействуют, надо было проверить)

Теги:

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

Рейтинг@Mail.ru

Поиск