Имя: Пароль:
1C
1С v8
Информация о динамических списках
,
0 MaxisUssr
 
10.09.12
10:25
Подскажите, где почитать о дин.списках и принципах их работы?
Столкнулся с проблемой: запрос, формирующий дин. список, выполняется за 1-2 секунды в отладчике (или консоли запросов) со всеми возможными отборами, в дин. списке же это висит от одной до нескольких минут (даже без единого отбора)
1 golden-pack
 
10.09.12
10:26
Условное оформление ?
2 MaxisUssr
 
10.09.12
10:29
(1) присутствует,
отключал - скорость не на много прибавилась..
3 golden-pack
 
10.09.12
10:30
Группировок много ?
4 MaxisUssr
 
10.09.12
10:31
В дин.списке? Ни одной. В запросе - есть вложенные запросы, сгруппированные по чему-либо
5 vmv
 
10.09.12
10:33
(0) в отладчике список не выводиться на минитор - делай выводы
6 olegves
 
10.09.12
10:37
(0) профайлер тебе поможет
7 lapinio
 
10.09.12
10:40
Укажи основную таблицу и динамическое считывание и будет намного быстрее. Условия связи не должны быть произвольными. Так он дольше отрабатывает. Лучше в условия указывай отбор
8 H A D G E H O G s
 
10.09.12
10:45
Текст запроса в студию.
9 k1us181b
 
10.09.12
10:50
=В запросе - есть вложенные запросы=
говорят не есть гут в ДС
10 vmv
 
10.09.12
10:53
(9) не гуд в принципе, вложенные оставлены для дегенератов - они тоже люди и право имеют
11 MaxisUssr
 
10.09.12
11:39
(9, 10)
Я бы очень рад работать с пакетами или с внешними таблицами в ДС, но не поддерживают они такое(
(6)
В профайлере толком не увидел причину: видно, что отбор устанавливается пару секунд, дальше - после того, как пройдены все процедуры - как раз и жду много времени, пока список всплывет на экран
12 MaxisUssr
 
10.09.12
11:41
(7)
Осн. таблица указана - в этом и смысл использования ДС. Отбор устанавливается на поля дин. списка, а не в запросе с пом. параметров - пробовал переписывать почти полностью на параметры - результат немногим лучше - не в этом собака зарыта
13 vde69
 
10.09.12
11:46
динамический список формируется не одним запросом а кучей мелких
14 MaxisUssr
 
10.09.12
11:47
Занимался я этим списком, все прицеплял и прицеплял к нему колонки - заказчику требуется множество отборов и сортировок иметь. До какого-то момента список работал быстро (1-2-3 сек. проходил отбор, при работе с клиентской машины). В результате после какой-то версии изменений начались тормоза, пока что для меня один надежный метод - найти ту самую версию и сравнивать ее с текущей. Но это все равно единичный случай.
Да, кстати тормоза только при работе на Клиентской машине. При работе на серваке или в файловой версии все быстро.
15 vde69
 
10.09.12
11:52
(14) открою тайну, скорость произвольных запросов в сабже зависит от текущей колонки сортировки. Например при сортировки "дата" все летает, а при "номер" все тормозит.

найти причину иной раз сложно.

Если заказчик просит мего список собирающий все и везде, сделай для него обязательным первичный отбор (что-бы результат был разумным типа 500 строк)
16 MaxisUssr
 
10.09.12
12:32
(14)
"..сделай для него обязательным первичный отбор".
не совсем понял - если у меня, допустим, все на параметрах (все отборы) - и при этом на основную таблицу также идет несколько параметрических отборов, то какой из них первичный?
17 MaxisUssr
 
10.09.12
14:53
Ап. Интересует методическое пособие/литература с расшифровкой принципов работы запросов в динамических списках, чтобы прийти к пониманию этих механизмов, а не сравнивать результаты методом проб и ошибок
18 olegves
 
10.09.12
15:29
(11) а кэш давно чистил?
19 olegves
 
10.09.12
15:30
(17) вместо твоих параметров создай критерии отбора и ими пользуйся в запросе ДС
20 Bober
 
10.09.12
15:40
(17) какую литературу хочешь видеть?
Основное правило с динамическими списками чем меньше соединений тем лучше, возможность изменять запрос динамического списка не изначает отказ от отчетов. Максимум выводить цены остатки или уже рассчитанные показатели.
21 Bober
 
10.09.12
15:42
(17) любой разработчик, который на динамическом списке пытается построить отчетность должен понимать, что это ошибочный путь решения проблемы.
22 ChAlex
 
10.09.12
15:51
(0) - Кроме общих фраз в существующих изданиях и документации - из литературы ничего по этой теме нет. Даже в видео курсе Гилева - чуть-чуть. Так что только отладчик и замер производительности в руки (если хотите что-либо оптимизировать)
23 Bober
 
10.09.12
15:53
(22) как вариант, включаешь на тествой базе профалер и смотришь на сформирлванные запросы.
24 MaxisUssr
 
10.09.12
16:00
(19) Спасибо, попробую этот вариант
(21) если вкраце - там список кандидатов на работу, у каждого кандидата существует много-много свойств, таких, как "наличие медкнижки", "ближайшее метро", и т.п. Все это хранится в основном в регистрах. Понятно, что отбор возможно соорудить, не выводя эти поля. А как быть, если нужно видеть не просто список фамилий, а еще несколько из свойств каждого кандидата? (к примеру, чтобы отсортировать потом результат отбора по каким-либо полям и думать - кого из 100 кандидатов, удовлетворяющих требованиям, отобрать - тех, кто мужского пола или женского?)
Была мысль рассчитывать и пихать это все в один какой-нибудь регистр (или даже дублировать в карточке кандидата эти реквизиты) - но как-то это методологически неверно и технически сложно, ИМХО
25 MaxisUssr
 
10.09.12
16:01
(20)
Статью какую-нибудь о том, как система строит запросы для дин. списка, и из этого понять, какие конструкции можно использовать, а какие приводят к тормозам и с ними никак нельзя перебарщивать
26 acsent
 
10.09.12
16:04
ты свойства с помощью вложенных запросов вывожишь?
27 MaxisUssr
 
10.09.12
16:05
(26) Значения свойств
28 acsent
 
10.09.12
16:06
(27) так с помощью вложенных? Ну ты дибиииил
29 MaxisUssr
 
10.09.12
16:09
(28)
для классических свойств (типовых) - Характеристики, но есть свойства, не связанные с Планом видов характеристик (т.е. что-то там из самопальных регистров)
30 acsent
 
10.09.12
16:12
(29) вообще не понимаю что ты говоришь
31 Bober
 
10.09.12
16:27
(29) и что мешает их загнать в свойства?
32 Bober
 
10.09.12
16:31
(25) запросы в динамических списках такие же как в скд, но пару особенностей.
Ограничения на работу с запросами (нет возможности работать с временными таблицами и нельзя делять отборы по табличным частям объектов) плюс платформа добывляет ограничения на размер выборки (select top) и системные условия по полям сортировки.

Все. Остальное как в скд
33 MaxisUssr
 
10.09.12
17:00
(32)
Вопрос: Как сделать отбор в дин.списке по характеристикам - это ясно. А как вывести  эти характеристики? Если смотреть "как в СКД": не выходит как в СКД.
Нашел тему: v8: v8: Характеристики в дин. списке... , не получилось также сделать, ЧЯДНТ? К тому же пользователь не должен куда-то нажимать и добавлять колонки - нужно программно.
34 Bober
 
10.09.12
17:04
(33) Вроде все там описано? Что не получается в запрос добавить или в список вывести? Вроде тема про тормоза динам списка
35 MaxisUssr
 
10.09.12
17:06
(34)
Да, тема про тормоза - пытаюсь обойти тормоза, выводя свойства через характеристики. Характеристики в запрос добавлены, ОТБОР по хар-кам работает, но вывод колонок с хар-ками приходится делать через соединение с регистром "Значения свойств объектов", мой вопрос - как вывести характеристику в отдельную колонку?
36 MaxisUssr
 
10.09.12
17:08
(+33)
Получилось Все же вывести характеристику так:
v8: v8: Характеристики в дин. списке...

Вопрос - как программно смоделировать добавление данной колонки?
37 Bober
 
10.09.12
17:10
(36) как и другие элементы формы
38 Bober
 
10.09.12
17:12
Добавь поле черезбизмеить форму а потом отладчиком посмотри путь к данным у элемента (и другие свойства если требуется) и программно при создании на сервере добавь поля. Только предварительно сделай проверку на существование
39 MaxisUssr
 
10.09.12
17:14
(38) Да, все получилось! Спасибо большое!
40 MaxisUssr
 
10.09.12
17:15
Соответственно по теме: сейчас переведу также и вывод полей на характеристики - посмотрим, что из этого выйдет в плане тормозов
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn