Aydar 08.04.20 - 15:10 | Добрый день!
Пытаюсь программно запустить отчет "ОтчетПоПроводкам" (это стандартный отчет) и выводить данные в табличный документ, но в результате табличный документ пустой (если отчет формирую интерактивно данные есть).
Подскажите, пожалуйста, где ошибка или где что нужно дописать?
Пишу следующий код:
ПараметрыОтчетаПоПроводкам = ПодготовитьПараметрыОтчетаПоПроводкам(ЭлементКраткиеИменаОрганизаций.Ключ, ВидОтчета.ТаблицаКорреспонденций);
АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
БухгалтерскиеОтчетыВызовСервера.СформироватьОтчет(ПараметрыОтчета, АдресХранилища);
СтруктураРезультат = ПолучитьИзВременногоХранилища(АдресХранилища);
ТабличныйДокумент = СтруктураРезультат.Результат;
ТабличныйДокумент.Показать();
&НаСервере
Функция ПодготовитьПараметрыОтчетаПоПроводкам(Организация)
НовыйОтчет = Отчеты["ОтчетПоПроводкам"].Создать();
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("Организация" , Организация);
ПараметрыОтчета.Вставить("НачалоПериода" , Период.ДатаНачала);
ПараметрыОтчета.Вставить("КонецПериода" , Период.ДатаОкончания);
ПараметрыОтчета.Вставить("ВключатьОбособленныеПодразделения", Ложь);
ПараметрыОтчета.Вставить("ПоказательБУ" , Истина);
ПараметрыОтчета.Вставить("ПоказательНУ" , Ложь);
ПараметрыОтчета.Вставить("ПоказательПР" , Ложь);
ПараметрыОтчета.Вставить("ПоказательВР" , Ложь);
ПараметрыОтчета.Вставить("ПоказательВалютнаяСумма" , Ложь);
ПараметрыОтчета.Вставить("ПоказательКоличество" , Ложь);
ПараметрыОтчета.Вставить("РежимРасшифровки" , Ложь);
ПараметрыОтчета.Вставить("ВыводитьЗаголовок" , Истина);
ПараметрыОтчета.Вставить("ВыводитьПодвал" , Ложь);
ПараметрыОтчета.Вставить("ДанныеРасшифровки" , Неопределено);
ПараметрыОтчета.Вставить("МакетОформления" , "МакетОформленияОтчетовЗеленый");
ПараметрыОтчета.Вставить("СхемаКомпоновкиДанных" , НовыйОтчет.ПолучитьМакет("СхемаКомпоновкиДанных"));
ПараметрыОтчета.Вставить("ИдентификаторОтчета" , "ОтчетПоПроводкам");
ПараметрыОтчета.Вставить("НастройкиКомпоновкиДанных" , НовыйОтчет.КомпоновщикНастроек.ПолучитьНастройки());
ПараметрыОтчета.Вставить("НаборПоказателей" , Отчеты["ОтчетПоПроводкам"].ПолучитьНаборПоказателей());
ПараметрыОтчета.Вставить("ОтветственноеЛицо" , Перечисления.ОтветственныеЛицаОрганизаций.ОтветственныйЗаБухгалтерскиеРегистры);
ПараметрыОтчета.Вставить("ВыводитьЕдиницуИзмерения" , Ложь);
Возврат ПараметрыОтчета;
КонецФункции |
Михаил Козлов 4 - 08.04.20 - 20:02 | Я не дока в СКД, но так работает:
отчет = Отчеты.ЗадолженностьКлиентов.Создать();
СхемаКомпоновкиДанных=Отчеты.ЗадолженностьКлиентов.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек.ЗадолженностьКлиентовПричиныЗапретаОтгрузки.Настройки);
настройки = отчет.КомпоновщикНастроек.Настройки;
настройки.ДополнительныеСвойства.Вставить("КлючВарианта", "ЗадолженностьКлиентовПричиныЗапретаОтгрузки");
//фильтр по договору
ЭлементОтбора = Отчет.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПолеКомпановки = Новый ПолеКомпоновкиДанных("Договор");
ЭлементОтбора.ЛевоеЗначение = ПолеКомпановки;
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Объект.Заказ.Договор;
ЭлементОтбора.Использование = Истина;
отчет.СкомпоноватьРезультат(Объект.ТабДок, НЕОПРЕДЕЛЕНО); |