Вход | Регистрация


Перебор выборки запрооса

Перебор выборки запрооса
Я
   TolstiyBeremenniy
 
18.12.18 - 12:58
Необходимо сделать контроль остатков. Есть табличная часть документа 
и регистр. Подскажите как её правильно перебрать, что бы сравнивать
количество документа с имеющимися партиями?????
        Запрос.Текст = "
            |ВЫБРАТЬ
            |    РецептураКомпоненты.Номенклатура КАК Номенклатура,
            |    СУММА(РецептураКомпоненты.Брутто) КАК брутто
            |ПОМЕСТИТЬ ВТ_ДокТч
            |ИЗ
            |    Документ.Рецептура.Компоненты КАК РецептураКомпоненты
            |ГДЕ
            |    РецептураКомпоненты.Ссылка = &Ссылка
            |
            |СГРУППИРОВАТЬ ПО
            |    РецептураКомпоненты.Номенклатура
            |
            |ИНДЕКСИРОВАТЬ ПО
            |    Номенклатура
            |;
            |
            ////////////////////////////////////////////////////////////////////////////////

            |ВЫБРАТЬ
            |    ПродуктыНаСкладахОстатки.Номенклатура КАК Номенклатура,
            |    ПродуктыНаСкладахОстатки.Партия КАК Партия,
            |    ВТ_ДокТч.брутто КАК брутто,
            |    ПродуктыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
            |ИЗ
            |    ВТ_ДокТч КАК ВТ_ДокТч
            |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродуктыНаСкладах.Остатки(
            |                &МоментВремени,
            |                Номенклатура В
            |                    (ВЫБРАТЬ РАЗЛИЧНЫЕ
            |                        Вт_ДокТч.Номенклатура
            |                    ИЗ
            |                        Вт_ДокТч КАК Вт_ДокТч)) КАК ПродуктыНаСкладахОстатки
            |        ПО ВТ_ДокТч.Номенклатура = ПродуктыНаСкладахОстатки.Номенклатура
            |
            |УПОРЯДОЧИТЬ ПО
            |    Номенклатура,
            |    Партия
            |ИТОГИ
            |    МАКСИМУМ(брутто),
            |    СУММА(КоличествоОстаток)
            |ПО
            |    Номенклатура,
            |    Партия";
 
 
   TolstiyBeremenniy
 
1 - 19.12.18 - 04:04
(0+) Я делаю перебор вот этой выборки по группировке
номенклатура. Там номенклатура идет NULL, почему?

        ВыборкаНоменклатура = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        Пока ВыборкаНоменклатура.Следующий() Цикл
            Если ВыборкаНоменклатура.брутто > ВыборкаНоменклатура.КоличествоОстаток Тогда
   JeHer
 
2 - 19.12.18 - 04:08
(1) а где группировка в запросе?
   TolstiyBeremenniy
 
3 - 19.12.18 - 04:11
(2) Я изменил одно значение в регистре и стало нормально.
Значит все там есть? Или как нужно вы видите?
   TolstiyBeremenniy
 
4 - 19.12.18 - 04:28
Так правильно?

        Запрос       = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
                       |    РецептураКомпоненты.Номенклатура КАК Номенклатура,
                       |    СУММА(РецептураКомпоненты.Брутто) КАК брутто
                       |ПОМЕСТИТЬ ВТ_ДокТч
                       |ИЗ
                       |    Документ.Рецептура.Компоненты КАК РецептураКомпоненты
                       |ГДЕ
                       |    РецептураКомпоненты.Ссылка = &Ссылка
                       |
                       |СГРУППИРОВАТЬ ПО
                       |    РецептураКомпоненты.Номенклатура
                       |
                       |ИНДЕКСИРОВАТЬ ПО
                       |    Номенклатура
                       |;
                       |
                       ////////////////////////////////////////////////////////////////////////////////

                       |ВЫБРАТЬ
                       |    ПродуктыНаСкладахОстатки.Номенклатура КАК Номенклатура,
                       |    ПродуктыНаСкладахОстатки.Партия КАК Партия,
                       |    МАКСИМУМ(ВТ_ДокТч.брутто) КАК брутто,
                       |    СУММА(ЕСТЬNULL(ПродуктыНаСкладахОстатки.КоличествоОстаток, 0)) КАК КоличествоОстаток,
                       |    ЕСТЬNULL(ПродуктыНаСкладахОстатки.ЦенаОстаток, 0) КАК ЦенаОстаток
                       |ИЗ
                       |    ВТ_ДокТч КАК ВТ_ДокТч
                       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродуктыНаСкладах.Остатки(
                       |                &МоментВремени,
                       |                Номенклатура В
                       |                    (ВЫБРАТЬ РАЗЛИЧНЫЕ
                       |                        Вт_ДокТч.Номенклатура
                       |                    ИЗ
                       |                        Вт_ДокТч КАК Вт_ДокТч)) КАК ПродуктыНаСкладахОстатки
                       |        ПО ВТ_ДокТч.Номенклатура = ПродуктыНаСкладахОстатки.Номенклатура
                       |
                       |СГРУППИРОВАТЬ ПО
                       |    ПродуктыНаСкладахОстатки.Номенклатура,
                       |    ПродуктыНаСкладахОстатки.Партия,
                       |    ЕСТЬNULL(ПродуктыНаСкладахОстатки.ЦенаОстаток, 0)
                       |
                       |УПОРЯДОЧИТЬ ПО
                       |    Номенклатура,
                       |    Партия
                       |ИТОГИ
                       |    МАКСИМУМ(брутто),
                       |    СУММА(КоличествоОстаток)
                       |ПО
                       |    Номенклатура,
                       |    Партия";
   Ёпрст
 
5 - 19.12.18 - 10:13
Итоги в этом запросе не нужны
   Ёпрст
 
6 - 19.12.18 - 10:14
Различные тоже выкини

Список тем форума
Рекламное место пустует  Рекламное место пустует
Компьютер — устройство разработанное для ускорения и автоматизации человеческих ошибок.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует