Имя: Пароль:
1C
1С v8
Получить таблицу значений результатов внешнего отчета
0 lg2marvel
 
05.09.19
10:50
Привет.
Есть внешний отчет на скд. Пытаюсь получить с него данные в таблицу значений - не выходит. Помогите что я длаю не так?

    СсылкаНаОбъект   = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Состояние штатного расписания");    
    ДвоичныеДанные = СсылкаНаОбъект.ХранилищеОбработки.Получить();
    ИмяФайла = ПолучитьИмяВременногоФайла("erf");
    ДвоичныеДанные.Записать(ИмяФайла);        
    ОтчетСостояниеШтатногоРасписания = СсылкаНаОбъект.Создать(ИмяФайла);

Метод объекта не обнаружен (Создать)
1 unenu
 
05.09.19
10:55
вы просто не понимаете что делаете и пытаетесь ввести в заблуждение других.

сначала разберитесь, что вам надо, посмотрите в типовых или сети как делают это надо.

затем, если результата не будет - задавайте вопрос по существу, а не как компиляцию бреда.
2 lg2marvel
 
05.09.19
10:57
СсылкаНаОбъект   = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Состояние штатного расписания");    
    ДвоичныеДанные = СсылкаНаОбъект.ХранилищеОбработки.Получить();
    ИмяФайла = ПолучитьИмяВременногоФайла("erf");
    ДвоичныеДанные.Записать(ИмяФайла);        
    ОтчетСостояниеШтатногоРасписания = ВнешниеОбработки.Создать(ИмяФайла);

получилось.
Только немного не то что мне нужно. Мне нужно дальше установить параметры для СКД

    НастройкиДанныеРасчета = ОтчетСостояниеШтатногоРасписания.СхемаКомпоновкиДанных.ВариантыНастроек.ЗаполненностьШтатногоРасписания.Настройки;    
    ОтчетСостояниеШтатногоРасписания.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиДанныеРасчета);
    НастройкиОтчета = ОтчетСостояниеШтатногоРасписания.КомпоновщикНастроек.ПолучитьНастройки();
    
    ДатаОтчета = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаАктуальности"));
    ДатаОтчета.Значение = ТекущаяДата();
    ДатаОтчета.Использование = истина;

и  вывести это в ТЗ

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетСостояниеШтатногоРасписания.СхемаКомпоновкиДанных, НастройкиОтчета,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    
    // Создадим и инициализируем процессор компоновки.

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

но ошибка
Поле объекта не обнаружено (СхемаКомпоновкиДанных)
    НастройкиДанныеРасчета = ОтчетСостояниеШтатногоРасписания.СхемаКомпоновкиДанных.ВариантыНастроек.ЗаполненностьШтатногоРасписания.Настройки;

(1) возможно, мне нужно получить ОтчетОбъект, как можно получить его при использовании штатного отчета Отчеты.СостояниеШтатногоРасписания.Создать();
3 aleks_default
 
05.09.19
11:14
Описание варианта метода:

Предварительно обработка должна быть подключена методом Подключить.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший