Имя: Пароль:
1C
1С v8
Не отрабатывает запрос
0 notna1980
 
11.02.14
07:44
??? Почему после исполнения запроса ВыборкаДетальныеЗаписи не попадает КоличествоОстаток


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

    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("Дата", Дата);
    
    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Движение = Движения.ОстаткиНоменклатуры.Добавить();
        Движение.ВидДвижения=ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
        Движение.Количество = ВыборкаДетальныеЗаписи.КолДок;
        Движение.Склад = ВыборкаДетальныеЗаписи.Склад;
        Если ВыборкаДетальныеЗаписи.КоличествоОстаток<ВыборкаДетальныеЗаписи.КолДок Тогда
            Отказ=Истина;
            Сообщение=Новый СообщениеПользователю;
            Нехватка= ВыборкаДетальныеЗаписи.КолДок-ВыборкаДетальныеЗаписи.КоличествоОстаток;
            Сообщение.Текст= "В документе № "+Номер+" едениц товара "+ВыборкаДетальныеЗаписи.Номенклатура;
            Сообщение.Сообщить();
        ИначеЕсли ВыборкаДетальныеЗаписи.КоличествоОстаток=ВыборкаДетальныеЗаписи.КолДок тогда
            Движение.Сумма=ВыборкаДетальныеЗаписи.СуммаОсток;
        ИначеЕсли ВыборкаДетальныеЗаписи.КоличествоОстаток>ВыборкаДетальныеЗаписи.КолДок тогда
            Движение.Сумма=ВыборкаДетальныеЗаписи.СуммаОстаток/ВыборкаДетальныеЗаписи.КоличествоОстаток*ВыборкаДетальныеЗаписи.КолДок;
        КонецЕсли;    
            
            
    КонецЦикла;
1 Defender aka LINN
 
11.02.14
07:47
(0) Мда...
2 Wobland
 
11.02.14
07:49
а говоришь, не отрабатывает
3 Wobland
 
11.02.14
07:50
и вот тебе ответ на вопрос "почему поле не найдено?": его там нет
4 redding
 
11.02.14
07:52
(0) Подготовка к специалисту по платформе?))
5 notna1980
 
11.02.14
07:58
Именно, только пошел на курсы
6 Defender aka LINN
 
11.02.14
08:00
(5) И сразу на форум поперся... Сиди учи, блин.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.