|
Как в СКД указать регистру период выборки, если даты периода из другого запроса? |
☑ |
0
lenkavovka
26.06.19
✎
11:18
|
Всем привет!
В СКД есть несколько запросов, упрощу для примера:
ВЫБРАТЬ
ПересчетТоваров.Дата КАК ДатаДокумента
ПОМЕСТИТЬ втНачальныйПересчёт
ИЗ
Документ.ПересчетТоваров КАК ПересчетТоваров
ГДЕ
ПересчетТоваров.Ссылка = &ПересчётНачальный
;
ВЫБРАТЬ
ПересчетТоваров.Дата КАК ДатаДокумента
ПОМЕСТИТЬ втКонечныйПересчёт
ИЗ
Документ.ПересчетТоваров КАК ПересчетТоваров
ГДЕ
ПересчетТоваров.Ссылка = &ПересчётКонечный
Далее нужно выбрать остатки на складах:
ВЫБРАТЬ
СвободныеОстаткиИОбороты.ВНаличииНачальныйОстаток КАК НачальныйОстаток,
СвободныеОстаткиИОбороты.ВНаличииКонечныйОстаток КАК КонечныйОстаток,
ИЗ
РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(
&ДатаНачальногоПересчёта,
&ДатаКонечногоПересчёта,
Авто,,) КАК СвободныеОстаткиИОбороты
В качестве периода в этот регистр вместо &ДатаНачальногоПересчёта и &ДатаКонечногоПересчёта нужно передать поля ДатаДокумента из первых двух запросов.
Пробовали СОЕДИНЕНИЕ с втНачальныйПересчёт и втКонечныйПересчёт + конструкцию:
ГДЕ СвободныеОстаткиИОбороты.Период МЕЖДУ .........
, но, увы, в регистре СвободныеОстаткиИОбороты нет поля Период - в конструкторе запроса слева показывает, а выбирать не даёт, при попытке использовать сообщает об отсутствии поля.
Подскажите, пожалуйста, как быть?
|
|
1
DrWatson
26.06.19
✎
11:38
|
(0) Думаю, оптимальнее всего будет получить даты отдельным запросом вне СКД и поместить их в параметры перед выполнением.
|
|
2
catena
26.06.19
✎
12:07
|
(0)Если это единичные даты(т.е. не портянка дат, на которые нужно получить остатки), то можно через параметр связать.
С портянкой дат тоже можно, но нужно смотреть производительность.
|
|
3
yavasya
26.06.19
✎
12:43
|
РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(
&ДатаНачальногоПересчёта,
&ДатаКонечногоПересчёта,
Авто,,) КАК СвободныеОстаткиИОбороты параметры виртуальной таблицы и есть твое условие. Нафейхуа тебе нужно условие?
|
|
4
yavasya
26.06.19
✎
13:43
|
(0) ладно уж. прикомпановкерезультата &ДатаНачальногоПересчёта = Получитьпараметр(ПересчётНачальный ).Дата
|
|
5
catena
26.06.19
✎
13:44
|
(4)"В СКД есть несколько запросов, упрощу для примера:"
Все может быть далеко не так просто
|
|
6
yavasya
26.06.19
✎
13:44
|
(4) короче читаешь параметр при компановке результата , затем подсовываешь в другой
|
|
7
yavasya
26.06.19
✎
13:45
|
(5) совсем новичок, он имел ввиду нескольок временных таблиц
|
|
8
lenkavovka
28.06.19
✎
09:18
|
Спасибо всем за помощь!
В "ПриКомпоновкеРезультата" заработало.
|
|