Имя: Пароль:
1C
 
Как программно выбрать нужный вариант отчета СКД из другой базы?
0 VID1234
 
11.02.22
10:26
Здравствуйте. Друзья, подскажите пожалуйста, как с другой базы выбрать нужный вариант отчета СКД!
У меня такой код, подключение проходит, но как выбрать нужный вариант, не могу сообразить!
ВнешнееСоединение = ПодключитьВнешнийИсточник("Srvr=""buh"";Ref=""zup_test"";Usr=""Администратор"";Pwd=""11111"";");
    СхемаКомпоновкиДанных2 = ВнешнееСоединение.Отчеты.АнализНачисленийИУдержаний.GetTemplate("ОсновнаяСхемаКомпоновкиДанных");
    СхемаКомпоновкиДанных2.SettingVariants("ЗПВыплачено");
1 Гений 1С
 
гуру
11.02.22
10:31
(0) я бы мог поряться, но лень. Я правда через COM-соединение делал.
выгрузи настройки этого варианта в XML и загрузи эту настройку в компоновщик настроек. как вариант
2 vicof
 
11.02.22
10:32
Сеттингс = setiingVariant[0].getsetiings()
3 VID1234
 
11.02.22
10:42
(1) Здравствуйте. Я тоже подключился через COM, а как выгрузить программно! Или выгрузить в конфигураторе в ЗУП, затем загрузить его в БП, присвоить имя, а потом к нему обращаться? Только как загрузить эти настройки в компоновщик настроек?  Я как бы научился (и то не профи), получать данные в СКД, но программно разбираюсь, пока не все понимаю, что да как!
4 VID1234
 
11.02.22
10:44
(2) Здравствуйте. я сделал так ВариантОтчета = СхемаКомпоновкиДанных2.SettingVariants[0].getsetiings(); Но выходит такая ошибка "Получение элемента по индексу для значения не определено"
5 VID1234
 
11.02.22
11:16
(2) Сделал так: ВариантОтчета = СхемаКомпоновкиДанных2.ВариантыНастроек.ЗПВыплачено.Настройки;, только куда теперь это вставить?
6 vicof
 
11.02.22
11:50
Программно скомпоновать отчет с этими настройками, указать параметры, Вывести в какую-то таблицу или табличный документ, передать обратно в базу-исходник. Только нахрена это все...
7 VID1234
 
11.02.22
11:56
(6) Я сделал так:
ВнешнееСоединение = ПодключитьВнешнийИсточник("Srvr=""buh"";Ref=""zup_test"";Usr=""Администратор"";Pwd=""11111"";");
    СхемаКомпоновкиДанных2 = ВнешнееСоединение.Отчеты.АнализНачисленийИУдержаний.GetTemplate("ОсновнаяСхемаКомпоновкиДанных");
    ВариантОтчета = СхемаКомпоновкиДанных2.ВариантыНастроек.ЗПВыплачено.Настройки;
КомпоновщикНастроекНастройки = ВнешнееСоединение.NewObject("КомпоновщикНастроекКомпоновкиДанных");
    ИсточникДоступныхНастроекКомпоновкиДанных =  ВнешнееСоединение.NewObject("ИсточникДоступныхНастроекКомпоновкиДанных",СхемаКомпоновкиДанных2);
    КомпоновщикНастроекНастройки.Инициализировать(ИсточникДоступныхНастроекКомпоновкиДанных);
    КомпоновщикНастроекНастройки.ЗагрузитьНастройки(ВариантОтчета);    
       Настройки = КомпоновщикНастроек.ПолучитьНастройки();
       ПараметрПериод = Настройки.ПараметрыДанных.Элементы.Найти("Период");
       Период = ПараметрПериод.Значение;
КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период", Период);
    КомпоновщикМакета = ВнешнееСоединение.NewObject("КомпоновщикМакетаКомпоновкиДанных");
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных2, КомпоновщикНастроекНастройки.Настройки,,,ВнешнееСоединение.NewObject("ОписаниеТипов", "ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений").Типы().Получить(0));
    ПроцессорКомпоновкиДанных = ВнешнееСоединение.NewObject("ПроцессорКомпоновкиДанных");
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
    
    ПроцессорВывода = ВнешнееСоединение.NewObject("ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений­");
    
    ДанныеТЗ = ВнешнееСоединение.NewObject("ТаблицаЗначений");
Но при выводе "ПроцессорВывода" у меня ошибка: "Произошла исключительная ситуация(платформа): Ошибка компоновки данных, ошибка инициализации, ошибка создания набора данных "НачисленияУдержанияДрокумента" Не найден внешний набор данных "НачислениеУдержанияДокумента"
8 VID1234
 
11.02.22
11:58
(6) Мне нужно разбить сумму по видам затрат на ЗП (Оклад, Премия, Отпуск) в ЗУП эти данные есть, а в БГУ нет, я сделал вариант отчета в ЗУП, теперь мне нужно получить эти данные из той базы. А сам отчет в ЗУП построен не только Набор данных запрос, но и набор данных объект, поэтому я не могу просто взять и запросом выдернуть эти данные из ЗУП!
9 vicof
 
11.02.22
12:24
(8) "не нужно разбить сумму по видам затрат на ЗП (Оклад, Премия, Отпуск)"
Зачем?
10 VID1234
 
11.02.22
13:02
(9) Бухам!
Ошибка? Это не ошибка, это системная функция.