Имя: Пароль:
1C
1С v8
как запросом выполнить выборку по конкретному значению реквизита, например все ТМЦ -Товары
0 alpha78
 
16.03.21
20:56
Здравствуйте.
как запросом выполнить выборку ТМЦ по конкретному значению реквизита ВидТМЦ = Товары.
Реквизит берет данные из справочника "Виды номенклатуры"
Вот сделал внешнюю обработочку:

Процедура КнопкаВыполнитьНажатие(Кнопка)
    //создадим запрос из спр. Номенклатура - тип товары и выведем в таблицу значений
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Номенклатура.Код,
                   |    Номенклатура.Наименование,
                   |    Номенклатура.Артикул,
                   |    Номенклатура.БазоваяЕдиницаИзмерения,
                   |    Номенклатура.ВидНоменклатуры
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.ВидНоменклатуры = &Товар";
    
    Запрос.УстановитьПараметр("Товар", "Товар");
    
    ЭлементыФормы.ТабличноеПоле1.Значение =Запрос.Выполнить().Выгрузить();
    ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
    
    
КонецПроцедуры

хоть есть Товары но ничего не выдает. Как быть, заранее спасибо

Выдает ошибку: Не задано значение
1 shuhard
 
16.03.21
21:27
(0)[Запрос.УстановитьПараметр("Товар", "Товар"); ]
так не взлетит, вид номенклатуры - справочник
2 mikecool
 
16.03.21
21:27
в параметр передавай значение того же типа, что и Номенклатура.ВидНоменклатуры
3 alpha78
 
16.03.21
21:45
как лучше оформить код?
4 alpha78
 
16.03.21
21:50
попробовал так
Товар = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар");
    
    добавил строку - опять ничего
5 tixis
 
16.03.21
23:03
а что у тебя в переменной товар после выполнения НайтиПоНаименованию("Товар"), переменная заполнена? Тип у переменной какой?
6 acht
 
16.03.21
23:18
(5) + у метода НайтиПоНаименованию есть еще параметры. Особенно второй.
7 alpha78
 
16.03.21
23:20
строковый
8 alpha78
 
16.03.21
23:40
сделал так
    Т = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар");
    
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Номенклатура.Код,
                   |    Номенклатура.Наименование,
                   |    Номенклатура.Артикул,
                   |    Номенклатура.БазоваяЕдиницаИзмерения,
                   |    Номенклатура.ВидНоменклатуры
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.ВидНоменклатуры.Наименование = &Тов";
    
    Запрос.УстановитьПараметр("Тов", Т);
    
    ЭлементыФормы.ТабличноеПоле1.Значение =Запрос.Выполнить().Выгрузить();
    ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
все равно пусто, хотя товары есть
9 acht
 
16.03.21
23:43
(8) Зачем ты упорно так пытаешся сравнить строку и ссылку?
10 Serg_1960
 
16.03.21
23:44
ГДЕ Номенклатура.ВидНоменклатуры = &Тов
11 alpha78
 
16.03.21
23:47
после упорных бое получилось, спасибо Сергей