| 
    
        
     
     | 
    
    
  | 
Задание ТЗ параметру СКД | ☑ | ||
|---|---|---|---|---|
| 
    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 а можете мне помочь по другому вопросу? ветка "Построчное сложение в СКД". Заранее благодарю))))     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |