|
Запросы в цикле | ☑ | ||
---|---|---|---|---|
0
mic_net
10.09.12
✎
07:48
|
Доброго времени суток.
Одной из грубых ошибок конкурирования на платформе 1С является использования запросов в циклах. Например, перебирая в цикле контрагентов, выполняем запрос к остаткам из кредиторской задолженности. Как быть в следующей ситуации: например, пользователь желает, что бы в отчет попали все документы реализации за период, но выводились только итоговые суммы документов, рассчитанные по заданному им типам цен (т.е. вид цены номенклатуры указывалась им самим). И к тому, же значение цены могло меняться в течение периода (повышение/понижение). Каковы возможны методы решения таких задач? |
|||
1
Oleg_Kag
10.09.12
✎
07:53
|
Указанная задача решается запросом БЕЗ цикла
|
|||
2
SanGvin
10.09.12
✎
07:54
|
Можно без цикла сделать. Во временную таблицу выбирается все из табл. части + ссылка на док. соединяется с таблицей цен = знаем цену , считаем сумму. агрегируем по документу = профит.
|
|||
3
alextom81
10.09.12
✎
08:02
|
Решается. Но когда надо сделать два запроса к периодическим регистрам сведений (например, ценыноменклатуры, и условияскидокконтрагентов), тогда быстрее отрабатывает запрос к одной таблице реализаций и цен, и потом через "СрезПоследних" - для каждой строки запроса - к реализациям. Не знаю почему, но отрабатывает быстрее
|
|||
4
Defender aka LINN
10.09.12
✎
08:10
|
(3) О каких размерах выборки идет речь?
|
|||
5
alextom81
10.09.12
✎
08:16
|
4. Около 1700 реализаций за месяц. Количество периодических регистров сведений с параметрами - 3 (ценыноменклатуры и ещё два добавленых регистра для финансистов: в одном - меняются коэффициенты распределения затрат на доставку по контрагентам - во втором - норма убыли по номенклатуре)
|
|||
6
Defender aka LINN
10.09.12
✎
08:21
|
(5) Есть мнение, что можно просто один запрос оптимизировать, и все нормально будет.
|
|||
7
alextom81
10.09.12
✎
08:28
|
(6) Пробовал. Сам по себе запрос к РС с для выбора МАКСИМУМА относительно текущей даты (как определение среза последних на каждую строку документа реализации) - достаточно долго выполняется. Но - 1РС - быстро ,2РС - терпимо. 3РС - уже неприемлимо долго. Возможно, я и не прав, дело было пол-года назад - сейчас если запрос такой сваяю, может и быстрее будет. Должно быть так: две таблицы - одна - со строками реализации - с учетом даты - вторая - с записями регистров сведений, которые мы выбираем во вложенном запросе второй таблицы. Сложность доставляли ВЫБОР КОГДА - при отсутствии записей в регистрах сведений
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |