Имя: Пароль:
1C
1С v8
Как сделать обработчик события при клике на ячейку отчета?
0 Простенький вопросик
 
17.12.12
12:08
Как сделать обработчик события при клике на ячейку отчета? Отчет через табличный документ.
1 ДенисЧ
 
17.12.12
12:10
РАсшифровку прописать...
2 Нуф-Нуф
 
17.12.12
12:10
расшифровка йоу
3 Простенький вопросик
 
17.12.12
12:11
ну систаксис подскажите типа
4 samozvanec
 
17.12.12
12:13
обработку расшифровки у поля табдока смотри
5 Нуф-Нуф
 
17.12.12
12:13
поиск по типовой конфиге со словом "расшифровк"
6 samozvanec
 
17.12.12
12:13
(4) + параметр расшифровки в свойствах ячейки еще
7 Простенький вопросик
 
17.12.12
12:18
ну а можно копипастный вариант?
8 Нуф-Нуф
 
17.12.12
12:19
неисключено
9 Простенький вопросик
 
17.12.12
12:28
Я все равно ничего понять не могую. Вот у меня есть область "Строка", в ней есть параметр "тест". Как при клике на ячейку в которой параметр "тест" заставить сработать событие? Ну например Соообщить("привет мир");
10 Maxus43
 
17.12.12
12:30
(9)>(4) смотрел?
11 Простенький вопросик
 
17.12.12
12:36
(10)
да пару слов и я бы смог не зная написать, мне нужен рабочий пример
12 Простенький вопросик
 
17.12.12
12:44
+
13 Maxus43
 
17.12.12
12:51
я хз чем это поможет тебе...
14 Maxus43
 
17.12.12
12:51
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   
   Если ТипЗнч(Расшифровка) <> Тип("ИдентификаторРасшифровкиКомпоновкиДанных")
       И ТипЗнч(Расшифровка) <> Тип("ДанныеРасшифровкиКомпоновкиДанных") Тогда
       Возврат;
   КонецЕсли;
   
   ЭтоДетальнаяЗапись = ЭтоДетальнаяЗапись(ДанныеРасшифровки, Расшифровка);
   МассивПолейРасшифровкиСРесурсами = ТиповыеОтчеты.ПолучитьМассивПолейРасшифровки(Расшифровка, ДанныеРасшифровки, , Истина);
   
   Если МассивПолейРасшифровкиСРесурсами.Количество() = 0 тогда
       Возврат;    
   КонецЕсли;
   
   Если ЭтоДетальнаяЗапись
       И (Не ЭтоОтработкаРасшифровки)
       И МассивПолейРасшифровкиСРесурсами[0].Поле = "Файл" Тогда
       
       СтандартнаяОбработка = Ложь;
       ЗначениеПоляОсновнойДоговор = ПолучитьЗначениеИзПолейРасшифровки("ЗаявкаНаРасходование", МассивПолейРасшифровкиСРесурсами);
       //
       Если ЗначениеПоляОсновнойДоговор <> Неопределено Тогда
           
           СтруктураДляСпискаИзображдений = Новый Структура("ОтборОбъектИспользование, ОтборОбъектЗначение, ДоступностьОтбораОбъекта, ВидимостьКолонкиОбъекта", Истина, ЗначениеПоляОсновнойДоговор, Ложь, Ложь);
           СтруктураДляСпискаДополнительныхФайлов = Новый Структура("ОтборОбъектИспользование, ОтборОбъектЗначение, ДоступностьОтбораОбъекта, ВидимостьКолонкиОбъекта", Истина, ЗначениеПоляОсновнойДоговор, Ложь, Ложь);
           ОбязательныеОтборы = Новый Структура("Объект", ЗначениеПоляОсновнойДоговор);
           
           РаботаСФайлами.ОткрытьФормуСпискаФайловИИзображений(СтруктураДляСпискаИзображдений, СтруктураДляСпискаДополнительныхФайлов, ОбязательныеОтборы, ЭтаФорма);
           
       КонецЕсли;
15 pessok
 
17.12.12
12:53
(11) ты издеваешься? тебе все разжевали
16 Простенький вопросик
 
17.12.12
13:03
(15)
да мне несколько несвязных советов дали, разжевали они. мне конкретней надо
17 pessok
 
17.12.12
13:05
ну давай тогда так: ты нам свою зарплату, мы тебе конкретное решение. хотя куда уж конкретнее (14)
18 Fish
 
17.12.12
13:05
(16) Конкретней, это чтобы к тебе пришли и за тебя сделали?
19 Простенький вопросик
 
17.12.12
13:07
(17)
Причем тут зарплата, это 1/100 отчета, с которой сложности возникли.
20 Простенький вопросик
 
17.12.12
13:08
(18)
не надо никуда приходить, только сказать чисто и конкретно, куда ткнуть и что написать
21 pessok
 
17.12.12
13:08
(19) да притом, что надо _пытаться думать_
22 Trier
 
17.12.12
13:08
(20)
У ячейки есть свойство ПараметрРасшифровки, оно передается в процедуру ОбработкаРасшифровки. Соответственно выглядит у тебя так:

Процедура ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;

//
... и тут пишешь все что тебе нужно. То есть например делаешь у отчета еще одну форму, вызываешь и, сделав новый запрос для расшифровки, заполняешь ее
//
КонецПроцелуры

тут все действителньо легко
23 pessok
 
17.12.12
13:08
(20) в (14) тебе написали
24 Простенький вопросик
 
17.12.12
13:16
(22)
Вот смотрите, там где у меня в ячейке контрагент, я так и написал в расшифровке (свойстве) - "контрагент"

Потом написал процедуру

Процедура ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   СтандартнаяОбработка=Ложь;
    сообщить(Расшифровка);
КонецПроцедуры ;

В итоге у меня при клике открывается карточка контрагента, а событие в процедуре не срабатывает
25 MSII
 
17.12.12
13:18
(24) Как бы неплохо бы еще эту процедуру назначить в качестве обработчика.
26 Простенький вопросик
 
17.12.12
13:20
(25)
а как это сделать?
27 Простенький вопросик
 
17.12.12
13:28
-
28 Maxus43
 
17.12.12
13:29
Обработка расшифровки - это контекст элемента управления, если у тебя на форму не выведено ТП - то не назначишь
29 Maxus43
 
17.12.12
13:30
*ТП = ТабДок всмысле
30 pessok
 
17.12.12
13:31
(29) ПТД, на самом деле :)
31 Maxus43
 
17.12.12
13:32
ну кто в теме тот понял)
32 Простенький вопросик
 
17.12.12
13:35
я не понял, то есть в макете нельзя сделать так, чтобы выходило событие при расшифровке?
33 pessok
 
17.12.12
13:38
(32) есть просто ТабДок - то не выйдет, если поле табличного документа на форме, то можно
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший