Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ОткрытьФорму("...", Параметры) не учитывать имеющийся до этого отбор и открывать новую фор

ОткрытьФорму("...", Параметры) не учитывать имеющийся до этого отбор и открывать новую фор
Я
   slnes
 
25.02.21 - 13:51
Открываю форму
ОткрытьФорму("Документ.НазваниеДокумента.Форма.ФормаСписка", ПараметрыФормы);
В параметрах только массив ссылок на документы

В списке до этого, руками, установлен отбор (бывает по контрагенту, договору, подразделению), форма открывается с отбором и по этим параметрам, нужно только по ПараметрыФормы.
Если форма списка уже открыта, она активируется не учитывая ПараметрыФормы, нужно открывать новую форму.

Как открывать форму только с параметрами заполненными в ПараметрыФормы и открывать новую форму, а не активировать открытую?
   DrShad
 
1 - 25.02.21 - 13:57
для начала получить новую форму и потом уже ее открывать
   Fragster
 
2 - 25.02.21 - 13:58
Смотри на четвертый параметр в СП
   Курцвейл
 
3 - 25.02.21 - 14:01
(0) Для фильтра по документам, создать свой параметр формы "СписокДокументов", потом по параметру устанавливать фильтр для динамического списка документов
   Курцвейл
 
4 - 25.02.21 - 14:03
ПараметрыФормы.Вставить("СписокДокументов", МассивДокументов)

ПриСозданииНаСервере

Если Параметры.Свойство("СписокДокументов") Тогда
//написать самому процедуру УстановитьФильтрДокументов

УстановитьФильтрДокументов(Параметры.СписокДокументов)
   slnes
 
5 - 25.02.21 - 14:12
(2) спасибо, как открывать новую форму разобрался
(3) и (4) может есть способ проще, например очистить все параметры как то можно? а потом загрузить нужные мне параметры?
   Fragster
 
6 - 25.02.21 - 14:31
(5) телепатирую, что нужно ещё и про третий параметр прочитать
   Курцвейл
 
7 - 25.02.21 - 16:12
(5) Есть способ платформы использовать ПараметрыФормы.Добавить("Фильтр", СтруктураФильтр). Но это работает только с условием сравнения на равенство. В твоем случае требуется условие "В списке". Для облегчения задачи в БСП вроде есть метод по установке фильтра на динамический список. Не знаю как на русском, на инглише  CommonClientServer.SetDynamicListFilterItem
   Курцвейл
 
8 - 25.02.21 - 16:15
УстановитьЭлементОтбораДинамическогоСписка
Добавить или заменить существующий элемент отбора динамического списка.
Синтаксис

 Процедура УстановитьЭлементОтбораДинамическогоСписка(ДинамическийСписок, ИмяПоля,
    ПравоеЗначение = Неопределено,
    ВидСравнения = Неопределено,
    Представление = Неопределено,
    Использование = Неопределено,
    РежимОтображения = Неопределено,
    ИдентификаторПользовательскойНастройки = Неопределено) Экспорт
   slnes
 
9 - 26.02.21 - 10:20
(6) а вот это непонятно, как использовать третий параметр, что бы отключить отбор который установил пользователь, до этого, не понял.
(7),(8) тут же для каждого параметра отдельно отбор отключать надо.

И почему тут то не очищает старые параметры
ФормаСписка = ПолучитьФорму("Документ.НазваниеДокумента.Форма.ФормаСписка",,,ВариантОткрытияОкна.ОтдельноеОкно );
    
ФормаСписка.Список.Отбор.Элементы.Очистить();//ВОТ ТУТ ЖЕ ОЧИСТИТЬ

    
ЭлементОтбора = ФормаСписка.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = МассивСсылок;
    
ФормаСписка.Открыть();
   Курцвейл
 
10 - 26.02.21 - 15:13
(9) Это потому что старую открытую форму получаешь с параметрами.
Если есть потребность работать с уже открытой формой, то удобнее пользоваться оповещениями между формами
   slnes
 
11 - 26.02.21 - 19:18
(10) как её без параметров открыть то можно, нужно новая форма без параметров за исключением списка ссылок на документы которые я туда добавил, с открытой формой работать не надо пускай так и остается, открывать еще одну форму списка
   Курцвейл
 
12 - 28.02.21 - 10:16
(11) Откуда фильтры появились? Может они предопределённо заданы на формы? Если это так, то лучше перенести это в код. Это облегчает управление кодом, сопровождение кода и групповую разработку.
   slnes
 
13 - 01.03.21 - 05:56
(12) Эти фильтры задал пользователь, потом закрыл форму и фильтры сохранились

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.