Имя: Пароль:
1C
1С v8
СКД при формировании расшифровки получить параметры
0 Aswed
 
07.08.12
16:31
Формирую отчет в СКД.
Теперь пишу его расшифровку. В расшифровке идёт ссылка на элемент справочника.

Как мне при обработке расшифровки получить параметры сформированного отчета?
1 le_
 
07.08.12
16:34
Какие параметры? Параметры расшифровки?
2 Aswed
 
07.08.12
16:37
(1) Нет.
Тут мне конкретно надо получать период отчета. Даты за который он формируется.
3 le_
 
07.08.12
16:39
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0]
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1]
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[2]
...
4 Aswed
 
07.08.12
16:43
(3) И на клиенте и на сервере пишет переменная не определена
5 Aswed
 
07.08.12
16:44
+ 4

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

&НаСервере
Функция ПолучитьЗначениеРасшифровки(Расшифровка)
   
   КоллекцияРасшифровки = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
   КоллекцияПолей = КоллекцияРасшифровки.Элементы[Расшифровка].ПолучитьПоля();
   Если КоллекцияПолей.Количество() > 0 Тогда
       Возврат КоллекцияПолей[0].Значение;
   КонецЕсли;
       
КонецФункции
6 le_
 
07.08.12
16:45
(5) И где там то, что я написал?
7 Aswed
 
07.08.12
16:45
+5 это код в форме отчета, при обработке рассшифровки
8 Aswed
 
07.08.12
16:46
(6)

&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   
   КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0];
   КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1];
   КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[2];
   
   СтандартнаяОбработка = Ложь;
   
   ЗначениеРасшифровки = ПолучитьЗначениеРасшифровки(Расшифровка);
   
   Если ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.ДилерскийЦентр") Тогда
       Отбор = Новый Структура;
       Отбор.Вставить("ДЦ", ЗначениеРасшифровки);
       
       СтруктураПараметров = Новый Структура;
       СтруктураПараметров.Вставить("СформироватьПриОткрытии", Истина);
       СтруктураПараметров.Вставить("Отбор", Отбор);
       
       ОткрытьФорму("Отчет.РабочиеЛистыЗаПериод.Форма", СтруктураПараметров);
   КонецЕсли;
       
КонецПроцедуры

&НаСервере
Функция ПолучитьЗначениеРасшифровки(Расшифровка)
   
   КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0];
   КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1];
   КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[2];
   
   КоллекцияРасшифровки = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
   КоллекцияПолей = КоллекцияРасшифровки.Элементы[Расшифровка].ПолучитьПоля();
   Если КоллекцияПолей.Количество() > 0 Тогда
       Возврат КоллекцияПолей[0].Значение;
   КонецЕсли;
       
КонецФункции


)))))
9 le_
 
07.08.12
16:52
(8) Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0]
Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1]
Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[2]
...
10 Лоботряс
 
07.08.12
16:54
(6)Тупит безбожно...  :))
(8) А присваивать это какой то переменной кто будет?
11 Aswed
 
07.08.12
17:12
(9) При таком подходе почему то выдаёт пустой период.
(10) не туплю а изучаю СКД))))
Это будет передаваться в другой отчет, который будет формировать расшифровку.
12 le_
 
07.08.12
17:15
(11) Где выдает?..
13 Aswed
 
07.08.12
18:30
(12) Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0]
14 Aswed
 
07.08.12
19:02
Разобрался. Там надо было ПользовательскиеНастройки.

Спасибо за помощь, пошел ковыряться дальше.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан