|
Расшифровка строки в СКД | ☑ | ||
---|---|---|---|---|
0
osuul
18.01.12
✎
21:56
|
Помогите:
сделал отчет СКД: колонка1 колонк2 колонк3 колонка4 данные1 данные2 данные3 данные4 данные5 данные6 данные7 данные8 начал делать "РезультатОбработкаРасшифровки" и не разобраться как: нужно что бы по нажатию на любую ячейку с данными из строки у меня обрабатывалась расшифровка например 1-й ячейки с данными. т.е. если я нажму на "данные3", расшифровка отрабатывает "данные1" если я нажму на "данные4", расшифровка отрабатывает "данные1" если я нажму на "данные6", расшифровка отрабатывает "данные5" если я нажму на "данные8", расшифровка отрабатывает "данные5" и т.д. весь инет перерыл, но так и не понял :( |
|||
1
osuul
18.01.12
✎
22:57
|
ап
|
|||
2
osuul
19.01.12
✎
00:47
|
ап
|
|||
3
Kom-off
19.01.12
✎
01:19
|
См. вот здесь: http://www.spec8.ru/kurs-po-skd-besplatno Уроки 106-110. Там все есть.
|
|||
4
osuul
19.01.12
✎
01:39
|
(3) там есть, но для макетов только, нужно без макета..
|
|||
5
Nesh
19.01.12
✎
01:59
|
тоже актуально...
|
|||
6
osuul
19.01.12
✎
02:03
|
узнаешь чего пищи сюда плиз
|
|||
7
Kom-off
19.01.12
✎
09:50
|
(4) А без макета делаешь свою обработку расшифровки в форме отчета (форму отчета придется все же создать) и пользуешь в этом обработчике функции компоновщика (или его настроек) для получения контекста по данным расшифровки, которые СКД засунет в этот обработчик событий. Кажется, у Хрусталевой это описано в книге было, да и в 110 уроках это есть, но точно сейчас не помню в каком...
|
|||
8
osuul
19.01.12
✎
17:43
|
(7) я знаю как делать расшифровку для каждой ячейки, но нужно что бы было как в сабже
|
|||
9
Kom-off
19.01.12
✎
17:56
|
(8) В процедуре обработчике расшифровки делай что хочешь, в т.ч. и незамысловатую расшифровку.
|
|||
10
Kom-off
19.01.12
✎
17:57
|
(9)+ Только значения для показа расшифровки ищи в готовом документе "ручками", или выводи результат отчета отдельно в ТЗ и в обработке расшифровки получай то, что тебе нужно из нее. Ну, вообщем, покрутиться придется.
|
|||
11
osuul
19.01.12
✎
18:07
|
(9) я понимаю что я там могу вертеть что угодно) тока вот верчу кручу уж как сутки, все не вывертеть никак)
(10) "или выводи результат отчета отдельно в ТЗ" - мысль, попробую повертеть в этом направлении |
|||
12
Kom-off
19.01.12
✎
18:13
|
(11) Удачи.
|
|||
13
osuul
19.01.12
✎
18:17
|
(10)(12) спасибо) но вопрос всеравно открытый)
|
|||
14
PVV65
19.01.12
✎
19:06
|
Перем Схема, ДанныеРасшифровки;
Процедура ПолеТабличногоДокумента1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыполненноеДействие; СтандартнаяОбработка=Ложь; Если ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "ИмяКолонки2" Тогда Смещение = 1; ИначеЕсли ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "ИмяКолонки3" Тогда Смещение = 2; ИначеЕсли ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "ИмяКолонки4" Тогда Смещение = 3; ИначеЕсли ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле = "ИмяКолонки1" Тогда Смещение = 0; КонецЕсли; ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема)); ДоступныеДействия=Новый Массив; ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); ОбработкаРасшифровки.Выполнить(ДанныеРасшифровки.Элементы.Получить(Число(Расшифровка)-Смещение).Идентификатор,ВыполненноеДействие,ДоступныеДействия); КонецПроцедуры Процедура КнопкаВыполнитьНажатие(Кнопка) Схема = ОбработкаОбъект.ПолучитьМакет("Схема"); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема)); КомпоновщикНастроек.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема,КомпоновщикНастроек.Настройки,ДанныеРасшифровки); Процессор = Новый ПроцессорКомпоновкиДанных; Процессор.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.ПолеТабличногоДокумента1); ПроцессорВывода.Вывести(Процессор); КонецПроцедуры |
|||
15
osuul
19.01.12
✎
19:27
|
Сделал некое изващение, для начала сойдет
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) // СтандартныеОтчеты.ОбработкаРасшифровкиОтчетовДляРуководителя(ЭтотОбъект, ЭтаФорма, Расшифровка, СтандартнаяОбработка); СтандартнаяОбработка = ложь; ТекущееПоле = ЭтаФорма.ТекущийЭлемент.ТекущаяОбласть.Имя; ТекущееПоле = ОбрезатьЛишнее(ТекущееПоле); Сообщить(ТекущееПоле); СсылкаНаПоле = ТекущееПоле+"C2"; НомерДокумента = ЭлементыФормы.Результат.Область(СсылкаНаПоле).Текст; Если ЗначениеЗаполнено(НомерДокумента) тогда Документы.ЗаявкаНаРаботы.НайтиПоНомеру(НомерДокумента).ПолучитьФорму().Открыть(); КонецЕсли; КонецПроцедуры Функция ОбрезатьЛишнее(Строка) Позиция = НАйти(строка,"C"); Строка = Сред(Строка,0,Позиция-1); Возврат Строка КонецФункции |
|||
16
osuul
19.01.12
✎
19:28
|
(14) интересно, сейчас попробую вариант
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |