Имя: Пароль:
1C
1С v8
Расшифровка СКД в тонком клиенте
0 Чайник Рассела
 
07.03.12
08:50
Есть сформированный отчет. Как по двойному клику по ячейке всегда открывать регистратор?
1 DexterMorgan
 
07.03.12
09:12
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   
   ИмяРегистратора = ПолучитьСчетРасшифровки(Расшифровка);
   Если ИмяРегистратора <> Неопределено Тогда
       СтандартнаяОбработка = ЛОЖЬ;
       ОткрытьФорму("Документ." + ИмяРегистратора + ".ФормаОбъекта");
   КонецЕсли;
   
КонецПроцедуры

&НаСервере
Функция ПолучитьСчетРасшифровки(Расшифровка)
   
   Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
   Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля();
   
   Если Поля.Найти("КакТамНазываецца") <> Неопределено Тогда
       Регистратор = Поля.Найти("КакТамНазываецца").Значение;        
       Возврат Регистратор.Метаданные().Имя;
   Иначе
       Возврат Неопределено;
   КонецЕсли;
   
КонецФункции
2 DexterMorgan
 
07.03.12
09:14
З.Ы. именно этот код не проверял =)
3 Чайник Рассела
 
07.03.12
09:17
(1) само поле регистратор присутствует в наборе, но в отчет не выводится
4 DexterMorgan
 
07.03.12
09:21
(3) То есть вот тут

Данные.Элементы.Получить(Расшифровка).ПолучитьПоля()

его нет? ну тада запрос заново делать, хз как еще то
5 Чайник Рассела
 
07.03.12
09:22
(4) тут Данные.Элементы.Получить(Расшифровка).ПолучитьПоля() только одно поле - то по которому я кликаю.
6 and2
 
07.03.12
09:24
1. слепить свой макет, и в параметры расшифровки напихать регистратор
2. напихать в поля регистратор, а в выражение представления нужные данные
3. пихнуть в 1 поле регистратор, и искать его
7 Чайник Рассела
 
07.03.12
09:34
(6) как то некошерно
Основная теорема систематики: Новые системы плодят новые проблемы.