Имя: Пароль:
1C
1С v8
Расшифровка отчета на СКД. Как передать параметры в этот же отчет но с другим вариантом?
0 Birmingem
 
02.08.18
17:22
Создал отчет на СКД с запросом к таблице ОстаткиИОбороты регистра бухгалтерии. Обычная оборотка (остатки на начало и конец, обороты дт и кт) по нескольким счетам и одному виду субконто.

Этот отчет имеет два варианта:
- основной: группировки счет, субконто, валюта
- по документам: группировки счет, субконто, валюта, регистратор.

Задача, после формирования основного варианта, пользователь щелкает на нужной ему строке, и должен открыться этот же отчет с вариантом "по документам" с отбором по параметрам, полученным из строки, на которой щелкнули.

Особенность отчета.
Параметры в запрос СКД передаются программно, в процедуре ПриКомпоновкеРезультата() в модуле объекта отчета.
Например из реквизита отчета:

Параметр = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода"));
    Если Параметр <> Неопределено Тогда
        Параметр.Значение = НачалоПериода;
        Параметр.Использование = Истина;
    КонецЕсли;

Расшифровку вызываю по методике, описанной в http://catalog.stavanalit.ru/public/165599

Но никак не могу считать текущий параметр "НачалоПериода". Считываю
так (взято из статьи):

&НаКлиенте
Функция ПолучитьЗначениеПераметраКомпоновщикаНастроек(КомпоновщикНастроек, ИмяПараметра)
    ИДНастройки = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра).ИдентификаторПользовательскойНастройки;
    Коллекция = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
    Если Коллекция.Найти(ИДНастройки)=Неопределено Тогда
        Возврат Неопределено;
    Иначе
        Возврат Коллекция.Найти(ИДНастройки).Значение;
    КонецЕсли;
КонецФункции

Здесь переменная ИДНастройки дает пустую строку, и соответственно, дальше  Коллекция.Найти(ИДНастройки)=Неопределено.

Подозреваю что из-за того, что параметр был передан в СКД программно.

Подскажите пожалуйста, как правильно надо?
А еще лучше, дайте аналогичный работающий пример?
1 Birmingem
 
03.08.18
09:18
Здесь переменная ИДНастройки дает пустую строку, и соответственно, дальше  Коллекция.Найти(ИДНастройки)=Неопределено.

Так как получить текущее значение параметра для передачи в расшифровку?
2 Birmingem
 
03.08.18
10:54
Так как получить текущее значение параметра для передачи в расшифровку?
3 Birmingem
 
08.08.18
11:22
Так как получить текущее значение параметра для передачи в расшифровку?
4 Birmingem
 
08.08.18
18:12
Опытным путем установил, что параметр можно получить так:

КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра).Значение

Но тогда зачем в указанной статье параметр получают через ИдентификаторПользовательскойНастройки?
И почему в моем случае этот ИдентификаторПользовательскойНастройки всегда пустой?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн