|
Подскажите по отчету в 8.3 | ☑ | ||
---|---|---|---|---|
0
Sun125
25.03.15
✎
11:31
|
Был отчет в 8.2. На форме отчета была возможность отбора по физ.лицу, причем отбор с возможностью выбрать "В списке", "В иерархии" и пр.
На форме это 2 элемента: ВидСравненияФизЛицо - Тип "Системные перечисления.ВидСравнения" ФизЛицо - Тип "СписокЗначений, СправочникСсылка.ФизическиеЛица". Как такое можно организовать в 8.3? На форме пытаюсь добавить элемент "ВидСравненияФизЛицо", но типа "Системные перечисления.ВидСравнения" нет. Подскажите,пожалуйста, как быть? |
|||
1
Sun125
25.03.15
✎
11:46
|
Может есть примеры в типовых?
|
|||
2
D_E_S_131
25.03.15
✎
11:58
|
Имеется в виду, что на 8.2 отчет был сделан через какой-нибудь "Универсальный" на Построителе, а 8.3 теперь заставляет СКД использовать?
|
|||
3
Sun125
25.03.15
✎
12:15
|
(2) Не совсем.
В обычном простом отчете было 2 реквизита: ВидСравненияФизЛицо - Тип "Системные перечисления.ВидСравнения" ФизЛицо - Тип "СписокЗначений, СправочникСсылка.ФизическиеЛица". Реквизиты добавлены на форму. Был обработчик ПриИзменении реквизита "ВидСравненияФизЛицо": Если выбрали "В списке", то тип значения Физ.лицо = СправочникСсылка.ФизическиеЛица. Если выбрали "Равно", то тип значения Физ.лицо = СписокЗначения. Дальше менялся текст запроса в зависимости от того, выбрали "В списке" ИЛИ "Равно". Это все прописано программно. |
|||
4
Sun125
25.03.15
✎
12:16
|
Без всяких построителей, вот такой примитивный отбор
|
|||
5
Sun125
25.03.15
✎
12:32
|
Сделал в 8.3 по-другому:
Добавил на форму реквизит "МойОтбор" типа "КомпоновщикНастроекКомпоновкиДанных.настройки.Отбор". Создал макет СКД "МакетОтбор", куда поместил свой запрос. ПриСозданииНаСервере() ОбъектТМП = РеквизитФормыВЗначение("Отчет"); СхемаКомпоновки = ОбъектТМП.ПолучитьМакет("МакетОтбор");//Ваша схема может называться как угодно НастройкиКомпоновки = СхемаКомпоновки.НастройкиПоУмолчанию; Адрес = Новый УникальныйИдентификатор(); URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновки, Адрес); ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы); НовыйОтбор.Инициализировать(ИсточникНастроек); НовыйОтбор.ЗагрузитьНастройки(НастройкиКомпоновки); Как теперь вытащить результат запроса после отбора? Не могу понять |
|||
6
nordbox
25.03.15
✎
12:37
|
Я дико извиняюсь, а вот
>>НовыйОтбор Это что и где? |
|||
7
Sun125
25.03.15
✎
13:18
|
(6) МойОтбор.Инициализировать(ИсточникНастроек);
МойОтбор.ЗагрузитьНастройки(НастройкиКомпоновки); |
|||
8
Sun125
25.03.15
✎
13:25
|
(7) Сам по себе отбор работает на форме. Но как мне получить результат отбора?
|
|||
9
hhhh
25.03.15
✎
13:25
|
(7) в общем всё это выкиньте. в 8.3 такая фишка: ни одной строчки кода. Описываете схему компоновки данных и всё. Остальное стандартное, там есть все отборы. Форму не нужно создавать. Ничего не нужно.
|
|||
10
Sun125
25.03.15
✎
13:28
|
(9) У меня отчет со своим сложным макетом. И вывод данных в Табличный документ мне нужно описать программно
|
|||
11
hhhh
25.03.15
✎
13:29
|
(10) это всё можно в СКД сделать. И макеты там есть. Выкиньте этот свой план.
|
|||
12
Sun125
25.03.15
✎
13:37
|
(11) Пользователь не должен лазить в Настройки отчета СКД, искать там закладку отбор. Все должно быть на форме. Как тут без формы и без кода?
|
|||
13
D_E_S_131
25.03.15
✎
13:40
|
(12) "Все должно быть на форме." — и все прекрасно на форму из настроек СКД вытаскивается.
|
|||
14
hhhh
25.03.15
✎
14:26
|
(12) ну откройте любой отчет в Бух 3.0 или в УТ 11. Уж они посложнее вашего. Оборотно-сальдовые ведомости всякие. Пользователи спокойно работают. Ну то есть вы спрашивали как в 8.3 делается, я поделился, но если вы свою древнюю настройку из 8.1 туда подпихнете, думаю ничего страшного не случится.
|
|||
15
Sun125
25.03.15
✎
22:44
|
Пытаюсь получить результат так:
ОбъектТМП = РеквизитФормыВЗначение("Отчет"); СхемаКомпоновки = ОбъектТМП.ПолучитьМакет("МакетОтбор");//Ваша схема может называться как угодно КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; НастройкиКомпоновкиДанных = НовыйОтбор.ПолучитьНастройки(); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновкиДанных,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; Таблица = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Таблица почему-то пустая. Может что не так делаю? |
|||
16
Sun125
25.03.15
✎
22:45
|
(15) Аа..все,понял в чем ошибка. В СКД в выбранные поля не добавл.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |