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