8.х Как получить значения свойства элемента номенклатуры

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем blackpoint, 21 окт 2009.

  1. TopicStarter Overlay
    blackpoint
    Offline

    blackpoint

    Регистрация:
    21 окт 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Подскажите, как из внешней печатной формы, сделанной на основе ТОРГ-12, получить значение определенного свойства номенклатуры?
    Есть запрос, не могу понять, что нужно написать вместо строки
    Код:
    |    ВложенныйЗапрос.Номенклатура." + ТоварКод + "   КАК ТоварКод1,
    
    
    
    , чтобы получить значения свойства, например "111", из свойств элемента номенклатуры (Вкладка "Свойства" элемента номенклатуры).

    Запрос:
    Код:
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ВложенныйЗапрос.Номенклатура                                  КАК Номенклатура,
    |    ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование,
    |    ВложенныйЗапрос.Номенклатура." + ТоварКод + "   КАК ТоварКод1,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.Представление                КАК БазоваяЕдиницаНаименование,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код  КАК БазоваяЕдиницаКодПоОКЕИ,
    |    ВложенныйЗапрос.ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
    |    ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление            КАК ВидУпаковки,
    |    ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте,
    |    ВЫБОР
    |        КОГДА ВложенныйЗапрос.КоличествоМест > 0 ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес
    |        ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес
    |    КОНЕЦ КАК МассаБрутто,
    |    ВложенныйЗапрос.Характеристика       КАК Характеристика,
    |    ВложенныйЗапрос.Серия                КАК Серия,
    |    ВложенныйЗапрос.СтавкаНДС            КАК СтавкаНДС,
    |    ВложенныйЗапрос.Цена                 КАК Цена,
    |    ВЫБОР
    |        КОГДА((ВложенныйЗапрос.ПроцентСкидкиНаценки = 0) И 
    |              (ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0))
    |    ТОГДА ЛОЖЬ
    |    ИНАЧЕ Истина
    |    КОНЕЦ                                КАК ЕстьСкидкиПоСтроке,
    |    ВложенныйЗапрос.Количество           КАК Количество,
    |    ВложенныйЗапрос.КоличествоМест       КАК КоличествоМест,
    |    ВложенныйЗапрос.Сумма                КАК Сумма,
    |    ВложенныйЗапрос.СуммаНДС             КАК СуммаНДС,
    |    ВложенныйЗапрос.НомерСтроки          КАК НомерСтроки,
    |    ВложенныйЗапрос.Метка                КАК Метка
    |ИЗ
    |
    |    (
    |    ВЫБРАТЬ
    |        РеализацияТоваровУслуг.Номенклатура,
    |        РеализацияТоваровУслуг.Коэффициент,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент     КАК КоэффициентМест,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры           КАК Характеристика,
    |        РеализацияТоваровУслуг.СерияНоменклатуры                    КАК Серия,
    |        РеализацияТоваровУслуг.СтавкаНДС,
    |        РеализацияТоваровУслуг.Цена * &Курс / &Кратность            КАК Цена,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
    |        СУММА(РеализацияТоваровУслуг.Количество)                    КАК Количество,
    |        СУММА(РеализацияТоваровУслуг.КоличествоМест)                КАК КоличествоМест,
    |        СУММА(РеализацияТоваровУслуг.Сумма    * &Курс / &Кратность) КАК Сумма,
    |        СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС,
    |        МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки)                 КАК НомерСтроки,
    |        0                                                           КАК Метка
    |    ИЗ
    |        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |    ГДЕ
    |        РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |
    |СГРУППИРОВАТЬ ПО
    |        РеализацияТоваровУслуг.Номенклатура,
    |        РеализацияТоваровУслуг.Коэффициент,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
    |        РеализацияТоваровУслуг.СерияНоменклатуры,
    |        РеализацияТоваровУслуг.СтавкаНДС,
    |        РеализацияТоваровУслуг.Цена,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок
    |    ) КАК ВложенныйЗапрос
    |";
    
    
    
    
    
    
    Платформа 8.1.

    Спасибо заренее за помощь!
  2. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Нужно левое соединение к регистру значений свойств объектов. Примерно, так:
    Код:
        Запрос.Текст =
    "ВЫБРАТЬ    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    |    ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование,
    |    ЗначенияСвойствОбъектов.Значение,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК БазоваяЕдиницаНаименование,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
    |    ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки,
    |    ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте,
    |    ВЫБОР
    |        КОГДА ВложенныйЗапрос.КоличествоМест > 0
    |            ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес
    |        ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес
    |    КОНЕЦ КАК МассаБрутто,
    |    ВложенныйЗапрос.Характеристика КАК Характеристика,
    |    ВложенныйЗапрос.Серия КАК Серия,
    |    ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
    |    ВложенныйЗапрос.Цена КАК Цена,
    |    ВЫБОР
    |        КОГДА ВложенныйЗапрос.ПроцентСкидкиНаценки = 0
    |                И ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0
    |            ТОГДА ЛОЖЬ
    |        ИНАЧЕ ИСТИНА
    |    КОНЕЦ КАК ЕстьСкидкиПоСтроке,
    |    ВложенныйЗапрос.Количество КАК Количество,
    |    ВложенныйЗапрос.КоличествоМест КАК КоличествоМест,
    |    ВложенныйЗапрос.Сумма КАК Сумма,
    |    ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
    |    ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
    |    ВложенныйЗапрос.Метка КАК Метка
    |ИЗ
    |    (ВЫБРАТЬ
    |        РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
    |        РеализацияТоваровУслуг.Коэффициент КАК Коэффициент,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент КАК КоэффициентМест,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК Характеристика,
    |        РеализацияТоваровУслуг.СерияНоменклатуры КАК Серия,
    |        РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС,
    |        РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
    |        СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
    |        СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест,
    |        СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма,
    |        СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС,
    |        МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки,
    |        0 КАК Метка
    |    ИЗ
    |        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |    ГДЕ
    |        РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |    
    |    СГРУППИРОВАТЬ ПО
    |        РеализацияТоваровУслуг.Номенклатура,
    |        РеализацияТоваровУслуг.Коэффициент,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
    |        РеализацияТоваровУслуг.СерияНоменклатуры,
    |        РеализацияТоваровУслуг.СтавкаНДС,
    |        РеализацияТоваровУслуг.Цена,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент) КАК ВложенныйЗапрос
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |        ПО ВложенныйЗапрос.Номенклатура = ЗначенияСвойствОбъектов.Объект
    |ГДЕ
    |    ЗначенияСвойствОбъектов.Свойство = &НужноеСвойство
    |";
    
    
    
    В параметр "НужноеСвойство" передать искомое свойство
  3. TopicStarter Overlay
    blackpoint
    Offline

    blackpoint

    Регистрация:
    21 окт 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Спасибо, ASh, очень помогли.
    Немного трансформировал запрос, убрал последние три строчки - с ними в печатной форме не было ни одного товара. Может не правильно определяю искомое свойство, сейчас это выглядит так:
    Код:
    Запрос.УстановитьПараметр("НужноеСвойство","Код СтройДепо");
    
    
    Запрос выглядит следующим образом:
    Код:
    Запрос.Текст =
    "ВЫБРАТЬ    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    |    ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование,
    |    ЗначенияСвойствОбъектов.Значение КАК ТоварКод1,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК БазоваяЕдиницаНаименование,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
    |    ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки,
    |    ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте,
    |    ВЫБОР
    |        КОГДА ВложенныйЗапрос.КоличествоМест > 0
    |            ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес
    |        ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес
    |    КОНЕЦ КАК МассаБрутто,
    |    ВложенныйЗапрос.Характеристика КАК Характеристика,
    |    ВложенныйЗапрос.Серия КАК Серия,
    |    ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
    |    ВложенныйЗапрос.Цена КАК Цена,
    |    ВЫБОР
    |        КОГДА ВложенныйЗапрос.ПроцентСкидкиНаценки = 0
    |                И ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0
    |            ТОГДА ЛОЖЬ
    |        ИНАЧЕ ИСТИНА
    |    КОНЕЦ КАК ЕстьСкидкиПоСтроке,
    |    ВложенныйЗапрос.Количество КАК Количество,
    |    ВложенныйЗапрос.КоличествоМест КАК КоличествоМест,
    |    ВложенныйЗапрос.Сумма КАК Сумма,
    |    ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
    |    ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
    |    ВложенныйЗапрос.Метка КАК Метка
    |ИЗ
    |    (ВЫБРАТЬ
    |        РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
    |        РеализацияТоваровУслуг.Коэффициент КАК Коэффициент,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент КАК КоэффициентМест,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК Характеристика,
    |        РеализацияТоваровУслуг.СерияНоменклатуры КАК Серия,
    |        РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС,
    |        РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
    |        СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
    |        СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест,
    |        СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма,
    |        СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС,
    |        МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки,
    |        0 КАК Метка
    |    ИЗ
    |        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |    ГДЕ
    |        РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |    
    |    СГРУППИРОВАТЬ ПО
    |        РеализацияТоваровУслуг.Номенклатура,
    |        РеализацияТоваровУслуг.Коэффициент,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
    |        РеализацияТоваровУслуг.СерияНоменклатуры,
    |        РеализацияТоваровУслуг.СтавкаНДС,
    |        РеализацияТоваровУслуг.Цена,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент) КАК ВложенныйЗапрос
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |        ПО ВложенныйЗапрос.Номенклатура = ЗначенияСвойствОбъектов.Объект
    |";
    
    
    
    Сейчас в печатной форме отображаются значения первого свойства, нужно иметь возможность
    выбирать свойство. Подскажите пожалуйста, как сделать?
  4. TopicStarter Overlay
    blackpoint
    Offline

    blackpoint

    Регистрация:
    21 окт 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Разобрался. Рабочая версия запроса:

    Код:
    		Запрос.Текст =
    "ВЫБРАТЬ    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    |    ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование,
    |    ЗначенияСвойствОбъектов.Значение КАК ТоварКод1,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК БазоваяЕдиницаНаименование,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
    |    ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки,
    |    ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте,
    |    ВЫБОР
    |        КОГДА ВложенныйЗапрос.КоличествоМест > 0
    |            ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес
    |        ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес
    |    КОНЕЦ КАК МассаБрутто,
    |    ВложенныйЗапрос.Характеристика КАК Характеристика,
    |    ВложенныйЗапрос.Серия КАК Серия,
    |    ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
    |    ВложенныйЗапрос.Цена КАК Цена,
    |    ВЫБОР
    |        КОГДА ВложенныйЗапрос.ПроцентСкидкиНаценки = 0
    |                И ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0
    |            ТОГДА ЛОЖЬ
    |        ИНАЧЕ ИСТИНА
    |    КОНЕЦ КАК ЕстьСкидкиПоСтроке,
    |    ВложенныйЗапрос.Количество КАК Количество,
    |    ВложенныйЗапрос.КоличествоМест КАК КоличествоМест,
    |    ВложенныйЗапрос.Сумма КАК Сумма,
    |    ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
    |    ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
    |    ВложенныйЗапрос.Метка КАК Метка
    |ИЗ
    |    (ВЫБРАТЬ
    |        РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
    |        РеализацияТоваровУслуг.Коэффициент КАК Коэффициент,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент КАК КоэффициентМест,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК Характеристика,
    |        РеализацияТоваровУслуг.СерияНоменклатуры КАК Серия,
    |        РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС,
    |        РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
    |        СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
    |        СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест,
    |        СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма,
    |        СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС,
    |        МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки,
    |        0 КАК Метка
    |    ИЗ
    |        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |    ГДЕ
    |        РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |    
    |    СГРУППИРОВАТЬ ПО
    |        РеализацияТоваровУслуг.Номенклатура,
    |        РеализацияТоваровУслуг.Коэффициент,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
    |        РеализацияТоваровУслуг.СерияНоменклатуры,
    |        РеализацияТоваровУслуг.СтавкаНДС,
    |        РеализацияТоваровУслуг.Цена,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент) КАК ВложенныйЗапрос
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |        ПО (ВложенныйЗапрос.Номенклатура = ЗначенияСвойствОбъектов.Объект 
    |				И ЗначенияСвойствОбъектов.Свойство.Наименование = &НужноеСвойство)
    |"; 
    
  5. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Пару комментариев себе позволю:)
    Все, что пишется в запросе через точку, усложняет запрос для вычислений. Поэтому лучше правильно задать параметр, а не выдергивать наименование свойства в самом запросе
    В данном случае я бы написал так:
    Код:
    ...
    |И ЗначенияСвойствОбъектов.Свойство = &НужноеСвойство)
    ...
    Запрос.УстановитьПараметр("НужноеСвойство",ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Код СтройДепо"));
    
    
    И еще про отличие в задании условий...
    Когда вы добавляете условие связи, как в вашем примере, вы ограничиваете выборку из второй таблицы. Т.е. у вас в результат запроса попадут все строки из реализации независимо от того, есть ли у номенклатуры нужное свойство или нет. А когда используете условие в самом запросе (как у меня через "ГДЕ"), вы ограничиваете уже результат выборки. Т.е. в моем случае вы увидите строки только с той номенклатурой, у которой есть искомое свойство.
    Что из этого нужно, решать вам.
    И на последок, врядли вам нужно значение NULL в свойстве, поэтому лучше изменить строку
    Код:
    |    ЗначенияСвойствОбъектов.Значение КАК ТоварКод1,
    
    на
    Код:
    |    ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение,""Нет нужного свойства"") КАК ТоварКод1,
    

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