|
Запрос в 1с 8 с меняющимися параметрами
| ☑ |
0
Vasilisk
14.08.13
✎
19:11
|
База бухгалтерия 8.2. Задача такая взять все договора контрагента и получить обороты по счету на 20 день с момента открытия договора. Делаю так: запросом выбираю нужные договора затем в цикле обхожу выборку и другим запросом считаю обороты на 20 день. Отчет формируется долго так как получается запрос в цикле. Пробовал через виртуальную таблицу но параметры по остаткам по счету на сколько понял менять во время выполнения запроса нельзя. Как сделать все одним запросом?
|
|
1
Fragster
модератор
14.08.13
✎
19:14
|
что мешает указать в параметрах таблицы Договор.Владелец = &Контрагент?
|
|
2
Нуф-Нуф
14.08.13
✎
19:14
|
получи остатки и обороты с периодом день и соединяй с договорами по ДатеДоговора+20дней
|
|
3
Fragster
модератор
14.08.13
✎
19:17
|
а, в (1) - фигня
|
|
4
Fragster
модератор
14.08.13
✎
19:18
|
нужно слепить самому из реальной таблицы регистра. а вообще на задачу на собеседовании похоже.
|
|
5
Vasilisk
14.08.13
✎
19:19
|
Причем тут контрагент. Вопрос в подсчете оборотов так как дата заключения договоров разная, то получается что период расчета оборотов разный.
|
|
6
Fragster
модератор
14.08.13
✎
19:20
|
(5)->(3)
|
|
7
Vasilisk
14.08.13
✎
19:21
|
Возможно ли реализовать подобное или нет? Конфу менять нельзя.
|
|
8
Fragster
модератор
14.08.13
✎
19:21
|
(7) да
|
|
9
Vasilisk
14.08.13
✎
19:23
|
Контрагент статичен а даты выдачи договоров динамичны в зависимости от договора. Обход договоров в цикле с формированием запроса по каждому не рационален, как внутри запроса организовать подобный механизм.
|
|
10
Vasilisk
14.08.13
✎
19:24
|
(8) Да это как?
|
|
11
Fragster
модератор
14.08.13
✎
19:24
|
(9) -> (4) не используй виртуальные таблицы, используй соединение с реальной таблицей
|
|
12
Vasilisk
14.08.13
✎
19:25
|
Написал "да" не помогло...(((
|
|
13
Fragster
модератор
14.08.13
✎
19:27
|
что-то типа
Договоры Левое соединение Регистр по Договор.Ссылка = Регистр.Ссылка и Регистр.Дата Между Договор.Дата и ДобавитьДате(Договор.Дата, 20)
|
|
14
Vasilisk
14.08.13
✎
19:27
|
Можно пример не совсем пойму о чем вы
|
|
15
Vasilisk
14.08.13
✎
19:34
|
То есть обороты по счету тут не катит нужно использовать целиковую таблицу?
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший