Имя: Пароль:
1C
1С v8
Запросы
Ø (GROOVY 18.09.2013 16:38)
,
0 sovsemnovichek
 
18.09.13
16:21
Имею только базовое представление о запросах, только начал в этом разбираться и тут мне дали следующий запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
        *,
        ПУСТАЯТАБЛИЦА.(КлючСтроки, Номенклатура, ХарактеристикаНоменклатуры, СерияНоменклатуры, ЕдиницаИзмерения, Количество, Цена) КАК СоставНабора,
        0 КАК КлючСтроки
    ИЗ
    (
    ВЫБРАТЬ
        Док.Номенклатура.Комплект КАК Комплект,
        Док.Ссылка.Склад КАК Склад,
        Док.Номенклатура КАК Номенклатура,
        СУММА(ВЫБОР
            КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                    ТОГДА Док.Количество
                ИНАЧЕ -Док.Количество
            КОНЕЦ) КАК Количество,
        Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        Док.СерияНоменклатуры КАК СерияНоменклатуры,
        Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
        Док.Коэффициент КАК Коэффициент,
        Док.Цена КАК Цена,
        Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
        Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
        Док.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
        Док.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
        СУММА(ВЫБОР
                КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                    ТОГДА Док.Сумма
                ИНАЧЕ -Док.Сумма
            КОНЕЦ) КАК Сумма
    ИЗ
        Документ.ЧекККМ.Товары КАК Док
    ГДЕ
        Док.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
        И Док.Ссылка.КассаККМ = &КассаККМ
        И Док.Ссылка.Проведен
        И НЕ Док.Номенклатура.Комплект

    СГРУППИРОВАТЬ ПО
        Док.Ссылка.Склад,
        Док.Номенклатура,
        Док.ХарактеристикаНоменклатуры,
        Док.СерияНоменклатуры,
        Док.ЕдиницаИзмерения,
        Док.Коэффициент,
        Док.Цена,
        Док.ПроцентСкидкиНаценки,
        Док.ПроцентАвтоматическихСкидок,
        Док.УсловиеАвтоматическойСкидки,
        Док.ЗначениеУсловияАвтоматическойСкидки

    ИМЕЮЩИЕ
        СУММА(ВЫБОР
                КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                    ТОГДА Док.Количество
                ИНАЧЕ -Док.Количество
            КОНЕЦ) <> 0) КАК ТоварыБезКомплектов

    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
        Док.Номенклатура.Комплект,
        Док.Ссылка.Склад КАК Склад,
        Док.Номенклатура КАК Номенклатура,
        ВЫБОР
                КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                    ТОГДА Док.Количество
                ИНАЧЕ -Док.Количество
            КОНЕЦ КАК Количество,
        Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        Док.СерияНоменклатуры КАК СерияНоменклатуры,
        Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
        Док.Коэффициент КАК Коэффициент,
        Док.Цена КАК Цена,
        Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
        Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
        Док.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
        Док.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
        ВЫБОР
                КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                    ТОГДА Док.Сумма
                ИНАЧЕ -Док.Сумма
            КОНЕЦ КАК Сумма,
        Док.Ссылка.СоставНабора.(КлючСтроки, Номенклатура, ХарактеристикаНоменклатуры, СерияНоменклатуры, ЕдиницаИзмерения, Количество, Цена) КАК СоставНабора,
        Док.КлючСтроки
    ИЗ
        Документ.ЧекККМ.Товары КАК Док
    ГДЕ
        Док.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
        И Док.Ссылка.КассаККМ = &КассаККМ
        И Док.Ссылка.Проведен
        И Док.Номенклатура.Комплект
        УПОРЯДОЧИТЬ ПО Склад



Можете мне помочь в понимании запросов? Мне не понятно почему сначала идет вложенный запрос, где выбираются данные из документа, а потом еще один запрос пакета, где выбираются данные из этого же документа...

Я пока не понимаю сути, но раз так сделано, значит она есть) Помогите мне понять, пожалуйста, что тут происходит)
1 sovsemnovichek
 
18.09.13
16:36
ЭЭЭ... спасибо
2 GROOVY
 
18.09.13
16:38
Тема сообщения, да и само сообщение, долна отражать суть вопроса.
Ошибка? Это не ошибка, это системная функция.