|
Создать программно СКД | ☑ | ||
---|---|---|---|---|
0
MadFatCat
23.05.13
✎
19:49
|
Всем привет.
ЗиК 8.2 Нужно программно создать отчет в СКД. Текст моего запроса ЫБРАТЬ РАЗРЕШЕННЫЕ РаботникиОрганизацийСрезПоследних.Сотрудник, РаботникиОрганизацийСрезПоследних.Организация, РаботникиОрганизацийСрезПоследних.Должность, РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок, РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации, СотрудникиОрганизаций.ВидЗанятости ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(, ) КАК РаботникиОрганизацийСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций ПО РаботникиОрганизацийСрезПоследних.Сотрудник = СотрудникиОрганизаций.Ссылка В верхнее поле будет выводиться сам отчет. В левом нижнем происходит отбор(он работает). В правом нижнем должно происходить выбор(в табличном поле) по группировкам, самое верхнее поле 1й уровень, второе поле 2й уровень и тд. Почему именно так надо, потому что так сказали. Проблема в том что не могу сформировать это дело программно. Первый раз делаю. Вот корявый мой код, который работает хреново. Процедура Кнопка2Нажатие(Элемент) Группировка = ОтчетОбъект.КомпоновщикНастроек.Настройки.Порядок.Элементы; Группировка.Очистить(); ВыбранныеПоля = ОтчетОбъект.КомпоновщикНастроек.Настройки.Выбор.Элементы; ВыбранныеПоля.Очистить(); СформироватьГруппировку(); СформироватьПоля(); КонецПроцедуры Процедура СформироватьГруппировку() Сообщить("Группировка"); Для е = 0 По тпГруппировки.Количество() - 1 Цикл стр = тпГруппировки[е]; Если стр.Выбор Тогда Сообщить(стр.Группировка); ТиповыеОтчеты.ДобавитьГруппировку(ОтчетОбъект.КомпоновщикНастроек, стр.Группировка); КонецЕсли; КонецЦикла; КонецПроцедуры Процедура СформироватьПоля() Сообщить("Поля"); Для е = 0 По тпГруппировки.Количество() - 1 Цикл стр = тпГруппировки[е]; Если стр.Выбор Тогда ТиповыеОтчеты.ДобавитьВыбранноеПоле(ОтчетОбъект.КомпоновщикНастроек, стр.Группировка); Сообщить(стр.Группировка); КонецЕсли; КонецЦикла; Для е = 0 По тпГруппировки.Количество() - 1 Цикл стр = тпГруппировки[е]; Если не стр.Выбор Тогда ТиповыеОтчеты.ДобавитьВыбранноеПоле(ОтчетОбъект.КомпоновщикНастроек, стр.Группировка); Сообщить(стр.Группировка); КонецЕсли; КонецЦикла; КонецПроцедуры Процедура ПриОткрытии() стр = тпГруппировки.Добавить(); стр.Группировка = "Организация"; стр = тпГруппировки.Добавить(); стр.Группировка = "ПодразделениеОрганизации"; стр = тпГруппировки.Добавить(); стр.Группировка = "Сотрудник"; стр = тпГруппировки.Добавить(); стр.Группировка = "Должность"; стр = тпГруппировки.Добавить(); КонецПроцедуры По идее с начало я заполняю группировку, затем детальные записи, в общем это все дело не работает. Как это сделать? |
|||
1
Vesa
24.05.13
✎
08:33
|
||||
2
zippygrill
24.05.13
✎
08:47
|
ну зачем все это извращение?
|
|||
3
1Сергей
24.05.13
✎
08:48
|
СКД гамно
|
|||
4
scanduta
24.05.13
✎
08:50
|
А в чем проблема создать маке с типом "Схема компоновки данных" и программно вызывать его передавая параметры
|
|||
5
scanduta
24.05.13
✎
08:51
|
ТО есть сначала в конфигураторе создаете макет, в режиме конфигуратора настраиваете СКД. Потом вызываете программно макет исполняеете его. Получаеете результат
|
|||
6
wowik
24.05.13
✎
09:02
|
(3) согласен
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |