Имя: Пароль:
1C
1С v8
Подскажите что не так в моем запросе, не могу получить последнее значение с рег.
0 iceborn
 
08.07.13
14:01
В запросе мне надо получить значение с РС для каждой номенклатуры, в регистре на каждый месяц создается это значение, т.е по каждому товару в этом регистре несколько значений, мне надо получить самое последнее значение одно. Раньше использовал запрос без "ПЕРВЫЕ 1" тогда с регистра тянулось все подряд и я решил добавить "ПЕРВЫЕ 1" и упорядочил по периоду, теперь у меня вообще ничего не выбирается :(
Что не так в моем запросе? Как получить последнее значение?
"ВЫБРАТЬ ПЕРВЫЕ 1
              |    ФокусГруппаНоменклатурыСрезПоследних.ФокусГруппа,
              |    ФокусГруппаНоменклатурыСрезПоследних.Номенклатура,
              |    МАКСИМУМ(ФокусГруппаНоменклатурыСрезПоследних.Период) КАК Период
              |ПОМЕСТИТЬ ФокусГруппаНоменклатуры
              |ИЗ
              |    РегистрСведений.ФокусГруппаНоменклатуры.СрезПоследних(&Дата, ) КАК ФокусГруппаНоменклатурыСрезПоследних
              |
              |СГРУППИРОВАТЬ ПО
              |    ФокусГруппаНоменклатурыСрезПоследних.ФокусГруппа,
              |    ФокусГруппаНоменклатурыСрезПоследних.Номенклатура
              |
              |УПОРЯДОЧИТЬ ПО
              |    Период УБЫВ
              |;
              |
              |////////////////////////////////////////////////////////////////////////////////
              |ВЫБРАТЬ
              |    РеализацияТоваровУслугТовары.Ссылка.Подразделение,
              |    РеализацияТоваровУслугТовары.Ссылка.Агент,
              |    РеализацияТоваровУслугТовары.Номенклатура.ГруппаПланов КАК ГруппаПланов,
              |    РеализацияТоваровУслугТовары.Ссылка.ТорговаяТочка КАК Контрагент,
              |    РеализацияТоваровУслугТовары.Сумма КАК СуммаПродаж,
              |    РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Вес КАК КоличествоКг,
              |    0 КАК СуммаСписаний,
              |    0 КАК СписаноКг,
              |    РеализацияТоваровУслугТовары.Ссылка.Дата,
              |    РеализацияТоваровУслугТовары.Ссылка КАК Документ,
              |    РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК ГоловнойКонтрагент,
              |    ФокусГруппаНоменклатуры.ФокусГруппа.Ссылка КАК ФокусГруппа
              |ИЗ
              |    ФокусГруппаНоменклатуры КАК ФокусГруппаНоменклатуры
              |        ПОЛНОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
              |        ПО ФокусГруппаНоменклатуры.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура
              |ГДЕ
              |    РеализацияТоваровУслугТовары.Ссылка.ПометкаУдаления = ЛОЖЬ
              |    И РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
              |    И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаС И &ДатаПо
              |    И РеализацияТоваровУслугТовары.Номенклатура.Родитель <> &ГруппаПросрочки
              |
              |ОБЪЕДИНИТЬ ВСЕ
              |
              |ВЫБРАТЬ
              |    СписаниеТоваровТовары.Ссылка.Подразделение,
              |    СписаниеТоваровТовары.Ссылка.Агент,
              |    СписаниеТоваровТовары.Номенклатура.ГруппаПланов,
              |    СписаниеТоваровТовары.Ссылка.Контрагент,
              |    0,
              |    0,
              |    СписаниеТоваровТовары.Сумма,
              |    СписаниеТоваровТовары.Количество * СписаниеТоваровТовары.ЕдиницаИзмерения.Вес,
              |    NULL,
              |    СписаниеТоваровТовары.Ссылка,
              |    СписаниеТоваровТовары.Ссылка.Контрагент,
              |    ФокусГруппаНоменклатуры.ФокусГруппа.Ссылка
              |ИЗ
              |    ФокусГруппаНоменклатуры КАК ФокусГруппаНоменклатуры
              |        ПОЛНОЕ СОЕДИНЕНИЕ Документ.СписаниеТоваров.Товары КАК СписаниеТоваровТовары
              |        ПО ФокусГруппаНоменклатуры.Номенклатура = СписаниеТоваровТовары.Номенклатура
              |ГДЕ
              |    СписаниеТоваровТовары.Ссылка.ПометкаУдаления = ЛОЖЬ
              |    И СписаниеТоваровТовары.Ссылка.Проведен = ИСТИНА
              |    И СписаниеТоваровТовары.Ссылка.Дата МЕЖДУ &ДатаС И &ДатаПо
              |    И СписаниеТоваровТовары.Ссылка.ВидСписаний В(&ВидСписаний)
              |    И СписаниеТоваровТовары.Номенклатура.Родитель <> &ГруппаПросрочки
              |
              |ОБЪЕДИНИТЬ ВСЕ
              |
              |ВЫБРАТЬ
              |    ВозвратТоваровОтПокупателяТовары.Ссылка.Подразделение,
              |    ВозвратТоваровОтПокупателяТовары.Ссылка.Агент,
              |    ВозвратТоваровОтПокупателяТовары.Номенклатура.ГруппаПланов,
              |    ВозвратТоваровОтПокупателяТовары.Ссылка.ТорговаяТочка,
              |    ВозвратТоваровОтПокупателяТовары.Сумма * -1,
              |    0,
              |    0,
              |    0,
              |    NULL,
              |    ВозвратТоваровОтПокупателяТовары.Ссылка,
              |    ВозвратТоваровОтПокупателяТовары.Ссылка.Контрагент,
              |    ФокусГруппаНоменклатуры.ФокусГруппа.Ссылка
              |ИЗ
              |    ФокусГруппаНоменклатуры КАК ФокусГруппаНоменклатуры
              |        ПОЛНОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
              |        ПО ФокусГруппаНоменклатуры.Номенклатура = ВозвратТоваровОтПокупателяТовары.Номенклатура
              |ГДЕ
              |    ВозвратТоваровОтПокупателяТовары.Ссылка.ПометкаУдаления = ЛОЖЬ
              |    И ВозвратТоваровОтПокупателяТовары.Ссылка.Проведен = ИСТИНА
              |    И ВозвратТоваровОтПокупателяТовары.Ссылка.Дата МЕЖДУ &ДатаС И &ДатаПо
              |    И ВозвратТоваровОтПокупателяТовары.Номенклатура.Родитель <> &ГруппаПросрочки"
1 DEVIce
 
08.07.13
14:03
Все потому что ПЕРВЫЕ 1 выдаст одну единственную запись.
2 DEVIce
 
08.07.13
14:05
В простейшем варианте (но не сильно быстром), надо к ТЧ документов делать левое соединение среза последних.
3 DEVIce
 
08.07.13
14:07
Что типа:
ВЫБРРАТЬ
Травали
ИЗ
РеализацияТоваровУслуг.Товары КАК РеализацияТовары
ЛЕВОЕ СОЕДИНЕНИЕ РС.ФокусПокус.СрезПоследних(&НашаДата, ) КАК ФокусПокус ПО
 ФркусПокус.Номенклатура = РеализацияТовары.Номенклатура
4 DEVIce
 
08.07.13
14:08
Медленно, но надежно. :)
5 Iv-less
 
08.07.13
14:12
Плюс на счет соединения. Меняй все на левое соединение и пробуй - должно получится