Имя: Пароль:
1C
1С v8
Расшифровка на СКД
0 an_str
 
07.08.13
10:40
Имеем отчет на скд. Запрос следующий:
ВЫБРАТЬ
    УчетОборудованияНаОбъектахОстаткиИОбороты.ОбъектЗатрат,
    УчетОборудованияНаОбъектахОстаткиИОбороты.Оборудование,
    УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоНачальныйОстаток,
    УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоПриход,
    УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоРасход,
    УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоКонечныйОстаток,
    УчетОборудованияНаОбъектахОстаткиИОбороты.КоличествоОборот,
    ВЫБОР
        КОГДА УчетОборудованияНаОбъектахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
            ТОГДА NULL
        ИНАЧЕ УчетОборудованияНаОбъектахОстаткиИОбороты.Регистратор
    КОНЕЦ КАК Регистратор,
    РемонтыСрезПоследних.КачествоПосле КАК Состояние
ИЗ
    РегистрНакопления.УчетОборудованияНаОбъектах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, , ) КАК УчетОборудованияНаОбъектахОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Ремонты.СрезПоследних({(&КонецПериода)}, ) КАК РемонтыСрезПоследних
        ПО УчетОборудованияНаОбъектахОстаткиИОбороты.Оборудование = РемонтыСрезПоследних.Номенклатура

Внешний вид отчета:
Оборудование| Нач остаток| Приход | Расход| Кон остаток

Как при щелчке на любой ячейке кроме "Оборудование" формировать этот же отчет по полю регистратор, т.е. выполнять аналогичное действие, если бы мы выбрали пункт меню: Расшифровать, далее поле "Регистратор".
Создала форму отчета, имею процедуры:

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

    СтандартнаяОбработка = Ложь;
    Элемент =  ПолучитьКоллекцию(Расшифровка);
    Если ЗначениеЗаполнено(Элемент) Тогда
        ОткрытьЗначение(Элемент);
    КонецЕсли;

КонецПроцедуры // РезультатОбработкаРасшифровки()

&НаСервере
Функция ПолучитьКоллекцию(Расшифровка)

ДанныеРасшифровкиОтчета = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
    ЭлементРасшифровки = ДанныеРасшифровкиОтчета.Элементы[Расшифровка];

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

    Возврат Неопределено;

КонецФункции

Таким образом, открывается только элемент справочника "Оборудование", как теперь прикрутить открытие отчета по регистратору....Заранее спасибо
1 an_str
 
07.08.13
12:10
Где можно почитать про расшифровку?