Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

При программном формировании отчета данные не выводятся в табличный документ

При программном формировании отчета данные не выводятся в табличный документ
Я
   Aydar
 
08.04.20 - 15:10
Добрый день!
Пытаюсь программно запустить отчет "ОтчетПоПроводкам" (это стандартный отчет) и выводить данные в табличный документ, но в результате табличный документ пустой (если отчет формирую интерактивно данные есть).
Подскажите, пожалуйста, где ошибка или где что нужно дописать?
Пишу следующий код:

ПараметрыОтчетаПоПроводкам = ПодготовитьПараметрыОтчетаПоПроводкам(ЭлементКраткиеИменаОрганизаций.Ключ, ВидОтчета.ТаблицаКорреспонденций);
АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
БухгалтерскиеОтчетыВызовСервера.СформироватьОтчет(ПараметрыОтчета, АдресХранилища);

СтруктураРезультат = ПолучитьИзВременногоХранилища(АдресХранилища);
ТабличныйДокумент = СтруктураРезультат.Результат;
ТабличныйДокумент.Показать();

&НаСервере
Функция ПодготовитьПараметрыОтчетаПоПроводкам(Организация)

    НовыйОтчет = Отчеты["ОтчетПоПроводкам"].Создать();
    ПараметрыОтчета = Новый Структура;
    
    ПараметрыОтчета.Вставить("Организация"                      , Организация);
    ПараметрыОтчета.Вставить("НачалоПериода"                    , Период.ДатаНачала);
    ПараметрыОтчета.Вставить("КонецПериода"                     , Период.ДатаОкончания);
    ПараметрыОтчета.Вставить("ВключатьОбособленныеПодразделения", Ложь);
    ПараметрыОтчета.Вставить("ПоказательБУ"                     , Истина);
    ПараметрыОтчета.Вставить("ПоказательНУ"                     , Ложь);
    ПараметрыОтчета.Вставить("ПоказательПР"                     , Ложь);
    ПараметрыОтчета.Вставить("ПоказательВР"                     , Ложь);
    ПараметрыОтчета.Вставить("ПоказательВалютнаяСумма"          , Ложь);
    ПараметрыОтчета.Вставить("ПоказательКоличество"             , Ложь);
    ПараметрыОтчета.Вставить("РежимРасшифровки"                 , Ложь);
    ПараметрыОтчета.Вставить("ВыводитьЗаголовок"                , Истина);
    ПараметрыОтчета.Вставить("ВыводитьПодвал"                   , Ложь);
    ПараметрыОтчета.Вставить("ДанныеРасшифровки"                , Неопределено);
    ПараметрыОтчета.Вставить("МакетОформления"                  , "МакетОформленияОтчетовЗеленый");    
    ПараметрыОтчета.Вставить("СхемаКомпоновкиДанных"            , НовыйОтчет.ПолучитьМакет("СхемаКомпоновкиДанных"));
    ПараметрыОтчета.Вставить("ИдентификаторОтчета"              , "ОтчетПоПроводкам");
    ПараметрыОтчета.Вставить("НастройкиКомпоновкиДанных"        , НовыйОтчет.КомпоновщикНастроек.ПолучитьНастройки());
    ПараметрыОтчета.Вставить("НаборПоказателей"                 , Отчеты["ОтчетПоПроводкам"].ПолучитьНаборПоказателей());
    ПараметрыОтчета.Вставить("ОтветственноеЛицо"                , Перечисления.ОтветственныеЛицаОрганизаций.ОтветственныйЗаБухгалтерскиеРегистры);
    ПараметрыОтчета.Вставить("ВыводитьЕдиницуИзмерения"         , Ложь);
    
    
    Возврат ПараметрыОтчета;
    
КонецФункции
   Renat11111
 
1 - 08.04.20 - 15:23
ПараметрФормы = Новый Структура("СформироватьПриОткрытии", Истина);
   Renat11111
 
2 - 08.04.20 - 15:23
Отчеты["ОтчетПоПроводкам"].Создать(); 

И кстати по-моему через открыть ОткрытьФорму рекомендуют....
   Aydar
 
3 - 08.04.20 - 15:34
(2) мне не нужно открывать форму отчета. я хочу программно запустить и получить результат
   Михаил Козлов
 
4 - 08.04.20 - 20:02
Я не дока в СКД, но так работает:
отчет = Отчеты.ЗадолженностьКлиентов.Создать();
СхемаКомпоновкиДанных=Отчеты.ЗадолженностьКлиентов.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек.ЗадолженностьКлиентовПричиныЗапретаОтгрузки.Настройки);
настройки = отчет.КомпоновщикНастроек.Настройки;
настройки.ДополнительныеСвойства.Вставить("КлючВарианта", "ЗадолженностьКлиентовПричиныЗапретаОтгрузки");
//фильтр по договору 

ЭлементОтбора = Отчет.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); 
ПолеКомпановки = Новый ПолеКомпоновкиДанных("Договор"); 
ЭлементОтбора.ЛевоеЗначение = ПолеКомпановки; 
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; 
ЭлементОтбора.ПравоеЗначение = Объект.Заказ.Договор; 
ЭлементОтбора.Использование = Истина;     
    
отчет.СкомпоноватьРезультат(Объект.ТабДок, НЕОПРЕДЕЛЕНО);
   Aydar
 
5 - 09.04.20 - 10:38
(4) спасибо, это то что нужно)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.