![]() |
![]() |
![]() |
|
v8: Событие ПриПолученииДанных отрабатывает дважды | ☑ | ||
---|---|---|---|---|
0
mikecool
16.03.10
✎
15:52
|
Событие ПриПолученииДанных табличного поля отрабатывает дважды на один набор данных?
|
|||
1
Волшебник
16.03.10
✎
15:53
|
Тебе это мешает?
|
|||
2
mikecool
16.03.10
✎
15:53
|
спс за переименование, сам поздно спохватился :)
|
|||
3
mikecool
16.03.10
✎
15:53
|
(1) время, оно не резиновое
|
|||
4
mikecool
16.03.10
✎
15:54
|
у меня в нем отрабатывает запрос на получение доп данных и установка оных по текстовым полям
|
|||
5
mikecool
16.03.10
✎
15:55
|
+4 как бы быстро запрос не работал - зачем его запускать дважды...
|
|||
6
agarych
16.03.10
✎
15:57
|
(0) посмотри на ИТС там все написано.
Первый раз отрабатывает, для строк выше текущей строки, второй раз для текущей строки + все что ниже. Кстати два раза он у тебя будет вызываться если ты кнопки page up, page down используешь. И один раз если колесиком мышки крутить. А на самом деле это бесит ) |
|||
7
mikecool
16.03.10
✎
16:01
|
(6) спасибо, итс периодически почитываю, но его приносят быстрее, чем я успеваю читать :)
|
|||
8
Stepa86
16.03.10
✎
16:05
|
Запрос в ПриПолученииДанных??? айяйяй...
|
|||
9
mikecool
16.03.10
✎
16:06
|
(8) вариант?
|
|||
10
mikecool
16.03.10
✎
16:06
|
+9 нужно остатки по номенклатуре для формы списка номенклатуры + еще немного данных
|
|||
11
mikecool
16.03.10
✎
16:08
|
пишу так
СписокНоменклатурыОграничение = Новый СписокЗначений; Для Каждого Оформление Из ОформленияСтрок Цикл Если Оформление.ДанныеСтроки.ЭтоГруппа Тогда Продолжить; КонецЕсли; СписокНоменклатурыОграничение.Добавить(Оформление.ДанныеСтроки.Ссылка); КонецЦикла; Запрос = Новый Запрос; Запрос.УстановитьПараметр("Склад", ВладелецФормы.Склад); Запрос.УстановитьПараметр("СписокНоменклатуры", СписокНоменклатурыОграничение); Запрос.УстановитьПараметр("Дата", ТекущаяДата()); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТоварыПоМестамХраненияОстатки.Номенклатура, | ТоварыПоМестамХраненияОстатки.КоличествоОстаток КАК Остаток |ИЗ | РегистрНакопления.ТоварыПоМестамХранения.Остатки( | &Дата, | Склад = &Склад | И Номенклатура В (&СписокНоменклатуры)) КАК ТоварыПоМестамХраненияОстатки"; ТаблицаРезультатов = Запрос.Выполнить().Выгрузить(); Если ТаблицаРезультатов.Количество() = 0 Тогда Возврат КонецЕсли; Для Каждого Оформление Из ОформленияСтрок Цикл Остатки = ТаблицаРезультатов.Найти(Оформление.ДанныеСтроки.Ссылка, "Номенклатура"); Если Остатки = Неопределено Тогда Продолжить; КонецЕсли; Оформление.Ячейки.Остаток.УстановитьТекст(Остатки.Остаток); Оформление.Ячейки.Остаток.Выравнивание = ГоризонтальноеПоложение.Право; КонецЦикла; может и в натуре - я тормоз? :) |
|||
12
Stepa86
16.03.10
✎
16:08
|
(10) 1) При открытии получить таблицу остатков по всей номенклатуре, а потом из этой таблице тянуть
2) Перейти на 8.2 |
|||
13
Mitriy
16.03.10
✎
16:09
|
(12)+ обновлять эту таблицу при желании...
|
|||
14
Stim
16.03.10
✎
16:10
|
(11) если ТП содержит под сотню строк, то у пользователя будут такие тормоза, что он проклянет весь твой род
|
|||
15
mikecool
16.03.10
✎
16:10
|
(12) гы, точно... туплю :)
|
|||
16
Mitriy
16.03.10
✎
16:10
|
(13)+ можно диначмически заполнять эту таблицу в ПриПолученииДанных, чтобы не получать данные каждый раз, и не получать остатки по всей номенклатуре... называется кеш...
|
|||
17
mikecool
16.03.10
✎
16:11
|
(14) как тебя однако судьба потрепала :)
у меня тела терпеливые :) |
|||
18
mikecool
16.03.10
✎
16:13
|
(16) это доп форма подбора, думаю кеш не понадобится..
|
|||
19
Stim
16.03.10
✎
16:13
|
(17) всякому терпению может придти конец :)
Однажды обнаружишь за своей дверью ожидающего тебя пользователя с топором в дрожащих руках.. |
|||
20
agarych
16.03.10
✎
16:31
|
(11) Вывод переделай. Поиск по таблице результатов не очень то ) Посмотри проф. разработку, там сделано через "Соответствие".
to All: нормально он делает, самое главное не при выводе строки. |
|||
21
mikecool
16.03.10
✎
16:32
|
(20) а запрос может выгружать в соответствие? или как?
|
|||
22
Stepa86
16.03.10
✎
16:35
|
(20) то есть тебя не смущает, когда форма по 5 минут открывается?
(21) тз с индексируемой колонкой по скорости обращения ничем от соответствия не отличается |
|||
23
agarych
16.03.10
✎
16:36
|
(21)
Ссылки = Новый Массив; Соответствие = Новый Соответствие; Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл Документ = ОформлениеСтроки.ДанныеСтроки.Ссылка; Соответствие.Вставить(Документ, ОформлениеСтроки); КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = ТекстЗапроса; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОформлениеСтроки = Соответствие[Выборка.Документ]; КонецПопытки; |
|||
24
agarych
16.03.10
✎
16:36
|
(23) в конце КонецЦикла;
|
|||
25
Stepa86
16.03.10
✎
16:37
|
+(22) то есть перерисовывается при перемещении по списку
|
|||
26
Птица
16.03.10
✎
16:38
|
(22)мож, запросы кривые? периодически использую запросы в приполученииданных - никаких тормозов
|
|||
27
Mitriy
16.03.10
✎
16:39
|
(20) можно и ТЗ, все дело в индексах...
|
|||
28
mikecool
16.03.10
✎
16:40
|
(26) при маленьком списке - нормально, у меня склад на 10мбитной сетке сидит, есть один список - тормозит, переделаю...
(22) т.е. добавить индекс и поиск будет совсем быстрый? :) |
|||
29
Mitriy
16.03.10
✎
16:40
|
(27)+ хотя, если по мне, то соответствие привычнее и удобнее ))
|
|||
30
mikecool
16.03.10
✎
16:41
|
(29)а что быстрее - перебор и добавление в соответствие или выгрузить результат запроса в тз? не мерял?
|
|||
31
Mitriy
16.03.10
✎
16:41
|
(28) по крайней мере мне об этом говорили люди, которым я склонен доверять...
|
|||
32
Птица
16.03.10
✎
16:42
|
(28)а при чем тут размер списка? данные-то каждый раз только на записи, попавше в экран, запрашиваются
|
|||
33
Stepa86
16.03.10
✎
16:42
|
+(31) Еж замерял вроде
|
|||
34
Mitriy
16.03.10
✎
16:42
|
(30) не мерял... вряд ли сильно будет отличаться...
|
|||
35
agarych
16.03.10
✎
16:42
|
(31) Аналогично. Замер показал что поиск по соответствию быстрее.
|
|||
36
agarych
16.03.10
✎
16:43
|
(35) чем поиск по таблице значений.
|
|||
37
Mitriy
16.03.10
✎
16:43
|
(35) чем по индексированной таблице?
|
|||
38
mikecool
16.03.10
✎
16:44
|
добавил индекс - вообще перестал задержку замечать при отрисовке
|
|||
39
Stepa86
16.03.10
✎
16:44
|
||||
40
Mitriy
16.03.10
✎
16:45
|
(39) ну вот... я даже не соврал ))
|
|||
41
mikecool
16.03.10
✎
16:46
|
вот спасибо, покурю ссылку
|
|||
42
agarych
16.03.10
✎
16:46
|
(22) Я согласен с тобой что некоторые формы могут открывать долго, но это все зависит от хотелок пользователей.
|
|||
43
Mitriy
16.03.10
✎
16:47
|
(42) чаще это зависит от криворукости программиста...
|
|||
44
mikecool
16.03.10
✎
16:47
|
(42) не, хотелки пользователей не должны влиять на производительность
|
|||
45
NULLL
16.03.10
✎
16:50
|
(23) А оно глючить не будет если два раза один документ попадется?
|
|||
46
agarych
16.03.10
✎
17:07
|
(45) нет не будет. сделай выбрать различные.
(44) хотелки всегда на производительность влияют, наши задача просто минимизировать потери в производительности. |
|||
47
NULLL
16.03.10
✎
17:08
|
(46) Я не об этом, если в списке повторяющиеся данные?
|
|||
48
agarych
16.03.10
✎
17:17
|
(47) эээ... а как такое может быть? )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |