8.х Табличное поле

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Adminspb, 4 авг 2009.

  1. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Создаю внешнюю обработку.

    В ней на форму добавил табличное поле (список значений)
    И создал макет.

    Пытаюсь вывести данные результатов запроса в эту таблицу.


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

    Ничего не получается.
    Выдается сообщение - Метод объекта не обнаружен (Очистить)
    Почему??


    И еще. Если пытаюсь сделать так -
    ТабДокумент = Новый ТабличныйДокумент;
    Вообще никакой реакции . Таблица не отображается. Почему?
  2. lazy
    Offline

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

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Потому, что у ПолеТабличногоДокумента, действительно нет метода Очистить().
    ТабличныйДокумент и ПолеТабличногоДокумента - разные объекты с разными свойствами и методами.
    Потому, что не было команды на вывод табличного документа на экран. Добавьте в конец кода строку:
    Код:
    ТабДокумент.Показать();
    
  3. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Спасибо! Все понял!

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