1С:Предприятие 8.2 /
Разработчикам /
Система компоновки данных
Работа с расшифровкой в управляемом приложении
В данной статье описывается, как работать с расшифровкой отчета, созданного при помощи системы компоновки данных, в управляемом приложении .
Для того чтобы переопределить расшифровку в форме отчета, нужно установить обработчик события ОбработкаРасшифровки у поля табличного документа, в который выводится результат отчета.
Выбрать действие расшифровки можно при помощи объекта ОбработкаРасшифровкиКомпоновкиДанных.
Пример создания объекта ОбработкаРасшифровкиКомпоновкиДанных:
ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет));
В данном примере создается объект типа ОбработкаРасшифровкиКомпоновкиДанных, он инициализируется адресом хранилища, в котором располагаются данные расшифровки (в форме отчета по умолчанию адрес данных расшифровки записывается в реквизит ДанныеРасшифровки), источник доступных настроек. В качестве источника доступных настроек используется источник для отчета.
После создания объекта, можно воспользоваться его методом ВыбратьДействие, для выбора действия пользователя .
Пример:
Перем ВыбранноеДействие; Перем ПараметрыВыбранногоДействия; ... ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыбранноеДействие, ПараметрыВыбранногоДействия);
Результат выбора пользователя будет помещен в переменные ВыбранноеДействие и ПараметрыВыбранногоДействия.
Использовать данный выбор можно, например, так:
Если ВыбранноеДействие <> ДействиеОбработкиРасшифровкиКомпоновкиДанных.Нет Тогда Если ВыбранноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда ОткрытьЗначение(ПараметрыВыбранногоДействия); Иначе Парам = Новый Структура; Парам.Вставить("СформироватьПриОткрытии", Истина); Парам.Вставить("Расшифровка", Новый ОписаниеОбработкиРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Расшифровка, ПараметрыВыбранногоДействия)); ОткрытьФорму("Отчет.РаботаСРасшифровкой.Форма", Парам, , Истина); КонецЕсли; КонецЕсли;
В данном примере, выбор пользователем пункта "Открыть" приведет к тому, что выбранное значение покажется пользователю .
Выбор же другого действия приведет к открытию формы отчета, которой, через параметры форму указали необходимость формирования при открытии и указали необходимость расшифровки.
Полностью обработчик расшифровки будет выглядеть так:
&НаКлиенте Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыбранноеДействие; Перем ПараметрыВыбранногоДействия; СтандартнаяОбработка = Ложь; ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,
Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет)); ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыбранноеДействие,
ПараметрыВыбранногоДействия); Если ВыбранноеДействие <> ДействиеОбработкиРасшифровкиКомпоновкиДанных.Нет Тогда Если ВыбранноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда ОткрытьЗначение(ПараметрыВыбранногоДействия); Иначе Парам = Новый Структура; Парам.Вставить("СформироватьПриОткрытии", Истина); Парам.Вставить("Расшифровка",
Новый ОписаниеОбработкиРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,
Расшифровка, ПараметрыВыбранногоДействия)); ОткрытьФорму("Отчет.РаботаСРасшифровкой.Форма", Парам, , Истина); КонецЕсли; КонецЕсли; КонецПроцедуры
При необходимости, расшифровку, выдаваемую методом ВыбратьДействие можно выполнить и самостоятельно.
Пример:
&НаКлиенте Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыбранноеДействие; Перем ПараметрыВыбранногоДействия; СтандартнаяОбработка = Ложь; ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,
Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет)); ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыбранноеДействие,
ПараметрыВыбранногоДействия); Если ВыбранноеДействие <> ДействиеОбработкиРасшифровкиКомпоновкиДанных.Нет Тогда Если ВыбранноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда ОткрытьЗначение(ПараметрыВыбранногоДействия); Иначе ОтработатьРасшифровку(
Новый ОписаниеОбработкиРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,
Расшифровка, ПараметрыВыбранногоДействия)); КонецЕсли; КонецЕсли; КонецПроцедуры &НаСервере Процедура ОтработатьРасшифровку(ОписаниеОбработкиРасшифровки) ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровкиОбъект,
Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет)); РезультирующиеНастройки = ОбработкаРасшифровки.ПрименитьНастройки(ОписаниеОбработкиРасшифровки.Идентификатор,
ОписаниеОбработкиРасшифровки.ПрименяемыеНастройки); Если ТипЗнч(РезультирующиеНастройки) = Тип("НастройкиКомпоновкиДанных") Тогда Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(РезультирующиеНастройки); ИначеЕсли ТипЗнч(РезультирующиеНастройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(РезультирующиеНастройки); КонецЕсли; СкомпоноватьРезультат(); КонецПроцедуры
В методе ОбработатьРасшифровку видно, что для применения настроек расшифровки можно использовать метод ПрименитьНастройки. Метод ПрименитьНастройки может вернуть как полные настройки компоновки данных, так и пользовательские настройки компоновки данных. Пользовательские настройки расшифровки могут быть получены, если применяемые настройки можно полностью применить в пользовательских настройках .
Другие материалы по теме:
пользовательские настройки, расшифровка, структура, выбор, истина, пример:, иначе, конецпроцедуры, источник, тип..., опис, буфер обмена, копировать, форма, обмен, объект, элемент, настройки, результат, пример, отчет, действия
Материалы из раздела: 1С:Предприятие 8.2 / Разработчикам / Система компоновки данных
Другие материалы по теме:
Создание настроек компоновки данных из встроенного языка
Особенности масштабирования по выбранному объекту
Нас находят: когда только одна партия господствует тогда управляют страсти расшифровка, ОписаниеОбработкиРасшифровкиКомпоновкиДанных, новый описаниеобработкирасшифровкикомпоновкиданных, 35709, Значение данных расшифровки отсутствует либо имеет неправильный тип, 1С 8 3 расшифровка в управляемой форме, 1с расшифровка справочника из поля табличного документа уф, 1с управляемые формы получитьмассивполейрасшифровки, 1с скд управляемая форма реквизит для данныерасшифровки, использование ОписаниеОбработкиРасшифровкиКомпоновкиДанных
Мы на Facebook