Программно запустить на выполнение отчет СКД без формы

1. erazh 28.05.18 21:07 Сейчас в теме
Как программно запустить на выполнение отчет СКД без форм?

Например, кинем на УФ кнопку, которая будет вызывать ОТЧЕТ.КАДРОВАЯИСТОРИЯСОТРУДНИКОВ (ЗУП 3.1). Каким должен быть код в этом случае? Обработка открывается через Файл-Открыть. Случай с подключаемыми отчетами не рассматриваем! Вариант типа:

ФормаОтчета = ПолучитьФорму("Отчет.КадроваяИсторияСотрудников.ФормаВарианта");
ФормаОтчета.Открыть();

чего-то не катит (форм то, нет!)

Как ?!? Ну, или ссылку где это расписано!
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user705522_constantin_h 35 29.05.18 00:33 Сейчас в теме
(1)Как-то так:
 //Получаем схему из макета
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

//Из схемы возьмем настройки по умолчанию
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

//Помещаем в переменную данные о расшифровке данных
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

//Формируем макет, с помощью компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

//Очищаем поле табличного документа
Результат = ЭлементыФормы.Результат;
Результат.Очистить();

//Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);   
Показать
neyasytyf; Eret1k; +2 Ответить
3. erazh 29.05.18 21:39 Сейчас в теме
(2)
//Очищаем поле табличного документа
Результат = ЭлементыФормы.Результат;
Результат.Очистить();


В условии сказано, что форм в отчете нет. ..... Меня этот ответ не устраивает. Это типовой участок кода, когда результат выводится на имеющуюся в данном отчете форму.

Меня тут посетили мысли: Программно создать общую форму и к ней прикрутить СКД из отчета. (Все равно ведь эта же форма и вызывается.) Только я пока в общих формах не силен. :-(
4. erazh 19.06.18 16:15 Сейчас в теме
(3)
Пока вышел таким образом: создал внешний отчет (нужно было по ходу), загрузил в него схему СКД из того отчета и мышкой перетащил общую форму в ФОРМЫ данного внешнего отчета. Все заработало, но это так, костыли и времени занимает не так много.

Если будет более красивое решение, буду рад услышать.
5. kazimesh 30.01.19 15:58 Сейчас в теме
Чисто для истории, вдруг кому то понадобится и он случайно откроет эту тему.
Нужно использовать ОткрытьФорму. Это в принципе лучше для УФ.
Открываем справку по методу ОткрытьФорму.
Читаем: Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").
Далее в справке перечислены все имена форм по умолчанию.
Для отчета читаем:
Форма (Form) - форма отчета и обработки по умолчанию;
ФормаВарианта (VariantForm) - форма редактирования варианта отчета;
Это работает, программно запускается отчет у которого нет формы.
У вас ФормаВарианта тоже должна работать.
fatman78; MaximusLee; dimisa; +3 Ответить
6. Силиван 10.12.19 10:26 Сейчас в теме
Спасибо! Помогло решить другую задачу.
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день