Разграничение прав доступа #483356


#0 by alexkr
Товарищи, помогите кто чем сможет, очень нужен хелп, а то совсем не получается. Хочу настроить права доступа для пользователей таким образом: 1. Есть регистр сведений ДоступКОбъектам (самописный) с измерениями - объектметаданных - изменение например у меня есть документ авансовый отчет и ограничение по организации. тоесть в регистр я делаю две записи по документу: АвансовыйОтчет;;ГруппаБухгалтерия;;Истина;Истина;Истина по организации Нужно настроить ограничение таким образом чтобы пользователь входящий в группу имел право на чтение (ну остальное аналогично) данного вида документов. Вот столкнулся с проблемой что при вызове ограничения с передачей ему параметра "Организация" вываливается ошибка "Поле не найдено ТекущаяТаблица.Организация" само ограничение выглядит так ТекущаяТаблица ИЗ    #ТекущаяТаблица КАК ТекущаяТаблица    1 ИЗ    (ВЫБРАТЬ ПЕРВЫЕ 1        ВложенныйЗапрос.Чтение КАК Чтение    ИЗ            ДоступКОбъектам.ОбъектМетаданных = ЗНАЧЕНИЕ(справочник.Объектыметаданных.Организации)            И ДоступКОбъектам.ГруппаПользователей В                    (ВЫБРАТЬ                        СоставГруппПользователей.ГруппаПользователей                    ИЗ            1        ИЗ
#1 by Kreont
Значит у обекта к которому хочешь доступиться нет реквизита "Организация"
#2 by alexkr
есть реквизит, иначе чего бы я по нему фильтровал ;-)
#3 by Kreont
Точно, а то в для "ДоступКОбъектам" невидно Проверь чему равна "ТекущаяТаблица" до вызова
#4 by alexkr
я конечно дико извиняюсь, а как проверить то? такая мысля была, но вот как это сделать ... полное отсутствие идей. Кроме того в таком варианте все нормально работает... ТекущаяТаблица ИЗ    #ТекущаяТаблица КАК ТекущаяТаблица где не ТекущаяТаблица.#Параметр = Значение(справочник.организации.пустаяссылка)
#5 by Kreont
Поставь остановку по ошибке в отладчике, может попадешь куда надо, просто в таком случае сохраняются все переменные до ошибки
#6 by alexkr
дело в том что я не могу установить даже вызов ограничения, ошибка обнаруживается еще в конфигураторе
#7 by Kreont
%) Ниче не понял, я просто шаблоны констуктором писал/дописывал. А как вызываешь даный шаблон? я правильно понял, сам шаблон сохранился , а в справочнике/.. когда вписываешь в поле в самом низу не дает внести вызов того шаблона?
#8 by alexkr
шаблон сохраняется даже если там есть ошибки. да, шаблон сохранился, а когда в ограничении доступа прописывается вызов шаблона вываливается ошибка.
#9 by alexkr
#Организации("Организация")
#10 by Kreont
Еще усталось только узнать для кого(справоч/рег.) такой шаблон задаешь :) и посмотреть точно есть ли там такой реквизит "Организация"
#11 by alexkr
задаю для документа Авансовыйотчет, реквизит Организация там есть в пример другого шаблона который работает :-(
#12 by Kreont
А у справочника "Объектыметаданных" есть точно реквизит "Организации"?
#13 by alexkr
я не для справочника задаю а для документа ну по идее сравнение ТекущаяТаблица.#Параметр = &НужнаяОгранизация єто сравнение реквизита обрабатываемой таблицы с каким то значением, тоесть проверяем если равно тогда запись читается иначе не читается. или я не так понимаю этот механизм?
#14 by alexkr
вот такой вызов шаблона #Организации("Организация") прокатывает, и все нормально работает. вот только вместо условия "не ТекущаяТаблица.#Параметр = Значение(справочник.организации.пустаяссылка)" мне нужно установить иное условие, но тогда не срабатывает определение параметра шаблона. Почему??? Организации = "ТекущаяТаблица где не ТекущаяТаблица.#Параметр = Значение(справочник.организации.пустаяссылка)"
#15 by Kreont
Хз, даж незнаю, пробуй по частям тот запрос тестировать, вместо "ТекущаяТаблица ИЗ    #ТекущаяТаблица КАК ТекущаяТаблица
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С