7.7 Вложеный запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем opx, 15 янв 2009.

  1. TopicStarter Overlay
    opx
    Offline

    opx

    Регистрация:
    15 янв 2009
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Имеется следующий код:
    Код:
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ДатаКонца по ДатаКонца;
    |Фирма			= Регистр.ПартииНаличие.Фирма;
    |УпрАналитика	= Регистр.ПартииНаличие.Фирма.УпрАналитика;
    |ЮрЛицо 		= Регистр.ПартииНаличие.Фирма.ЮрЛицо;
    |СтатусПартии 	= Регистр.ПартииНаличие.СтатусПартии;
    |Номенклатура	= Регистр.ПартииНаличие.Номенклатура;
    |МОЛ			= Регистр.ПартииНаличие.МОЛ;
    |Партия			= Регистр.ПартииНаличие.Партия;
    |СвойствоПартии	= Регистр.ПартииНаличие.Партия.Свойство;
    |Поставщик		= Регистр.ПартииНаличие.Партия.Поставщик;
    |Док			= Регистр.ПартииНаличие.ТекущийДокумент;
    |КодОперации	= Регистр.ПартииНаличие.КодОперации;";
    
    Далее различные фильтры и группировки по разным полям (в т.ч. по номенклатуре), а потом в таблицу(отчет). Поля получаются следующие: Номенклатура, Кол-во, Сумма
    Вопрос вот в чем: Мне нужно добавить поле "Срок" - Время которое товар лежит на складе с условием, что оно лежит больше 30 дней. А также добавить поле "Просрочка" - количество товара, которое лежит на складе более 30 дней. Важно: Надо отображать общее количество и количество просрочки
    По логике напрашивается вложеный запрос. Что-то типа:
    Код:
    |Просрочка = ВЫБРАТЬ Количество
    |ГДЕ Регистр.ПартииНаличие.ДатаПартии > ТекущаяДата - 30
    |Срок= ВЫБРАТЬ ТекущаяДата-Регистр.ПартииНаличие.ДатаПартии 
    |ГДЕ Регистр.ПартииНаличие.ДатаПартии > ТекущаяДата - 30
    
    
    Далее различные фильтры и группировки
    Ссори за синтаксис. В 1С 7.7 совсем плохо разбираюсь
    Помогите, пожалуйста разобраться в этом непростом вопросе
  2. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    Для количества просрочки нужна функция типа такой:
    Код:
    |Функция КоличествоПросрочки = КонОст(Количество) когда (ДатаПартии > ТекущаяДата() - 30);
    
    
    
    только и Количество и дата партии должны быть объявлены

    А срок просрочки можно будет определить при переборе группировок запроса.

Поделиться этой страницей