| 
    0
    
        ArPlus    
       
    
    17.05.12 
            ✎
    23:52 
 | 
         
        Например в типовой УТ надо найти актуальную цену (указанного вида) на дату документа на каждую номенклатуру?
  Колонки:
  Ссылка документа
  Номенклатура
  Цена на данную дату
  
  Я что то такое делал, сейчас что то мозги закисли. Не могу сообразить.     
         | 
 | 
    
    
        | 
    2
    
        ArPlus    
       
    
    18.05.12 
            ✎
    07:19 
 | 
         
        ВЫБРАТЬ
      ЦеныНоменклатуры.Номенклатура,
      ЦеныНоменклатуры.Период КАК ПериодНач,
      ЦеныНоменклатуры.Цена * ЕСТЬNULL(ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент, 1) КАК Цена,
      МИНИМУМ(ЕСТЬNULL(ЦеныНоменклатуры1.Период, &ДатаКон)) КАК ПериодКон,
      ЦеныНоменклатуры.Характеристика
  ИЗ
      РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
          ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры1
          ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры1.Номенклатура
              И ЦеныНоменклатуры.Период < ЦеныНоменклатуры1.Период
              И ЦеныНоменклатуры.Характеристика = ЦеныНоменклатуры1.Характеристика
  ГДЕ
      ЦеныНоменклатуры.Период МЕЖДУ &ДатаНач И &ДатаКон
      И ЦеныНоменклатуры.ВидЦен = &ВидЦен
      И ЦеныНоменклатуры1.ВидЦен = &ВидЦен
  
  СГРУППИРОВАТЬ ПО
      ЦеныНоменклатуры.Номенклатура,
      ЦеныНоменклатуры.Период,
      ЦеныНоменклатуры.Характеристика,
      ЦеныНоменклатуры.Цена * ЕСТЬNULL(ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент, 1)
  
  ОБЪЕДИНИТЬ
  
  ВЫБРАТЬ
      ЦеныНоменклатурыСрезПоследних.Номенклатура,
      ЦеныНоменклатурыСрезПоследних.Период,
      ЦеныНоменклатурыСрезПоследних.Цена * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения.Коэффициент, 1),
      ЕСТЬNULL(ЦеныНоменклатурыСрезПервых.Период, &ДатаКон),
      ЦеныНоменклатурыСрезПоследних.Характеристика
  ИЗ
      РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаНач, ВидЦен = &ВидЦен) КАК ЦеныНоменклатурыСрезПоследних
          ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПервых(&ДатаНач, ВидЦен = &ВидЦен) КАК ЦеныНоменклатурыСрезПервых
          ПО ЦеныНоменклатурыСрезПоследних.Период <> ЦеныНоменклатурыСрезПервых.Период
              И ЦеныНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПервых.Номенклатура
              И ЦеныНоменклатурыСрезПоследних.Характеристика = ЦеныНоменклатурыСрезПервых.Характеристика     
         | 
 |