Всем привет!
По причине моей неопытности возникают вопросы, которые, наверняка, решаются очень просто, но я не представляю как.
И так. Ситуация:
Есть внешний отчет на СКД. Мне нужно, каким-то образом его сформировать с заполнением параметров и отборов, а результат выгрузить в excel...
все что я осилил на текущий момент:
По причине моей неопытности возникают вопросы, которые, наверняка, решаются очень просто, но я не представляю как.
И так. Ситуация:
Есть внешний отчет на СКД. Мне нужно, каким-то образом его сформировать с заполнением параметров и отборов, а результат выгрузить в excel...
все что я осилил на текущий момент:
Схема = Отчеты._ЗадолженностьПоИнтерваламФИФО_42.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
КомпоновщикНастроекНастройки = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроекНастройки.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема));
КомпоновщикНастроекНастройки.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию);
КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата", НачалоДня(ТекущаяДата()));
НовыйЭлементОтбора = КомпоновщикНастроекНастройки.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = КомпоновщикНастроекНастройки.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Организация")).Поле;
НовыйЭлементОтбора.ПравоеЗначение = "Андромеда Сервис";
НовыйЭлементОтбора = КомпоновщикНастроекНастройки.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = КомпоновщикНастроекНастройки.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Партнер")).Поле;
НовыйЭлементОтбора.ПравоеЗначение = "Электро";
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Схема, КомпоновщикНастроекНастройки.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанных"));
ПоказатьПо теме из базы знаний
- Отчёт на разных листах (а-ля EXCEL), управляемые формы + выгрузка в Excel без COM
- Выгрузка в Excel прайс-листа с картинками, остатками и произвольным количеством видов цен
- [Расширение] Прайс-лист, прайс-заказ с картинками, с выгрузкой в Excel с подстановкой формул для вычисления итогов по сумме заказа для УТ 11.5
- Быстрая выгрузка в Excel с оформлением (числа, даты, колонтитулы, гиперссылки) через OpenXML
- [Расширение] Прайс-лист, прайс-заказ с картинками, с выгрузкой в Excel, с подстановкой формул для вычисления итогов по сумме заказа для Розница 3.0, УНФ 3.0
Найденные решения
Отчет = Отчеты.МойОтчет.Создать();
Отчет.КомпоновщикНастроек.УстановитьЧто-то-тамПараметры("Параметр", Значение);
// ...
Таблица = Отчет.Сформировать();
Таблица.Записать("моййоксель.xlsx", что-то-тамТипДанныхТабличногоДокумента.XLSX);
Как-то так. Если заюзать синтаксис-помощник, то за минуты три делается.
ЗЫ: Нахрена народ для простых вещей все эти "парагенераторы" процессоров компоновки, вывода и прочую шелуху юзают? Статью что-ли написать, как отчет сформировать программно без всего этого г-на...
(16) метода объекта Сформировать нет)))
поэтому немного переписал все это вот в такое:
однако же... получил ровно тоже самое... файл с пустой формой отчета... без данных....
поэтому немного переписал все это вот в такое:
Отчет = Отчеты._ЗадолженностьПоИнтерваламФИФО_42.Создать();
Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата", НачалоДня(ТекущаяДата()));
НовыйЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Организация")).Поле;
НовыйЭлементОтбора.ПравоеЗначение = "Андромеда Сервис";
НовыйЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Партнер")).Поле;
НовыйЭлементОтбора.ПравоеЗначение = "Электро";
Таб1 = Новый ТабличныйДокумент;
Отчет.СкомпоноватьРезультат(Таб1);
Таб1.Записать("C:\Users\Morogov\Desktop\Обработки и отчеты\ERP\Отчет3.xls",ТипФайлаТабличногоДокумента.XLS);
Показатьоднако же... получил ровно тоже самое... файл с пустой формой отчета... без данных....
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) РАЗОБРАЛСЯ!
Ваши сообщения натолкнули меня на решение:
Ваши сообщения натолкнули меня на решение:
Схема = Отчеты._ЗадолженностьПоИнтерваламФИФО_42.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
КомпоновщикНастроекНастройки = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроекНастройки.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема));
КомпоновщикНастроекНастройки.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию);
КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата", НачалоДня(ТекущаяДата()));
НовыйЭлементОтбора = КомпоновщикНастроекНастройки.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = КомпоновщикНастроекНастройки.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Организация")).Поле;
НовыйЭлементОтбора.ПравоеЗначение = "Андромеда Сервис";
НовыйЭлементОтбора = КомпоновщикНастроекНастройки.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = КомпоновщикНастроекНастройки.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Партнер")).Поле;
НовыйЭлементОтбора.ПравоеЗначение = "Электро";
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Схема, КомпоновщикНастроекНастройки.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанных"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ДанныеТЗ = Новый ТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДанныеТЗ);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ДанныеТЗ.Записать("C:\Users\Morogov\Desktop\Обработки и отчеты\ERP\Отчет.xls",ТипФайлаТабличногоДокумента.XLS);
ПоказатьОтчет = Отчеты.МойОтчет.Создать();
Отчет.КомпоновщикНастроек.УстановитьЧто-то-тамПараметры("Параметр", Значение);
// ...
Таблица = Отчет.Сформировать();
Таблица.Записать("моййоксель.xlsx", что-то-тамТипДанныхТабличногоДокумента.XLSX);
Как-то так. Если заюзать синтаксис-помощник, то за минуты три делается.
ЗЫ: Нахрена народ для простых вещей все эти "парагенераторы" процессоров компоновки, вывода и прочую шелуху юзают? Статью что-ли написать, как отчет сформировать программно без всего этого г-на...
(16) метода объекта Сформировать нет)))
поэтому немного переписал все это вот в такое:
однако же... получил ровно тоже самое... файл с пустой формой отчета... без данных....
поэтому немного переписал все это вот в такое:
Отчет = Отчеты._ЗадолженностьПоИнтерваламФИФО_42.Создать();
Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата", НачалоДня(ТекущаяДата()));
НовыйЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Организация")).Поле;
НовыйЭлементОтбора.ПравоеЗначение = "Андромеда Сервис";
НовыйЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных("Партнер")).Поле;
НовыйЭлементОтбора.ПравоеЗначение = "Электро";
Таб1 = Новый ТабличныйДокумент;
Отчет.СкомпоноватьРезультат(Таб1);
Таб1.Записать("C:\Users\Morogov\Desktop\Обработки и отчеты\ERP\Отчет3.xls",ТипФайлаТабличногоДокумента.XLS);
Показатьоднако же... получил ровно тоже самое... файл с пустой формой отчета... без данных....
(18) для совсем ленивых:
(17) Ну вот, можешь ведь! )))
Отчет = отчеты._МойСуперПуперОтчет.Создать();
Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Параметр1", Значение1);
Макет = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы.Найти("МакетОформления");
Макет.Использование = Истина;
Макет.Значение = "Арктика";
Отчет.СкомпоноватьРезультат( Результат );
Результат.Записать("Файло.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот