|
СКД можно ли использовать в качестве параметра данные из набора данных? |
☑ |
0
Юзер123
naïve
23.07.20
✎
21:33
|
Доброго времени.
Есть задача в ЕRP получить данные подчиненных документов для всех документов из выборки.
В качестве документов основания будет документ ЭтапПроизводства.
1 Запрос он же набор
ВЫБРАТЬ
ЭтапПроизводства2_2.Ссылка КАК Документы
ИЗ
Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
ГДЕ
ЭтапПроизводства2_2.Проведен = ИСТИНА
И ЭтапПроизводства2_2.Дата МЕЖДУ &НачПериода И &КонПериода
Второй запрос - собственно для получения данных подчиненных документов =
ВЫБРАТЬ
СвязанныеДокументы.Ссылка КАК Ссылка
ИЗ
КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СвязанныеДокументы
&ЗначениеКритерияОтбора - параметр в который должен попадать документы основания из первого запроса. Подскажите как это реализовать?
|
|
1
Юзер123
naïve
23.07.20
✎
21:38
|
бля.. Через документ основание проще))) Сори
|
|
2
Юзер123
naïve
23.07.20
✎
21:39
|
Но хотя.. Через основание надо буде всевозможное варианты документов основания перебирать . . .
|
|
3
Юзер123
naïve
23.07.20
✎
21:39
|
Так что если будет решение через сабж - буду признателен
|
|
4
ReaLg
23.07.20
✎
22:09
|
Именно поэтому фирма 1С крайне не рекомендует использовать вложенные запросы, а вместо них разработала временные таблицы. С использованием временных таблиц наш предыдущий запрос будет выглядеть так:
// Временная таблица
ВЫБРАТЬ
Заказчики.Ссылка КАК Заказчики
ПОМЕСТИТЬ табЗаказчики
ИЗ
Справочник.Заказчики КАК Заказчики
ГДЕ Заказчики.Ссылка В (&Заказчики)
;
// Основной запрос
ВЫБРАТЬ
табКлиенты.Ссылка,
НераспОплатыОстатки.СуммаОст,
ИЗ
табЗаказчики КАК табЗаказчики
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НераспОплаты.Остатки(
,
Заказчик В
(ВЫБРАТЬ
табЗаказчики.Заказчики
ИЗ
табЗаказчики)) КАК НераспОплатыОстатки
ПО табЗаказчики.Заказчики = НераспОплатыОстатки.Заказчики
|
|
5
ReaLg
23.07.20
✎
22:10
|
(4) Короче суть - подзапросом, но через временные таблицы для скорости.
|
|
6
Юзер123
naïve
23.07.20
✎
22:54
|
ГДЕ Заказчики.Ссылка В (&Заказчики) А ГДЕ Вы задаете этот параметртР?
|
|
7
ReaLg
24.07.20
✎
07:28
|
(6) Первый запрос поместить в ВТ (пишу без отладчика, синтаксис примерный):
ВЫБРАТЬ
ЭтапПроизводства2_2.Ссылка КАК Документы ПОМЕСТИТЬ МояВременнаяТаблица
ИЗ
Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
ГДЕ
ЭтапПроизводства2_2.Проведен = ИСТИНА
И ЭтапПроизводства2_2.Дата МЕЖДУ &НачПериода И &КонПериода
////////////////
Во втором запросе условие что-то там В(ВЫБРАТЬ МояВременнаяТаблица.Ссылка ИЗ МояВременнаяТаблица)
|
|
8
ReaLg
24.07.20
✎
07:33
|
+(7) Надо пробовать, возможно, подойдет просто КритерийОтбора.СвязанныеДокументы(ВЫБРАТЬ МояВременнаяТаблица.Ссылка ИЗ МояВременнаяТаблица)
Если вот тут КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) может быть список, а не единичное значение, то должно подойти.
|
|