Имя: Пароль:
1C
 
СКД можно ли использовать в Обработке
0 run_00
 
07.12.08
14:55
Хочу использовать СКД в обработке.
Сделал макет с типом СКД.
Вывожу результат в табличное поле.
работает.

Начал передавать параметры.
Не могу понять как это сделать. Перепробовал уже много варианов.

Например:

ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода"));

Ошибка. Переменная не определена (КомпоновщикНастроек)
1 Garkin
 
07.12.08
15:06
(0) Можно, но зачем?
чем отчет не угодил?
2 run_00
 
07.12.08
15:34
(1)  А как это сделать в обработке?

С отбором получилось обойтись без КомпоновщикНастроек.

   СхемаКомпоновкиДанных = ПолучитьМакет("Макет");
   Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
   Если НЕ ФизЛицо.Пустая() Тогда
   ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип "ЭлементОтбораКомпоновкиДанных"));
   ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ФизическоеЛицо");
   ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
   ЭлементОтбора.ПравоеЗначение = ДеньгиФизЛицо;
   КонецЕсли;

А вот с параметрами ни как.
3 Garkin
 
07.12.08
15:58
(2) да точно также как и с отбором

ПараметрДанных=Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДанных.Использование=ИспользованиеПараметра;
ПараметрДанных.Значение=ЗначениеПараметра;

Зы: Синтаксис не проверял
4 Garkin
 
07.12.08
16:07
(2) для общего развития посмотри "ТиповойОтчет" в типовой бухии,
в частности в общих формах "ФормаНастройкиКомпановщикаНастроек" посмотри как там прикручен "КомпоновщикНастроек"
5 Bober
 
07.12.08
16:11
(0) в этом случае все придется делать кодов,
- создавать схему из макета обработки
- настраивать
и тд
6 run_00
 
07.12.08
16:40
(3) не работает.

ПараметрДанных.Значение    значение = Неопределено
7 run_00
 
07.12.08
16:41
(5) все работает (тестовый отчет) пока не начал использовать параметры.
8 Garkin
 
07.12.08
17:01
(6) да, действительно :)

Попробуй просто

СхемаКомпоновкиДанных.Параметры.НачалоПериода.Значение=ЗначениеПараметра;
9 run_00
 
07.12.08
17:24
(8) Сделал. В отладчике видно что устанавливает.
Но в отчете не участвует.
Думаю дело в этой строке:

   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, [b]Настройки[/b], ДанныеРасшифровки);

Как то нужно установить параметры в Настройки.
10 Garkin
 
07.12.08
17:41
(9) ладно, делаем все как у взрослых:

В макете СКД на закладке "Настройки" закладка "Параметры данных" перед названием параметров ставим птицу.
и возвращаемся к (3)
11 run_00
 
07.12.08
18:03
(10) то же самое, значение = Неопределено

Если делать в отчете новую Форму, в ней есть опция "Использовать систему компановки данных"

В обработке такого нет.

Возращаясь к (0). А вообще можно это сделать в обработке?

Хочу сделать обработку "рабочий стол" как в "бухгалтерии".
12 Garkin
 
07.12.08
18:42
"Возращаясь к (0) " - да можно.
Для этого медитируем над (10) до просветления.

Если по истечении 30 минут просветление не наступило то
строчку
ПараметрДанных=Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
в (3) меняем на

ПараметрДанных=Настройки.ПараметрыДанных.Элементы.Добавить();
ПараметрДанных.Параметр= Новый ПараметрКомпоновкиДанных("НачалоПериода");  

:)
13 run_00
 
07.12.08
19:07
(12) спасибо, заработало!