|   |   | 
| 
 | Динамический список, скрыть отбор | ☑ | ||
|---|---|---|---|---|
| 0
    
        salvator 21.02.24✎ 13:14 | 
        Добрый день.
 Каким образом можно скрыть поля отбора динамического списка, чтобы они не были видны пользователю? Пробовал метод УстановитьОграниченияИспользованияВОтборе(<Поля>), получаю ошибку "параметры отбора сортировки группировки или список отображаемых полей заданы неверно". Потом наткнулся на информацию: "Методы динамического списка УстановитьОграниченияИспользованияВГруппировке(), УстановитьОграниченияИспользованияВОтборе(), УстановитьОграниченияИспользованияВПорядке(), ПолучитьОграниченияИспользованияВГруппировке(), ПолучитьОграниченияИспользованияВОтборе(), ПолучитьОграниченияИспользованияВПорядке() объявляются устаревшими и не рекомендуются к использованию. Рекомендуется использовать свойства динамического списка ОграничениеИспользования и ОграничениеИспользованияРеквизитов полей динамического списка." Но в "Список.Поля" нет элементов. Можно эту задачу как-то реализовать? | |||
| 1
    
        Bigbro 21.02.24✎ 13:54 | 
        УстановитьЭлементОтбораДинамическогоСписка, не?     | |||
| 2
    
        salvator 21.02.24✎ 14:14 | 
        (1) Я предварительно устанавливаю отбор по полю при создании на сервере. Режим отображения устанавливаю в значение "недоступный". Но дополнительно хочу убрать это поле из доступных отборов.     | |||
| 3
    
        AlexeyKh 21.02.24✎ 14:51 | 
        попробуйте программно, сюда писать свой отбор
 Список.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы | |||
| 4
    
        salvator 21.02.24✎ 15:00 | 
        (3) Я делаю так:
 ГруппаОтбора = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ; ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СчетДт"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; ЭлементОтбора.ПравоеЗначение = Счет; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СчетКт"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; ЭлементОтбора.ПравоеЗначение = Счет; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; И после этого в "Список.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы" группа отбора присутствует | |||
| 5
    
        AlexeyKh 21.02.24✎ 15:40 | 
        у себя проверял, при добавление в ФиксНастройки отбора, 
 при работе пользователя в настройках Списка в отборе этих фикс.Отборов не видно. но иногда можно словить ошибку Какое-то там пересечение отборов... | |||
| 6
    
        Bigbro 21.02.24✎ 15:49 | 
        в этом видимо и задача. после установки своих отборов сделать для пользователя недоступным то что уже установлено. чтоб не ловить ошибки на пересечении. я не знаю как так сделать.     | |||
| 7
    
        mikecool 21.02.24✎ 15:53 | 
        ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора     | |||
| 8
    
        mikecool 21.02.24✎ 15:53 | 
        (6) а для этого есть УстановитьПользовательскийОтборСписка     | |||
| 9
    
        salvator 21.02.24✎ 16:01 | 
        (6) Да, именно это и нужно
 (8) Что это за метод? СП молчит про него. | |||
| 10
    
        mikecool 21.02.24✎ 16:06 | 
        (9) а поискать в конфиге, в районе ОбщегоНазначенияКлиентСервер     | |||
| 11
    
        salvator 21.02.24✎ 16:37 | 
        (10) В БП3 нет такого, есть только УстановитьЭлементОтбораДинамическогоСписка, там происходит такая же установка отбора в фиксированные настройки.     | |||
| 12
    
        salvator 21.02.24✎ 23:10 | 
        Если делать не через установку отборов, а изменить текст запроса динамического списка и добавить в него нужное условие, то в принципе рабочий вариант. И пофиг на то, какие отборы добавит пользователь, ошибки пересечения отборов не будет.     | |||
| 13
    
        salvator 21.02.24✎ 23:11 | 
        +(12) Текст запроса программно изменить, имеется в виду.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |