Версия для печати темы (https://pro1c.org.ua/index.php?s=1850bb92f4bb859927d9ea7626a492f4&showtopic=29570)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Как ускорить управляемую форму?

Автор: pablo 27.04.16, 14:43

Есть у меня документ, в котором есть одна основная табличная часть и 12 вспомогательных. В форме документа есть страницы для основной ТЧ и несколько страниц для дополнительных, т.е. на одной странице могут располагаться несколько ТЧ. И есть у меня некоторая проблема быстродействия при переключении закладок, а именно: если в основной ТЧ порядка 200 строк, то переключение на страницу с другими ТЧ код процедуры ПриСменеСтраниц выполняется 4-5 секунд.
При этом экспериментально я выяснил, что основная часть потраченного времени тратится на следующий код:

    Отбор1=новый Структура;
    Если НомерИзделия=0 тогда        
        Если Объект.Изделия.Количество()=0 тогда
            Возврат;
        КонецЕсли;    
        Отбор1.Вставить("НомерИзделия",Объект.Изделия[0].НомерИзделия);
    иначе    
        Отбор1.Вставить("НомерИзделия",Объект.Изделия[НомерИзделия-1].НомерИзделия);
    КонецЕсли;    
    ОтборПараметров=новый ФиксированнаяСтруктура(Отбор1);
    Если ТекущаяСтраница=Элементы.Группа4.ПодчиненныеЭлементы.Обработка тогда
        Элементы.Обработки.ОтборСтрок=ОтборПараметров;
    ИначеЕсли ТекущаяСтраница=Элементы.Группа4.ПодчиненныеЭлементы.Структура тогда          
        Элементы.Материалы.ОтборСтрок=ОтборПараметров;
    КонецЕсли;

Т.е. именно ОтборСтрок по Табличной части тормозит вывод данных.

Как можно ускорить отбор строк?
P.S. Я пробовал создать отдельный реквизит формы типа ТаблицаЗначений и заполнять ее вручную, но результат в лучшем случае не улучшался.



P.P.S. Управляемая форма используется в толстом клиенте.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua