|
Прокручивается кольцо загрузки и мигает курсор | ☑ | ||
---|---|---|---|---|
0
Tolstiy Beremenniy
01.11.18
✎
09:05
|
Конфигурация Документооборот 8 КОРП, редакция 2.1 (2.1.11.5).
Сделал форму списка документов по подобию формы списка справочника Структура предприятия. Сейчас над ней постоянно прокручивается кольцо загрузки и мигает курсов. От чего может быть такое поведение? |
|||
1
Cyberhawk
01.11.18
✎
09:07
|
Давай видосик
|
|||
2
Tolstiy Beremenniy
01.11.18
✎
09:07
|
В настоящей форме ещё элементы выделяются жирным.
А в этой, только один. Жму на остальные, мигает курсор и прокручивается кольцо загрузки. |
|||
3
shadow_sw
01.11.18
✎
09:27
|
выполняется бесконечно действие при отображении чего-либо
|
|||
4
Tolstiy Beremenniy
01.11.18
✎
10:23
|
(3) Пока не пойму что за действие.
Не подскажете как вероятнее его отловить? Эту процедуру. |
|||
5
Tolstiy Beremenniy
01.11.18
✎
10:28
|
Зацикливается вызов вот этих процедур, -
&НаКлиенте Процедура ПользователиСписокПриАктивизацииСтроки(Элемент) &НаСервере Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователяСервер(Подразделение) &НаКлиенте Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователя() |
|||
6
Tolstiy Beremenniy
01.11.18
✎
10:29
|
(5+) Но из за чего это?
|
|||
7
Мимохожий Однако
01.11.18
✎
10:30
|
Включи отладку, сделай паузу, включи замер, сделай паузу. Посмотри на что тратится максимальное время
|
|||
8
shadow_sw
01.11.18
✎
10:31
|
(5) Вангую - не установлено подразделение пользователя
|
|||
9
Tolstiy Beremenniy
01.11.18
✎
10:36
|
Я на КонецПроцедуры поставил точки останова.
Они гоняют по кругу, зауиклившись! |
|||
10
Fragster
гуру
01.11.18
✎
10:37
|
а нафиг ты в обработчике активизации останавливаешь отбор?
|
|||
11
Tolstiy Beremenniy
01.11.18
✎
10:37
|
А как работает замер производительности?
Я выбираю его, но ничего не происходит. |
|||
12
Tolstiy Beremenniy
01.11.18
✎
10:38
|
(10) Это как?
|
|||
13
Tolstiy Beremenniy
01.11.18
✎
10:40
|
(8) Посмотрел, да подразделение пусто в одной из процедур!
Нужно разбираться от куда это идет и на что влияет. |
|||
14
Остап Сулейманович
01.11.18
✎
10:41
|
(5) СП читать не пробовал?
" ТаблицаФормы (FormTable) ПриАктивизацииСтроки (OnActivateRow) Синтаксис: ПриАктивизацииСтроки() Описание: Вызывается при активизации строки таблицы. Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере. " Особо обратить внимание на примечание. Думать. |
|||
15
Tolstiy Beremenniy
01.11.18
✎
10:41
|
Вот видимо из за чего. но почему ТекущиеДанные не определено?
Если Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено Или ТипЗнч(Элементы.СписокЗаявокУИиС.ТекущаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда Подразделение = Неопределено; |
|||
16
Tolstiy Beremenniy
01.11.18
✎
10:42
|
(14) Код то это не мой. Я же скопировал форму с типового справочника и подстраиваю под свою задачу.
|
|||
17
Tolstiy Beremenniy
01.11.18
✎
10:43
|
В типовой форме справочника ничего не мигает.
|
|||
18
Остап Сулейманович
01.11.18
✎
10:44
|
(16) "Код то это не мой."
ГЫ. Никто и не сомневался. Это фирменный стиль ливингстара. Но попытаться понять код можно? Хочешь расскажу почему циклится? |
|||
19
Tolstiy Beremenniy
01.11.18
✎
10:44
|
Вот тут, Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено
Но почему не понятно! &НаКлиенте Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователя() Если Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено Или ТипЗнч(Элементы.СписокЗаявокУИиС.ТекущаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда Подразделение = Неопределено; |
|||
20
Tolstiy Beremenniy
01.11.18
✎
10:45
|
(18) Конечно!
|
|||
21
shadow_sw
01.11.18
✎
10:47
|
забавный ТС :)
|
|||
22
Tolstiy Beremenniy
01.11.18
✎
10:47
|
Вся левая таблица передергивается при прокручивании
полосы прокрутки и курсор мигает. |
|||
23
Остап Сулейманович
01.11.18
✎
10:50
|
(20) Становишься на строку. Вызывается ПриАктивизацииСтроки. Оттуда уходим на сервер (это твой вызов УстановитьОтборОформления...). После выполнения процедуры на сервере форма начинает обновляться. Фокус уходит с твоего поля и пробешается по всем полям в порядке обхода. После завершения обхода фокус возвращается на исходную строку и опять вызывается ПриАктивизации. И опять идем на сервер ...
ЗЫ.Исключи уход кода на сервер и все наладится. |
|||
24
palsergeich
01.11.18
✎
10:51
|
Народ все проще.
2 недели такая же фигня была. Еще ->изменить форму-> настройки по умолчанию |
|||
25
palsergeich
01.11.18
✎
10:52
|
2 недели назад.
ТОже голову ломал, скинул настройки формы и все стало ОК |
|||
26
palsergeich
01.11.18
✎
10:53
|
В этом же самом месте на абсолютно типовой форме
|
|||
27
palsergeich
01.11.18
✎
10:54
|
Ни чистка кеша ничего не помогало. Скинь настройки формы (24) и будет счастье
|
|||
28
Остап Сулейманович
01.11.18
✎
10:55
|
(24) Может и так. Но это не отменяет того момента, что ПриАктивизации не нужно вызывать сервер. Как в (5)
|
|||
29
Cyberhawk
01.11.18
✎
10:55
|
(27) Это ты симптом вылечил, а народу видимо интересно причину выяснить)
|
|||
30
palsergeich
01.11.18
✎
10:57
|
(28) Нормально все там. Эта процедура один раз отрабатывает.
(29) Один и единственный раз такое причем только у одного юзера и именно на этой форме. Есть подозрение что это платформенный баг. Там в ДО есть такие приколы. |
|||
31
Остап Сулейманович
01.11.18
✎
11:01
|
+ (28) В ПриАктивизации нужно сказать ОбработкаОжидания с каким-то разумным периодом. И уже там можно обращаться к серверу.
Это такой себе общеалгоритмический подход. И даже без привязки к 1С. Например у вас при установке курсора нужно показать в поле активдокса вордовский документ. Пользователь в списке наступает на клавишу "стрелка вниз" и переезжает на 20 записей. При подходе без ОбработкаОжидания на форму будут загружены все 20 промежуточных документов. Хотя оно и не нужно. Наглядно можно посмотреть пролистывание в проводнике папки с картинками. |
|||
32
palsergeich
01.11.18
✎
11:03
|
(31) Это архитектурно справочник с малым количеством элементов, тем более там изменяется условное оформление, это допустимо.
Там есть куда более интересные платформенные баги причем в типовой и зараза не воспроизводимые. У одного проблемы у остальных нет, приходится придумывать пути обхода. |
|||
33
palsergeich
01.11.18
✎
11:04
|
(31) А на самом деле в 99% случаев условное оформление не меняется и форма не перерисовывается
|
|||
34
Остап Сулейманович
01.11.18
✎
11:06
|
(33) И что? Можно перебегать улицу не глядя. И видимо в 99% у вас это получится.
|
|||
35
Остап Сулейманович
01.11.18
✎
11:07
|
+ (34) Почему бы не делать это правильно?
|
|||
36
Tolstiy Beremenniy
01.11.18
✎
11:08
|
(24) У меня дергается все равно!
|
|||
37
Остап Сулейманович
01.11.18
✎
11:09
|
Ну вот... Ливингстар попадает как раз в 1%. )))
|
|||
38
palsergeich
01.11.18
✎
11:10
|
(36) Измени колонки в настройках формы (сними какие нибудь флажки). Я сначала избавился на копии так.
(35) [email protected] вы можете написать сюда и когда нибудь Вам помогут. За действия вендора я не отвечаю |
|||
39
Tolstiy Beremenniy
01.11.18
✎
11:12
|
(23) Если я поменяю типовой функционал.
То возможно же работать не будет же. Я же его и взял для себя как работающий! Не пойму почему его нужно менять, если он сам в справочнике работает. |
|||
40
Остап Сулейманович
01.11.18
✎
11:12
|
(38) В этом случаем мне помощь не нужна. Я стараюсь придерживаться рекомендаций. Не всегда. Но чаще всего. И в таких случаях = точно.
|
|||
41
Остап Сулейманович
01.11.18
✎
11:15
|
(39) Та - не вопрос. Можешь делать свою работу так, как считаешь правильным. Если установил для себя потолок - копипасте - твое дело. Но и должен осознавать какой получишь результат.
|
|||
42
Tolstiy Beremenniy
01.11.18
✎
11:17
|
(41) Я хочу понять что мне делать!!!!!!!
Пока (24) не помогло. |
|||
43
palsergeich
01.11.18
✎
11:19
|
(42) Сделай так (38)
|
|||
44
palsergeich
01.11.18
✎
11:20
|
(42) Или просто удали все пользовательские настройки.
|
|||
45
Остап Сулейманович
01.11.18
✎
11:20
|
(42) Видимо нужно таки начать программировать. На найти где Скопипастить потратишь времени намного больше.
|
|||
46
Tolstiy Beremenniy
01.11.18
✎
11:24
|
(38) Пробовал, поставил какой то флажек. Мигает все равно.
|
|||
47
Остап Сулейманович
01.11.18
✎
11:27
|
||||
48
palsergeich
01.11.18
✎
11:28
|
(47) (46) Увы на этом проблема ушла и больше не повторялась. Надо смотреть.
|
|||
49
Tolstiy Beremenniy
01.11.18
✎
11:30
|
(48) Какой флажек? Автозаголовок?
У меня она повторяется. Открываю типовой, все работает! |
|||
50
Вафель
01.11.18
✎
11:30
|
через обработчик ожидания уже пробовал?
|
|||
51
palsergeich
01.11.18
✎
11:31
|
(49) Нет, в настройках формы я снял галку с колонки списка, который правый. Нажал ОК. Все заработало, потом зашел снова поставил флажок.
|
|||
52
Остап Сулейманович
01.11.18
✎
11:34
|
(49) О-о-о... Да...
"Автозаголовок" это именно то что нужно.))) ЗЫ. И фары протирал и по колесу стучал, а оно никак не заводится ... |
|||
53
palsergeich
01.11.18
✎
11:48
|
(49) Ну чо как оно?
|
|||
54
Tolstiy Beremenniy
01.11.18
✎
11:54
|
(51) В режиме предприятия?
|
|||
55
palsergeich
01.11.18
✎
11:54
|
(54) Да
|
|||
56
Tolstiy Beremenniy
01.11.18
✎
11:56
|
(53) я какой то флажек убрал, у меня вообще пропала
таблицы, список СтруктураПредприятия. |
|||
57
Tolstiy Beremenniy
01.11.18
✎
11:57
|
(55) Список вернул, но как мигало так и мигает!
|
|||
58
palsergeich
01.11.18
✎
11:57
|
(56) Постоянное обновление ушло?
|
|||
59
Tolstiy Beremenniy
01.11.18
✎
11:57
|
(58) Нет (
|
|||
60
palsergeich
01.11.18
✎
11:58
|
(57) ТВ есть?
|
|||
61
palsergeich
01.11.18
✎
11:58
|
Подрубится глянуть можно?
|
|||
62
Tolstiy Beremenniy
01.11.18
✎
11:58
|
(61) Жаль, но нет ((((((( Исключено (((((
|
|||
63
palsergeich
01.11.18
✎
12:01
|
(62) Мы же про одно и тоже говорим? https://yadi.sk/i/01Cut9E7sMx4jw
|
|||
64
Tolstiy Beremenniy
01.11.18
✎
12:01
|
Если я вот это закомментирую, -
&НаКлиенте Процедура СтруктураПредприятияПриАктивизацииСтроки(Элемент) //ПодключитьОбработчикОжидания("СтруктураПредприятияПослеАктивизацииСтроки", 0.1, Истина); КонецПроцедуры То мигания нет. Но тогда и не работает все то зачем я этот пример взял!!!!!!! |
|||
65
palsergeich
01.11.18
✎
12:02
|
Да там этот обработчик в ожидании срабатывает.
Попоробуй удали все пользовательские настройки. В моем случае дело было в них. |
|||
66
Tolstiy Beremenniy
01.11.18
✎
12:02
|
(63) Ну вроде как да.
Только у меня справа список не пользователей. А одного типового документа, на который я настраиваю отбор по подобию, как в этой форме по подразделениям. |
|||
67
Tolstiy Beremenniy
01.11.18
✎
12:02
|
(65) Кеш?
|
|||
68
palsergeich
01.11.18
✎
12:04
|
https://yadi.sk/i/Bivru6q1jukwag и так, если не поможет я не знаю.
(67) Увы но нет, я из ДТ с нуля базу развернул и под этим пользователем та же проблема была. Именно пользовательские настройки |
|||
69
palsergeich
01.11.18
✎
12:07
|
https://yadi.sk/i/9bTQCPKW5DcCdg Тогда сорри, не знаю чем помочь. Надо смотреть
|
|||
70
Tolstiy Beremenniy
02.11.18
✎
03:33
|
(69) Ну у меня бесполезно не помогает.
Устанавливаю стандартные настройки без конца. Снимаю ставлю галки. Курсор не перестает мигать! |
|||
71
Tolstiy Beremenniy
02.11.18
✎
03:47
|
Увидел что мигать курсор прекращает только если в левом
списке выбрать значение, которому соответствуют элементы в правом списке. Он становится жирным и мигание прекращается. Думаю как его все же устранить! |
|||
72
Tolstiy Beremenniy
02.11.18
✎
03:59
|
Похоже зацикливается вот на этих двух процедурах.
&НаКлиенте Процедура ПользователиСписокПриАктивизацииСтроки(Элемент) ПодключитьОбработчикОжидания("УстановитьОтборОформленияПодразделенияТекущегоПользователя", 0.2, Истина); КонецПроцедуры &НаКлиенте Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователя() Если Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено Или ТипЗнч(Элементы.СписокЗаявокУИиС.ТекущаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда Подразделение = Неопределено; Иначе Подразделение = Элементы.СписокЗаявокУИиС.ТекущиеДанные.ПодразделениеПодготовителя; КонецЕсли; УстановитьОтборОформленияПодразделенияТекущегоПользователяСервер(Подразделение); КонецПроцедуры Если выбирается элемент в левом списке, и в правом нет элементов для отбора, начинает мигать курсор. Происходит зацикливание этих двух процедур. |
|||
73
Tolstiy Beremenniy
02.11.18
✎
04:35
|
Попробовал вот так прервать выполнение кода.
Но не помогло. Можно ли как то принудительно запретить его выполнение? &НаКлиенте Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователя() Если Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено Или ТипЗнч(Элементы.СписокЗаявокУИиС.ТекущаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда Подразделение = Неопределено; Иначе Подразделение = Элементы.СписокЗаявокУИиС.ТекущиеДанные.ПодразделениеПодготовителя; КонецЕсли; УстановитьОтборОформленияПодразделенияТекущегоПользователяСервер(Подразделение); Если Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено Тогда Возврат; КонецЕсли; КонецПроцедуры |
|||
74
Tolstiy Beremenniy
02.11.18
✎
04:58
|
Как вам такой подход? Мигать начинает, если в правой
части нет строк. Я не запускаю эту зациклевшуюся процедуру, и все. как вам это? Если Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено Тогда ГашениеМигающегоКурсора = Истина; Иначе ГашениеМигающегоКурсора = Ложь; ПодключитьОбработчикОжидания("УстановитьОтборОформленияПодразделенияТекущегоПользователя", 0.2, Истина); КонецЕсли; |
|||
75
Tolstiy Beremenniy
02.11.18
✎
05:00
|
Сейчас только у того подразделения по которому есть
строки в правом списке, не убирается выделение. Ото стало выделенным всегда. Так как в правой части введен документ только по нему. как снять выделение если курсор не стоит на нем? |
|||
76
Tolstiy Beremenniy
02.11.18
✎
05:27
|
Может я не тем занимаюсь? И этот пример не удачный,
какой то? Может посоветуете что другое, из докумнетооборота. Где не нужно черти чем сидеть заниматься. А взять его и сделать? |
|||
77
Tolstiy Beremenniy
02.11.18
✎
05:36
|
Подобное есть ещё в справочнике внутренние документы
но там чт ото совсем не пойму как это можно переводить на свои условия. |
|||
78
Тихий омут
02.11.18
✎
05:43
|
Что-то ты не договариваешь.
Что у тебя происходит в УстановитьОтборОформленияПодразделенияТекущегоПользователяСервер? |
|||
79
Тихий омут
02.11.18
✎
05:45
|
С однократным обработчиком ожидания всё работает без проблем, у тебя ещё какой-то фактор действует
|
|||
80
Tolstiy Beremenniy
02.11.18
✎
05:52
|
Вот это закомментил, и выделения не стало.
И курсор не мигает. &НаКлиенте Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователя() Если Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено Или ТипЗнч(Элементы.СписокЗаявокУИиС.ТекущаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда Подразделение = Неопределено; Иначе Подразделение = Элементы.СписокЗаявокУИиС.ТекущиеДанные.ПодразделениеПодготовителя; КонецЕсли; //УстановитьОтборОформленияПодразделенияТекущегоПользователяСервер(Подразделение); |
|||
81
Тихий омут
02.11.18
✎
05:56
|
Ну и всё таки, что у тебя в происходит на сервере, при выполнении этой закомменченой строки?
|
|||
82
Tolstiy Beremenniy
02.11.18
✎
06:09
|
(81) Там вот такая процедура. Она видимо делает выделение
строки подразделения в левом списке. А при выделении другого, выделение с предыдущего снимается, выделяется тот что выделяется в момент выделения. В своей форме я отказался от этого выделения. Пока делаю как вижу сам. &НаСервере Процедура УстановитьОтборОформленияПодразделенияТекущегоПользователяСервер(Подразделение) Для Каждого ЭлементУсловногоОформления Из УсловноеОформление.Элементы Цикл Если ЭлементУсловногоОформления.Представление = "ПодразделениеТекущегоПользователя" Или ЭлементУсловногоОформления.Представление = "УдаленноеПодразделениеТекущегоПользователя" Тогда ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы[0]; ЭлементОтбораДанных.ПравоеЗначение = Подразделение; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
83
Тихий омут
02.11.18
✎
06:46
|
Специально накидал тестовую обработку из двух динсписков на форме, ничего не тупит.
В (82) точно тот код, на котором наблюдается зацикливание? |
|||
84
Мимохожий Однако
02.11.18
✎
07:51
|
ОФФ:Вспомнился Пит и его классификация дятлов...
|
|||
85
Tolstiy Beremenniy
02.11.18
✎
08:24
|
(83) Вот что вызывало зацикливание, я обошел это проверкой. Это первая процедура с которой шел бесконечный цикл. Так как в правой таблице не было данных.
&НаКлиенте Процедура ПользователиСписокПриАктивизацииСтроки(Элемент) Если Элементы.СписокЗаявокУИиС.ТекущиеДанные = Неопределено Тогда ГашениеМигающегоКурсора = Истина; Иначе ГашениеМигающегоКурсора = Ложь; ПодключитьОбработчикОжидания("УстановитьОтборОформленияПодразделенияТекущегоПользователя", 0.2, Истина); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |