|
Производительность динамического списка | ☑ | ||
---|---|---|---|---|
0
ildary
03.11.17
✎
10:23
|
Уважаемые специалисты, подскажите пожалуйста, можно ли ускорить открытие следующей формы:
УТ11, внешняя форма с динамическим списком документов, а под этим списком - второй, который выводит товары текущего документа из первого, вот так: ГДЕ ЗаказКлиентаТовары.Ссылка = &ТекЗаказ Проблема в том, что при появлении второго списка форма стала открываться значительно медленнее, хотя по умолчанию видимость второго списка отключена (включается галкой на форме). Можно ли как-нибудь ускорить открытие формы? При открытии в параметр второго списка передается пустая ссылка. |
|||
1
Мыш
03.11.17
✎
10:29
|
(0) Видим, не видим - а посчитать надо.
|
|||
2
DrShad
03.11.17
✎
10:30
|
а зачем товары берутся из документа? почему не из регистров?
|
|||
3
ildary
03.11.17
✎
10:33
|
(1) вот я и спрашиваю - а есть ли способ научить второй дин. список не считать, пока его не попросят?
(2) Чтобы видеть и менять вариант обеспечения (резерв, отгрузить) не заходя в документ. Я новичок и был не уверен, что брать эту информацию из регистра будет быстрее. |
|||
4
DrShad
03.11.17
✎
10:35
|
(3) в разы
а вообще брось эту затею, там на форме очень много меняется из-за обеспечения - ты все не пропишешь |
|||
5
sanja26
03.11.17
✎
10:37
|
(2) к тому что быстрый просмотр тч документа, например. Если данные туда уже собраны при создании документа, незачем их заново собирать.
|
|||
6
lodger
03.11.17
✎
10:41
|
(5) это заказ. какое такое "собраны при создании документа"? я бы понял, если бы ты предложил не показывать результаты какого-то расчета по остаткам из нескольких таблиц с условиями.
но это заказ. в 99% случаев он просто натыкан из подбора. почему общаться с виртуальной таблицей оборотов лучше чем с реальной таблицей ТЧ документов - учите матчасть. |
|||
7
ildary
03.11.17
✎
10:41
|
(4) мне не нужна форма документа заказа клиента (медленная), я хочу в форме списка быстро показать товары и их вариант обеспечения. Вот запрос второго дин. списка:
ВЫБРАТЬ ЗаказКлиентаТовары.Номенклатура КАК Номенклатура, ЗаказКлиентаТовары.Количество КАК Количество, ЗаказКлиентаТовары.ВариантОбеспечения КАК ВариантОбеспечения ИЗ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары ГДЕ ЗаказКлиентаТовары.Ссылка = &ТекЗаказ |
|||
8
ildary
03.11.17
✎
10:43
|
(6) Скажите пожалуйста, в каком регистре мне лучше брать нужную мне информацию? ЗаказыКлиентов?
|
|||
9
sanja26
03.11.17
✎
10:47
|
(6) заказ, не заказ. К примеру там могут быть заданы определенные счета учёта или статьи затрат, склад списания на момент создания, какая-то ещё отметка по строке.
|
|||
10
DrShad
03.11.17
✎
10:48
|
(8) лучше из регистра ОбеспечениеЗаказов
|
|||
11
DrShad
03.11.17
✎
10:49
|
(9) в УТ 11!? не смешите мои тапочки
|
|||
12
ildary
03.11.17
✎
10:50
|
(10) Большое спасибо за пинок в нужном направлении.
|
|||
13
DrShad
03.11.17
✎
10:51
|
(12) не за что
|
|||
14
toypaul
гуру
03.11.17
✎
12:48
|
(6) "почему общаться с виртуальной таблицей оборотов лучше чем с реальной таблицей ТЧ" ну и почему же?
|
|||
15
toypaul
гуру
03.11.17
✎
12:49
|
"При открытии в параметр второго списка передается пустая ссылка." надо не при открытии, а при создании устанавливать видимость и параметр.
Можно обнулять текст запроса |
|||
16
ildary
03.11.17
✎
13:07
|
(15) я ошибся - речь шла о ПриСозданииНаСервере. За идею обнулять текст запроса - большое спасибо! Я сам не додумался.
|
|||
17
youalex
03.11.17
✎
13:17
|
(0) а зачем второй дин. список? Сделай таблицу формы, и заливай в нее данные ТЧ ПриАктивизацииСтроки
|
|||
18
ildary
03.11.17
✎
13:23
|
(17) просто вывести товары - это базовая функциональность второго списка. Далее я хочу выводить только неотгруженные товары (вычитая все товары, которые в подчиненых реализациях), а также товары только в резерве или только на отгрузку. Вдобавок открытие формы заказа - тормозная вещь (У11 лежит на медленном железе, еще и в виртуалке).
|
|||
19
DmitrO
03.11.17
✎
13:30
|
(18)А еще такие вещи лучше снабжать развязкой через таймер.
в ПриАктивизацииСтроки запускать таймер: ПодключитьОбработчикОжидания("ОбновитьВторойСписок", 0.1, Истина); А в клиентской процедуре ОбновитьВторойСписок уже вызывать серверную, где по текущей строке первого обновлять второй список. Если пользователь придавит стрелку клавиатуры в первом списке и будет бежать по нему (автоповтор), обновление второго списка произойдет только когда он отпустит клавишу. |
|||
20
ildary
03.11.17
✎
14:56
|
(19) большое спасибо за науку, пользуясь случаем хочу поблагодарить как контрибутора семерочных расширений типа 1C++.
|
|||
21
FIXXXL
03.11.17
✎
15:32
|
(7) сделай кнопку и отдельную форму показа состава
лепить дин.список по товарам - гиблая затея и тормоза |
|||
22
ildary
03.11.17
✎
15:34
|
(21) на самом деле работает достаточно шустро (по сравнению с открытием формы заказа), тормоз добавился только при открытии.
|
|||
23
vde69
модератор
03.11.17
✎
15:36
|
зайду с другой стороны
ЗаказКлиентаТовары.Ссылка - составной тип? |
|||
24
ildary
03.11.17
✎
15:39
|
(23) ЗаказКлиентаТовары - это ТЧ Товары у документа Заказы. А ссылка - это сам документ ЗаказКлиента и он не составной.
|
|||
25
FIXXXL
03.11.17
✎
15:40
|
(22) завтра еще свистоперделки придумают и превратится список в тормозное Г
делай сразу нормально :) |
|||
26
ildary
03.11.17
✎
15:48
|
(25) я подумаю над отдельной формой.
|
|||
27
ptiz
03.11.17
✎
16:20
|
(3) "есть ли способ научить второй дин. список не считать, пока его не попросят?" - а программно разве нельзя управлять источником данных дин.списка?
|
|||
28
ildary
03.11.17
✎
16:35
|
(27) кстати, а что там лучше сделать? Я попробовал обнулить текст запроса - получил ошибку.
|
|||
29
ptiz
03.11.17
✎
16:48
|
(28) Значит, другие свойства тоже надо менять.
|
|||
30
FIXXXL
07.11.17
✎
11:21
|
(28) выбрать 1 как 1 подставь :)
|
|||
31
ildary
07.11.17
✎
11:23
|
(30) как все просто, спасибо за совет, я не догадался...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |