![]() |
|
Как изменить меню расшифровки отчета? 8.2 СКД управляемые формы. | ☑ | ||
---|---|---|---|---|
0
sergei123654
01.11.11
✎
12:03
|
День добрый.
При расшифровке в отчете "всплывает" меню действия расшифровки. Как можно поймать и отредактировать это меню? Нужно туда добавить еще одну строчку "ОСВ по счету". Пока убрал расшифровку полностью. Для отображения расшифровки использую СписокЗначений. А вот как использовать стандарное меню расшифровки? сейчас написано: &НаКлиенте Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; СчетРасшифровки = ПолучитьСчетРассшифровки(Расшифровка); Если СчетРасшифровки = Неопределено Тогда Возврат; КонецЕсли; СписокМенюРасшифровки = Новый СписокЗначений; СписокМенюРасшифровки.Добавить(СчетРасшифровки, "Открыть ОСВ по счету " + СчетРасшифровки); ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, СписокМенюРасшифровки); ОткрытьФорму("Отчет.ОборотноСальдоваяВедомостьПоСчету.Форма"); КонецПроцедуры &НаСервере Функция ПолучитьСчетРассшифровки(Расшифровка) КоллекцияРасшифровки = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); КоллекцияПолей = КоллекцияРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля(); ПолеСчет = КоллекцияПолей.Найти("Счет"); Если ПолеСчет = Неопределено Тогда Возврат Неопределено; Иначе Возврат ПолеСчет.Значение; КонецЕсли; КонецФункции нагугли на http://help1c.com/faq/view/1055.html но там проблема с СхемойКомпановкиДанных. Ее на тонком клиенте нет. ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); Кто знает, подскажите решение задачи. |
|||
1
sergei123654
01.11.11
✎
12:24
|
ап
|
|||
2
sergei123654
01.11.11
✎
13:19
|
вверх
|
|||
3
also
01.11.11
✎
13:32
|
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыполненноеДействие; Перем ПараметрВыполненногоДействия; СтандартнаяОбработка = Ложь; ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы)); ДоступныеДействия = Новый Массив; ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Отфильтровать); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Сгруппировать); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить); ДополнительныеПункты = Новый СписокЗначений; ДополнительныеПункты.Добавить("ДопОтчет", "Какой-то доп отчет"); ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыполненноеДействие, ПараметрВыполненногоДействия, ДоступныеДействия, ДополнительныеПункты); Если ПараметрВыполненногоДействия <> Неопределено Тогда Если ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда ОткрытьЗначение(ПараметрВыполненногоДействия); ИначеЕсли ВыполненноеДействие = "ДопОтчет" Тогда //Формируем какой-то отчет НовыеНастройки = ПрименитьНастройкиСКД(Расшифровка,ПараметрВыполненногоДействия); СформироватьДоОтчет(НовыеНастройки); Иначе СтандартнаяОбработка = Истина; КонецЕсли; КонецЕсли; КонецПроцедуры &НаСервере Функция ПрименитьНастройкиСКД(Расшифровка,ПараметрВыполненногоДействия) ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы)); Возврат ОбработкаРасшифровки.ПрименитьНастройки(Расшифровка,ПараметрВыполненногоДействия); КонецФункции URLСхемы - реквизит формы отчета с типом строка, инициализируется так: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Схема =Отчеты.ИмяОтчета.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); URLСхемы =ПоместитьВоВременноеХранилище(Схема,Новый УникальныйИдентификатор); КонецПроцедуры |
|||
4
sergei123654
03.11.11
✎
12:53
|
(3) also -СПАСТБО. Но никак что то не получается... уже замардовался с этой расшифровкой.
Дает ошибку: {Отчет.ОборотноСальдоваяВедомость.Форма.ФормаОтчета.Форма(547)}: Ошибка при установке значения атрибута контекста (ОбработкаРасшифровки) ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, ИсточникДоступныхНастроек); Тип "ОбработкаРасшифровкиКомпоновкиДанных" не может использоваться в данных формы Отчет строю полностью программно, Группировки, поля, макет все строится программно. Код такой: &НаСервере Функция ОбновитьОтчет() СхемаКомпоновкиДанных = Отчеты.ОборотноСальдоваяВедомость.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки(); ....ЧЕ ТО ЧЕТО ВЫВОЖУ В ОТЧЕТ..... ДанныеРасшифровкиКомпоновки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпановки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровкиКомпоновки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпановки, , ДанныеРасшифровкиКомпоновки, Истина); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); ПроцессорВывода.ЗакончитьВывод(); ДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиКомпоновки, ЭтаФорма.УникальныйИдентификатор); СхемаКомпоновки = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, ЭтаФорма.УникальныйИдентификатор); Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); Возврат Неопределено; КонецФункции // () &НаСервере Функция ПолучитьURLСхемы(Адрес) СхемаКомпановкиДанных = ПолучитьИзВременногоХранилища(Адрес); URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпановкиДанных); Возврат URLСхемы; КонецФункции // () &НаКлиенте Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыполненноеДействие, ПараметрВыполненногоДействия; СтандартнаяОбработка = Ложь; URLСхемы = ПолучитьURLСхемы(СхемаКомпоновки); ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы); ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, ИсточникДоступныхНастроек); ДоступныеДействия = Новый Массив(); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Отфильтровать); ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыполненноеДействие, ПараметрВыполненногоДействия, ДоступныеДействия); КонецПроцедуры При этом СхемаКомпоновки и ДанныеРасшифровки это реквизиты формы с типом строка. Отдчиком прохожу РезультатОбработкаРасшифровки - Все нормально, как по СП. ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, ИсточникДоступныхНастроек); ИсточникДоступныхНастроек - Значение: ИсточникДоступныхНастроекКомпоновкиДанных Тип: ИсточникДоступныхНастроекКомпоновкиДанных ДанныеРасшифровки - Тип:Строка Значение: "e1cib/tempstorage/599d5251-9831-4758-9f5f-ddfc3d6c920e" ПОдскажите где туплю, может как то не правильно отчет формирую? хотя без процедуры РезультатОбработкаРасшифровки расшифровка работает как обычно, в штатном режиме. |
|||
5
sergei123654
03.11.11
✎
13:12
|
ОбработкаРасшифровки то же оказывается реквизит формы... Удалил и все заработало). Also спасибо еще раз.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |