Имя: Пароль:
1C
1С v8
УПП и управляемые формы.
,
0 akhmadey
 
03.03.17
09:54
Доброго времени суток!

Дано: УПП 1.3.38.4, платформа 8.2.19.106, клиент-сервер на MS SQL. Есть обработка на управляемых формах. Результатом ее работы является формирование дерева значений, в котором около 1100 строк верхнего уровня, плюс 2-4 уровня вложений. После того, как дерево сформировано, по нему делается очень затруднена навигация. То есть переход от строки к строке занимает где-то 3-4 секунды. Кроме того, задержка происходит и при переключении между вкладками самой обработки. Внимание, вопрос: с быстродействием можно как-то поиграться или стоит принять как данность, что УФ при обычном приложении будет себя так паскудно вести? Ибо тут же ЗУП 3.0 и БП 3.0 (платформа у них, правда, своя), там таких перекосов не наблюдается.
1 eklmn
 
гуру
03.03.17
09:59
это называеться кривые руки
2 DrShad
 
03.03.17
10:04
на управляемых формах ДЗ самый неуправляемый элемент
3 akhmadey
 
03.03.17
10:07
(1) И как же их выпрямить, позвольте полюбопытствовать?
4 FIXXXL
 
03.03.17
10:10
(0) у тебя там при активизации строки серверный счетчик дергается?
5 DrShad
 
03.03.17
10:11
(4) +1
что навешано на дерево?
6 eklmn
 
гуру
03.03.17
10:13
(3) нам отседа не видно, что ты там на обработчики навешал
7 akhmadey
 
03.03.17
10:18
(6) Да ничего, в том-то и дело. Только дерево сформировалось, и начинается свистопляска. Чтобы со строки на строку перейти, приходится ждать. А разворачиваются уровни без проблем.
8 h-sp
 
03.03.17
10:30
(7) какие колонки в строке? не вызов через три точки?
9 h-sp
 
03.03.17
10:31
(7) количество подуровней не выводите?
10 Фрэнки
 
03.03.17
10:38
так дерево значений могут быть не только в уф.
сферическая абстракция в виде неназываемой обработки на УФ с неизвестным содержанием, которая тормозит предположительно на обработке события в поле неизвестного типа ПриАктивизацииСтроки
11 silent person
 
03.03.17
10:50
(0) включи замер производительности и посмотри где у тебя тормозит
12 kauksi
 
03.03.17
11:18
В Бит-финанс в форме ввода бюджета такая же байда...
700 строк дерева 5-7 уровней... и все... их пересчет формул/значений тупо вешает сервер...
13 akhmadey
 
03.03.17
11:25
Разобрался, хоть от этого и не легче. Обработка не моя, поэтому не сразу верные вводные получились. По порядку. Вызова через точку нет. У дерева порядка 10 колонок, половина из которых имеют типы справочника номенклатуры, характеристики номенклатуры, единицы измерения, спецификации. Другая половина - числовой формат. (10) - совершенно верно. При детальном изучении оказалось, что ПриАктивизацииСтроки осуществляется отбор по соседней ТЗ с помощью ОтобратьСтроки. (11) Замер производительности показал, что на это ОтобратьСтроки уходит больше всего времени, но в любом случае не 3-4 секунды. Ну и отказаться от отбора никак нельзя, ибо ради этого все и задумывалось
14 eklmn
 
гуру
03.03.17
11:27
(13) ну вот как я и говорил в (1)
15 akhmadey
 
03.03.17
11:27
Комментирование кода обработчика ПриАктивизацииСтроки напрочь снимает все тормоза. А заодно и нужный функционал )))
16 akhmadey
 
03.03.17
11:31
(14) В УАТ 2.0 ОтобратьСтроки работает на ура, причем с несколькими ТЗ, я поэтому и не обратил на это никакого внимания. Единственно, конфа полностью на УФ. Так что можно поспорить.
17 Rokford
 
03.03.17
11:35
(13) Делать отбор не сразу, а с паузой скажем в 0,5 сек. Это позволит перемещаться по таблице, а при остановке на нужной сделает отбор.
18 Вафель
 
03.03.17
11:37
при активизации принято в уф делать через обработку ожидания
19 akhmadey
 
03.03.17
11:39
(18) Я больше склоняюсь к использованию НайтиСтроки. Все-таки это уф в обычном приложении.
20 h-sp
 
03.03.17
11:52
(16) вы наверно там проиндексировать забыли, поэтому отбор медленно работает.
21 akhmadey
 
03.03.17
12:02
(20) А разве тз индексируется? Я понимаю, реквизит в справочнике...
22 h-sp
 
03.03.17
12:09
(21) ну, помните, работа с ТЗ в закрытие месяца шла часами. ПОтом сделали индексы, чтобы ускорить. Это было 10 лет назад. Или 20?
23 akhmadey
 
03.03.17
12:15
(22) Что-то не припоминаю. Может, ТЗ.Сортировать() ?
24 h-sp
 
03.03.17
12:19
(23) ТЗ.Индексы
25 akhmadey
 
03.03.17
12:26
(24) А, вон про что! Просто у меня ТЗ - это табличная часть в обработке. И в нее сразу запрос выгружается. Попробую через промежуточную ТЗ, которую и проиндексирую.
26 akhmadey
 
03.03.17
13:23
(25) Не помогло ((
27 FIXXXL
 
03.03.17
13:49
(25) а дин.список вместо ТЗ сделать?
28 akhmadey
 
03.03.17
13:54
там на самом деле две таблички фильтруются, с одной номер прокатит, а во второй нужно флажок нажимать, и здесь дин.список уже не проканает
29 DrShad
 
03.03.17
14:03
(28) это почему это?
30 DrZombi
 
гуру
03.03.17
14:13
(0) УФ на Толстом клиенте, это как если запустить на ПК два толстых клиент, да и то будет работать быстрее :)
31 DrZombi
 
гуру
03.03.17
14:14
+(0) Хочешь скорости, то перепиши её на Обычную форму для толстого. :)
Можешь не оптимизировать, будет работать в разы быстрее
32 eklmn
 
гуру
03.03.17
14:39
(29) см. (1)
33 тарам пам пам
 
03.03.17
15:57
(25) индексы как-то не так сделал, видимо. В индекс должны все поля поиска входить, причем ровно в том порядке, в котором они у тебя помещаются в структуру поиска при вызове НайтиСтроки.
34 akhmadey
 
06.03.17
05:31
(33) Там не ошибешься, поле одно только
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.