Имя: Пароль:
1C
1С v8
СКД можно ли использовать в качестве параметра данные из набора данных?
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) Надо пробовать, возможно, подойдет просто КритерийОтбора.СвязанныеДокументы(ВЫБРАТЬ МояВременнаяТаблица.Ссылка ИЗ МояВременнаяТаблица)

Если вот тут КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) может быть список, а не единичное значение, то должно подойти.
Ошибка? Это не ошибка, это системная функция.