Имя: Пароль:
1C
1С v8
Множество запросов с разными параметрами
0 Rpik
 
07.07.23
16:22
Подскажите есть ли какой-нибудь более быстрый способ выполнения вот этой задачи.
Есть 500 контрагентов, у каждого контрагента есть реквизит "Количество дней отсрочки", в котором проставлено число - количество дней, на которое предоставляется отсрочка оплаты. Оно разное у многих Контрагентов (1-60 дней)
Задача такая: нужно узнать по каждому контрагенту сумму продажи за последние дни (текущая дата минус количество дней отсрочки).

Делать 500 запросов по каждому Контрагенту?
1 ejikbeznojek
 
07.07.23
16:29
В 1 наверное можно. Выбрать продажи за нужный период (общий), А потом на эту таблицу наложить отбор, где период<=&ТекущаяДата-Контрагент.КоличествоДней*86400
2 Rpik
 
07.07.23
16:33
(1) т.е. выбрать все продажи за <Максимальное количество дней отсрочки> и потом эту таблицу насиловать запросами?
3 lodger
 
07.07.23
16:37
(2) на СКД это можно было бы решить 2 наборами данных с передачей параметра в связях
4 Rpik
 
07.07.23
16:41
Мне это нужно во внешней обработке реализовать. Как называется этот механизм. "Временная таблица" это будет работать в пределах одного запроса, а тут нужно из нее выбирать множеством запросов
5 lodger
 
07.07.23
16:44
сделай одну выборку с итогами по Период ПЕРИОДАМИ(ДЕНЬ, &НачалоПериода, &КонецПериода)

https://its.1c.ru/db/pubqlang#content:105:hdoc@2be054ac
https://its.1c.ru/db/pubqlang#content:79:hdoc:h75

у тебя максимальная глубина в 60 дней и так известна, круг контрагентов сразу можно сузить до 500, а дальше просто обходишь по итогам если колво дней отсрочки попадает в нужную цифру
6 Homer
 
07.07.23
16:55
а в чем проблема самому посчитать на каждый день сумму продажи.
7 Жан Пердежон
 
07.07.23
17:01
Не используй вирт.таблицу
8 ejikbeznojek
 
07.07.23
19:24
(1) Нет, просто 1м запросом.
Может быть с временной таблицой, может без...

Выбрать продажи.обороты (&Дата1,&Дата2) где период<= &Дата2-Контрагент.КоличествоДней*86400
9 sitex
 
naïve
07.07.23
19:52
(3) Правильный ответ тут!
Ошибка? Это не ошибка, это системная функция.