|  | Толстые формы. Плавное переключение отбора табличной части. Как? | ☑ | 
    
        | 0
    
        arsik   гуру 07.11.18✎ 07:56 | 
        Исходные. Форма с закладками, на которой ТЧ.
При переключении закладки, меняется отбор ТЧ. Делаю так.
 
 ЭлементыФормы.ТЧ.ОтборСтрок.Сбросить();
ЭлементыФормы.ТЧ.ОтборСтрок.Заказчик.Установить(ТекущийЗаказчик);
 ЭлементыФормы.ТЧ.ОтборСтрок.Закрыт.Установить(флЗакрытия);
Но при этом возникает мелькание ТЧ. Сначала фильтр снимается, показываются все строки, потом фильтр устанавливается, строки фильтруются.
 
 Есть какой то вариант. что бы этих мельканий не было?
 |  | 
    
        | 1
    
        VS-1976   07.11.18✎ 08:15 | 
        (0) Попробуй работать с ОтборСтрок напрямую, а не с ЭлементыФормы.ТЧ... По идее все эти действия должны происходить после события... ( отбор ) и сразу же с полностью настроенным фильтром.
 PS: В крайнем случае, если не накладываются другие фильтры, то не делай Сбросить()
 |  | 
    
        | 2
    
        arsik   гуру 07.11.18✎ 08:35 | 
        (1) Что значит "напрямую"? По другому никак - это ТЧ обработки.
>PS: В крайнем случае, если не накладываются другие фильтры, то не делай Сбросить()
 Делаются.
 |  | 
    
        | 3
    
        VS-1976   07.11.18✎ 08:39 | 
        (2) Напрямую без ЭлементыФормы, прям к объекту
 пОтбор = ТЧ.ОтборСтрок;
 пОтбор.Сбросить();
 пОтбор.Заказчик.Установить(ТекущийЗаказчик);
 пОтбор.Закрыт.Установить(ТекущийЗаказчик);
 
 Так же попробуй без Установить, установить поля вручную
 |  | 
    
        | 4
    
        catena   07.11.18✎ 08:42 | 
        У меня ничего не мелькает, но я не сбрасываю отбор. Много элмементов в тч?     |  | 
    
        | 5
    
        arsik   гуру 07.11.18✎ 08:49 | 
        (3) У ТЧ нет этого свойства.
(4) Немного. до 100. У меня без сброса нельзя, т.к. пользователь может свои отборы какие то наложить.
 |  | 
    
        | 6
    
        arsik   гуру 07.11.18✎ 08:54 | 
        Сделал без сброса. перебором элементов отбора, вроде лаги пропали.
 Для Каждого ЭлементОтбора из Отбор Цикл
Если ЭлементОтбора = Отбор.Заказчик Тогда
 ЭлементОтбора.Значение = ТекущийЗаказчик;
 ЭлементОтбора.Использование = Истина;
 ИначеЕсли ЭлементОтбора = Отбор.Закрыт Тогда
 ЭлементОтбора.Значение = флЗакрытия;
 ЭлементОтбора.Использование = Истина;
 иначе
 ЭлементОтбора.Использование = Ложь;
 КонецЕсли;
 КонецЦикла;
 
 |  | 
        Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой