Имя: Пароль:
1C
1С v8
Проблема с запросом
0 alexodel
 
24.04.19
15:25
Здравствуйте Дорогие и Уважаемые программисты! Помогите пожалуйста с запросом...

Т.е. буду краток... пишу запрос чтобы получить необходимые данные из документа производство на внешку (внешка подключена к кнопке печати)

а прога ругается так )))...  и выдает: "Значение не является значением объектного типа (Выгрузить) "... где я ошибься?

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

    ОД_Заголовок = Макет.ПолучитьОбласть("ОД_Заголовок");//
        
    ДанныеПечати.Очистить();
    
    ПроизводствоНомер=РезультатЗапросаМатериалы.ПроизводствоНомер;
    ПроизводствоДата=РезультатЗапросаМатериалы.ПроизводствоДата;
    
    ОД_Заголовок.Параметры.Заполнить(ДанныеПечати);
    ТабличныйДокумент.Вывести(ОД_Заголовок);

    ОД_ШапкаТаблицыМатерилов = Макет.ПолучитьОбласть("ОД_ШапкаТаблицыМатерилов");
    ТабличныйДокумент.Вывести(ОД_ШапкаТаблицыМатерилов);
    
    Сообщить("Тип значения:" + ТипЗнч(РезультатЗапросаМатериалы));
    
    ТаблицаМатериалов = РезультатЗапросаМатериалы.Запасы.Выгрузить();//Запасы 14vipWTf6C
    
    
        
    
        Для Каждого Материал из ТаблицаМатериалов Цикл
            
            НомерСтроки=НомерСтроки+1;
            
            ОД_АртикулМатериала = Макет.ПолучитьОбласть("ОД_АртикулМатериала");
            ДанныеПечати.Очистить();
            ДанныеПечати.Вставить("НомерСтроки", НомерСтроки);
            ДанныеПечати.Вставить("Материалы",Материал.НоменклатураНазвание);
            ДанныеПечати.Вставить("Склад2", "Склад2");
            ДанныеПечати.Вставить("Склад3", "Склад3");
            ДанныеПечати.Вставить("Цех", "Цех");
            //ДанныеПечати.Вставить("По_пр_ву", Материал.НоменклатураКоличество+" "+Материал.НоменклатураЕдиницаИзмерения);
            ДанныеПечати.Вставить("КВыдаче", "");
            
            ОД_АртикулМатериала.Параметры.Заполнить(ДанныеПечати);
            ТабличныйДокумент.Вывести(ОД_АртикулМатериала);
            
            ОД_КоличествоРулонов = Макет.ПолучитьОбласть("ОД_КоличествоРулонов");
            ТабличныйДокумент.Вывести(ОД_КоличествоРулонов);
            
        КонецЦикла;

    ОД_ПодвалТаблицыМатерилов = Макет.ПолучитьОбласть("ОД_ПодвалТаблицыМатерилов");
    ТабличныйДокумент.Вывести(ОД_ПодвалТаблицыМатерилов);
1 lubitelxml
 
24.04.19
15:28
ну вы либо Выполнить().Выбрать() и далее выборку обходите через Следующий(), либо Выгрузить() и с ТЧ уже работайте
2 Широкий
 
24.04.19
15:29
РезультатЗапросаМатериалы.Следующий()