Имя: Пароль:
1C
1С v8
Кто-нибудь программно формировал типовые отчеты на конфигурациях 3.0 ?
0 Skylark
 
14.12.15
11:21
Пытаюсь программно сформировать табель Т-13 в ЗУП3.0
Для ЗУП2.5 сравнительно просто получилось, а тут не выходит.

Делаю так:

Функция Т13(парам_Нач, парам_Кон, парам_СписокПодразделений, парам_СписокСотрудников,
            парам_ВидСравненияПодр, парам_ВидСравненияСотр, парам_ГруппироватьПодразделения)
    
    л_ТабДок = Новый ТабличныйДокумент;
    
    л_Т13 = Отчеты.УнифицированнаяФормаТ13.Создать();
    
    л_ПериодОтчета = Новый СтандартныйПериод;
    л_ПериодОтчета.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод;
    л_ПериодОтчета.ДатаНачала = парам_Нач;
    л_ПериодОтчета.ДатаОкончания = парам_Кон;
    
    л_Т13.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0].Значение = л_ПериодОтчета;
    л_Т13.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[9].Значение = парам_ГруппироватьПодразделения;
    л_Т13.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[15].Значение = "УнифицированнаяФормаТ13";
    
    л_Т13.КомпоновщикНастроек.Настройки.Отбор.Элементы[3].ВидСравнения = парам_ВидСравненияСотр;
    л_Т13.КомпоновщикНастроек.Настройки.Отбор.Элементы[3].Использование = Истина;
    л_Т13.КомпоновщикНастроек.Настройки.Отбор.Элементы[3].ПравоеЗначение = парам_СписокСотрудников;
    л_Т13.СкомпоноватьРезультат(л_ТабДок);
    
    Возврат л_ТабДок;

КонецФункции
1 Господин ПЖ
 
14.12.15
11:22
> а тут не выходит.

включи мозг и делай по другому
2 Cyberhawk
 
14.12.15
11:22
"Элементы[15]" // расстрелять
3 Skylark
 
14.12.15
11:25
(2) Да ладно, это же пристрелка
4 Skylark
 
15.12.15
17:31
Снобы. Так бы и признались, что не знаете.

А у меня всё получилось.

    л_Т13 = Отчеты.УнифицированнаяФормаТ13.Создать();
    
    л_Т13.СхемаКомпоновкиДанных.Параметры.ПериодОтчета.Значение = Новый СтандартныйПериод;
    л_Т13.СхемаКомпоновкиДанных.Параметры.ПериодОтчета.Значение.ДатаНачала = парам_Нач;
    л_Т13.СхемаКомпоновкиДанных.Параметры.ПериодОтчета.Значение.ДатаОкончания = парам_Кон;
    
    л_Т13.СхемаКомпоновкиДанных.Параметры.ВыводитьВРазрезеПодразделений.Значение = Истина;    
    
    Для каждого л_ЭлОтбора из л_Т13.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
        Если л_ЭлОтбора.ПредставлениеПользовательскойНастройки = "Сотрудники" Тогда
            Если парам_СписокСотрудников.Количество() > 0 Тогда
                л_ЭлОтбора.ВидСравнения = парам_ВидСравненияСотр;
                л_ЭлОтбора.Использование = Истина;
                л_ЭлОтбора.ПравоеЗначение = парам_СписокСотрудников;
            КонецЕсли;    
        КонецЕсли;
        Если л_ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПодразделениеОтбор") Тогда    
            Если парам_СписокПодразделений.Количество() > 0 Тогда
                л_ЭлОтбора.ВидСравнения = парам_ВидСравненияПодр;
                л_ЭлОтбора.Использование = Истина;
                л_ЭлОтбора.ПравоеЗначение = парам_СписокПодразделений;
            КонецЕсли;    
        КонецЕсли;        
    КонецЦикла;    
    
    л_Т13.СкомпоноватьРезультат(л_ТабДок);
5 Skylark
 
15.12.15
17:32
Отборы работают.

Группировка по подразделениям только что-то не хочет. Фигачит всех подряд.