|
|
|
Открытие формы с отбором, дополнительный отбор | ☑ | ||
|---|---|---|---|---|
|
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
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |