|
Открытие формы с отбором, дополнительный отбор | ☑ | ||
---|---|---|---|---|
0
MegaenCe
31.10.23
✎
19:43
|
Добрый день! Подскажите пожалуйста как организовать отбор.
Есть форма с полем Подразделение, нужно чтобы в форме выбора были только подразделения из определенного списка, и чтобы в этой форме пользователь мог делать отбор по организации. Пишу: &НаКлиенте Процедура ПодразделениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; НастройкиКомпоновки = Новый НастройкиКомпоновкиДанных; НастройкаОтбора = НастройкиКомпоновки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); СтрокаОтбора = НастройкаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); СтрокаОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); СтрокаОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; СтрокаОтбора.Использование = Истина; СтрокаОтбора.ПравоеЗначение = ПолучитьСписокПодразделений(); ПараметрыВыбора = Новый Структура; ПараметрыВыбора.Вставить("ФиксированныеНастройки", НастройкиКомпоновки); ПараметрыВыбора.Вставить("РежимВыбора",Истина); ОткрытьФорму("Справочник.ПодразделенияОрганизаций.ФормаСписка",ПараметрыВыбора,Элемент); КонецПроцедуры Открывается форма с отбором по нужным подразделениям, выбор в реквизит работает. Проблема в следующем: перестал работать отбор по организациям. Когда в форме делаю отбор по любой организации - список очищается. Если в ПодразделениеНачалоВыбора делаю принудительный отбор по организации: СтрокаОтбора = НастройкаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); СтрокаОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец"); СтрокаОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; СтрокаОтбора.Использование = Истина; СтрокаОтбора.ПравоеЗначение = Организация; То отбор в форме вообще не работает, пишет - Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. по причине: Невозможно применить фиксированные настройки. Пересекаются элементы отбора. |
|||
1
Волшебник
31.10.23
✎
19:42
|
У вас пересекаются элементы отбора. Невозможно применить фиксированные настройки
|
|||
2
MegaenCe
31.10.23
✎
19:48
|
(1) непонятно где это смотреть, и почему это возникает: никаких других отборов я не делаю
|
|||
3
Волшебник
31.10.23
✎
19:50
|
(2) Попробуйте посмотреть это в Отладчике
|
|||
4
MegaenCe
01.11.23
✎
00:03
|
(3) через отладчик увидела что дело было в пользовательских настройках.
Очистила их в процедуре ПриСозданииНаСервере, и добавила свой отбор. ПользовательскийОтбор = Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Список.КомпоновщикНастроек.Настройки.Отбор.ИдентификаторПользовательскойНастройки); ПользовательскийОтбор.Элементы.Очистить(); ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ПолучитьСписокПодразделений(); ЭлементОтбора = ПользовательскийОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = Параметры.Организация; Теперь ошибка не возникает, но отбор по организации работает некорректно, в списке ничего не отображается если выбрать организацию. Что не так? |
|||
5
vicof
01.11.23
✎
09:05
|
Ключевое слово ПолучитьНастройки()
|
|||
6
vicof
01.11.23
✎
09:06
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |