Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамСистема компоновки данных

1С:Предприятие 8.2 /
Разработчикам /
Система компоновки данных

Оглавление

Работа с расшифровкой в управляемом приложении

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

Для того чтобы переопределить расшифровку в форме отчета, нужно установить обработчик события ОбработкаРасшифровки у поля табличного документа, в который выводится результат отчета.

Выбрать действие расшифровки можно при помощи объекта ОбработкаРасшифровкиКомпоновкиДанных.

Пример создания объекта ОбработкаРасшифровкиКомпоновкиДанных:

 

ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет));

В данном примере создается объект типа ОбработкаРасшифровкиКомпоновкиДанных, он инициализируется адресом хранилища, в котором располагаются данные расшифровки (в форме отчета по умолчанию адрес данных расшифровки записывается в реквизит ДанныеРасшифровки), источник доступных настроек. В качестве источника доступных настроек используется источник для отчета.

После создания объекта, можно воспользоваться его методом ВыбратьДействие, для выбора действия пользователя .

Пример:

 

Перем ВыбранноеДействие;
Перем ПараметрыВыбранногоДействия;

...

ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыбранноеДействие, 
ПараметрыВыбранногоДействия);

Результат выбора пользователя будет помещен в переменные ВыбранноеДействие и ПараметрыВыбранногоДействия.

Использовать данный выбор можно, например, так:

 

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

В данном примере, выбор пользователем пункта "Открыть" приведет к тому, что выбранное значение покажется пользователю .

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

Полностью обработчик расшифровки будет выглядеть так:

 

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

При необходимости, расшифровку, выдаваемую методом ВыбратьДействие можно выполнить и самостоятельно.

Пример:

 

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

В методе ОбработатьРасшифровку видно, что для применения настроек расшифровки можно использовать метод ПрименитьНастройки. Метод ПрименитьНастройки может вернуть как полные настройки компоновки данных, так и пользовательские настройки компоновки данных. Пользовательские настройки расшифровки могут быть получены, если применяемые настройки можно полностью применить в пользовательских настройках .


Нас находят: когда только одна партия господствует тогда управляют страсти расшифровка, ОписаниеОбработкиРасшифровкиКомпоновкиДанных, новый описаниеобработкирасшифровкикомпоновкиданных, 1с расшифровка справочника из поля табличного документа уф, 1с управляемые формы получитьмассивполейрасшифровки, 1с скд управляемая форма реквизит для данныерасшифровки, использование ОписаниеОбработкиРасшифровкиКомпоновкиДанных, 1с 7 7 расшифровка открытие элемента справочника из табличной формы, РезультатОбработкаРасшифровки, расшифровка строки в управляемых формах


Подписка на новости RSS

Мы на Facebook