Версия для печати темы (https://pro1c.org.ua/index.php?s=414cb1809c700d115f5010729c2eb374&showtopic=55037)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ В запросе задать тип значения вручную

Автор: alexandr_f 05.11.19, 16:01

Надо в запросе задать тип значения вручную.
типа
Код

Запрос=Новый Запрос();
    Запрос.Текст=     
    "

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

А как нибудь по изящнее - прямо задать тип значения


 ! 

https://pro1c.org.ua/index.php?act=announce&id=2: 4
 

Автор: fly 05.11.19, 16:59

alexandr_f @ Сегодня, 17:01 * ,
ТИПЗНАЧЕНИЯ(ТоварыВКладовойОстатки.Номенклатура) = Тип(Справочник.Номенклатура)

Автор: takefive 05.11.19, 17:53

ГДЕ ТоварыВКладовойОстатки.Номенклатура ССЫЛКА Справочник.Номенклатура

Автор: alexandr_f 06.11.19, 8:43

Я хочу подставить это в параметр.
Вот

ТЗН=Тип(Справочники.Номенклатура)

дает тип Справочник менеджер , нужно просто Номенклатура
Если напрямую подставить в запрос - то работает

Автор: takefive 06.11.19, 9:30

ТЗН=Тип(Справочники.Номенклатура.ПустаяСсылка())

Автор: fly 06.11.19, 9:33

alexandr_f @ Сегодня, 9:43 * ,

ТЗН = ТипЗнч(Справочники.Номенклатура.ПустаяСсылка());

или
ТЗН = Тип("СправочникСсылка.Номенклатура")

Автор: alexandr_f 06.11.19, 11:20

fly @ Сегодня, 10:33 * ,
Спасибо .Тема закрыта

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua