Вход | Регистрация
 

текучесть кадров из нескольких баз

текучесть кадров из нескольких баз
Я
   userqwerty
 
06.02.20 - 10:39
Добрый день, пытаюсь используя типовой отчет через набор данных получить данные с нескольких баз,



    тзСерверИБ = Новый ТаблицаЗначений;
    тзСерверИБ.Колонки.Добавить("Сервер",ОбщегоНазначения.ОписаниеТипаСтрока(100));
    тзСерверИБ.Колонки.Добавить("ИБ",ОбщегоНазначения.ОписаниеТипаСтрока(100));
    
    
    //НовСтр = тзСерверИБ.Добавить();     НовСтр.Сервер="Сервер1";     НовСтр.ИБ="База1";
    
    
    
    тзОтчет = Новый ТаблицаЗначений;
    тзОтчет.Колонки.Добавить("ПринятоВсего",ОбщегоНазначения.ОписаниеТипаСтрока(80));
    тзОтчет.Колонки.Добавить("УволеноВсего",ОбщегоНазначения.ОписаниеТипаСтрока(80));
    тзОтчет.Колонки.Добавить("КоэффициентТекучести",ОбщегоНазначения.ОписаниеТипаСтрока(80));
    тзОтчет.Колонки.Добавить("СредняяЧисленность",ОбщегоНазначения.ОписаниеТипаСтрока(80));
    тзОтчет.Колонки.Добавить("СредняяЧисленностьЗаПериодРаботников",ОбщегоНазначения.ОписаниеТипаСтрока(80));
    тзОтчет.Колонки.Добавить("СредняяЧисленностьРаботников",ОбщегоНазначения.ОписаниеТипаСтрока(80));
    тзОтчет.Колонки.Добавить("Месяц",ОбщегоНазначения.ОписаниеТипаСтрока(100));
    ИнициализироватьОтчет();
    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();

ТЕКСТ ЗАПРОСА



    СтуктураПараметров=новый Структура;
    СтуктураПараметров.Вставить("НачалоПериода", НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода")).Значение.Дата);
    СтуктураПараметров.Вставить("КонецПериода", НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода")).Значение.Дата);
    СтуктураПараметров.Вставить("ИспользоватьШтатноеРасписание",НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ИспользоватьШтатноеРасписание")).Значение);
    //СтуктураПараметров.Вставить("ПериодОтчета",НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ПериодОтчета")).Значение);
    
        Для каждого СтрСерверИБ Из тзСерверИБ Цикл
            
            попытка
                
                СерверНаименование = СокрЛП(СтрСерверИБ.Сервер);
                ИБНаименование = СокрЛП(СтрСерверИБ.ИБ);
                WSСервер = "http://"+СерверНаименование+"/"+ИБНаименование+"/ws/Query_Universal/?wsdl";;
                Определения = новый WSОпределения(WSСервер,Пользователь, Пароль,,100,,не ЗначениеЗаполнено(Пользователь));
                Прокси = Новый WSПрокси(Определения, "http://v8.1c.ru/8.1/data/core";, "Query_Universal", "Query_UniversalSoap",,100,,,не ЗначениеЗаполнено(Пользователь));
                Прокси.Пользователь = Пользователь;
                Прокси.Пароль = Пароль;
                ДанныеОбмена = Прокси.GetResult(ТекстЗапроса,ЗначениеВСтрокуВнутр(СтуктураПараметров),"");
                тз=ЗначениеИзСтрокиВнутр(ДанныеОбмена);
                ЗагрузитьВТаблицуЗначений(тз,тзОтчет);
                
            Исключение
                сообщить(""+СтрСерверИБ.ИБ+" "+ОписаниеОшибки());
            КонецПопытки;
            
        КонецЦикла;
    
    ВнешниеНаборыДанных = Новый Структура;
    ВнешниеНаборыДанных.Вставить("тзОтчет",тзОтчет);
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,ДанныеРасшифровки);
    ДокументРезультат.Очистить();
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);

ВЫДАЕТ ПУСТОЙ РЕЗУЛЬТАТ, МОЖЕТ КТО ПОМОЖЕТ, МОЖЕТ КТО-ТО ДЕЛАЛ ТАКОЕ?
 
 
   Greeen
 
1 - 06.02.20 - 10:57
ДанныеОбмена = Прокси.GetResult(ТекстЗапроса,ЗначениеВСтрокуВнутр(СтуктураПараметров),"");
В ДанныеОбмена что то попадает?
   userqwerty
 
2 - 06.02.20 - 11:48
(1) в том то и дело, ничего, там должен быть уже результат запроса.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.