Открыть форму списка без учета отбора пользователя
Делаю так в общей команде.
ЗначениеОтбора = Новый Структура("Контрагент", ЗапроситьКонтрагнета(ПараметрКоманды));
ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
ОткрытьФорму("Документ.хх.ФормаСписка",
ПараметрыВыбора,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно);
Открывается форма списка с моим отбором плюс с отбором который до этого установил пользователь.
Как можно открыть форму не учитывая отбор пользователя и не трогая процедуру ПриСозданииНаСервере формы?
ЗначениеОтбора = Новый Структура("Контрагент", ЗапроситьКонтрагнета(ПараметрКоманды));
ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
ОткрытьФорму("Документ.хх.ФормаСписка",
ПараметрыВыбора,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно);
Открывается форма списка с моим отбором плюс с отбором который до этого установил пользователь.
Как можно открыть форму не учитывая отбор пользователя и не трогая процедуру ПриСозданииНаСервере формы?
По теме из базы знаний
- Учет и расчет выплат работникам за время прохождения медосмотров в программе «1С:ЗУП» редакции 2.5
- Номенклатура (расширение формы списка и выбора) для УТ, КА, ERP, Розница
- Банковские счета контрагентов, с отборами по группе или элементу справочника Контрагенты
- Обзор полезных методов БСП 3.1.4
- Расширение заказов (Обеспечение заказов в форме списка заказов покупателей) в 1С:УНФ
Найденные решения
(2)
Не обязательно использовать ПолучитьФорму(), насколько помню, 1с не рекомендует это использовать. ОткрытьФорму() тоже возвращает ссылку на форму, через которую можно точно так же всё запрограммировать. Например:
Не обязательно использовать ПолучитьФорму(), насколько помню, 1с не рекомендует это использовать. ОткрытьФорму() тоже возвращает ссылку на форму, через которую можно точно так же всё запрограммировать. Например:
Форма = ОткрытьФорму(ИмяФормы);
ЭлементОтбора = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ПравоеЗначение = МассивСсылок;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Не обязательно использовать ПолучитьФорму(), насколько помню, 1с не рекомендует это использовать. ОткрытьФорму() тоже возвращает ссылку на форму, через которую можно точно так же всё запрограммировать. Например:
Не обязательно использовать ПолучитьФорму(), насколько помню, 1с не рекомендует это использовать. ОткрытьФорму() тоже возвращает ссылку на форму, через которую можно точно так же всё запрограммировать. Например:
Форма = ОткрытьФорму(ИмяФормы);
ЭлементОтбора = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ПравоеЗначение = МассивСсылок;
(6)
тоже вариант, но настройки пользователя отключать придется, иначе ошибку выдает - "Невозможно применить фиксированные настройки. Пересекаются элементы отбора."
ЭлементОтбора = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ПравоеЗначение = МассивСсылок;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ПравоеЗначение = МассивСсылок;
тоже вариант, но настройки пользователя отключать придется, иначе ошибку выдает - "Невозможно применить фиксированные настройки. Пересекаются элементы отбора."
(3)
Это решение, но оно сбрасывает отборы и пользователю вновь приходиться настраивать форму. В моем случае не подходит, но если не будет других предложений отмечу это как решение. Мне пришлось создать общую форму, просто скопировал и переименовал.
ПараметрыВыбора.Вставить("КлючПользовательскихНастроек", Новый УникальныйИдентификатор);
Это решение, но оно сбрасывает отборы и пользователю вновь приходиться настраивать форму. В моем случае не подходит, но если не будет других предложений отмечу это как решение. Мне пришлось создать общую форму, просто скопировал и переименовал.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот