Имя: Пароль:
1C
1С v8
Ограничение доступа к справочнику
0 slimuz
 
31.08.17
08:41
Добрый день.
Необходимо ограничить доступ к справочнику "Помещения", у каждой роли свои ограничения на этот справочник. Написал процедуру в модуле сеанса по примеру:

Процедура УстановитьДопПараметрыСеанса(ИмяПараметра, УстановленныеПараметры) Экспорт
    Если ИмяПараметра = "РольПомещения1" Тогда
      
        СписокПомещений = Новый СписокЗначений;
        СписокПомещений.Добавить(Справочники.Помещения.НайтиПоКоду("000000003"));
        СписокПомещений.Добавить(Справочники.Помещения.НайтиПоКоду("000000002"));
        СписокПомещений.Добавить(Справочники.Помещения.НайтиПоКоду("000000001"));
      
        ТекстЗапроса = "ВЫБРАТЬ
        |    Помещения.Ссылка
        |ИЗ
        |    Справочник.Помещения КАК Помещения
        |ГДЕ
        |    Помещения.Ссылка В (&СписокПомещений)";
        Запрос = Новый Запрос(ТекстЗапроса);
        Запрос.УстановитьПараметр("СписокПомещений",СписокПомещений);
        МассивГрупп = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.Прямой).ВыгрузитьКолонку("Ссылка");
      
        ПараметрыСеанса.РольПомещения1 = Новый ФиксированныйМассив(МассивГрупп);
        УстановленныеПараметры.Добавить("РольПомещения1");
    КонецЕсли;        
КонецПроцедуры

Создал роль в которой добавил ограничение на чтение:

Помещения ГДЕ Помещения.Ссылка В (&РольПомещения1)

При запуске ошибка: Не задано значение параметра "РольПомещения1".
Не смог разобраться как это работает, процедуру "УстановитьДопПараметрыСеанса" нужно же откуда-то вызывать ?
1 FIXXXL
 
31.08.17
08:43
ставь точки останова, смотри заполнение параметра сеанса
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан