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

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

Автор 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

Поиск