Имя: Пароль:
1C
 
Что делаю не так? Пытаюсь получить данные из СКД программно, но не выходит!
0 VID1234
 
12.04.22
16:49
Здравствуйте. Пытаюсь получить ТЗ из СКД, с другого самописного отчета, но ничего не выходит!
Что заметил устанавливаю Начало и Конец периода и когда проверяю в отладчике значения, то там дата не такая какая должна быть, допустим дату присваиваю начало и конец 2021 года, а у меня показывает 2022!

ОтчетСтатичтики = Отчеты.СтатистикаПерсонала.ПолучитьМакет("СхемаКомпоновкиДанныхКадры");
        
    КомпоновщикНастроекНатроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроекНатроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ОтчетСтатичтики));
    КомпоновщикНастроекНатроек.ПолучитьНастройки();
    ПараметрНачалоПериод = КомпоновщикНастроекНатроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
    ПараметрНачалоПериод.Использование = Истина;
    ПараметрНачалоПериод.Значение = ДатаНачала;
    КонецНачалоПериод = КомпоновщикНастроекНатроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
    КонецНачалоПериод.Использование = Истина;
    КонецНачалоПериод.Значение = ДатаОкончания;
    //КомпоновщикНастроекНатроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", ДатаНачала);
    //КомпоновщикНастроекНатроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", ДатаОкончания);

    //ПолеОтбора = Новый ПолеКомпоновкиДанных("Сотрудник");
    //ЭлементОтбора = КомпоновщикНастроекНатроек.Настройки.Отбор.Элементы;
    //Для Каждого Эле Из  ЭлементОтбора Цикл
    //    Если Эле.ЛевоеЗначение = ПолеОтбора Тогда
    //        Отбор = Эле;
    //        Прервать;
    //    КонецЕсли;
    //КонецЦикла;
    //
    //Если Отбор = Неопределено Тогда
    //     Отбор = КомпоновщикНастроекНатроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    //     Отбор.ЛевоеЗначение = ПолеОтбора;
    //КонецЕсли;
    //
    //Отбор.Использование = Истина;
    //МассивСотрудников = КопияТЗДляР1.ВыгрузитьКолонку("Сотрудник");
    //Отбор.ПравоеЗначение = МассивСотрудников;
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(ОтчетСтатичтики, КомпоновщикНастроекНатроек.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,,Истина);
    ДанныеТЗССЧР = Новый ТаблицаЗначений;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ПроцессорВывода.УстановитьОбъект(ДанныеТЗССЧР);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
1 VID1234
 
12.04.22
16:56
С датой разобрался, оказывается в настройке параметра СКД было значение в параметре ПериодОтчета Ч начала этого года!! Теперь данный периода правильные, но ТЗ не заполняется! Что может быть?
2 Kassern
 
12.04.22
17:01
(0) если выводить не в ТЗ, то все норм?
3 VID1234
 
12.04.22
17:02
(2) Здравствуйте! А кто его знает! Как это??))))
4 VID1234
 
12.04.22
18:06
Нужно было вставить перед выполнением компоновщика ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьПредставленияЗапросов(ОтчетСтатичтики.НаборыДанных,ОтчетСтатичтики);
Только теперь нужно с параметрами разобраться, если параметры и отборы не устанавливаю, то все формируется, но только я устанавливаю даже период, результат пустой, не могу пока понять почему!
5 Сергиус
 
13.04.22
02:05
(4)Так может за этот период нет результатов?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.