0
an_str
07.08.13
✎
10:40
|
Имеем отчет на скд. Запрос следующий:
ВЫБРАТЬ
УчетОборудованияНаОбъектахОстаткиИОбороты.ОбъектЗатрат,
УчетОборудованияНаОбъектахОстаткиИОбороты.Оборудование,
УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоНачальныйОстаток,
УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоПриход,
УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоРасход,
УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоКонечныйОстаток,
УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоОборот,
ВЫБОР
КОГДА УчетОборудованияНаОбъектахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
ТОГДА NULL
ИНАЧЕ УчетОборудованияНаОбъектахОстаткиИОбороты.Регистратор
КОНЕЦ КАК Регистратор,
РемонтыСрезПоследних.КачествоПосле КАК Состояние
ИЗ
РегистрНакопления.УчетОборудованияНаОбъектах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, , ) КАК УчетОборудованияНаОбъектахОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Ремонты.СрезПоследних({(&КонецПериода)}, ) КАК РемонтыСрезПоследних
ПО УчетОборудованияНаОбъектахОстаткиИОбороты.Оборудование = РемонтыСрезПоследних.Номенклатура
Внешний вид отчета:
Оборудование| Нач остаток| Приход | Расход| Кон остаток
Как при щелчке на любой ячейке кроме "Оборудование" формировать этот же отчет по полю регистратор, т.е. выполнять аналогичное действие, если бы мы выбрали пункт меню: Расшифровать, далее поле "Регистратор".
Создала форму отчета, имею процедуры:
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
Если ТипЗнч(Расшифровка) <> Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
Элемент = ПолучитьКоллекцию(Расшифровка);
Если ЗначениеЗаполнено(Элемент) Тогда
ОткрытьЗначение(Элемент);
КонецЕсли;
КонецПроцедуры // РезультатОбработкаРасшифровки()
&НаСервере
Функция ПолучитьКоллекцию(Расшифровка)
ДанныеРасшифровкиОтчета = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
ЭлементРасшифровки = ДанныеРасшифровкиОтчета.Элементы[Расшифровка];
Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
Для Каждого ЗначениеПоляРасшифровки Из ЭлементРасшифровки.ПолучитьПоля() Цикл
Значение = ЗначениеПоляРасшифровки.Значение;
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Значение))
ИЛИ Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Значение)) Тогда
Возврат Значение;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Таким образом, открывается только элемент справочника "Оборудование", как теперь прикрутить открытие отчета по регистратору....Заранее спасибо
|
|