Имя: Пароль:
1C
 
проблема при пустом отборе.
,
0 MMAyvazov
 
06.06.19
12:16
помогите разобраться, поля склад и номенклатура в данном случае являются обязательными в формировании отчета, а мне нужно чтобы если поле номенклатура не заполнена выводились все значения по парметру склад и наоборот. как это сделать?


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

СГРУППИРОВАТЬ ПО
    ЗапросПоДанным.Номенклатура,
    ЗапросПоДанным.Номенклатура.Код,
    ЗапросПоДанным.Номенклатура.Артикул

ИМЕЮЩИЕ
    (СУММА(ЗапросПоДанным.ТоварыОрганизаций) <> СУММА(ЗапросПоДанным.ТоварыНаСкладах)
        ИЛИ СУММА(ЗапросПоДанным.ТоварыВЯчейках) <> СУММА(ЗапросПоДанным.ТоварыНаСкладах)
        ИЛИ СУММА(ЗапросПоДанным.ТоварыОрганизаций) <> СУММА(ЗапросПоДанным.ТоварыВЯчейках))
1 breezee
 
06.06.19
12:20
Формируйте запрос в СКД
2 MMAyvazov
 
06.06.19
12:22
куда копать вообще, делаю всё в СКД
3 MMAyvazov
 
06.06.19
12:22
нужно же поставить поле для заполнения не обязательно, если я правильно понял. только вот где это место:?
4 Tester
 
06.06.19
13:30
(0) АналитикаУчетаНоменклатуры.Номенклатура В Иерархии (&Номенклатура)
5 los_hooliganos
 
06.06.19
13:34
Делай отбор для на закладке "Настройки". Из параметров убери Номенклатура и Склад
6 los_hooliganos
 
06.06.19
13:35
В конструкторе запроса СКД, есть закладка "Компоновка данных", можно на ней настроить нужные "условия", которые могут быть но необяательны
7 MMAyvazov
 
06.06.19
13:58
ни один из вариантов не работает, пробую во вкладке компановка данных настроить, ничего не понятно тут тоже.
8 MMAyvazov
 
06.06.19
18:20
СДЕЛАЛ


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

СГРУППИРОВАТЬ ПО
    ЗапросПоДанным.Номенклатура,
    ЗапросПоДанным.Номенклатура.Код,
    ЗапросПоДанным.Номенклатура.Артикул

ИМЕЮЩИЕ
    (СУММА(ЗапросПоДанным.ТоварыОрганизаций) <> СУММА(ЗапросПоДанным.ТоварыНаСкладах)
        ИЛИ СУММА(ЗапросПоДанным.ТоварыВЯчейках) <> СУММА(ЗапросПоДанным.ТоварыНаСкладах)
        ИЛИ СУММА(ЗапросПоДанным.ТоварыОрганизаций) <> СУММА(ЗапросПоДанным.ТоварыВЯчейках))
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой