Имя: Пароль:
1C
1С v8
СКД и расшифрока
0 idw
 
21.01.12
18:43
Можно ли в отчете на СКД сделать такую расшифровку:
например щелкаем по ячейки с номером документа, а открыватся сам документ?
1 le_
 
21.01.12
19:13
(0) Да, можно.
2 idw
 
21.01.12
19:15
(1) Как?
3 le_
 
21.01.12
19:22
(2)
Через обработчик события поля табличного документа ОбработкаРасшифровки.
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   Перем ВыполненноеДействие;
   СКД = ПолучитьМакет("СхемаСКД");
   СтандартнаяОбработка = Ложь;    
   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
   ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия);
КонецПроцедуры
4 vs7719
 
21.01.12
19:22
Внизу слева или вверху справа баннер: http://www.spec8.ru/kurs-po-skd-besplatno
5 idw
 
21.01.12
20:15
(3) у меня так и есть.

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   Перем ВыполДействие;
   СтандартнаяОбработка = Ложь;
   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   
   ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполДействие,ДоступныеДействия);
КонецПроцедуры
6 le_
 
21.01.12
20:17
(5) И в чем проблема?
7 idw
 
21.01.12
20:18
Но если в поле с номером щелкнуть, то откроется строка, а мне надо именно документ.

Но мне надо не много другое. То есть в поле не ссылка на документ находится, а номер - строка.
8 le_
 
21.01.12
20:19
(7) Сделай, чтобы в данных расшифровки была ссылка.
9 idw
 
21.01.12
20:24
(8) Ссылка есть. Но в поле выводится именно номер.
10 le_
 
21.01.12
20:26
(9) Где ссылка есть?
11 PVV65
 
21.01.12
20:28
(9) Самый простой вариант - в поле СКД держать ссылку и дописать на закладке "Наборы данных" для этого поля выражения представления, в которым описываешь вывод номера. Кроме того, если не используешь программный вывод СКД, то необходимость написания процедуры "ОбработкаРасшифровки" отпадает. Все отработает стандартно.
12 PVV65
 
21.01.12
20:30
+ (11) Ну или будет достаточно того, что написано.
Второй вариант, менее красивый - найти документ по номеру, получить форму и открыть.
13 idw
 
21.01.12
20:54
(12) спасибо, хорошая идея, до меня не дошло, что так можно. )
14 le_
 
21.01.12
20:58
(12) Не надо было озвучивать вариант с поиском документа по номеру )
15 idw
 
21.01.12
20:59
Это почему? Не кашерно? )
16 PVV65
 
21.01.12
21:01
(15) Зачем делать глупости?
17 idw
 
21.01.12
21:02
(16) на первый взгляд проще. Но по производительности может и нет.
18 PVV65
 
21.01.12
21:05
(17) Проще создать процедуру расшифровки, с кучей вопросов (Например период документа), когда и так все работает?