Имя: Пароль:
1C
 
запрос УТ 11
0 nvhost
 
11.09.15
15:50
ВЫБРАТЬ
    СпрНоменклатура.Ссылка КАК Ссылка,
    СпрНоменклатура.Код КАК Код,
    СпрНоменклатура.Наименование КАК Наименование,
    СпрНоменклатура.Артикул КАК Артикул,
    СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
    СпрНоменклатура.Родитель КАК Родитель,
    ВЫБОР
        КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества
            ТОГДА 4 + ВЫБОР
                    КОГДА СпрНоменклатура.ПометкаУдаления
                        ТОГДА 1
                    ИНАЧЕ 0
                КОНЕЦ + ВЫБОР
                    КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
                        ТОГДА 0
                    ИНАЧЕ 2
                КОНЕЦ
        ИНАЧЕ ВЫБОР
                КОГДА СпрНоменклатура.ПометкаУдаления
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ + ВЫБОР
                КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
                    ТОГДА 0
                ИНАЧЕ 2
            КОНЕЦ
    КОНЕЦ КАК ИндексКартинки,
    ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК Остаток,
    ВЫБОР
        КОГДА ТоварыНаСкладахОстатки.Характеристика <> ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
            ТОГДА ТоварыНаСкладахОстатки.Характеристика
        ИНАЧЕ ""
    КОНЕЦ КАК Характеристика,
    ВЫБОР
        КОГДА ШтрихкодыНоменклатуры.Штрихкод <> NULL
            ТОГДА ШтрихкодыНоменклатуры.Штрихкод
        ИНАЧЕ ""
    КОНЕЦ КАК Штрихкод,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена
ИЗ
    Справочник.Номенклатура КАК СпрНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
            ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
                ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены.Наименование = "Розничный тип цен") КАК ЦеныНоменклатурыСрезПоследних
                ПО (ШтрихкодыНоменклатуры.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика)
            ПО (ТоварыНаСкладахОстатки.Характеристика = ШтрихкодыНоменклатуры.Характеристика)
        ПО (ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка)
ГДЕ
    НЕ СпрНоменклатура.ЭтоГруппа
    И СпрНоменклатура.Ссылка = &Ссылка
{ГДЕ
    (СпрНоменклатура.Ссылка В
            (ВЫБРАТЬ
                Сегменты.Номенклатура
            ИЗ
                РегистрСведений.НоменклатураСегмента КАК Сегменты
            ГДЕ
                Сегменты.Сегмент = &СегментНоменклатуры)) КАК Поле2}


Ребят помогите запрос выводит наименование характеристику цену штрихкод кол-во, если есть на остатках то выводит все, если нет то выводит только наименование, надо даже если нет на остатках выводить штрихкод, характеристику
1 Enterprise
 
11.09.15
15:57
(0) У тебя Характеристика из регистра "ТоварыНаСкладахОстатки" берется. Надо взять из справочника характеристик
2 Nuobu
 
11.09.15
15:57
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
            ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры

Ты соединяешь штрихкоды и серии с остатками.
Соединяй с номенклатурой.
3 nvhost
 
11.09.15
16:24
Справочник.Номенклатура КАК СпрНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПО (ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        ПО (ТоварыНаСкладахОстатки.Характеристика = ШтрихкодыНоменклатуры.Характеристика)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены.Наименование = "Розничный тип цен") КАК ЦеныНоменклатурыСрезПоследних
        ПО (ШтрихкодыНоменклатуры.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика)
4 nvhost
 
11.09.15
16:25
не выходит
5 mehfk
 
11.09.15
16:41
Вот заготовка
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК ХарактеристикаНоменклатуры
ПОМЕСТИТЬ ВТ_НоменклатураХарактеристикаНоменклатуры
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
        ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
            ИЛИ Номенклатура.ВидНоменклатуры = ХарактеристикиНоменклатуры.Владелец
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_НоменклатураХарактеристикаНоменклатуры.Номенклатура,
    ВТ_НоменклатураХарактеристикаНоменклатуры.ХарактеристикаНоменклатуры,
    ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК Остаток,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена
ИЗ
    ВТ_НоменклатураХарактеристикаНоменклатуры КАК ВТ_НоменклатураХарактеристикаНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
        ПО ВТ_НоменклатураХарактеристикаНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
            И ВТ_НоменклатураХарактеристикаНоменклатуры.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПО ВТ_НоменклатураХарактеристикаНоменклатуры.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
            И ВТ_НоменклатураХарактеристикаНоменклатуры.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстатки.Характеристика
6 mehfk
 
11.09.15
16:44
Штрихкоды забыл, только разрули с упаковками сам
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК ХарактеристикаНоменклатуры
ПОМЕСТИТЬ ВТ_НоменклатураХарактеристикаНоменклатуры
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
        ПО (Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
                ИЛИ Номенклатура.ВидНоменклатуры = ХарактеристикиНоменклатуры.Владелец)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_НоменклатураХарактеристикаНоменклатуры.Номенклатура,
    ВТ_НоменклатураХарактеристикаНоменклатуры.ХарактеристикаНоменклатуры,
    ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК Остаток,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
    ШтрихкодыНоменклатуры.Штрихкод
ИЗ
    ВТ_НоменклатураХарактеристикаНоменклатуры КАК ВТ_НоменклатураХарактеристикаНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
        ПО ВТ_НоменклатураХарактеристикаНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
            И ВТ_НоменклатураХарактеристикаНоменклатуры.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПО ВТ_НоменклатураХарактеристикаНоменклатуры.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
            И ВТ_НоменклатураХарактеристикаНоменклатуры.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстатки.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        ПО ВТ_НоменклатураХарактеристикаНоменклатуры.ХарактеристикаНоменклатуры = ШтрихкодыНоменклатуры.Характеристика
            И ВТ_НоменклатураХарактеристикаНоменклатуры.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
7 nvhost
 
11.09.15
18:41
круто!!))Пасибо!!!только про упаковки не понял
8 nvhost
 
12.09.15
09:04
Блин в режиме 1С пишет что поле Родитель не найдено
9 nvhost
 
12.09.15
09:46
Еще не понятно в 8.3 куда параметр вставлять вид цены.....?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой