Открыть форму списка без учета отбора пользователя

1. user1393353 11 29.09.22 13:03 Сейчас в теме
Делаю так в общей команде.
ЗначениеОтбора = Новый Структура("Контрагент", ЗапроситьКонтрагнета(ПараметрКоманды));
ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);


ОткрытьФорму("Документ.хх.ФормаСписка",
ПараметрыВыбора,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно);

Открывается форма списка с моим отбором плюс с отбором который до этого установил пользователь.

Как можно открыть форму не учитывая отбор пользователя и не трогая процедуру ПриСозданииНаСервере формы?
По теме из базы знаний
Найденные решения
3. SlavaKron 29.09.22 13:43 Сейчас в теме
(1) Как вариант,
ПараметрыВыбора.Вставить("КлючПользовательскихНастроек", Новый УникальныйИдентификатор);
Zevzm; user1393353; +2 Ответить
6. Onwardv 64 29.09.22 16:07 Сейчас в теме
(2)
Не обязательно использовать ПолучитьФорму(), насколько помню, 1с не рекомендует это использовать. ОткрытьФорму() тоже возвращает ссылку на форму, через которую можно точно так же всё запрограммировать. Например:
Форма = ОткрытьФорму(ИмяФормы);
ЭлементОтбора = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ПравоеЗначение = МассивСсылок;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 29.09.22 13:41 Сейчас в теме
(1) Здесь надо курить в сторону пользовательских настроек. Там очищать отборы.
Проще пройти через получить форму и дальше смотреть в отладчике что есть у списка.
6. Onwardv 64 29.09.22 16:07 Сейчас в теме
(2)
Не обязательно использовать ПолучитьФорму(), насколько помню, 1с не рекомендует это использовать. ОткрытьФорму() тоже возвращает ссылку на форму, через которую можно точно так же всё запрограммировать. Например:
Форма = ОткрытьФорму(ИмяФормы);
ЭлементОтбора = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ПравоеЗначение = МассивСсылок;
7. user1393353 11 30.09.22 06:26 Сейчас в теме
(6)
ЭлементОтбора = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ПравоеЗначение = МассивСсылок;


тоже вариант, но настройки пользователя отключать придется, иначе ошибку выдает - "Невозможно применить фиксированные настройки. Пересекаются элементы отбора."
3. SlavaKron 29.09.22 13:43 Сейчас в теме
(1) Как вариант,
ПараметрыВыбора.Вставить("КлючПользовательскихНастроек", Новый УникальныйИдентификатор);
Zevzm; user1393353; +2 Ответить
4. user1393353 11 29.09.22 15:24 Сейчас в теме
(3)
ПараметрыВыбора.Вставить("КлючПользовательскихНастроек", Новый УникальныйИдентификатор);

Это решение, но оно сбрасывает отборы и пользователю вновь приходиться настраивать форму. В моем случае не подходит, но если не будет других предложений отмечу это как решение. Мне пришлось создать общую форму, просто скопировал и переименовал.
5. SlavaKron 29.09.22 15:54 Сейчас в теме
(4) Если пользовательские отборы нужно убрать только частично, то ответ в (1).
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот