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

СКД можно ли использовать в качестве параметра данные из набора данных?

СКД можно ли использовать в качестве параметра данные из набора данных?
Я
   Юзер123
 
23.07.20 - 21:33
Доброго времени.

Есть задача в ЕRP  получить данные  подчиненных документов для  всех документов из выборки.

В качестве документов основания будет документ ЭтапПроизводства.

1 Запрос он же набор

ВЫБРАТЬ
    ЭтапПроизводства2_2.Ссылка КАК Документы
    ИЗ
    Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
ГДЕ
    ЭтапПроизводства2_2.Проведен = ИСТИНА
    И ЭтапПроизводства2_2.Дата МЕЖДУ &НачПериода И &КонПериода




Второй запрос - собственно для получения данных подчиненных документов =

ВЫБРАТЬ
    СвязанныеДокументы.Ссылка КАК Ссылка
ИЗ
    КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СвязанныеДокументы


&ЗначениеКритерияОтбора - параметр в который должен попадать документы основания из первого запроса.   Подскажите как это реализовать?
   Юзер123
 
1 - 23.07.20 - 21:38
бля.. Через документ основание проще))) Сори
   Юзер123
 
2 - 23.07.20 - 21:39
Но хотя.. Через основание надо буде всевозможное варианты документов основания перебирать . . .
   Юзер123
 
3 - 23.07.20 - 21:39
Так что если будет решение через сабж - буду признателен
   ReaLg
 
4 - 23.07.20 - 22:09
Именно поэтому фирма 1С крайне не рекомендует использовать вложенные запросы, а вместо них разработала временные таблицы. С использованием временных таблиц наш предыдущий запрос будет выглядеть так:

// Временная таблица
ВЫБРАТЬ
Заказчики.Ссылка КАК Заказчики
ПОМЕСТИТЬ табЗаказчики
ИЗ
Справочник.Заказчики КАК Заказчики
ГДЕ Заказчики.Ссылка В (&Заказчики)
;

// Основной запрос

ВЫБРАТЬ
табКлиенты.Ссылка,
НераспОплатыОстатки.СуммаОст,
ИЗ
табЗаказчики КАК табЗаказчики
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НераспОплаты.Остатки(
,
Заказчик В
(ВЫБРАТЬ
табЗаказчики.Заказчики
ИЗ
табЗаказчики)) КАК НераспОплатыОстатки
ПО табЗаказчики.Заказчики = НераспОплатыОстатки.Заказчики
   ReaLg
 
5 - 23.07.20 - 22:10
(4) Короче суть - подзапросом, но через временные таблицы для скорости.
   Юзер123
 
6 - 23.07.20 - 22:54
ГДЕ Заказчики.Ссылка В (&Заказчики)    А ГДЕ Вы задаете этот параметртР?
   ReaLg
 
7 - 24.07.20 - 07:28
(6) Первый запрос поместить в ВТ (пишу без отладчика, синтаксис примерный):

ВЫБРАТЬ
    ЭтапПроизводства2_2.Ссылка КАК Документы ПОМЕСТИТЬ МояВременнаяТаблица
    ИЗ
    Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
ГДЕ
    ЭтапПроизводства2_2.Проведен = ИСТИНА
    И ЭтапПроизводства2_2.Дата МЕЖДУ &НачПериода И &КонПериода

////////////////


Во втором запросе условие что-то там В(ВЫБРАТЬ МояВременнаяТаблица.Ссылка ИЗ МояВременнаяТаблица)
   ReaLg
 
8 - 24.07.20 - 07:33
+(7) Надо пробовать, возможно, подойдет просто КритерийОтбора.СвязанныеДокументы(ВЫБРАТЬ МояВременнаяТаблица.Ссылка ИЗ МояВременнаяТаблица)

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

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