"Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно.
по причине:
Невозможно применить фиксированные настройки. Пересекаются элементы отбора."
открываю подбор с отбором
ПараметрыВыбора = Новый Структура("РежимВыбора",Истина);
Отбор = Новый Структура("Уволен",Ложь);
ПараметрыВыбора.Вставить("Отбор",Отбор);
ОткрытьФорму("Справочник.Сотрудники.ФормаВыбора",ПараметрыВыбора,ЭтаФорма);
и если в настройках списка уже есть такой отбор то ругается
(5) Не совсем понял вопрос.. Перед установкой своего отбора проверить в свойствах списка какие пользовательские отборы установлены. На пример попробуй:
Форма = ОткрытьФорму("Справочник.Сотрудники.ФормаВыбора",ПараметрыВыбора,ЭтаФорма);
Форма.Список - проверяем есть ли отбор, если нет, то ставим, если есть, то не ставим.
(6)
что то не получается, найти то нахожу но изменить не получается
Для Каждого Стр из Форма.Список.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если Стр.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Уволен") Тогда
Нашел=Истина;
Стр.Использование = Истина;
Стр.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Стр.ПравоеЗначение = Ложь;
КонецЕсли;
КонецЦикла;
Если Не Нашел Тогда
Стр = Форма.Список.КомпоновщикНастроек.Настройки.Отбор.Элементы;
ЭлементОтбора = Стр.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Уволен");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Ложь;
КонецЕсли;
Форма = ОткрытьФорму("Справочник.Сотрудники.ФормаВыбора",ПараметрыВыбора,ЭтаФорма);
Нашел=Ложь;
Для Каждого Стр из Форма.Список.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если Стр.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Уволен") Тогда
Форма.Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(Стр);
КонецЕсли;
КонецЦикла;
Стр = Форма.Список;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Стр,"Уволен",Ложь,ВидСравненияКомпоновкиДанных.Равно,"НеУволен",Истина,РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
Форма.Открыть();