Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

как получить полные права из справочника?

как получить полные права из справочника?
Я
   YamEgor
 
26.12.20 - 13:11
Добрый день! подскажите как получить роль полные права? конфигурация 1С:ERP Управление предприятием 2 для Казахстана. Задача следующая, нужно выбрать все документы у которых не назначена роль. В конфигурации есть справочник ИдентификаторыОбъектовМетаданных и в нем храняться наверное все объекты,то есть там справочники, документы, роли, и т.д. и этот справочник используется для регистра сведений ПраваРолей. В РегСведений есть два измерения Роль и ОбъектМетаданных и я в обработке вот что сделал:

    РодительДокументов = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоНаименованию("Документы",Истина);
    //ВсеРоли = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоНаименованию("Роли",Истина); //здесь все роли
    //а мне нужна только одна роль полные права
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ИдентификаторыОбъектовМетаданных.Ссылка КАК Ссылка
        |ПОМЕСТИТЬ ВТ_Документы
        |ИЗ
        |    Справочник.ИдентификаторыОбъектовМетаданных КАК ИдентификаторыОбъектовМетаданных
        |ГДЕ
        |    ИдентификаторыОбъектовМетаданных.Родитель В(&Родитель)
        |    И НЕ ИдентификаторыОбъектовМетаданных.ПометкаУдаления
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ПраваРолей.Роль КАК Роль,
        |    ПраваРолей.ОбъектМетаданных КАК ОбъектМетаданных
        |ПОМЕСТИТЬ РолиСправочника
        |ИЗ
        |    РегистрСведений.ПраваРолей КАК ПраваРолей
        |ГДЕ
        |    НЕ ПраваРолей.Роль = &РольПолныеПрава
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ_Документы.Ссылка КАК Ссылка
        |ИЗ
        |    ВТ_Документы КАК ВТ_Документы
        |        ЛЕВОЕ СОЕДИНЕНИЕ РолиСправочника КАК РолиСправочника
        |        ПО ВТ_Документы.Ссылка = РолиСправочника.ОбъектМетаданных
        |ГДЕ
        |    РолиСправочника.Роль ЕСТЬ NULL";
            
    Запрос.УстановитьПараметр("Родитель", РодительДокументов);
    РезультатЗапроса = Запрос.Выполнить();
    Если РезультатЗапроса.Пустой() Тогда
        Сообщить("Нет ничего");
    Иначе
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            Сообщить(ВыборкаДетальныеЗаписи.Ссылка);
        КонецЦикла;
    КонецЕсли;
   vicof
 
1 - 26.12.20 - 13:53
У меня один вопрос. Зачем?
   YamEgor
 
2 - 26.12.20 - 14:06
(1) нужно получить все объекты у которых не назначили права
   ASU_Diamond
 
3 - 26.12.20 - 14:28
(2) Которые ни в одной из ролей не участвуют наверное? Это можно получить без всяких справочников и регистров
   YamEgor
 
4 - 26.12.20 - 14:31
(3) просто выбираем скажем по документам только
   YamEgor
 
5 - 26.12.20 - 14:34
(3) Которые ни в одной из ролей не участвуют наверное? - скорее всего одна роль ПолныеПрава будет всегда, надо получается тот объект у которого будет только одна роль, как в запросе проверить на количество Роль.Количество() = 1?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.