Вывод отчета по выбранной ячейке табл. документа другого отчета при нефиксированном макете

Новая тема
"Здравствуйте.
Возникла необходимость по каждой ячейке отчета(Отчет.png) выводить ещё один отчет (при клике на ячейку должны вывестись данные только по этой ячейке). Как это сделать более менее представляю. Нужно определить в какой строке ячейка и в каком столбце. И если со строкой я определился (в параметр "Расшифровка" передались нужные данные по строке), то по столбцу у меня ничего не получается. В параметре "Элемент" есть данные ячейки Элемент.Текущая область.Имя="R18C4"(координаты по строке и по столбцу)(Табло_Элемент). Но проблема в том что в настройках пользователь может убирать ненужные столбцы для отчета, так что по номеру столбца не получится определить наименование ячейки для передачи в параметр запроса чтобы вывести соответствующий отчет по этой ячейке. Ранее я писал обработку расшифровки чтобы по нажатию на любую ячейку выводился отчет по Стоимости Приход:



Процедура ОбработкаРасшифровки1(Элемент,Расшифровка, ЭтотОбъект)


Построитель = Новый ПостроительОтчета;
Построитель.Текст =
"ВЫБРАТЬ
| РегВидаУчета.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| РегРаспределенияЗатрат.Продукция КАК Продукция,
| РегУчетаЗатрат.Затрата КАК Затрата,
| СУММА(УчетЗатратРеглОбороты.КоличествоПриход) КАК КоличествоПриход,
| СУММА(УчетЗатратРеглОбороты.СтоимостьПриход) КАК СтоимостьПриход
|ИЗ
| РегистрНакопления.УчетЗатратРегл.Обороты(&ДатаНАч, &ДатаКон, Регистратор, ) КАК УчетЗатратРеглОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаВидаУчета КАК РегВидаУчета
| ПО УчетЗатратРеглОбороты.АналитикаВидаУчета = РегВидаУчета.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК РегУчетаЗатрат
| ПО УчетЗатратРеглОбороты.АналитикаУчетаЗатрат = РегУчетаЗатрат.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаРаспределенияЗатрат КАК РегРаспределенияЗатрат
| ПО УчетЗатратРеглОбороты.АналитикаРаспределенияЗатрат = РегРаспределенияЗатрат.Ссылка
|ГДЕ
| РегВидаУчета.Организация = &Организация
| И РегВидаУчета.РазделУчета = &РазделУчета
|
|СГРУППИРОВАТЬ ПО
| РегВидаУчета.ПодразделениеОрганизации,
| РегРаспределенияЗатрат.Продукция,
| РегУчетаЗатрат.Затрата
|
|УПОРЯДОЧИТЬ ПО
| ПодразделениеОрганизации,
| Продукция,
| Затрата
|ИТОГИ
| СУММА(КоличествоПриход),
| СУММА(СтоимостьПриход)
|ПО
| ОБЩИЕ,
| ПодразделениеОрганизации,
| Продукция,
| Затрата
|АВТОУПОРЯДОЧИВАНИЕ";
Построитель.Параметры.Вставить("Организация", Организация);
Построитель.Параметры.Вставить("РазделУчета", Перечисления.РазделыУчета.ЗатратыПоНаработке);
Построитель.Параметры.Вставить("ДатаНач", ОтчетОбъект.УниверсальныйОтчет.ДатаНач);
Построитель.Параметры.Вставить("ДатаКон", КонецДня(ОтчетОБъект.УниверсальныйОтчет.ДатаКон));
Построитель.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;
Построитель.ТекстЗаголовка = "Расшифровка затрат по наработке (стоимость приход)";
Построитель.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Интерфейс);
Построитель.ОформитьМакет();
Построитель.Вывести();
КонецПроцедуры




Как бы определить столбец(Наименования "Начальный остаток" и "Стоимость") и передать соответствующие параметры в запрос? Заранее благодарен


Запрос на формирование основного отчета(Отчет.png):

УниверсальныйОтчет.ПостроительОтчета.Текст = 
"ВЫБРАТЬ
| ВложенныйЗапрос.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| ВложенныйЗапрос.Продукция КАК Продукция,
| ВложенныйЗапрос.КоличествоПриход КАК КоличествоПриход,
| ВложенныйЗапрос.СтоимостьПриход КАК СтоимостьПриход,
| ВложенныйЗапрос.КоличествоРасход КАК КоличествоРасход,
| ВложенныйЗапрос.СтоимостьРасход КАК СтоимостьРасход,
| ВложенныйЗапрос.КоличествоНач КАК КоличествоНач,
| ВложенныйЗапрос.СтоимостьНач КАК СтоимостьНач,
| ВложенныйЗапрос.КоличествоКон КАК КоличествоКон,
| ВложенныйЗапрос.СтоимостьКон КАК СтоимостьКон,
| ВложенныйЗапрос.СчетУчета КАК СчетУчета,
| ВложенныйЗапрос.СтоимостьНУПриход КАК СтоимостьНУПриход,
| ВложенныйЗапрос.СтоимостьНУРасход КАК СтоимостьНУРасход,
| ВложенныйЗапрос.СтоимостьНУНач КАК СтоимостьНУНач,
| ВложенныйЗапрос.СтоимостьНУКон КАК СтоимостьНУКон,
| ВложенныйЗапрос.ВременнаяРазницаПриход КАК ВременнаяРазницаПриход,
| ВложенныйЗапрос.ВременнаяРазницаРасход КАК ВременнаяРазницаРасход,
| ВложенныйЗапрос.ВременнаяРазницаНач КАК ВременнаяРазницаНач,
| ВложенныйЗапрос.ВременнаяРазницаКон КАК ВременнаяРазницаКон,
| ВложенныйЗапрос.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа
|{ВЫБРАТЬ
| ПодразделениеОрганизации.*,
| Продукция.*,
| КоличествоПриход,
| СтоимостьПриход,
| КоличествоРасход,
| СтоимостьРасход,
| КоличествоНач,
| СтоимостьНач,
| КоличествоКон,
| СтоимостьКон,
| СтоимостьНУПриход,
| СтоимостьНУРасход,
| СтоимостьНУНач,
| СтоимостьНУКон,
| ВременнаяРазницаПриход,
| ВременнаяРазницаРасход,
| ВременнаяРазницаНач,
| ВременнаяРазницаКон}
|ИЗ
| (ВЫБРАТЬ
| РегВидаУчета.РазделУчета КАК РазделУчета,
| РегВидаУчета.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| РегРаспределенияЗатрат.Продукция КАК Продукция,
| СУММА(УчетЗатратРеглОбороты.КоличествоПриход) КАК КоличествоПриход,
| СУММА(УчетЗатратРеглОбороты.СтоимостьПриход) КАК СтоимостьПриход,
| СУММА(УчетЗатратРеглОбороты.КоличествоРасход) КАК КоличествоРасход,
| СУММА(УчетЗатратРеглОбороты.СтоимостьРасход) КАК СтоимостьРасход,
| СУММА(0) КАК КоличествоНач,
| СУММА(0) КАК СтоимостьНач,
| СУММА(0) КАК КоличествоКон,
| СУММА(0) КАК СтоимостьКон,
| РегВидаУчета.СчетУчета КАК СчетУчета,
| СУММА(УчетЗатратРеглОбороты.СтоимостьНУПриход) КАК СтоимостьНУПриход,
| СУММА(УчетЗатратРеглОбороты.СтоимостьНУРасход) КАК СтоимостьНУРасход,
| СУММА(0) КАК СтоимостьНУНач,
| СУММА(0) КАК СтоимостьНУКон,
| УчетЗатратРеглОбороты.СтоимостьПриход - УчетЗатратРеглОбороты.СтоимостьНУПриход КАК ВременнаяРазницаПриход,
| УчетЗатратРеглОбороты.СтоимостьРасход - УчетЗатратРеглОбороты.СтоимостьНУРасход КАК ВременнаяРазницаРасход,
| 0 КАК ВременнаяРазницаНач,
| 0 КАК ВременнаяРазницаКон,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа
| {ВЫБРАТЬ
| ПодразделениеОрганизации.*,
| Продукция.*,
| КоличествоПриход,
| СтоимостьПриход,
| КоличествоРасход,
| СтоимостьРасход,
| КоличествоНач,
| СтоимостьНач,
| КоличествоКон,
| СтоимостьКон,
| НоменклатурнаяГруппа.*}
| ИЗ
| РегистрНакопления.УчетЗатратРегл.Обороты(&ДатаНАч, &ДатаКон, Регистратор, ) КАК УчетЗатратРеглОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаВидаУчета КАК РегВидаУчета
| ПО УчетЗатратРеглОбороты.АналитикаВидаУчета = РегВидаУчета.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК РегУчетаЗатрат
| ПО УчетЗатратРеглОбороты.АналитикаУчетаЗатрат = РегУчетаЗатрат.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаРаспределенияЗатрат КАК РегРаспределенияЗатрат
| ПО УчетЗатратРеглОбороты.АналитикаРаспределенияЗатрат = РегРаспределенияЗатрат.Ссылка
| ГДЕ
| РегВидаУчета.Организация = &Организация
| И РегВидаУчета.РазделУчета = &РазделУчета
| {ГДЕ
| РегВидаУчета.РазделУчета.*,
| РегВидаУчета.ПодразделениеОрганизации.*,
| РегРаспределенияЗатрат.Продукция.*,
| УчетЗатратРеглОбороты.КоличествоПриход,
| УчетЗатратРеглОбороты.СтоимостьПриход,
| УчетЗатратРеглОбороты.КоличествоРасход,
| УчетЗатратРеглОбороты.СтоимостьРасход,
| РегВидаУчета.СчетУчета.*,
| (0) КАК КоличествоНач,
| (0) КАК СтоимостьНач,
| (0) КАК КоличествоКон,
| (0) КАК СтоимостьКон,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа.*}
|
| СГРУППИРОВАТЬ ПО
| РегВидаУчета.РазделУчета,
| РегВидаУчета.ПодразделениеОрганизации,
| РегРаспределенияЗатрат.Продукция,
| РегВидаУчета.СчетУчета,
| УчетЗатратРеглОбороты.СтоимостьПриход - УчетЗатратРеглОбороты.СтоимостьНУПриход,
| УчетЗатратРеглОбороты.СтоимостьРасход - УчетЗатратРеглОбороты.СтоимостьНУРасход,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РегВидаУчета.РазделУчета,
| РегВидаУчета.ПодразделениеОрганизации,
| РегРаспределенияЗатрат.Продукция,
| СУММА(0),
| СУММА(0),
| СУММА(0),
| СУММА(0),
| СУММА(УчетЗатратРеглОстатки.КоличествоОстаток),
| СУММА(УчетЗатратРеглОстатки.СтоимостьОстаток),
| СУММА(0),
| СУММА(0),
| РегВидаУчета.СчетУчета,
| СУММА(0),
| СУММА(0),
| СУММА(УчетЗатратРеглОстатки.СтоимостьНУОстаток),
| СУММА(0),
| 0,
| 0,
| УчетЗатратРеглОстатки.СтоимостьОстаток - УчетЗатратРеглОстатки.СтоимостьНУОстаток,
| 0,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа
| {ВЫБРАТЬ
| ПодразделениеОрганизации.*,
| Продукция.*,
| КоличествоПриход,
| СтоимостьПриход,
| КоличествоРасход,
| СтоимостьРасход,
| КоличествоНач,
| СтоимостьНач,
| КоличествоКон,
| СтоимостьКон,
| НоменклатурнаяГруппа.*}
| ИЗ
| РегистрНакопления.УчетЗатратРегл.Остатки(&ДатаНач, ) КАК УчетЗатратРеглОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаВидаУчета КАК РегВидаУчета
| ПО УчетЗатратРеглОстатки.АналитикаВидаУчета = РегВидаУчета.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК РегУчетаЗатрат
| ПО УчетЗатратРеглОстатки.АналитикаУчетаЗатрат = РегУчетаЗатрат.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаРаспределенияЗатрат КАК РегРаспределенияЗатрат
| ПО УчетЗатратРеглОстатки.АналитикаРаспределенияЗатрат = РегРаспределенияЗатрат.Ссылка
| ГДЕ
| РегВидаУчета.Организация = &Организация
| И РегВидаУчета.РазделУчета = &РазделУчета
| {ГДЕ
| РегВидаУчета.РазделУчета.*,
| РегВидаУчета.ПодразделениеОрганизации.*,
| РегРаспределенияЗатрат.Продукция.*,
| (0) КАК КоличествоПриход,
| (0) КАК СтоимостьПриход,
| (0) КАК КоличествоРасход,
| (0) КАК СтоимостьРасход,
| РегВидаУчета.СчетУчета.*,
| УчетЗатратРеглОстатки.КоличествоОстаток КАК КоличествоНач,
| УчетЗатратРеглОстатки.СтоимостьОстаток КАК СтоимостьНач,
| (0) КАК КоличествоКон,
| (0) КАК СтоимостьКон,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа.*}
|
| СГРУППИРОВАТЬ ПО
| РегВидаУчета.СчетУчета,
| РегВидаУчета.ПодразделениеОрганизации,
| РегРаспределенияЗатрат.Продукция,
| РегВидаУчета.РазделУчета,
| УчетЗатратРеглОстатки.СтоимостьОстаток - УчетЗатратРеглОстатки.СтоимостьНУОстаток,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| РегВидаУчета.РазделУчета,
| РегВидаУчета.ПодразделениеОрганизации,
| РегРаспределенияЗатрат.Продукция,
| СУММА(0),
| СУММА(0),
| СУММА(0),
| СУММА(0),
| СУММА(0),
| СУММА(0),
| СУММА(УчетЗатратРеглОстатки.КоличествоОстаток),
| СУММА(УчетЗатратРеглОстатки.СтоимостьОстаток),
| РегВидаУчета.СчетУчета,
| СУММА(0),
| СУММА(0),
| СУММА(0),
| СУММА(УчетЗатратРеглОстатки.СтоимостьНУОстаток),
| 0,
| 0,
| 0,
| УчетЗатратРеглОстатки.СтоимостьОстаток - УчетЗатратРеглОстатки.СтоимостьНУОстаток,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа
| {ВЫБРАТЬ
| ПодразделениеОрганизации.*,
| Продукция.*,
| КоличествоПриход,
| СтоимостьПриход,
| КоличествоРасход,
| СтоимостьРасход,
| КоличествоНач,
| СтоимостьНач,
| КоличествоКон,
| СтоимостьКон,
| НоменклатурнаяГруппа.*}
| ИЗ
| РегистрНакопления.УчетЗатратРегл.Остатки(&ДатаКон, ) КАК УчетЗатратРеглОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаВидаУчета КАК РегВидаУчета
| ПО УчетЗатратРеглОстатки.АналитикаВидаУчета = РегВидаУчета.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК РегУчетаЗатрат
| ПО УчетЗатратРеглОстатки.АналитикаУчетаЗатрат = РегУчетаЗатрат.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаРаспределенияЗатрат КАК РегРаспределенияЗатрат
| ПО УчетЗатратРеглОстатки.АналитикаРаспределенияЗатрат = РегРаспределенияЗатрат.Ссылка
| ГДЕ
| РегВидаУчета.Организация = &Организация
| И РегВидаУчета.РазделУчета = &РазделУчета
| {ГДЕ
| РегВидаУчета.РазделУчета.*,
| РегВидаУчета.ПодразделениеОрганизации.*,
| РегРаспределенияЗатрат.Продукция.*,
| (0) КАК КоличествоПриход,
| (0) КАК СтоимостьПриход,
| (0) КАК КоличествоРасход,
| (0) КАК СтоимостьРасход,
| РегВидаУчета.СчетУчета.*,
| (0) КАК КоличествоНач,
| (0) КАК СтоимостьНач,
| УчетЗатратРеглОстатки.КоличествоОстаток КАК КоличествоКон,
| УчетЗатратРеглОстатки.СтоимостьОстаток КАК СтоимостьКон,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа.*}
|
| СГРУППИРОВАТЬ ПО
| РегВидаУчета.СчетУчета,
| РегВидаУчета.РазделУчета,
| РегРаспределенияЗатрат.Продукция,
| РегВидаУчета.ПодразделениеОрганизации,
| УчетЗатратРеглОстатки.СтоимостьОстаток - УчетЗатратРеглОстатки.СтоимостьНУОстаток,
| РегРаспределенияЗатрат.НоменклатурнаяГруппа) КАК ВложенныйЗапрос
|{ГДЕ
| ВложенныйЗапрос.ПодразделениеОрганизации.*,
| ВложенныйЗапрос.Продукция.*,
| ВложенныйЗапрос.СчетУчета.*,
| ВложенныйЗапрос.КоличествоПриход КАК КоличествоПриход,
| ВложенныйЗапрос.СтоимостьПриход,
| ВложенныйЗапрос.КоличествоРасход,
| ВложенныйЗапрос.СтоимостьРасход,
| ВложенныйЗапрос.КоличествоНач,
| ВложенныйЗапрос.СтоимостьНач,
| ВложенныйЗапрос.КоличествоКон,
| ВложенныйЗапрос.СтоимостьКон,
| ВложенныйЗапрос.СтоимостьНУПриход,
| ВложенныйЗапрос.СтоимостьНУРасход,
| ВложенныйЗапрос.СтоимостьНУНач,
| ВложенныйЗапрос.СтоимостьНУКон}
|
|УПОРЯДОЧИТЬ ПО
| ПодразделениеОрганизации,
| Продукция,
| СчетУчета,
| НоменклатурнаяГруппа
|{УПОРЯДОЧИТЬ ПО
| СчетУчета.*,
| ПодразделениеОрганизации.*,
| НоменклатурнаяГруппа.*,
| Продукция.*}
|ИТОГИ
| СУММА(КоличествоПриход),
| СУММА(СтоимостьПриход),
| СУММА(КоличествоРасход),
| СУММА(СтоимостьРасход),
| СУММА(КоличествоНач),
| СУММА(СтоимостьНач),
| СУММА(КоличествоКон),
| СУММА(СтоимостьКон),
| СУММА(СтоимостьНУПриход),
| СУММА(СтоимостьНУРасход),
| СУММА(СтоимостьНУНач),
| СУММА(СтоимостьНУКон),
| СУММА(ВременнаяРазницаПриход),
| СУММА(ВременнаяРазницаРасход),
| СУММА(ВременнаяРазницаНач),
| СУММА(ВременнаяРазницаКон)
|ПО
| ОБЩИЕ,
| ПодразделениеОрганизации,
| Продукция,
| СчетУчета,
| НоменклатурнаяГруппа
|{ИТОГИ ПО
| СчетУчета.*,
| ПодразделениеОрганизации.*,
| Продукция.*,
| НоменклатурнаяГруппа.*}
|АВТОУПОРЯДОЧИВАНИЕ";


Как я понял параметр "Расшифровка" заполняется через УниверсальныйОтчет и добавить туда ещё что то кроме того что там есть не получится"
"Проблема решена. Нашёл способ определение имени в шапке столбца. Код в моём случае на текущей ячейке:


НомерКолонки=Элемент.ТекущаяОбласть.Лево;//По данному адресу в параметре "Элемент" находится номер колонки СтрокаКолонкиВерх=7;//Верхняя строка шапки СтрокаКолонкиНиз=9;//Нижняя строка шапки Предупреждение(Элемент.Область(СтрокаКолонкиВерх,НомерКолонки).Текст); "Начальный остаток"Предупреждение(Элемент.Область(СтрокаКолонкиНиз,НомерКолонки).Текст); "Стоимость" 



В моём случае нужные значения шапки я нашёл на строке 7 и 9. Возможно у когото будет по другому. Чтобы найти значения достаточно перебрать строки:
Предупреждение(Элемент.Область(2,НомерКолонки).Текст);
Предупреждение(Элемент.Область(1,НомерКолонки).Текст); и т.д. пока не найдёте."
Вообще в Расшифровку можно передавать все что нужно для вывода информации и не обязательно что-то там еще "вычислять".
Я знал это. Но поскольку не смог понять как передовать в расшифровку то что нужно сделал так. Везде примеры только с фиксированным макетом. А у меня не фиксированный.
Читают тему
(гостей: 1)

Быстрый переход