Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как в СКД указать регистру период выборки, если даты периода из другого запроса?

Как в СКД указать регистру период выборки, если даты периода из другого запроса?
Я
   lenkavovka
 
26.06.19 - 11:18
Всем привет!

В СКД есть несколько запросов, упрощу для примера:

ВЫБРАТЬ
    ПересчетТоваров.Дата КАК ДатаДокумента
ПОМЕСТИТЬ втНачальныйПересчёт
ИЗ
    Документ.ПересчетТоваров КАК ПересчетТоваров
ГДЕ
    ПересчетТоваров.Ссылка = &ПересчётНачальный
;
ВЫБРАТЬ
    ПересчетТоваров.Дата КАК ДатаДокумента
ПОМЕСТИТЬ втКонечныйПересчёт
ИЗ
    Документ.ПересчетТоваров КАК ПересчетТоваров
ГДЕ
    ПересчетТоваров.Ссылка = &ПересчётКонечный

Далее нужно выбрать остатки на складах:

ВЫБРАТЬ
    СвободныеОстаткиИОбороты.ВНаличииНачальныйОстаток КАК НачальныйОстаток,
    СвободныеОстаткиИОбороты.ВНаличииКонечныйОстаток КАК КонечныйОстаток,
ИЗ
    РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(
        &ДатаНачальногоПересчёта,
        &ДатаКонечногоПересчёта,
        Авто,,) КАК СвободныеОстаткиИОбороты

В качестве периода в этот регистр вместо &ДатаНачальногоПересчёта и &ДатаКонечногоПересчёта нужно передать поля ДатаДокумента из первых двух запросов.
Пробовали СОЕДИНЕНИЕ с втНачальныйПересчёт и втКонечныйПересчёт + конструкцию:

ГДЕ СвободныеОстаткиИОбороты.Период МЕЖДУ .........

, но, увы, в регистре СвободныеОстаткиИОбороты нет поля Период - в конструкторе запроса слева показывает, а выбирать не даёт, при попытке использовать сообщает об отсутствии поля.

Подскажите, пожалуйста, как быть?
 
 
   DrWatson
 
1 - 26.06.19 - 11:38
(0) Думаю, оптимальнее всего будет получить даты отдельным запросом вне СКД и поместить их в параметры перед выполнением.
   catena
 
2 - 26.06.19 - 12:07
(0)Если это единичные даты(т.е. не портянка дат, на которые нужно получить остатки), то можно через параметр связать.

https://its.1c.ru/db/metod8dev/content/4303/hdoc

С портянкой дат тоже можно, но нужно смотреть производительность.
   yavasya
 
3 - 26.06.19 - 12:43
РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(
        &ДатаНачальногоПересчёта,
        &ДатаКонечногоПересчёта, 
        Авто,,) КАК СвободныеОстаткиИОбороты  параметры виртуальной таблицы и есть твое условие. Нафейхуа тебе нужно условие?
   yavasya
 
4 - 26.06.19 - 13:43
(0) ладно уж. прикомпановкерезультата &ДатаНачальногоПересчёта = Получитьпараметр(ПересчётНачальный ).Дата
   catena
 
5 - 26.06.19 - 13:44
(4)"В СКД есть несколько запросов, упрощу для примера:"

Все может быть далеко не так просто
   yavasya
 
6 - 26.06.19 - 13:44
(4) короче читаешь параметр при компановке результата , затем подсовываешь в другой
   yavasya
 
7 - 26.06.19 - 13:45
(5) совсем новичок, он имел ввиду нескольок временных таблиц
   lenkavovka
 
8 - 28.06.19 - 09:18
Спасибо всем за помощь!
В "ПриКомпоновкеРезультата" заработало.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.