Имя: Пароль:
1C
1С v8
Открыть доступ к доп реквизитам
,
0 AXZ
 
29.08.22
10:30
Всем утречка. Вопрос такой: мне нужно программно открыть доступ для определенной роли к полям справочника, добавленным через ДополнительныеРеквизитыИСведения.
Пока есть это:
&НаСервере
Процедура МоеРасширениеПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)

УстановитьПривилегированныйРежим(Истина);

Если РольДоступна("НужнаяРоль") Тогда
        
    Элементы.Поленейм.Доступность = Истина;
    
КонецЕсли;

УстановитьПривилегированныйРежим(Ложь);


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

Ясное дело что оно не сработало, но как тогда можно подвязать допреквизит и открыть к нему доступ? Видел модуль УправлениеСвойствами, но там пока не нашёл нужного. ERP 2.5.7
1 maxx079
 
29.08.22
10:38
Только через ивращения.
С ЕРП не работал, но например в УТ11 нет отдельных настроек доступности у элементов формы, по идее в ЕРП так же.
И если у вас сейчас закрыт доступ к доп.реквизитам - значит, доступ закрыт ко всей форме. Поэтому "ВашРеквизит.Доступность = Истина" ничего не даст.
Надо идти от обратного - делать всю форму доступной, а затем закрывать доступность у всех элементов, кроме тех, где доступ разрешен.
2 maxx079
 
29.08.22
10:39
Повторюсь, с ЕРП не работал, но буду очень удивлен, если там есть какие либо настройки по доступности отдельных элементов форм.
3 Ryzeman
 
29.08.22
10:39
>> Элементы.Поленейм.Доступность = Истина;

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

Вариант посмотреть где он обращается к условиям доступности и вставить программно свой отбор по текущему пользователю. Совсем крутое решение - добавить в макет отборов этих условий текущего пользователя и его таблицы
4 Dmitrii
 
гуру
29.08.22
10:46
(0) Если у пользователя нет права на изменение объекта, то он не может изменять его допреквизиты.
Нарисуйте свою форму редактирования допреквизита(ов), запись значений в которой будет производиться сразу в привилегированным режиме. Форму открывать по отдельной кнопочке.
5 maxx079
 
29.08.22
10:47
Сами поля искать тут - ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов
Там будет табличка со свойствами и именами элементов, которые этим свойствам соответствуют.
6 AXZ
 
29.08.22
11:00
(3) Проблема в том что справочник Сотрудники, не смог найти ни одну роль которая позволяет редактировать перенесенные из ЗУП записи
7 Dmitrii
 
гуру
29.08.22
11:24
(6) >> не смог найти ни одну роль которая позволяет редактировать перенесенные из ЗУП записи.

А может быть перенесённые из ЗУП записи должны редактироваться в ЗУП?
Сразу говорю, что я не знаю особенности реализации обмена ЗУП-ERP, но ля начала прочитал бы документацию на эту тему.
Чтобы не получилось так, что внесенные пользователем изменения накроются при следующем обмене.
8 Momus
 
29.08.22
11:29
в конце окажется, что доступность = ложь установлено для всей формы
9 Ryzeman
 
29.08.22
11:43
(7) если там типовой обмен, то по идее настраивается. Типа, можно сделать так что б изменения из одной отображались в другой. А можно только односторонний, но это не точно)
10 AXZ
 
29.08.22
13:33
(7) Ревкизиты задаются на стороне ERP, как сами доп реквизиты, так и их значения
11 AXZ
 
29.08.22
13:33
(8) Если бы всё было так просто
12 AXZ
 
29.08.22
15:30
Итого: с задачей я так и не справился, сделал костыль в виде обработки, меняющей допреквизит на указанный