Имя: Пароль:
1C
1С v8
Несоответствие типов пли подключении к отчету СКД из другой базы!
0 VID1234
 
04.02.22
10:57
Приветствую всех. Мне необходимо разбить сумму кассового расхода по ЗП в БГУ 2.0 по видам расходов (оклад, премия, отпуска, НДФА) и подразделениям. В БГУ таких данных нет, но есть в ЗКГУ. Подключится через COM я смог, даже получилось дернуть данные из регистра, но запрос очень сложный, чтобы получить все данные. Но в ЗКГУ есть отчет на СКД анализНачисленийИУдержаний, который четко находи то что мне нужно! Вот я и хочу обратится к нему, при чем желательно выбрав нужный вариант отчета, но споткнулся еще даже не войдя в отчет!
Вот код:
ВнешнееСоединение = ПодключитьВнешнийИсточник("Srvr=""buhsrv"";Ref=""zup_npc"";Usr=""Администратор"";Pwd=""1598753"";");
    СхемаКомпоновкиДанных = ВнешнееСоединение.Отчеты.АнализНачисленийИУдержаний.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    
    КомпоновщикНастроекНастройки = ВнешнееСоединение.NewObject("КомпоновщикНастроекКомпоновкиДанных");
    ИсточникДоступныхНастроекКомпоновкиДанных =  ВнешнееСоединение.NewObject("ИсточникДоступныхНастроекКомпоновкиДанных",СхемаКомпоновкиДанных);
    КомпоновщикНастроекНастройки.Инициализировать(ИсточникДоступныхНастроекКомпоновкиДанных);
    КомпоновщикНастроекНастройки.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);    
       Настройки = КомпоновщикНастроек.ПолучитьНастройки();
       ПараметрПериод = Настройки.ПараметрыДанных.Элементы.Найти("Период");
       Период = ПараметрПериод.Значение;

    
    КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачалоМесяца(Период.ДатаНачала));
    КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецМесяца(Период.ДатаОкончания));
    
    КомпоновщикМакета = ВнешнееСоединение.NewObject("КомпоновщикМакетаКомпоновкиДанных");
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроекНастройки.Настройки,,,ВнешнееСоединение.NewObject("ОписаниеТипов", "ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений").Типы().Получить(0));
    ПроцессорКомпоновкиДанных = ВнешнееСоединение.NewObject("ПроцессорКомпоновкиДанных");
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
    
    ПроцессорВывода = ВнешнееСоединение.NewObject("ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений­");
    
    ДанныеТЗ = ВнешнееСоединение.NewObject("ТаблицаЗначений");
    
    ПроцессорВывода.УстановитьОбъект(ДанныеТЗ);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);  
На этой строке кода СхемаКомпоновкиДанных = ВнешнееСоединение.Отчеты.АнализНачисленийИУдержаний.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); у меня выходит ошибка "Несоответствие типов", подскажите пожалуйста как поправить!
1 VID1234
 
04.02.22
12:01
С этим разобрался. А это что может значить? Произошла исключительная ситуация (1C:Enterprise 8.3.18.1483): Ошибка компоновки макетаОшибка генерации макетаНе поддерживается вывод таблиц и диаграмм в универсальную коллекцию значений
2 DrShad
 
04.02.22
12:06
нельзя выводить результат отчета в ТЗ если в настройках есть таблица или диаграмма
3 VID1234
 
04.02.22
12:26
(2) Здравствуйте. Это я уже понял, а как можно выйти из ситуации?
4 DrShad
 
04.02.22
12:36
убрать из настроек таблицу или диаграмму
5 VID1234
 
04.02.22
12:38
(4) А как сделать вариант отчета и потом к нему обратиться программно?
6 DrShad
 
04.02.22
12:52
при компоновке результата можешь очистить структуру настроек и прописать свою
7 VID1234
 
04.02.22
12:59
(6) Ок. Спасибо. Попробую!