Как ускорить перемещение строки вверх/вниз в табличной части #753599


#0 by crisalis
Доброе время суток , подскажите пожалуйста как ускорить перемещение строки вверх/вниз в табличной части вот код Для ТЧ Товары работает нормально , а вот для ТЧ Анализ_Товары работает но притормаживает.
#1 by vicof
Включить замер производительности и посмотреть, что тормозит
#2 by Живой Ископаемый
ты что издеваешься? А замерить замером - вдруг это при получении данных или при выводе строки?
#3 by vicof
90%, что так и есть. Особенно, если посмотреть на двойные циклы.
#4 by Живой Ископаемый
этоужас...
#5 by ВедущийП
Цикл нормальный, там // стоит. Но прав, нечему тут тормозить, если там не 100500 строк в ТЧ.
#6 by crisalis
там не двойной цикл , там коммент
#7 by Fragster
заменить РасчитатьСуммуРазделителяТабЧасти;
#8 by vicof
Ладно-ладно, набросились...Не выделен зеленым был
#9 by Fragster
#10 by crisalis
нашел где причина , замер дал свои результаты :
#11 by crisalis
обычные формы
#12 by Fragster
это обычные формы, чтоли?
#13 by Fragster
ЭлементыФормы.Анализ_Товары.Колонки в отдельную переменную вынеси
#14 by Fragster
опять же, зачем при выводи строки это делать? если состав колонок меняется - то достаточно один раз при получении данных, а еще лучше - в функции, изменяющей состав колонок.
#15 by crisalis
не я писал код , расхлебываю ...
#16 by Fragster
пропустил, что используются данные строки... смысла в этом: вооще не вижу
#17 by ВедущийП
Ты можешь строку где тормоза возникают выделить? Замер показывает строку и время выполнения в %%.
#18 by ВедущийП
Судя по куску кода, пробегаются ВИДИМЫЕ строки и проверяется каждая колонка. Все в памяти, все должно моментально срабатывать если у тебя не 100500 колонок.
#19 by ВедущийП
в структуру пихается имя колонки и ее значение, но т.к. в структуре не может быть нескольких значений под одним ключем, запоминается только последнее вхождение...
#20 by Fragster
в том то и дело - в СтруктураДляОтбораПоиска обновляется последняя выведенная строка...
#21 by Fragster
вот вот. и нафига?
#22 by Живой Ископаемый
замер покажет сколько каждая строчка выполнялась раз
#23 by ВедущийП
Если б я знал :)
#24 by ВедущийП
Нормальный замер сделай и скриншот куда нибудь выложи
#25 by crisalis
#26 by Fragster
-> . !
#27 by ВедущийП
Если не вдаваться в причины такой странной логики, попробуй ПриОткрытии поместить ЭлементыФормы.Анализ_Товары.Колонки.НомерСтроки, ТекКолонка = ЭлементыФормы.Анализ_Товары.Колонки.Код и все остальные в Соответствие, и проверять вхождение текущей колонки в него. Соотв.Добавить(ЭлементыФормы.Анализ_Товары.Колонки.НомерСтроки,0); и так все. Потом Вместо того длинного условия: Соотв.Получить(ТекКолонка) <> Неопределено;
#28 by ВедущийП
Соотв должно быть переменной модуля.
#29 by crisalis
Ура работает !!! Вот это помогло
#30 by Ненавижу 1С
Виктор по запросу Марины 16092015 что у Вас, Виктор, с Мариной?
#31 by crisalis
чесно мужики , не использовал замер при отладке никогда. СПАСИБО ВСЕМ ЧТО ВПРАВИЛИ МОЗГИ !!!
#32 by Fragster
->
#33 by crisalis
щя оптимизацией займусь =)))
#34 by Живой Ископаемый
2 стыдно должно быть также отттого, что ты всего лишь замаскировал дебилизм решения. Но да, он теперь не будет спотыкаться как ДЦП, а будет носиться быстро.
#35 by ВедущийП
сделай , и будет еще сильно быстрее. Если осталось необходимость.
#36 by crisalis
спасибо
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С