-
Notifications
You must be signed in to change notification settings - Fork 1
/
Производительный_вариант_работы_ограничения_записей.txt
25 lines (20 loc) · 2.34 KB
/
Производительный_вариант_работы_ограничения_записей.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1. добавить свой вид доступа УправлениеДоступомПереопределяемый.ПриЗаполненииВидовДоступа()
2. добавить свой объект в процдеру УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа()
3. в модуль формы объекта в событие ПриЧтенииНаСервере добавить УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
4. в модуль формы объекта в событие ПослеЗаписиНаСервере добавить УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
5. в роля для объектов добавить шаблон
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
// или #ДляРегистра("<Описание регистра>", "<Имя поля 1>", "<Необязательное имя поля 2>", "<Необязательное имя поля 3>", "<Необязательное имя поля 4>", "<Необязательное имя поля 5>")
#Иначе
#ПоЗначениям("")
#КонецЕсли
для производительного варианта будет использовано первое условие
6. в модуле менеджера добавить функцию ПриЗаполненииОграниченияДоступа() и добавить само ограничение
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
|И ЗначениеРазрешено(Поставщики.Контрагент)";
7. добавить определяемые типы как в ссылке
https://its.1c.ru/db/bsp314doc#content:4:1:issogl3_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%BC%D0%B5%D1%82%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85