|
Открыть документ из отчета на СКД | ☑ | ||
---|---|---|---|---|
0
first_may
18.06.19
✎
23:56
|
Добрый вечер.
Конфигурция на УФ. Подскажите пож, как правильно сделать, что бы из отчета на СКД можно было открыть документ? |
|||
1
first_may
18.06.19
✎
23:58
|
Не получается вызвать открытие из процедуры
&НаКлиенте Процедура РезультатВыбор(Элемент, Область, СтандартнаяОбработка) Если Найти(Элемент.ТекущаяОбласть.Имя, "C4") Или Найти(Элемент.ТекущаяОбласть.Имя, "C8") Тогда СтандартнаяОбработка = Ложь; // тут надо написать открытие документа КонецЕсли; КонецПроцедуры |
|||
2
Zhuravlik
19.06.19
✎
02:45
|
Можно в макете расшифровки добавить поле группировки, в нем выражение в виде выходного поля.. Но будет притормаживать на больших отчетах, т.к. получает представление "от точки".
|
|||
3
first_may
19.06.19
✎
07:04
|
(2) но все равно как то обработать нажатие надо же? как это сделать?
|
|||
4
Сияющий в темноте
19.06.19
✎
08:32
|
Если в расшифровке ссылка на документ,то двойное нажатие на поле его откроет.
|
|||
5
first_may
19.06.19
✎
09:51
|
(4) не открывает..
я вы вожу вот так &НаКлиенте Процедура Сформировать(Команда) СформироватьНаСервере(Результат); КонецПроцедуры &НаСервере Процедура СформироватьНаСервере(Результат) ОбъектОтчет = РеквизитФормыВЗначение("Отчет"); Если ОбъектОтчет.ПоказыватьТолькоОтклонения Тогда ОбъектОтчет.СхемаКомпоновкиДанных = ОбъектОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанныхТолькоОтклонения"); Иначе ОбъектОтчет.СхемаКомпоновкиДанных = ОбъектОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КонецЕсли; // из схемы возьмем настройки по умолчанию НастройкиКомпоновки = ОбъектОтчет.СхемаКомпоновкиДанных.НастройкиПоУмолчанию; ОбъектОтчет.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКомпоновки); // Формируем макет, с помощью компоновщика макета КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(ОбъектОтчет.СхемаКомпоновкиДанных, ОбъектОтчет.КомпоновщикНастроек.Настройки, ); // Выполним компоновку с помощью процессора компоновки ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , , Истина); // Очищаем поле табличного документа Результат.Очистить(); // Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); КонецПроцедуры |
|||
6
toypaul
гуру
19.06.19
✎
09:59
|
||||
7
first_may
19.06.19
✎
10:18
|
(6) я делал подобное для обычных форм и все работало, а тут переношу на УФ.
написал вот так, как было раньше, то есть добавил ДанныеРасшифровки // Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(ОбъектОтчет.СхемаКомпоновкиДанных, ОбъектОтчет.КомпоновщикНастроек.Настройки, ДанныеРасшифровки); // Выполним компоновку с помощью процессора компоновки ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина); но ошибка {ВнешнийОтчет.....Форма.ФормаОтчета.Форма(113,126)}: Переменная не определена (ДанныеРасшифровки) МакетКомпоновки = КомпоновщикМакета.Выполнить(ОбъектОтчет.СхемаКомпоновкиДанных, ОбъектОтчет.КомпоновщикНастроек.Настройки, <<?>>ДанныеРасшифровки); (Проверка: Сервер) {ВнешнийОтчет......Форма.ФормаОтчета.Форма(117,64)}: Переменная не определена (ДанныеРасшифровки) ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , <<?>>ДанныеРасшифровки, Истина); (Проверка: Сервер) |
|||
8
first_may
19.06.19
✎
10:40
|
Подскажите пож, где можно посмотреть как правильно написать именно на УФ?
|
|||
9
first_may
19.06.19
✎
12:49
|
(6) я пытаюсь передать, но есть ошибка
Переменная не определена (ДанныеРасшифровки) |
|||
10
first_may
19.06.19
✎
13:22
|
А можно тут как то из Область получить что за данные в ячейки?
&НаКлиенте Процедура РезультатВыбор(Элемент, Область, СтандартнаяОбработка) Если Найти(Элемент.ТекущаяОбласть.Имя, "C4") Или Найти(Элемент.ТекущаяОбласть.Имя, "C8") Тогда СтандартнаяОбработка = Ложь; // тут надо написать открытие документа КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |