![]() |
![]() |
![]() |
|
Помогите установить отбор в СКД | ☑ | ||
---|---|---|---|---|
0
gusden
22.05.12
✎
17:03
|
Всем доброго времени суток.
Есть отчёт на СКД необходимо выполнить его программно с установленным отбором. Без отбора всё получается, результат заполненная ТЗ, но с отбором результат пустая ТЗ. Вот кусок кода. Что делаю не так? Схема = Отчеты.ДляПокупетелейКнигаЗаказов.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Схема.Параметры.Покупатель.Значение = Поставщик; Настройки = Схема.НастройкиПоУмолчанию; СпЗП = Новый СписокЗначений; СпЗП.ЗагрузитьЗначения(ТЗДок.ВыгрузитьКолонку("Док")); ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЗП"); ЭлементОтбора.ПравоеЗначение= СпЗП[0].Значение; //ЭлементОтбора.ПравоеЗначение= СпЗП; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(Схема,Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ТЗ = Новый ТаблицаЗначений; ПроцессорВывода.УстановитьОбъект(ТЗ); ПроцессорВывода.Вывести(ПроцессорКомпоновки); |
|||
1
Fragster
гуру
22.05.12
✎
17:04
|
не настройки, а компоновщикнастроек
|
|||
2
gusden
22.05.12
✎
17:11
|
(1) компоновщикнастроек это свойство ОтчетОбъект, а как его к КомпоновщикуМакета прикрутить?
|
|||
3
gusden
23.05.12
✎
10:12
|
UP
|
|||
4
gusden
23.05.12
✎
17:45
|
(2) ВОТ ЭТОТ КУСОК КОДА ЗАРАБОТАЛ, НО Я НЕ ПОНИМАЮ ПОЧЕМУ
КнигаЗаказов = Отчеты.ДляПокупетелейКнигаЗаказов.Создать(); Схема = КнигаЗаказов.СхемаКомпоновкиДанных; Схема.Параметры.Покупатель.Значение = Контрагент; КомпоновщикНастроек = КнигаЗаказов.КомпоновщикНастроек; СпЗП = Новый СписокЗначений; СпЗП.ЗагрузитьЗначения(ТЗДок.ВыгрузитьКолонку("Док")); ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы. Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЗП"); ЭлементОтбора.ПравоеЗначение = СпЗП; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(Схема,КомпоновщикНастроек.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ТЗ = Новый ТаблицаЗначений; ПроцессорВывода.УстановитьОбъект(ТЗ); ПроцессорВывода.Вывести(ПроцессорКомпоновки); |
|||
5
Aprobator
23.05.12
✎
17:57
|
(4) такое ощущение, что пол компоновки ЗП - тип список значений.
|
|||
6
Aprobator
23.05.12
✎
17:57
|
пол = поле
|
|||
7
gusden
23.05.12
✎
18:00
|
(5) ЗП документ ссылка и я туда передаю список документов.
|
|||
8
Aprobator
23.05.12
✎
18:07
|
(7) уточню немного. Поле ЗП - есть документ и он проверяется на вхождение в список документов? Тогда видсравнения равно явно не к месту.
|
|||
9
gusden
23.05.12
✎
18:14
|
(8) Да уже исправил там вид сравнение в списке и всё работает
Вопрос в том почему через КомпоновщикНастроек работает, а просто через Найтройки не работает? |
|||
10
Fragster
гуру
23.05.12
✎
19:09
|
(9) да у тебя там вообще дофига кода. правильно юзать Компоновщик, если хочешь что-то туда запихать и СкомпоноватьРезультат. Ну а для отбора - проще таки на форму кинуть таб. поле с данными КомпоновщикНастроек.Настройки.Отбор или как-то так
|
|||
11
gusden
24.05.12
✎
09:33
|
(10) У меня отчёт вызывается из обработки и нужно программно получить результат. Т.е. отбор нужно настроить программно. В общем приму как данное что надо настройки заполнять из МойОтчёт.КомпоновщикНастроек.Настройки, а не из МояСхема.НастройкиПоУмолчанию.
|
|||
12
Coldboy
24.05.12
✎
09:40
|
а вот отбор программно у тебя, а чем тебе отбор по умолчанию в скд не нравится?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |