Имя: Пароль:
1C
 
УП, ДинамическийСписок, программный отбор, иерархический справочник.
0 spiller26
 
12.03.19
13:13
Документооборот. 2.1.5.6
Справочник "Исходящие документы", ФормаСписка.
+ РС.абтЗапрещенныеВидыИсходящихДокументов (независимый, непериодический), Измерения "ВидыИсходящихДокументов" (Группы и элементы). Добавил группу и один элемент этой группы (пока для проверки).
Реквизит формы "Список" (ДинамическийСписок, произвольный запрос) изм.запрос "ГДЕ НЕ ИсходящиеДокументы.ВидДокумента В (&ЗапрещенныйВидДокумента)".
Реквизит формы "ВидыДокументов" (ДинамическийСписок, ОсновнаяТаблица "Справочник.ВидыИсходящихДокументов").
Пытаюсь ограничить визуально отображение по "Видам исходящих документов", по элементу срабатывает, а по группе нет.

&НаСервере
Процедура ПриСозданииНаСервере(...
                ...
    Если РольДоступна("ПолныеПрава") Тогда
        СписокЗапрещенныхИсходящихДокументов = Истина;
    Иначе    
        СписокЗапрещенныхИсходящихДокументов = Новый СписокЗначений;
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    абтЗапрещенныеВидыИсходящихДокументов.ВидИсходящегоДокумента КАК ВидИсходящегоДокумента
        |ИЗ
        |    РегистрСведений.абтЗапрещенныеВидыИсходящихДокументов КАК абтЗапрещенныеВидыИсходящихДокументов";
        РезультатЗапроса = Запрос.Выполнить();
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            СписокЗапрещенныхИсходящихДокументов.Добавить(ВыборкаДетальныеЗаписи.ВидИсходящегоДокумента);
        КонецЦикла;
        Если СписокЗапрещенныхИсходящихДокументов.Количество() = 0 Тогда
            СписокЗапрещенныхИсходящихДокументов = Истина;
        КонецЕсли;    
        //
        ОтборВидДокумента = ВидыДокументов.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ОтборВидДокумента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
        ОтборВидДокумента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке;
        ОтборВидДокумента.ПравоеЗначение = СписокЗапрещенныхИсходящихДокументов;
        ОтборВидДокумента.Использование = Истина;
    КонецЕсли;    
    Список.Параметры.УстановитьЗначениеПараметра("ЗапрещенныйВидДокумента", СписокЗапрещенныхИсходящихДокументов);
1 aleks_default
 
12.03.19
13:24
НеВГруппеИзСписка
2 aleks_default
 
12.03.19
13:26
НеВИерархии
3 aleks_default
 
12.03.19
13:26
НеВСпискеПоИерархии
4 aleks_default
 
12.03.19
13:26
Короче, читайте СП!
5 spiller26
 
12.03.19
13:31
(3) Не срабатывает, что-то
6 aleks_default
 
12.03.19
14:03
Так в ограничивающем списке у тебя виды исходящих документов, а отбор по ссылке. Ну ты чего?
7 spiller26
 
12.03.19
16:41
(6) Сделал так

        //>скрытие отображение запрещенных папок
        ЭлементОформления = ВидыДокументов.УсловноеОформление.Элементы.Добавить();
        ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь);
        
        ЭлементОформления = ВидыДокументов.УсловноеОформление.Элементы.Добавить();
        ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Истина );
        ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Отображать",Истина );
        
        ОтборПоГруппе = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ОтборПоГруппе.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
        ОтборПоГруппе.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке;
        ОтборПоГруппе.ПравоеЗначение = СписокЗапрещенныхИсходящихДокументов;
        //<
Основная теорема систематики: Новые системы плодят новые проблемы.