Имя: Пароль:
1C
1С v8
Задание ТЗ параметру СКД
0 Эльфийка1
 
31.05.13
15:47
Доброго времени суток, Уважаемые форумчане!

Подскажите, пож-та, можно ли реализовать следующую операцию.
В шапке формы отчета имеется таблица значений, где перечислены номенклатурные группы, пользователь отметит галочками те, по которым нужно будет сформировать отчет. В запросе СКД указан параметр Субконто2 В (&НоменклатурнаяГруппа). Каким образом можно передать выбранные значения из ТЗ в &НоменклатурнаяГруппа?

Заранее благодарю!
1 Alexaha
 
31.05.13
15:48
установить его в событии при компоновке
2 Эльфийка1
 
31.05.13
15:53
Это как? Т.е. в модуле отчета
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   ОтборПоНоменклатурнойГруппе = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы;
   ПолеНомГруппа = Новый ПараметрКомпоновкиДанных("НоменклатурнаяГруппа");
   
   
КонецПроцедуры

а дальше?((((
3 Maxus43
 
31.05.13
15:56
а можно ТЗ передавать параметром компановки? ТЗ в СКД можно в набор данных "Объект" запихнуть
4 Alexaha
 
31.05.13
15:57
(2) примерно так:
   ТвойПараметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НоменклатурнаяГруппа");
   ТвойПараметр .Использование = Истина;
   ТвойПараметр .Значение = ПолучитьМассивЗначенийИзТЗ(ТЗ)
5 Aprobator
 
31.05.13
16:09
(3) да здесь не ТЗ передать надо, а массив значений походу.
6 Alexaha
 
31.05.13
16:32
(5) ну дык я это и предложил :)
7 Эльфийка1
 
01.06.13
01:50
написала так
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   ОтборПоНоменклатурнойГруппе = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НоменклатурнаяГруппа");
   ОтборПоНоменклатурнойГруппе.Использование = Истина;
   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("НоменклатурнаяГруппа",,"НоменклатурнаяГруппа");
   ТЗ.Очистить();
   ОтборПоНоменклатурнойГруппе.Значение = ПолучитьМассивЗначенийИзТЗ(ТЗ);
   //КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[6].Значение = ПолучитьМассивЗначенийИзТЗ(ТЗ);
   
КонецПроцедуры

Функция ПолучитьМассивЗначенийИзТЗ(ТЗ)
   
   Для каждого строка из Услуги цикл
       если строка.Использовать = Истина тогда
           ТекСтр = ТЗ.Добавить();
           ТекСтр.НоменклатурнаяГруппа = строка.Услуга;
       конецесли;
   конеццикла;

КонецФункции

но Значение не присваивается, ОтборПоНоменклатурнойГруппе.Значение        Неопределено
8 Эльфийка1
 
01.06.13
09:17
SoS!
9 MadHead
 
01.06.13
09:21
параметру признак списка значений поставь в конструкторе СКД на закладке параметры.
10 Славен
 
01.06.13
09:29
Либо массивом, либо передать как внешний источник, и по левому соединению
11 Эльфийка1
 
01.06.13
21:42
ураа!!! получилось.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   ОтборПоНоменклатурнойГруппе = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НоменклатурнаяГруппа");
   ОтборПоНоменклатурнойГруппе.Использование = Истина;
   ТЗ = Новый СписокЗначений;
   Для каждого строка из Услуги цикл
       если строка.Использовать = Истина тогда
           ТЗ.Добавить(строка.Услуга);
       конецесли;
   конеццикла;
   КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[6].Значение = ТЗ;
   
КонецПроцедур
12 Зойч
 
01.06.13
22:04
ТЗ = Новый СписокЗначений

за такое  - убивать, медленно и мучительно
13 zippygrill
 
01.06.13
22:25
Я приду(тем более ты красивая) и сфромирую отчет без галочку. Что будет? :)
14 Эльфийка1
 
01.06.13
23:47
(12) Вам будет легче, если бы было СЗ? ТЗ осталось от старых данных см. выше по ветке, не стала заморачиваться на названиях)))
СПАСИБО Alexaha за (4) и MadHead за (9)!!!
15 Эльфийка1
 
01.06.13
23:47
(13) ничего не будет
16 Garkin
 
01.06.13
23:58
Вместо
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[6].Значение =

сейчас модно использовать

КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(
17 Эльфийка1
 
02.06.13
00:00
Garkin спасибо за совет (16), учту!
18 Эльфийка1
 
02.06.13
00:01
Garkin а можете мне помочь по другому вопросу? ветка "Построчное сложение в СКД". Заранее благодарю))))
Основная теорема систематики: Новые системы плодят новые проблемы.