Добрый день. Подскажите по поводу расшифровки в СКД.

Например имею некую таблицу, например
Статья
       Назначение | Сумма

Вот я нажимаю расшифровать сумму, мне необходимо чтобы сформировался другой отчет в совершенно другом виде, но с данными по этой сумме
Т.е. в другом отчете необходимы отборы на Статью и назначение, как получить что именно эти данные ?
Само программное формирование отчета и его открытие готово, осталось добавить отборы с нужными значениями статьи и назначения.

Подскажите как это реализовать? Киньте примеры если есть, буду очень признателен. Спасибо.
---
```1c
    &НаКлиенте
    Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)

    СписокКоманд = Новый СписокЗначений;
    СписокКоманд.Добавить("ПолучитьОстаткиПорезервам");
    СписокКоманд.Добавить("Расшифровать/Открыть");

    СтруктураДанных = ЗначениеВыбранногоПоля(Расшифровка);

    ВыбрЗнч = СписокКоманд.ВыбратьЭлемент("ПолучитьОстаткиПоРезервам");

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

    КонецПроцедуры

    Функция ЗначениеВыбранногоПоля(Расшифровка)
    СтруктураДан = Новый Структура;

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

    ОтборыХ = Новый Структура;

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

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

    СтруктураДан.Вставить("ОтборыХ",ОтборыХ);
    СтруктураДан.Вставить("РасшифровкаДругимОтчетом",Истина);

    Возврат СтруктураДан;

    КонецФункции
```
---
В процедуре ЗначениеВыбранногоПоля() получаем необходимы значения и передаем в параметры.
---
```1c
    &НаКлиенте
    Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)

    СписокКоманд = Новый СписокЗначений;
    СписокКоманд.Добавить("ПолучитьОстаткиПорезервам");
    СписокКоманд.Добавить("Расшифровать/Открыть");

    СтруктураДанных = ЗначениеВыбранногоПоля(Расшифровка);

    ВыбрЗнч = СписокКоманд.ВыбратьЭлемент("ПолучитьОстаткиПоРезервам");

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

    КонецПроцедуры

    Функция ЗначениеВыбранногоПоля(Расшифровка)
    СтруктураДан = Новый Структура;

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

    ОтборыХ = Новый Структура;

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

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

    СтруктураДан.Вставить("ОтборыХ",ОтборыХ);
    СтруктураДан.Вставить("РасшифровкаДругимОтчетом",Истина);

    Возврат СтруктураДан;

    КонецФункции
```
---
В процедуре ЗначениеВыбранногоПоля() получаем необходимы значения и передаем в параметры.
---
спс буду разбираться.