Имя: Пароль:
1C
1С v8
Запрос в запросе СКД
0 Маленький Вопросик
 
03.02.19
14:47
Подскажите как получая параметр в выборке СКД получить последний документ прихода этой номенклатуры

т.е. выполнить дополнительный запрос в общем запросе СКД?
1 Маленький Вопросик
 
03.02.19
15:14
точнее объединить 2 пакетных запроса:

По полученным данным первого запроса получить дополнительные поля через второй запрос:

ВЫБРАТЬ
    ПеремещениеТоваровТовары.Ссылка КАК Перемещение,
    ПеремещениеТоваровТовары.Ссылка.Дата КАК Дата,
    ПеремещениеТоваровТовары.Ссылка.СкладПолучатель КАК СкладПолучатель,
    ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура,
    СУММА(ПеремещениеТоваровТовары.Количество) КАК Количество,
    ПеремещениеТоваровТовары.ЦенаВРознице КАК ЦенаВРознице
ИЗ
    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
ГДЕ
    ПеремещениеТоваровТовары.Ссылка.Проведен = ИСТИНА
    И ПеремещениеТоваровТовары.Ссылка.Организация = &Организация
    И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата2, ДЕНЬ)
    И ПеремещениеТоваровТовары.Ссылка.СкладОтправитель = &СкладОтправитель

СГРУППИРОВАТЬ ПО
    ПеремещениеТоваровТовары.Ссылка,
    ПеремещениеТоваровТовары.Ссылка.Дата,
    ПеремещениеТоваровТовары.Ссылка.СкладПолучатель,
    ПеремещениеТоваровТовары.Номенклатура,
    ПеремещениеТоваровТовары.ЦенаВРознице

УПОРЯДОЧИТЬ ПО
    Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
    ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка,
    ПоступлениеТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
    ПоступлениеТоваровУслугТовары.Номенклатура = &Номенклатура
    И ПоступлениеТоваровУслугТовары.Ссылка.Дата <= &ДатаДок
    И ПоступлениеТоваровУслугТовары.Ссылка.Организация = &Организация

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслугТовары.Ссылка.Дата УБЫВ
2 toypaul
 
гуру
04.02.19
09:17
Правильно заданный вопрос - 99% успеха.

Я прочитал раз 5 вопрос, так и не понял суть. Может начнем тогда со смысла задачи? Раз проблему доходчиво не получается объяснить.
3 Alex S D
 
04.02.19
09:31
Я так понял, надо создать ВТ с приходами по номенклатуре, группировка = макс по номенклатуре и зацепить ее к первой таблице
4 Alex S D
 
04.02.19
09:34
ВЫБРАТЬ
    МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка) КАК Ссылка,
    ПоступлениеТоваровУслугТовары.Номенклатура
ПОМЕСТИТЬ Приходы
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
    ПоступлениеТоваровУслугТовары.Ссылка.Дата <= &ДатаДок
    И ПоступлениеТоваровУслугТовары.Ссылка.Организация = &Организация

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПеремещениеТоваровТовары.Ссылка КАК Перемещение,
    ПеремещениеТоваровТовары.Ссылка.Дата КАК Дата,
    ПеремещениеТоваровТовары.Ссылка.СкладПолучатель КАК СкладПолучатель,
    ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура,
    СУММА(ПеремещениеТоваровТовары.Количество) КАК Количество,
    Приходы.Ссылка
ИЗ
    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Приходы КАК Приходы
        ПО ПеремещениеТоваровТовары.Номенклатура = Приходы.Номенклатура
ГДЕ
    ПеремещениеТоваровТовары.Ссылка.Проведен = ИСТИНА
    И ПеремещениеТоваровТовары.Ссылка.Организация = &Организация
    И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата2, ДЕНЬ)
    И ПеремещениеТоваровТовары.Ссылка.СкладОтправитель = &СкладОтправитель

СГРУППИРОВАТЬ ПО
    ПеремещениеТоваровТовары.Ссылка,
    ПеремещениеТоваровТовары.Ссылка.Дата,
    ПеремещениеТоваровТовары.Ссылка.СкладПолучатель,
    ПеремещениеТоваровТовары.Номенклатура,
    Приходы.Ссылка

УПОРЯДОЧИТЬ ПО
    Номенклатура