Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 15:23

Создание отчета!

Автор ls600, 04 июн 2012, 10:02

0 Пользователей и 1 гость просматривают эту тему.

ls600

Добрый день!!! Помогите разобраться в коде. Создаю отчет с нуля.

вот код:


Процедура ДействиеФормыОтчетВагоныСформировать (Кнопка)
   
   Макет = ОтчетОбъект.ПолучитьМакет("ОтчетВагоны");
   ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
   
   запрос = Новый Запрос;
   запрос.Текст = "ВЫБРАТЬ
                |   РЦ_РеализацияЦемента.ДокументОтгрузки,
                |   РЦ_РеализацияЦемента.Контрагент,
                |   РЦ_РеализацияЦемента.СпособОтправки
                |ИЗ
                |   РегистрНакопления.РЦ_РеализацияЦемента КАК РЦ_РеализацияЦемента";
            
            
            
    ОбластьЗаголовок  = Макет.ПолучитьОбласть("Пояснение");
   ОбластьДетали     = Макет.ПолучитьОбласть("Детали");
   
   Результат = запрос.Выполнить();
   
КонецПроцедуры

Когда запускаю форма появляется. Жму Формировать, в Табличном Поле Документа ни че не появляется?!
Может че не хватает или не дописал!!! Заранее благодарю!

СветланаCC

Где обход результата запроса?
Тазовод)

СветланаCC

Цитата: ls600 от 04 июн 2012, 10:02
   Результат = запрос.Выполнить();
После нужно вставить обход результата запроса, и еще не увидела вывода ни одной строки...
Тазовод)

СветланаCC

либо воспользоваться СКД
Тазовод)

ls600

этот отчет нужно программно сделать а не через СКД!!!
Подскажи как написать вывод строки?!

СветланаCC

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

Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);

Результат = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Строка = Макет.ПолучитьОбласть("Строка");
Строка.Параметры.Организация = ВыборкаДетальныеЗаписи.Организация;
Строка.Параметры.ТорговаяМарка = ВыборкаДетальныеЗаписи.ТорговаяМарка;
Строка.Параметры.КоличествоОборот = ВыборкаДетальныеЗаписи.КоличествоОборот;
ТабДок.Вывести(Строка);
КонецЦикла;

ТабДок.Показать();


Тазовод)

ls600

Хорошо, благодарю. Посмотрю сейчас

ls600

Таблицу Выводит, но почему то пустую?

ls600

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

СветланаCC

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


а где присвоение параметров?
Тазовод)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск