Имя: Пароль:
1C
 
Получить запросом ЦеныНоменклатурыСрезпоследних
0 tabarigen
 
19.08.15
10:09
Пытаюсь запросом вывести строки ТЧ Товары из документа ПоступлениеТоваровУслуг и Цены розничные.

Пробую так, но цена задваивается.

ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Характеристика,
    ПоступлениеТоваровУслугТовары.Упаковка,
    ЛОЖЬ КАК Весовой,
    1 КАК ЦенаДополнительно
ПОМЕСТИТЬ ПоступлениеТоваров
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
    ПоступлениеТоваровУслугТовары.Ссылка = &Номер

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПоступлениеТоваров.НомерСтроки КАК НомерСтроки,
    ПоступлениеТоваров.Номенклатура,
    ПоступлениеТоваров.Характеристика,
    ПоступлениеТоваров.Весовой,
    ПоступлениеТоваров.ЦенаДополнительно,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    ПоступлениеТоваров КАК ПоступлениеТоваров
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ВидЦены = &Ценна) КАК ЦеныНоменклатурыСрезПоследних
        ПО ПоступлениеТоваров.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка

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

УПОРЯДОЧИТЬ ПО
    НомерСтроки
1 Nuobu
 
19.08.15
10:10
(0) Группировка по номеру строки.
2 Господин ПЖ
 
19.08.15
10:11
СГРУППИРОВАТЬ ПО
ПоступлениеТоваровУслугТовары.НомерСтроки,
3 lxndr
 
19.08.15
10:14
може добавить связь по характеристике?
4 Nuobu
 
19.08.15
10:15
(3) Каркасная.
5 ibreiter
 
19.08.15
10:20
(0) Однозначно связь по характеристике нужна
6 tabarigen
 
19.08.15
10:24
(2) В первом пакете запроса группировку вообще убрал, во втором оставил Группировку только по номеру строки, но конструктор запроса сам дополняет группировки по другим полям. Если ручками оставить только по номеру выдается ошибка

Поле не входит в группу ПоступлениеТоваров.Номенклатура
7 tabarigen
 
19.08.15
10:24
(5) Связь по характеристике между чем  и чем?? Не совсем понимаю? Речь идет о характеристике номенклатуры??
8 dangerouscoder
 
19.08.15
10:28
(0) Есть обработка консоль запросов. позволяет просматривать визуально запросы  -обычно снимает 90% вопросов "почему так"
9 ibreiter
 
19.08.15
10:30
(7) Между ТЧ и регистром сведений
10 tabarigen
 
19.08.15
11:28
(9) РС ЦеныНоменклаты.Срезпоследних не имеет характеристики.
11 tabarigen
 
19.08.15
11:28
(8) ею собственно и пользуюсь.  Просто скил слабый оч в 1с, вот и зависаю на таких мелочах.
12 ibreiter
 
19.08.15
12:05
Зайдите в регистр, сделайте отбор по этой номенклатуре, посмотрите что там вообще хранится. Возможно понятнее станет, где ошибка.
И еще, упаковка никак не влияет на результаты?
13 ibreiter
 
19.08.15
12:09
Ну и группировку уберите из запроса, она там не нужна
14 tabarigen
 
19.08.15
12:53
Кому интересно сделал так, единственное что смущает, будет ли функция МАКСИМУМ() брать последний штрихкод или будет брать тот что численно больше.

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Цена,
    ЦеныНоменклатурыСрезПоследних.УТР_Серия,
    ЦеныНоменклатурыСрезПоследних.Характеристика
ПОМЕСТИТЬ Цены
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ШтрихкодыНоменклатуры.Номенклатура,
    МАКСИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод,
    ШтрихкодыНоменклатуры.Характеристика,
    ШтрихкодыНоменклатуры.УТР_Серия
ПОМЕСТИТЬ Штрихкоды
ИЗ
    РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры

СГРУППИРОВАТЬ ПО
    ШтрихкодыНоменклатуры.Номенклатура,
    ШтрихкодыНоменклатуры.Характеристика,
    ШтрихкодыНоменклатуры.УТР_Серия
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Товары.НомерСтроки КАК НомерСтроки,
    Товары.Номенклатура,
    Товары.Характеристика,
    Товары.Упаковка,
    Штрихкоды.Штрихкод,
    ЛОЖЬ КАК Весовой,
    Цены.Цена,
    1 КАК ЦенаДополнительно
ИЗ
    Товары КАК Товары
        ЛЕВОЕ СОЕДИНЕНИЕ Цены КАК Цены
        ПО Товары.Номенклатура.Ссылка = Цены.Номенклатура
            И Товары.Характеристика = Цены.Характеристика
            И Товары.Серия = Цены.УТР_Серия
        ЛЕВОЕ СОЕДИНЕНИЕ Штрихкоды КАК Штрихкоды
        ПО Товары.Номенклатура = Штрихкоды.Номенклатура
            И Товары.Характеристика = Штрихкоды.Характеристика

УПОРЯДОЧИТЬ ПО
    НомерСтроки
15 ibreiter
 
19.08.15
14:07
Штрихкод будет браться максимальный по значению, ну и единственное, чего не хватает - это isnull для полей из правых таблиц
Основная теорема систематики: Новые системы плодят новые проблемы.