Имя: Пароль:
1C
1С v8
При установке видимости колонок табличной части форма долго открывается
, ,
0 VAVANSTR
 
20.06.17
14:55
При установки видимости колонок и кнопок табличной части форма нового бизнес-процесса долго открывается в вебКлиенте

А именно на 30 секунд форма зависает из-за строки
Элементы.ОплатыЗаказПоставщику.Видимость = Истина;

Если строку закомментировать то открывается за 3 секунды
1 dezss
 
20.06.17
15:01
А эта строка в каком обработчике?
2 VAVANSTR
 
20.06.17
15:06
ПриСозданииНаСервере
3 FIXXXL
 
20.06.17
15:07
(0) а потом на проверке типа
Если Элементы.ОплатыЗаказПоставщику.Видимость Тогда ....

ничего не подвязано?
4 Cyberhawk
 
20.06.17
15:09
Платформу обнови
5 VAVANSTR
 
20.06.17
15:10
(3) Нет не подвязано
6 VAVANSTR
 
20.06.17
15:11
(4) Вроди как два обновления уже так
7 Cyberhawk
 
20.06.17
15:15
(6) Ну тогда или откажись от изменения видимости, или терпи
8 dezss
 
20.06.17
15:16
А если это дело подвязать на условное оформление, то быстрей откарывается?
9 lodger
 
20.06.17
15:19
(8) УО, как и управление видимостью - решение для отрисовки элементов ОДИН раз при создании формы.
такие финты с появлением и пропаданием разруливают страницами, где на одной что-то есть, на другой другое. и по событию переключается видимая страница, но она уже была отрисована при создании.
и не будет бесполезных забегов клиента к серверу и обратно со всей формой.
10 НЕА123
 
20.06.17
15:24
Использовать всегда у реквизита посмотреть.
может поможет(c)
11 VAVANSTR
 
20.06.17
15:25
(8) Если ничего не придумаю, то буду пробывать привязать к условному оформлению, правда думаю это потом другим программистам будет сложно поддерживать.
12 dezss
 
20.06.17
15:26
(9) Вот тогда и пусть расставляет галочки, а не пишет ПриСозданииНаСервере
Элементы.ОплатыЗаказПоставщику.Видимость = Истина;

А потом по событиям управляет видимостью.
13 VAVANSTR
 
20.06.17
15:28
(10) Видимость всегда не нужна, так как эта конфигурация работает в сотне разных юричических лиц компании и в большинстве компаний не нужны элементы которые перегружают пользовательский интерфейс.
14 НЕА123
 
20.06.17
15:32
(13)
ни слова про видимость в (10) нет.
15 VAVANSTR
 
20.06.17
15:39
(10) Использовать всегда у реквизита установлено
16 Вафель
 
20.06.17
15:40
а на закладке небось динамический список?
17 VAVANSTR
 
20.06.17
15:51
Проблема была в том что вызывалось событие "ПриАктивацииСтроки" при изменении видимости
18 VAVANSTR
 
20.06.17
16:20
"ОплатыПриАктивизацииСтроки"
19 VAVANSTR
 
20.06.17
16:21
причём в тонком клиенте эти события не вызываются вообще, а в вебклиенте аж два раза вызываются, а там у меня сложная процедура в этом событии
20 dezss
 
20.06.17
16:24
А обращений к серверу там нет, случайно?
21 VAVANSTR
 
20.06.17
16:32
(20) Да там они есть. Теперь буду бороться либо с лишним вызовом в вебклиенте этого события, либо облегчать это событие чтоб оно не тормозило, а лучше и то и то.
22 dezss
 
20.06.17
16:41
(21) Нехорошо так делать...с интерфейсом будет еще та беда.
Если еще что-то такое появится, то может и зациклить, постоянно будет вызываться ПриАктивизацииСтроки.
Ты попробуй еще изменить заголовок у какого-нибудь элемента в зависимости от выбранной строки, вообще красота появится)
23 VAVANSTR
 
20.06.17
17:17
Вот что-то подобное
v8: ПриАктивизацииСтроки в УФ.
24 dezss
 
20.06.17
17:32
(23) Да это даже в сп написано

ПриАктивизацииСтроки (OnActivateRow)
Синтаксис:

ПриАктивизацииСтроки()
Описание:

Вызывается при активизации строки таблицы.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
25 VAVANSTR
 
21.06.17
13:40
Всё оказалось банально просто...
В процедуре ПриАктивизации строки по Дерективе "#Если ВебКлиент Тогда" была процедура с оооочень неоптимальным кодом, который делал сотни серверных вызовов, что собственно и тормозило открытие формы. Отладить сразу не получилось так как не работает отладка в вебклиенте. Проблема решена, форма в Вебе открывается за 2 секунды.
Ошибка? Это не ошибка, это системная функция.