|
Расшифровка СКД. Что сделать, чтобы не цифры, а значения открывались? | ☑ | ||
---|---|---|---|---|
0
bolobol
13.08.18
✎
12:40
|
Доброго дня!
Подскажите, пожалуйста, что имеется в виду, когда дв.клик по ячейке отчёта со ссылкой на документ - вызывает открытие диалогового окна с некоторой цифрой, вместо открытия документа? Как поправить? Что смотреть? Спасибо! |
|||
1
Cyberhawk
13.08.18
✎
12:41
|
Это идентификатор элемента расшифровки
|
|||
2
Cyberhawk
13.08.18
✎
12:42
|
Один из способов открытия значения ячейки - нарисовать макет соотв. поля и в его параметры добавить выражение-ссылку на нужное поле СКД
|
|||
3
Cyberhawk
13.08.18
✎
12:43
|
Но тебе сказанное, думаю, сразу так не поможет. Возможно, кормящие разжуют после меня )
|
|||
4
Fragster
гуру
13.08.18
✎
12:46
|
мой телепатический орган подсказывает, что при программной компоновке в ПриКомпоновкеРезультата в нужное место не были переданы данные расшифровки
|
|||
5
bolobol
13.08.18
✎
14:07
|
(4) Скорее, непонятно, как табличному полю или куда-то в другое место - передать эти данные расшифровки. Т.к. в отладчике я их вижу (их содержимое), а форма при дв.клике - их не видит.
На форме должен быть какой-то реквизит? В параметрах формы? Какой-то тип особенный? Как-то связан с табличным полем или поле как-то связано с ним? Не пойму, как это могли задумать в 1С |
|||
6
Fragster
гуру
13.08.18
✎
14:13
|
(5) в реквизите формы сохраняешь адрес временного хранилища с ДанныеРасшифровки из процессора компоновки, а в обработке расшифровки юзаешь. Если это расширение формы отчета, то все происходит само (ну и реквизит сам добавляется в форму).
|
|||
7
bolobol
13.08.18
✎
14:18
|
Адрес временного хранилища?
Самому обработку расшифровки писать? Т.е. если форма без основного макета СКД, а просто формочка с табличным полем, куда нечто из общего модуля данные из СКД выводит, то автоматом данные расшифровки использоваться не будут никак? И, может, есть пример как это могло бы быть реализовано? |
|||
8
Fragster
гуру
13.08.18
✎
14:26
|
это нечто из общего модуля скорее всего может возвращать и данные расшифровки.
соответственно, пихаешь их во временное хранилище с идентификатором формы, далее да, сам пишешь обработку расшифровки, см. СП по чему-то типа ДанныеРасшифровкиКомпоновкиДанных.Элементы.Получить(ИдентификаторРасшифровки); |
|||
9
bolobol
13.08.18
✎
14:40
|
Идентификатора формы нет в общем модуле - есть только (передано параметрами с формы): ТабличноеПоле и Параметры(тип: ДанныеФормыСтруктура)
|
|||
10
Мимохожий Однако
13.08.18
✎
15:04
|
(9) в (1) подсказали про идентификатор расшифровки, а не формы
|
|||
11
Fragster
гуру
13.08.18
✎
15:10
|
(9) идентификатор формы нужен в качестве параметра ПоместитьВоВременноеХранилище
|
|||
12
Fragster
гуру
13.08.18
✎
15:10
|
иначе временное хранилище превратиться в тыкву при первом же серверном вызове
|
|||
13
bolobol
13.08.18
✎
15:18
|
(12) Спасибо вам огромное - все необходимые ресурсы нашёл, с временных хранилищем ещё предстоит разобраться, как и с фактическим открытием расшифровки. Имея направление "копать" - уже можно делать вид, что работается в поте лица)
Спасибо! |
|||
14
bolobol
14.08.18
✎
10:01
|
В итоге - и сохранил полученную РасшифровкуКомпоновкиДанных, и получаю её, и элементы получаю, но в элементах только:
Группировка: <пусто> Идентификатор: 8 ОсновноеДействие: Открыть А значения-то где получать? Беру Табличный документ, куда выведен отчёт, там есть .ТекущаяОбласть, где НаСервере: Заполнение: Текст Значение: Недоступно для чтения ИспользованиеРасшифровки: Ячейка Расшифровка: Неопределено СодержитЗначение: Ложь Имя: "R1C1" - хотя дв.клик был совершенно в иной области А НаКлиенте: Имя: "R7C4" - верно Расшифровка: 8 Остальное - не отличается. Где значения-то?? |
|||
15
bolobol
14.08.18
✎
11:09
|
Апну, штоле
|
|||
16
Rokford
14.08.18
✎
11:18
|
Пример программного использования расшифровки можно посмотреть у Евгения Гилева в курсе по СКД. Видео с 106-110. (в нете находится быстро, или на их сайте - этот курс бесплатный)
|
|||
17
Fragster
гуру
14.08.18
✎
11:21
|
(14) вот кусок моего кода, отдаленно имеющего отношение к проблеме:
ИдентификаторРасшифровки = РезультатОтчета.Область(СчС, СчК).Расшифровка; ЭлементРасшифровки = ДанныеРасшифровки.Элементы.Получить(ИдентификаторРасшифровки); ПолеРасшифровки = ЭлементРасшифровки.ПолучитьПоля()[0]; Если СчС = 2 Тогда Таблица.Колонки.Добавить(ПолеРасшифровки.Поле); КонецЕсли; Если ПолеРасшифровки.Значение <> NULL Тогда Стр[ПолеРасшифровки.Поле] = ПолеРасшифровки.Значение; ИначеЕсли ЗначениеЗаполнено(РезультатОтчета.Область(СчС, СчК).Текст) Тогда Стр[ПолеРасшифровки.Поле] = Число(РезультатОтчета.Область(СчС, СчК).Текст); Иначе Стр[ПолеРасшифровки.Поле] = 0; КонецЕсли; |
|||
18
bolobol
14.08.18
✎
11:23
|
(16) Спасибо, конечно, но меньше чем на 3D-инсталляцию программного кода я не согласен)
|
|||
19
Rokford
14.08.18
✎
11:24
|
(18) не понял
|
|||
20
Fragster
гуру
14.08.18
✎
11:26
|
(19) видео как формат обучения программированию - шлак
|
|||
21
Fragster
гуру
14.08.18
✎
11:27
|
и я с этим согласен
|
|||
22
bolobol
14.08.18
✎
11:30
|
(17) Не пойму, вот как догадаться, что ПолучитьПоля() нужно вызвать... Спасибо!!
|
|||
23
Rokford
14.08.18
✎
11:31
|
(20, 21) а я не согласен
И вообще (раз уж я влез в тему :) ) что там такого в этой ячейке нестандартного, что нужно программно огород городить? Если, как автор говорит, там "ячейка отчёта со ссылкой на документ" то СКД должна сама без лишних телодвижений с расшифровкой открывать документ. Программную расшифровку делал для нестандартного поведения, когда нужно обрабатывать не ссылочные данные в ТЗ. |
|||
24
Fragster
гуру
14.08.18
✎
11:32
|
(23) это работает только если у тебя форма с основным реквизитом-отчетом
|
|||
25
bolobol
14.08.18
✎
11:34
|
(19) Синтаксис, описания методов - это документация, и никак не видео.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |