Имя: Пароль:
1C
 
Проверка достаточности кол-ва при реализации с учетом Партий
0 pro3ri
 
12.05.15
07:31
Доброго дня!

Код:
Запрос.Текст =
            "ВЫБРАТЬ
            |    ОстаткиТоваровЭталонОстатки.Номенклатура,
            |    ОстаткиТоваровЭталонОстатки.КоличествоОстаток КАК КоличествоОстаток,
            |    ОстаткиТоваровЭталонОстатки.Качество,
            |    Товары.НомерСтроки
            |ИЗ
            |    РегистрНакопления.ОстаткиТоваровЭталон.Остатки(
            |            &Момент,
            |            (Номенклатура, Качество) В
            |                (ВЫБРАТЬ РАЗЛИЧНЫЕ
            |                    ЕСТЬNULL(НаборТоваров.Комплектующая, РеализацияТоваровТовары.Номенклатура) КАК Номенклатура,
            |                    РеализацияТоваровТовары.Качество
            |                ИЗ
            |                    Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
            |                        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаборТоваров КАК НаборТоваров
            |                        ПО
            |                            РеализацияТоваровТовары.Номенклатура = НаборТоваров.Комплектующая
            |                                И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры = &ВидНабор
            |                ГДЕ
            |                    РеализацияТоваровТовары.Ссылка = &Ссылка
            |                    И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры <> &ВидУслуга)) КАК ОстаткиТоваровЭталонОстатки
            |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |            ЕСТЬNULL(НаборТоваров.Комплектующая, РеализацияТоваровТовары.Номенклатура) КАК Номенклатура,
            |            РеализацияТоваровТовары.Качество КАК Качество,
            |            МИНИМУМ(РеализацияТоваровТовары.НомерСтроки) КАК НомерСтроки
            |        ИЗ
            |            Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
            |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаборТоваров КАК НаборТоваров
            |                ПО (РеализацияТоваровТовары.Номенклатура = НаборТоваров.Комплектующая
            |                        И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры = &ВидНабор)
            |        ГДЕ
            |            РеализацияТоваровТовары.Ссылка = &Ссылка
            |            И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры <> &ВидУслуга
            |        
            |        СГРУППИРОВАТЬ ПО
            |            ЕСТЬNULL(НаборТоваров.Комплектующая, РеализацияТоваровТовары.Номенклатура),
            |            РеализацияТоваровТовары.Качество) КАК Товары
            |        ПО ОстаткиТоваровЭталонОстатки.Номенклатура = Товары.Номенклатура
            |            И ОстаткиТоваровЭталонОстатки.Качество = Товары.Качество
            |ГДЕ
            |    ОстаткиТоваровЭталонОстатки.КоличествоОстаток < 0";
        
        Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
        
            Запрос.УстановитьПараметр("Момент", Неопределено);
            
        Иначе
            Граница = Новый Граница(МоментВремени(), ВидГраницы.Включая);
            Запрос.УстановитьПараметр("Момент", Граница);
        
        КонецЕсли;    
        
        РезультатЗапроса = Запрос.Выполнить();
        Если Не РезультатЗапроса.Пустой() Тогда
            
            Отказ = Истина;
            Выборка = РезультатЗапроса.Выбрать();
            Сообщение = Новый СообщениеПользователю;
            Пока Выборка.Следующий() Цикл
            
                Сообщение.Текст = "Номенклатуры "+Выборка.Номенклатура + " качества " +Выборка.Качество+ " недостатачно в количестве " +(-Выборка.КоличествоОстаток);
                Сообщение.Поле = "Товары["+ (Выборка.НомерСтроки-1) +"].Количество";
                Сообщение.УстановитьДанные(ЭтотОбъект);
                Сообщение.Сообщить();
            
            КонецЦикла;
        
        КонецЕсли;

    
    КонецЕсли;

Всегда возвращает пустой запрос, в чем м.б. ошибка?
1 Галахад
 
гуру
12.05.15
07:58
Наверное нету "Эталонов".
2 pro3ri
 
12.05.15
08:01
одолел, убрал фул джоин,

Запрос.Текст =
            "ВЫБРАТЬ
            |    ОстаткиТоваровЭталонОстатки.Номенклатура,
            |    ОстаткиТоваровЭталонОстатки.КоличествоОстаток КАК КоличествоОстаток,
            |    ОстаткиТоваровЭталонОстатки.Качество,
            |    Товары.НомерСтроки
            |ИЗ
            |    РегистрНакопления.ОстаткиТоваровЭталон.Остатки(
            |            &Момент,
            |            (Номенклатура, Качество) В
            |                (ВЫБРАТЬ РАЗЛИЧНЫЕ
            |                    ЕСТЬNULL(НаборТоваров.Комплектующая, РеализацияТоваровТовары.Номенклатура) КАК Номенклатура,
            |                    РеализацияТоваровТовары.Качество
            |                ИЗ
            |                    Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
            |                        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаборТоваров КАК НаборТоваров
            |                        ПО
            |                            РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры = &ВидНабор
            |                                И РеализацияТоваровТовары.Номенклатура = НаборТоваров.Набор
            |                ГДЕ
            |                    РеализацияТоваровТовары.Ссылка = &Ссылка
            |                    И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры <> &ВидУслуга)) КАК ОстаткиТоваровЭталонОстатки
            |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |            ЕСТЬNULL(НаборТоваров.Комплектующая, РеализацияТоваровТовары.Номенклатура) КАК Номенклатура,
            |            РеализацияТоваровТовары.Качество КАК Качество,
            |            МИНИМУМ(РеализацияТоваровТовары.НомерСтроки) КАК НомерСтроки
            |        ИЗ
            |            Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
            |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаборТоваров КАК НаборТоваров
            |                ПО (РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры = &ВидНабор)
            |                    И РеализацияТоваровТовары.Номенклатура = НаборТоваров.Набор
            |        ГДЕ
            |            РеализацияТоваровТовары.Ссылка = &Ссылка
            |            И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры <> &ВидУслуга
            |        
            |        СГРУППИРОВАТЬ ПО
            |            ЕСТЬNULL(НаборТоваров.Комплектующая, РеализацияТоваровТовары.Номенклатура),
            |            РеализацияТоваровТовары.Качество) КАК Товары
            |        ПО ОстаткиТоваровЭталонОстатки.Номенклатура = Товары.Номенклатура
            |            И ОстаткиТоваровЭталонОстатки.Качество = Товары.Качество
            |ГДЕ
            |    ОстаткиТоваровЭталонОстатки.КоличествоОстаток < 0";
3 pro3ri
 
12.05.15
08:05
всем спс