Кто-нибудь программно формировал типовые отчеты на конфигурациях 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
Отборы работают.
Группировка по подразделениям только что-то не хочет. Фигачит всех подряд.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший