|
РЛС у РН | ☑ | ||
---|---|---|---|---|
0
ArturDoo
03.04.23
✎
22:25
|
Доброго дня. Хочу сделать РЛС по подразделениям на РН, но если их заполнить, пользователь не видит записи в РС. Может я где-то ошибся в параметрах, или еще в чем-то. Подскажите, пожалуйста.
Текст ограничения: Подробности#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда #ДляРегистра("ИдентификаторыОбъектовМетаданных.ДанныеТабельногоУчетаРабочегоВремениВнешнихСотрудников", "Подразделения", "Подразделение", "", "", "") #Иначе #ПоЗначениям( "РегистрНакопления.ДанныеТабельногоУчетаРабочегоВремениВнешнихСотрудников", "", "", "Подразделения", "Подразделение", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","") #КонецЕсли Текст шаблона: // ДляРегистра(Регистр, Поле1, Поле2 = "", Поле3 = "", Поле4 = "", Поле5 = "") // Шаблон используется для ограничения групп записей регистров. // // Параметры: // Регистр - имя предопределенного элемента справочника Идентификаторы объектов метаданных или справочника // Идентификаторы объектов расширений в формате: имя справочника с точкой и полное имя таблицы // без точки, например, ИдентификаторыОбъектовМетаданных.РегистрНакопленияОстаткиНаСкладах; // - имя отдельного регистра ключей в формате КлючиДоступаКРегистру<ОстатокИмени>, // например, КлючиДоступаКРегиструОстаткиНаСкладах. // Поле1 - имя первого поля (измерения, ресурса, реквизита), которое будет соединяться с полем Поле1 // регистра сведений КлючиДоступаКРегистр* // Поле2 - аналогично предыдущему параметру, если используется в ограничении доступа к регистру. // ... // Поле5 - аналогично предыдущему параметру, если используется в ограничении доступа к регистру. #Если &СпискиСОтключеннымОграничениемЧтения = "Неопределено" #Тогда // Информационная база заблокирована для обновления. ГДЕ ЛОЖЬ #ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра9,") #Тогда Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 9 шаблона ограничения доступа ДляРегистра. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа. #ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда // У пользователя отключены все виды доступа или // ограничение на уровне записей не используется. ГДЕ ИСТИНА #ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы + ";") #Тогда // У пользователя отключено ограничение для текущей таблицы. ГДЕ ИСТИНА #ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ТребуетсяПерезапуститьСеанс,") #Тогда Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа. #ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда // Проверка прав Добавление, Изменение, Удаление выполняется ПередЗаписью / ПриЗаписи. ГДЕ ИСТИНА #ИначеЕсли СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ";0") #Тогда ГДЕ ЛОЖЬ #ИначеЕсли СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ";1") #Тогда Ошибка: Внешние пользователи отключены. #ИначеЕсли Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") И Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда Ошибка: Требуется актуализировать ограничение доступа по причине: Не удалось определить вариант ограничения доступа в параметрах сеанса для шаблона ДляРегистра со значениями параметров "#Регистр", "#Поле1", "#Поле2", "#Поле3", "#Поле4", "#Поле5". Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа. #Иначе ТекущаяТаблица ГДЕ ИСТИНА В ( ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА #Если Не СтрСодержит("#Регистр", "КлючиДоступаКРегистру") #Тогда ИЗ РегистрСведений.КлючиДоступаКРегистрам КАК КлючиДоступаКРегистрам #Иначе ИЗ РегистрСведений.#Регистр КАК КлючиДоступаКРегистрам #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаНаборовГруппДоступа КАК КлючиДоступаНаборовГруппДоступа ПО КлючиДоступаНаборовГруппДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа И КлючиДоступаНаборовГруппДоступа.НаборГруппДоступа = &РазрешенныйНаборГруппДоступа #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;*") #Тогда ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаНаборовГруппДоступа КАК КлючиДоступаРазрешенногоНабораГруппДоступа ПО КлючиДоступаРазрешенногоНабораГруппДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа И КлючиДоступаРазрешенногоНабораГруппДоступа.НаборГруппДоступа = &РазрешенныйПустойНаборГруппДоступа #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда #Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаПользователей КАК КлючиДоступаПользователей ПО КлючиДоступаПользователей.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа И КлючиДоступаПользователей.Пользователь = &РазрешенныйПользователь #Иначе ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаВнешнихПользователей КАК КлючиДоступаПользователей ПО КлючиДоступаПользователей.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа И КлючиДоступаПользователей.ВнешнийПользователь = &РазрешенныйПользователь #КонецЕсли #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;+") #Тогда #Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаПользователей КАК КлючиДоступаНаборовГруппПользователей ПО КлючиДоступаНаборовГруппПользователей.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа И КлючиДоступаНаборовГруппПользователей.Пользователь = &РазрешенныйНаборГруппПользователей #Иначе ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаВнешнихПользователей КАК КлючиДоступаНаборовГруппПользователей ПО КлючиДоступаНаборовГруппПользователей.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа И КлючиДоступаНаборовГруппПользователей.ВнешнийПользователь = &РазрешенныйНаборГруппПользователей #КонецЕсли #КонецЕсли ГДЕ #Если Не СтрСодержит("#Регистр", "КлючиДоступаКРегистру") #Тогда КлючиДоступаКРегистрам.Регистр = Значение(Справочник.#Регистр) #Иначе ИСТИНА #КонецЕсли И ( КлючиДоступаКРегистрам.ВариантДоступа = ( #Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда 0 #Иначе 1 #КонецЕсли #Если Не СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Версия1=0") #Тогда #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле1=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле2=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле3=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле4=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле5=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия1Бит0=1") #Тогда + 64 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия1Бит1=1") #Тогда + 128 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия1Бит2=1") #Тогда + 256 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия1Бит3=1") #Тогда + 512 #КонецЕсли #КонецЕсли ) #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле1=Поле1;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле1=Поле2;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле1=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле1=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле1=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле2=Поле2;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле2=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле2=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле2=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле3=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле3=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле3=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле4=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле4=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант1Поле5=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2") #Тогда ИЛИ КлючиДоступаКРегистрам.ВариантДоступа = ( #Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда 0 #Иначе 1 #КонецЕсли #Если Не СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Версия2=0") #Тогда #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле1=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле2=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле3=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле4=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле5=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия2Бит0=1") #Тогда + 64 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия2Бит1=1") #Тогда + 128 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия2Бит2=1") #Тогда + 256 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия2Бит3=1") #Тогда + 512 #КонецЕсли #КонецЕсли ) #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле1=Поле1;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле1=Поле2;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле1=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле1=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле1=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле2=Поле2;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле2=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле2=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле2=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле3=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле3=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле3=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле4=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле4=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант2Поле5=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5 #КонецЕсли #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3") #Тогда ИЛИ КлючиДоступаКРегистрам.ВариантДоступа = ( #Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда 0 #Иначе 1 #КонецЕсли #Если Не СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Версия3=0") #Тогда #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле1=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле2=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле3=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле4=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле5=Поле") #Тогда + 2 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия3Бит0=1") #Тогда + 64 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия3Бит1=1") #Тогда + 128 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия3Бит2=1") #Тогда + 256 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Версия3Бит3=1") #Тогда + 512 #КонецЕсли #КонецЕсли ) #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле1=Поле1;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле1=Поле2;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле1=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле1=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле1=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле2=Поле2;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле2=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле2=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле2=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле3=Поле3;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле3=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле3=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле4=Поле4;") #Тогда И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4 #ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле4=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5 #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Вариант3Поле5=Поле5;") #Тогда И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5 #КонецЕсли #КонецЕсли ) И ( #Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда НЕ КлючиДоступаНаборовГруппДоступа.КлючДоступа ЕСТЬ NULL #Иначе ЛОЖЬ #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;*") #Тогда ИЛИ НЕ КлючиДоступаРазрешенногоНабораГруппДоступа.КлючДоступа ЕСТЬ NULL #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда ИЛИ НЕ КлючиДоступаПользователей.КлючДоступа ЕСТЬ NULL #КонецЕсли #Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;+") #Тогда ИЛИ НЕ КлючиДоступаНаборовГруппПользователей.КлючДоступа ЕСТЬ NULL #КонецЕсли ) ) #Если Не СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, #ИмяТекущейТаблицы + ":Пропустить;") И ( СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";УточнитьДляВсех;") Или СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, #ИмяТекущейТаблицы + ":Уточнить;") ) #Тогда #Если Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда И ИСТИНА В (ИСТИНА #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";31;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";30;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";29;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";28;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";27;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";26;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";25;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";24;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";23;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";22;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";21;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";20;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";19;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";18;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";17;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";16;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";15;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";14;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";13;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";12;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";11;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";10;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";09;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";08;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";07;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";06;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";05;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";04;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";03;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";02;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";01;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";00;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли ) #Иначе И ИСТИНА В (ИСТИНА #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";31^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";30^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";29^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";28^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";27^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";26^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";25^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";24^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";23^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";22^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";21^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";20^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";19^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";18^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";17^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";16^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";15^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";14^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";13^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";12^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";11^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";10^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";09^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";08^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";07^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";06^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";05^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";04^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";03^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";02^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";01^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли #Если СтрСодержит(&ОбщиеПараметрыШаблоновОграниченияДоступа, ";00^;") #Тогда ,ИСТИНА #Иначе ,ЛОЖЬ #КонецЕсли ) #КонецЕсли #КонецЕсли #КонецЕсли |
|||
1
ArturDoo
03.04.23
✎
10:59
|
База на - БСП 3_1_5_331
|
|||
2
Asmody
03.04.23
✎
11:30
|
Я раньше не знал, как выглядит страшный пиздец, но я увидел (0) и теперь я знаю
|
|||
3
magicSan
03.04.23
✎
11:41
|
(0) ТекущаяТаблица
ИЗ #ТекущаяТаблица КАК ТекущаяТаблица где ТекущаяТаблица.Подразделение = блабла |
|||
4
ArturDoo
03.04.23
✎
11:51
|
(3) Те ты предлагаешь без шаблонов, просто лупануть запросом?
|
|||
5
lodger
03.04.23
✎
13:00
|
(2) так это типовой рлс в бухне )
|
|||
6
timurhv
03.04.23
✎
13:51
|
(0) Если используется производительный режим, то необходимо обновить доступы на уровне записей. Перед этим проверить:
- у РН в модуле менеджера должна быть процедура "ПриЗаполненииОграниченияДоступа" - поля ограничений доступа РН включены в процедуру "ПриЗаполненииВидовОграниченийПравОбъектовМетаданных" |
|||
7
timurhv
03.04.23
✎
13:55
|
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст = "РазрешитьЧтениеИзменение |ГДЕ | ЗначениеРазрешено(Организация) | И ЗначениеРазрешено(Подразделение)"; КонецПроцедуры // См. УправлениеДоступомПереопределяемый.ПриЗаполненииВидовОграниченийПравОбъектовМетаданных. Процедура ПриЗаполненииВидовОграниченийПравОбъектовМетаданных(Описание) Экспорт Описание = Описание + " |РегистрНакопления.ВзаиморасчетыСКонтрагентамиАкционерами.Чтение.Подразделение |РегистрНакопления.ВзаиморасчетыСКонтрагентамиАкционерами.Чтение.Организации"; КонецПроцедуры |
|||
8
magicSan
03.04.23
✎
14:09
|
(4) это шаблон рлс в конфигураторе
|
|||
9
ArturDoo
03.04.23
✎
19:21
|
(7) Сделал так:
1) добавил в ОМ УправлениеДоступомПереопределяемый в процедуру ПриЗаполненииВидовОграниченийПравОбъектовМетаданных (Описание) |РегистрНакопления.ДанныеТабельногоУчетаРабочегоВремениВнешнихСотрудников.Чтение.Подразделения |РегистрНакопления.ДанныеТабельногоУчетаРабочегоВремениВнешнихСотрудников.Изменение.Подразделения И в процедуру ПриЗаполненииОграниченияДоступа(Список, Ограничение) Экспорт Ограничение.Текст = "РазрешитьЧтениеИзменение |ГДЕ | ЗначениеРазрешено(Подразделение)"; 2) в модуль менеджер РН добавил Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт Ограничение.Текст = "РазрешитьЧтениеИзменение |ГДЕ | ЗначениеРазрешено(Подразделение)"; Вариант работы РЛС - стандартный В роли, в ограничение доступа такой текст #ПоЗначениям("РегистрНакопления.ДанныеТабельногоУчетаРабочегоВремениВнешнихСотрудников", "Чтение", "", "Подразделения", "Подразделение", "","","","","","","","","","","","","","","","","","","","","","","","","","","","","","") Но у юзера с юэтими правами пустой РН. Я что-то забыл сделать? |
|||
10
timurhv
03.04.23
✎
19:24
|
(9) все что добавили, это для производительного режима.
Пользователю подразделение добавили? Галочка просмотр в роли у регистра накопления стоит? |
|||
11
ArturDoo
03.04.23
✎
19:30
|
(10)Да, у пользователя выставлено подразделение, РЛС на регистраторе это РН работает нормально, Галочка - просмотр стоит
|
|||
12
ArturDoo
03.04.23
✎
19:37
|
(9) Почитал первое сообщение из другой ветки - Наложение РЛС на РН и подумал, может, правда, не делать РЛС на конкретный РН, но как тогда исключить записи с регистратором, у которого другое подразделение, из отчета?
|
|||
13
ArturDoo
03.04.23
✎
19:38
|
На регистраторе РЛС работает на форме списка их не видно и из отчета они не открываются, но в отчет тянутся строки с "ненужным" регистратором?
|
|||
14
AlvlSpb
03.04.23
✎
20:44
|
(12) У Регистратора делаешь ограничение по Подразделению. А в отчете - Набор данных запрос - "ВЫБРАТЬ РАЗРЕШЕННЫЕ" никакие данные из РН связанные с запрещенным регистратором не попадут в отчет
|
|||
15
ArturDoo
03.04.23
✎
22:01
|
(14) Так ограничение-то РЛС делается, или у тебя есть еще варианты?
|
|||
16
magicSan
03.04.23
✎
22:09
|
||||
17
AlvlSpb
03.04.23
✎
22:53
|
(15) Конечно, РЛС. Но в регистраторе
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |