8.х Запрос возвращает значения типа Null в модуле, в консоли все ок

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем keyla, 27 июн 2013.

  1. TopicStarter Overlay
    keyla
    Offline

    keyla

    Регистрация:
    27 июн 2013
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте! Помогите разобраться. В 1-С я новичок. Дорабатываю отчет. Запрос в консоли отрабатывает нормально. Вставляю в модуль и поля получаются типа Null, если добавляю фунуцию ЕстьNull, тогда тип как надо Число и все значения 0. Не пойму что не так. При отладке получаю текст запроса вставляю в консоль все значения в нормальном виде присутствуют.
    1С:Предприятие 8.1 конфигурация: "АСТОР: Торговый дом 6.0" (6.0.29.4)
    Запрос:
    Код:
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЦеныПост.Цена КАК Цена,
    ЦеныПост.Номенклатура КАК Номенклатура,
    ЦеныПост.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ЦеныПост.Характеристика КАК Характеристика,
    ЦеныПост.Договор КАК Договор,
    ЦеныПост.Артикул КАК Артикул,
    ЦеныПост.Коэфф КАК Коэфф,
    ЦеныПост.Единицазаказа КАК ЕдиницаЗаказа,
    ЦеныПост.КоэффБазед КАК КоэфБаз,
    ЕСТЬNULL(МАКСИМУМ(ЦеныПост.МассаБаз),0) КАК МассаБазЕдиницы,
    МАКСИМУМ(ЕСТЬNULL(ВЫБОР
    КОГДА ЗначениявложОбъем.Свойство = &Нетто
    ТОГДА ЗначениявложОбъем.Значение
    КОНЕЦ, ВЫБОР
    КОГДА ЗначениявложОбъем.Свойство = &Брутто
    ТОГДА ЗначениявложОбъем.Значение
    КОНЕЦ)) КАК Массавложения,
    МАКСИМУМ(ЕСТЬNULL(ВЫБОР
    КОГДА ЗначениявложОбъем.Свойство = &Объем
    ТОГДА ЗначениявложОбъем.Значение
    КОНЕЦ, ЦеныПост.Объембазед)) КАК Объемвлож,
    МАКСИМУМ(ЦеныПост.Ширинаед) КАК Ширин,
    МАКСИМУМ(ЦеныПост.Высотаед) КАК Высот,
    МАКСИМУМ(ЦеныПост.Длинаед) КАК Длин,
    1 КАК Нумер
    ИЗ
    (ВЫБРАТЬ
    ЦеныПоставщиков.Цена КАК Цена,
    ЦеныПоставщиков.Номенклатура КАК Номенклатура,
    ЦеныПоставщиков.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ЦеныПоставщиков.Характеристика КАК Характеристика,
    ВЫБОР
    КОГДА ЦеныПоставщиков.Договор ССЫЛКА Справочник.Контрагенты
    ТОГДА ЦеныПоставщиков.Договор
    ИНАЧЕ ЦеныПоставщиков.Договор.Владелец
    КОНЕЦ КАК Договор,
    ЦеныПоставщиков.Артикул КАК Артикул,	
    ЕСТЬNULL(Единицы.Коэффициент, 1) КАК Коэфф,
    ЕСТЬNULL(Единицы1.Коэффициент, 1) КАК КоэффБазед,
    ПараметрыСУЗ.Значение КАК Единицазаказа,
    ЕСТЬNULL(ВЫБОР
    КОГДА ЗначенияНетто.Свойство = &Нетто
    ТОГДА ЗначенияНетто.Значение
    КОНЕЦ, ВЫБОР
    КОГДА ЗначенияНетто.Свойство = &Брутто
    ТОГДА ЗначенияНетто.Значение
    КОНЕЦ) КАК МассаБаз,
    ВЫБОР
    КОГДА ЗначенияНетто.Свойство = &Объем
    ТОГДА ЗначенияНетто.Значение
    КОНЕЦ КАК Объембазед,
    ВЫБОР
    КОГДА ЗначенияНетто.Свойство = &Ширина
    ТОГДА ЗначенияНетто.Значение
    КОНЕЦ КАК Ширинаед,
    ВЫБОР
    КОГДА ЗначенияНетто.Свойство = &Высота
    ТОГДА ЗначенияНетто.Значение
    КОНЕЦ КАК Высотаед,
    ВЫБОР
    КОГДА ЗначенияНетто.Свойство = &Длина
    ТОГДА ЗначенияНетто.Значение
    КОНЕЦ КАК Длинаед
    ИЗ
    РегистрСведений.ЦеныПоставщиков КАК ЦеныПоставщиков
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения Единицы ПО ЦеныПоставщиков.Номенклатура.Ссылка = Единицы.Владелец
    И Единицы.ЕдиницаПоКлассификатору = &Упак
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК Единицы1
    ПО ЦеныПоставщиков.Номенклатура.Ссылка = Единицы1.Владелец
    И (Единицы1.ЕдиницаПоКлассификатору = ЦеныПоставщиков.Номенклатура.БазоваяЕдиницаИзмерения)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыСУЗ КАК ПараметрыСУЗ
    ПО ЦеныПоставщиков.Номенклатура.Ссылка = ПараметрыСУЗ.Объект
    И (ПараметрыСУЗ.Свойство = &Единицазаказа)
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияНетто
    ПО ЦеныПоставщиков.ЕдиницаИзмерения.Ссылка = ЗначенияНетто.Объект
    И (ЗначенияНетто.Свойство В (&СписокСвойств))
    ГДЕ
    ЦеныПоставщиков.Период <= &ДатаКон И НЕ ЦеныПоставщиков.Заблокировано
    И ЦеныПоставщиков.Период >= &ДатаНач И ЦеныПоставщиков.Договор.Владелец = &Контрагент
    И ЦеныПоставщиков.Период В
    (ВЫБРАТЬ ПЕРВЫЕ 1
    ЦП.Период
    ИЗ
    РегистрСведений.ЦеныПоставщиков КАК ЦП
    ГДЕ
    ЦП.Номенклатура = ЦеныПоставщиков.Номенклатура
    И ЦП.ЕдиницаИзмерения = ЦеныПоставщиков.ЕдиницаИзмерения  И ЦП.Договор = ЦеныПоставщиков.Договор  И ЦП.Период <= &Датакон
    УПОРЯДОЧИТЬ ПО
    ЦП.Период УБЫВ)) КАК ЦеныПост
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначениявложОбъем
    ПО ЦеныПост.Единицазаказа.Ссылка = ЗначениявложОбъем.Объект
    И (ЗначениявложОбъем.Свойство В (&СписСвойствЗ))
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    АМ.Объект КАК Объект,
    АМ.Значение КАК Значение
    ИЗ
    РегистрСведений.АссортиментныеМатрицы КАК АМ
    Где
    1 = 1  ) КАК АссортиментныеМатрицы
    ПО ЦеныПост.Номенклатура = АссортиментныеМатрицы.Объект  Где (АссортиментныеМатрицы.Значение = &Активный ИЛИ АссортиментныеМатрицы.Значение = &Пробный)
    СГРУППИРОВАТЬ ПО
    ЦеныПост.Цена,
    ЦеныПост.Номенклатура,
    ЦеныПост.ЕдиницаИзмерения,
    ЦеныПост.Характеристика,
    ЦеныПост.Договор,
    ЦеныПост.Артикул,
    ЦеныПост.Коэфф,
    ЦеныПост.Единицазаказа,
    ЦеныПост.КоэффБазед
    УПОРЯДОЧИТЬ ПО
    Номенклатура
    ИТОГИ
    СУММА(Нумер)
    ПО
    Номенклатура ИЕРАРХИЯ
    АВТОУПОРЯДОЧИВАНИЕ
    его обработка:
    Код:
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    
    далее различные проверки не касающиеся нужных мне реквизитов и действия с ними. факт в том, что не могу получить в модуле значения МассыбазЕдиницы,Массывложения,объемвложения,длину,ширину.высоту.
    в консоли запросов все данные имеющиеся выводит. (Масса базовой единицы заполнена для всех по крайней мере. остальное не у всех.) выбирает все кроме этих реквизитов.
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    А вопрос в чем? Ошибка у Вас возникает какая? Или что вообще? null в запросе возвращается когда не найдено соответствий из другой таблицы например.
  3. TopicStarter Overlay
    keyla
    Offline

    keyla

    Регистрация:
    27 июн 2013
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    в консоли запросов запрос вытягивает значени массы единицы массы вложения и объема. а в модуле отчета не могу получить данные. пишет тип NULL. собственно в этом и вопрос. почему??? в консолирезультат есть, а в модуле отчета нет. хотя бы направление для мысли...
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    Такого не может быть. Вы что-то путаете. Посмотрите отладчиком Запрос.Выполнить().Выгрузить(). И увидите таблицу значений, точно такую же как и в консоле. Значит обработка идет немного по другому. + у вас в запросе ИТОГИ есть. Обычно выборка идет так ОбходРезультатаЗапроса.ПоГруппировкам. Может из за этого.
  5. TopicStarter Overlay
    keyla
    Offline

    keyla

    Регистрация:
    27 июн 2013
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    по группировкам вообще ничего не тянет ни цену ни артикул %) одна номенклатура осталась....

Поделиться этой страницей