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

Отчет без СКД

Автор JOG, 07 дек 2016, 15:06

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

JOG

Приветствую! Подскажите пожалуйста, как сделать отчет без СКД? Или где почитать, а то во всех учебниках только с использованием СКД. Отчет с скд у меня получился, но я не могу сделать нужный мне макет (Данные выводятся после этого макета, а мне нужно между двух областей). Дайте совет как быть?

alex0402

Макет = ПолучитьМакет("ИмяМакета");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьТело = Макет.ПолучитьОбласть("Тело");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ТабДок = Новый ТабличныйДокумент;

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

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

Добавлено: 07 дек 2016, 15:30


Если нужно в теле формы, как СКД, то можно выводить в ПолеТабличногоДокумента.
Спасибо за Сказать спасибо

DmitriyF

Цитата: alex0402 от 07 дек 2016, 15:28
Макет = ПолучитьМакет("ИмяМакета");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьТело = Макет.ПолучитьОбласть("Тело");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ТабДок = Новый ТабличныйДокумент;

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

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

Добавлено: 07 дек 2016, 15:30


Если нужно в теле формы, как СКД, то можно выводить в ПолеТабличногоДокумента.
табдок.показать не рановато?

JOG

Цитата: alex0402 от 07 дек 2016, 15:28
Макет = ПолучитьМакет("ИмяМакета");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьТело = Макет.ПолучитьОбласть("Тело");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ТабДок = Новый ТабличныйДокумент;

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

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

Добавлено: 07 дек 2016, 15:30


Если нужно в теле формы, как СКД, то можно выводить в ПолеТабличногоДокумента.
это всё понятно. Вопрос в том 1) где это нужно прописывать: В модуле менеджера отчета или прям в модуле формы отчета?  2) Когда нажимаю кнопку сформировать, выдаётся сообщение "Не установлена схема компоновки данных". Где поправить код формирования отчета?

alex0402

Цитата: DmitriyF от 07 дек 2016, 15:37табдок.показать не рановато?

да рановато. в конце нужно.
Цитата: JOG от 07 дек 2016, 15:43Где поправить код формирования отчета?

нажать на крестик в свойствах поля действие. (там сформировать написано).
Потом на лупу и в этой процедуре можно все сделать.
Спасибо за Сказать спасибо

JOG


Kironten

Ну раз вы играетесь с автоматически созданной формой отчета, то переопределяйте логику процедуры "ПриКомпоновкеРезультата" модуля объекта отчета.

JOG

Хм, а о чем тогда говорит alex0402?
Правильно ли я понял, что для метода приведенного alex0402 нужно сделать новую кнопку, как нибудь её называть и на неё повесить приведенный код? А что бы отчет формировался по стандартной кнопке "Сформировать" нужно поправить процедуру "ПриКомпоновкеРезультата"?

Kironten

Цитата: JOG от 08 дек 2016, 13:25
Хм, а о чем тогда говорит alex0402?
Правильно ли я понял, что для метода приведенного alex0402 нужно сделать новую кнопку, как нибудь её называть и на неё повесить приведенный код? А что бы отчет формировался по стандартной кнопке "Сформировать" нужно поправить процедуру "ПриКомпоновкеРезультата"?
Да, вы поняли верно.

Теги:

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

Рейтинг@Mail.ru

Поиск