Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Толстые формы. Плавное переключение отбора табличной части. Как?

Толстые формы. Плавное переключение отбора табличной части. Как?
Я
   arsik
 
07.11.18 - 07:56
Исходные. Форма с закладками, на которой ТЧ.
При переключении закладки, меняется отбор ТЧ. Делаю так.
ЭлементыФормы.ТЧ.ОтборСтрок.Сбросить();
ЭлементыФормы.ТЧ.ОтборСтрок.Заказчик.Установить(ТекущийЗаказчик);
ЭлементыФормы.ТЧ.ОтборСтрок.Закрыт.Установить(флЗакрытия);

Но при этом возникает мелькание ТЧ. Сначала фильтр снимается, показываются все строки, потом фильтр устанавливается, строки фильтруются.

Есть какой то вариант. что бы этих мельканий не было?
 
 
   VS-1976
 
1 - 07.11.18 - 08:15
(0) Попробуй работать с ОтборСтрок напрямую, а не с ЭлементыФормы.ТЧ... По идее все эти действия должны происходить после события... ( отбор ) и сразу же с полностью настроенным фильтром.

PS: В крайнем случае, если не накладываются другие фильтры, то не делай Сбросить()
   arsik
 
2 - 07.11.18 - 08:35
(1) Что значит "напрямую"? По другому никак - это ТЧ обработки.
>PS: В крайнем случае, если не накладываются другие фильтры, то не делай Сбросить()
Делаются.
   VS-1976
 
3 - 07.11.18 - 08:39
(2) Напрямую без ЭлементыФормы, прям к объекту

пОтбор = ТЧ.ОтборСтрок;
пОтбор.Сбросить();
пОтбор.Заказчик.Установить(ТекущийЗаказчик);
пОтбор.Закрыт.Установить(ТекущийЗаказчик);

Так же попробуй без Установить, установить поля вручную
   catena
 
4 - 07.11.18 - 08:42
У меня ничего не мелькает, но я не сбрасываю отбор. Много элмементов в тч?
   arsik
 
5 - 07.11.18 - 08:49
(3) У ТЧ нет этого свойства.
(4) Немного. до 100. У меня без сброса нельзя, т.к. пользователь может свои отборы какие то наложить.
   arsik
 
6 - 07.11.18 - 08:54
Сделал без сброса. перебором элементов отбора, вроде лаги пропали.
Для Каждого ЭлементОтбора из Отбор Цикл
    Если ЭлементОтбора = Отбор.Заказчик Тогда
        ЭлементОтбора.Значение = ТекущийЗаказчик;
        ЭлементОтбора.Использование = Истина;
    ИначеЕсли ЭлементОтбора = Отбор.Закрыт Тогда
        ЭлементОтбора.Значение = флЗакрытия;
        ЭлементОтбора.Использование = Истина;
    иначе
        ЭлементОтбора.Использование = Ложь;
    КонецЕсли;
КонецЦикла;


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