|
Как при нажатии по ячейке сформированного отчета(на СКД) открыть документ. | ☑ | ||
---|---|---|---|---|
0
Nicholas_
NullaM 29.09.15
✎
07:23
|
Подскажите пожалуйста как при нажатии по любой заполненной ячейке из строки сформированного отчета, открыть сразу документ поступления из которого брались данные в этой строке. Вот текст запроса:
ВЫБРАТЬ ПоступлениеТоваровУслуг.Ссылка, ПоступлениеТоваровУслуг.ТранспортнаяКомпания, ПоступлениеТоваровУслуг.НомерТТН, ПоступлениеТоваровУслуг.ДатаПоступления КАК ДатаПоступления, ПоступлениеТоваровУслуг.ДатаОтгрузки, ПоступлениеТоваровУслуг.Вес, ПоступлениеТоваровУслуг.Объем, ПоступлениеТоваровУслуг.КоличествоМест, ПоступлениеТоваровУслуг.Стоимость, ПоступлениеТоваровУслуг.КомментарийПоступления КАК Комментарий, ПоступлениеТоваровУслуг.ГрузПринят ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ГДЕ ПоступлениеТоваровУслуг.ДатаПоступления МЕЖДУ &НачалоПериода И &КонецПериода УПОРЯДОЧИТЬ ПО ДатаПоступления |
|||
1
t2013
29.09.15
✎
07:36
|
создать форму, у таб дока событие "ОбработкаРасшифровки"
|
|||
2
Nicholas_
NullaM 29.09.15
✎
07:54
|
Это я читал в интернете, а вот как дальше быть мне непонятно. Опыт на СКД у меня небольшой, делал простые отчеты на СКД без программирования. Какой код нужно написать в событии "ОбработкаРасшифровки" подскажите пожалуйста, а если есть темы здесь уже с данным вопросом, то направьте. Вчера гуглил, находил пример, но у меня не заработало.
|
|||
3
Molinor
29.09.15
✎
07:56
|
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
Перем ВыполненноеДействие; СтандартнаяОбработка = Ложь; ЗначениеРасшифровки = ПолучитьЗначениеРасшифровки(Расшифровка); Если ТипЗнч(ЗначениеРасшифровки) = Тип("ДокументСсылка.Событие") Тогда Форма = ЗначениеРасшифровки.ПолучитьФорму("ФормаДокумента"); Форма.Открыть(); Форма.Активизировать(); Иначе СтандартнаяОбработка = Истина; КонецЕсли; КонецПроцедуры Функция ПолучитьЗначениеРасшифровки(Расшифровка) КоллекцияПолей = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля(); Если КоллекцияПолей.Количество() > 0 Тогда Возврат КоллекцияПолей[0].Значение; КонецЕсли; КонецФункции |
|||
4
Nicholas_
NullaM 29.09.15
✎
08:30
|
Вылезла ошибка при выполнении строчки кода "КоллекцияПолей = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля();" - "Значение не является значением объектного типа (Элементы)". Посмотрел в управляемой форме на вкладке реквизиты у реквизита ДанныеРасшифровки значение "Строка". Такое значение было указано автоматически при создании формы. Как быть, изменить тип у Данные расшифровки и где-то заполнять?
|
|||
5
t2013
29.09.15
✎
09:14
|
а зачем по любой ячейки строки, кликай по ссылки и пользуйся стандартной расшифровкой?
|
|||
6
Nicholas_
NullaM 29.09.15
✎
10:01
|
Так сказал сделать куратор, а хорошая идея добавить просто еще поле в отчет с ссылкой на документ и кликать по нему. Погуглил еще, нашел статью, подправил код, получилось так:
&НаКлиенте Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыполненноеДействие; СтандартнаяОбработка = Ложь; ЗначениеРасшифровки = ПолучитьЗначениеРасшифровки(Расшифровка); Если ТипЗнч(ЗначениеРасшифровки) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда Форма = ЗначениеРасшифровки.ПолучитьФорму("ФормаДокумента"); Форма.Открыть(); Форма.Активизировать(); Иначе СтандартнаяОбработка = Истина; КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьЗначениеРасшифровки(Расшифровка) Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля(); //Тут получаем поля расшифровки, среди которых находим нужное. НужноеПоле = Поля.Найти("Ссылка"); Если НужноеПоле = Неопределено Тогда Возврат Неопределено; Иначе Возврат НужноеПоле.Значение; КонецЕсли; КонецФункции Но в итоге открывается стандартная расшифровка, при двойном нажатии на ячейку, так как вовыдимой ссылки документа на форме у меня нет. Можно ли получить как-то значение строки? Чтобы достать оттуда ссылку документа, например. |
|||
7
bootini
29.09.15
✎
10:16
|
||||
8
zhig75
29.09.15
✎
10:22
|
А жмакая по ссылке в отчете, что ничего не открывается?
|
|||
9
t2013
29.09.15
✎
10:28
|
+ (5) можешь выбрать ссылку, а в выражении представления написать, например ссылка.номер, получится что ты будешь кликать по номеру, и у тебя док открываться будет
|
|||
10
Nicholas_
NullaM 29.09.15
✎
11:14
|
Спасибо (9) , сделал как ты сказал, кликаю по полю, а открывается поступление. Всем спасибо за помощь и информацию!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |