Программно запустить на выполнение отчет СКД без формы
Как программно запустить на выполнение отчет СКД без форм?
Например, кинем на УФ кнопку, которая будет вызывать ОТЧЕТ.КАДРОВАЯИСТОРИЯСОТРУДНИКОВ (ЗУП 3.1). Каким должен быть код в этом случае? Обработка открывается через Файл-Открыть. Случай с подключаемыми отчетами не рассматриваем! Вариант типа:
ФормаОтчета = ПолучитьФорму("Отчет.КадроваяИсторияСотрудников.ФормаВарианта");
ФормаОтчета.Открыть();
чего-то не катит (форм то, нет!)
Как ?!? Ну, или ссылку где это расписано!
Например, кинем на УФ кнопку, которая будет вызывать ОТЧЕТ.КАДРОВАЯИСТОРИЯСОТРУДНИКОВ (ЗУП 3.1). Каким должен быть код в этом случае? Обработка открывается через Файл-Открыть. Случай с подключаемыми отчетами не рассматриваем! Вариант типа:
ФормаОтчета = ПолучитьФорму("Отчет.КадроваяИсторияСотрудников.ФормаВарианта");
ФормаОтчета.Открыть();
чего-то не катит (форм то, нет!)
Как ?!? Ну, или ссылку где это расписано!
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1)Как-то так:
//Получаем схему из макета
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//Из схемы возьмем настройки по умолчанию
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
//Помещаем в переменную данные о расшифровке данных
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
//Формируем макет, с помощью компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
//Очищаем поле табличного документа
Результат = ЭлементыФормы.Результат;
Результат.Очистить();
//Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Показать
(2)
В условии сказано, что форм в отчете нет. ..... Меня этот ответ не устраивает. Это типовой участок кода, когда результат выводится на имеющуюся в данном отчете форму.
Меня тут посетили мысли: Программно создать общую форму и к ней прикрутить СКД из отчета. (Все равно ведь эта же форма и вызывается.) Только я пока в общих формах не силен. :-(
//Очищаем поле табличного документа
Результат = ЭлементыФормы.Результат;
Результат.Очистить();
Результат = ЭлементыФормы.Результат;
Результат.Очистить();
В условии сказано, что форм в отчете нет. ..... Меня этот ответ не устраивает. Это типовой участок кода, когда результат выводится на имеющуюся в данном отчете форму.
Меня тут посетили мысли: Программно создать общую форму и к ней прикрутить СКД из отчета. (Все равно ведь эта же форма и вызывается.) Только я пока в общих формах не силен. :-(
(3)
Пока вышел таким образом: создал внешний отчет (нужно было по ходу), загрузил в него схему СКД из того отчета и мышкой перетащил общую форму в ФОРМЫ данного внешнего отчета. Все заработало, но это так, костыли и времени занимает не так много.
Если будет более красивое решение, буду рад услышать.
Пока вышел таким образом: создал внешний отчет (нужно было по ходу), загрузил в него схему СКД из того отчета и мышкой перетащил общую форму в ФОРМЫ данного внешнего отчета. Все заработало, но это так, костыли и времени занимает не так много.
Если будет более красивое решение, буду рад услышать.
Чисто для истории, вдруг кому то понадобится и он случайно откроет эту тему.
Нужно использовать ОткрытьФорму. Это в принципе лучше для УФ.
Открываем справку по методу ОткрытьФорму.
Читаем: Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").
Далее в справке перечислены все имена форм по умолчанию.
Для отчета читаем:
Форма (Form) - форма отчета и обработки по умолчанию;
ФормаВарианта (VariantForm) - форма редактирования варианта отчета;
Это работает, программно запускается отчет у которого нет формы.
У вас ФормаВарианта тоже должна работать.
Нужно использовать ОткрытьФорму. Это в принципе лучше для УФ.
Открываем справку по методу ОткрытьФорму.
Читаем: Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").
Далее в справке перечислены все имена форм по умолчанию.
Для отчета читаем:
Форма (Form) - форма отчета и обработки по умолчанию;
ФормаВарианта (VariantForm) - форма редактирования варианта отчета;
Это работает, программно запускается отчет у которого нет формы.
У вас ФормаВарианта тоже должна работать.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)