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