Вход | Регистрация


1С:Предприятие ::

Метки: 

Расшифровка СКД. Что сделать, чтобы не цифры, а значения открывались?

Я
   bolobol
 
13.08.18 - 12:40
Доброго дня!

Подскажите, пожалуйста, что имеется в виду, когда дв.клик по ячейке отчёта со ссылкой на документ - вызывает открытие диалогового окна с некоторой цифрой, вместо открытия документа?

Как поправить? Что смотреть?

Спасибо!
 
 
   Cyberhawk
 
1 - 13.08.18 - 12:41
Это идентификатор элемента расшифровки
   Cyberhawk
 
2 - 13.08.18 - 12:42
Один из способов открытия значения ячейки - нарисовать макет соотв. поля и в его параметры добавить выражение-ссылку на нужное поле СКД
   Cyberhawk
 
3 - 13.08.18 - 12:43
Но тебе сказанное, думаю, сразу так не поможет. Возможно, кормящие разжуют после меня )
   Fragster
 
4 - 13.08.18 - 12:46
мой телепатический орган подсказывает, что при программной компоновке в ПриКомпоновкеРезультата в нужное место не были переданы данные расшифровки
   bolobol
 
5 - 13.08.18 - 14:07
(4) Скорее, непонятно, как табличному полю или куда-то в другое место - передать эти данные расшифровки. Т.к. в отладчике я их вижу (их содержимое), а форма при дв.клике - их не видит.
На форме должен быть какой-то реквизит? В параметрах формы? Какой-то тип особенный? Как-то связан с табличным полем или поле как-то связано с ним? Не пойму, как это могли задумать в 1С
   Fragster
 
6 - 13.08.18 - 14:13
(5) в реквизите формы сохраняешь адрес временного хранилища с  ДанныеРасшифровки из процессора компоновки, а в обработке расшифровки юзаешь. Если это расширение формы отчета, то все происходит само (ну и реквизит сам добавляется в форму).
   bolobol
 
7 - 13.08.18 - 14:18
Адрес временного хранилища?

Самому обработку расшифровки писать?

Т.е. если форма без основного макета СКД, а просто формочка с табличным полем, куда нечто из общего модуля данные из СКД выводит, то автоматом данные расшифровки использоваться не будут никак?

И, может, есть пример как это могло бы быть реализовано?
   Fragster
 
8 - 13.08.18 - 14:26
это нечто из общего модуля скорее всего может возвращать и данные расшифровки.
соответственно, пихаешь их во временное хранилище с идентификатором формы, далее да, сам пишешь обработку расшифровки, см. СП по чему-то типа

ДанныеРасшифровкиКомпоновкиДанных.Элементы.Получить(ИдентификаторРасшифровки);
   bolobol
 
9 - 13.08.18 - 14:40
Идентификатора формы нет в общем модуле - есть только (передано параметрами с формы): ТабличноеПоле и Параметры(тип: ДанныеФормыСтруктура)
   МимохожийОднако
 
10 - 13.08.18 - 15:04
(9) в (1) подсказали про идентификатор расшифровки, а не формы
 
 Рекламное место пустует
   Fragster
 
11 - 13.08.18 - 15:10
(9) идентификатор формы нужен в качестве параметра ПоместитьВоВременноеХранилище
   Fragster
 
12 - 13.08.18 - 15:10
иначе временное хранилище превратиться в тыкву при первом же серверном вызове
   bolobol
 
13 - 13.08.18 - 15:18
(12) Спасибо вам огромное - все необходимые ресурсы нашёл, с временных хранилищем ещё предстоит разобраться, как и с фактическим открытием расшифровки. Имея направление "копать" - уже можно делать вид, что работается в поте лица)
Спасибо!
   bolobol
 
14 - 14.08.18 - 10:01
В итоге - и сохранил полученную РасшифровкуКомпоновкиДанных, и получаю её, и элементы получаю, но в элементах только:

Группировка: <пусто>
Идентификатор: 8
ОсновноеДействие: Открыть

А значения-то где получать?

Беру Табличный документ, куда выведен отчёт, там есть .ТекущаяОбласть, где НаСервере:
Заполнение: Текст
Значение: Недоступно для чтения
ИспользованиеРасшифровки: Ячейка
Расшифровка: Неопределено
СодержитЗначение: Ложь
Имя: "R1C1" - хотя дв.клик был совершенно в иной области

А НаКлиенте:
Имя: "R7C4" - верно
Расшифровка: 8
Остальное - не отличается.

Где значения-то??
   bolobol
 
15 - 14.08.18 - 11:09
Апну, штоле
   Rokford
 
16 - 14.08.18 - 11:18
Пример программного использования расшифровки можно посмотреть у Евгения Гилева в курсе по СКД. Видео с 106-110. (в нете находится быстро, или на их сайте -  этот курс бесплатный)
   Fragster
 
17 - 14.08.18 - 11:21
(14) вот кусок моего кода, отдаленно имеющего отношение к проблеме:

            ИдентификаторРасшифровки = РезультатОтчета.Область(СчС, СчК).Расшифровка;
            ЭлементРасшифровки = ДанныеРасшифровки.Элементы.Получить(ИдентификаторРасшифровки);
            ПолеРасшифровки = ЭлементРасшифровки.ПолучитьПоля()[0];
            Если СчС = 2 Тогда
                Таблица.Колонки.Добавить(ПолеРасшифровки.Поле);
            КонецЕсли;
            Если ПолеРасшифровки.Значение <> NULL Тогда
                Стр[ПолеРасшифровки.Поле] = ПолеРасшифровки.Значение;
            ИначеЕсли ЗначениеЗаполнено(РезультатОтчета.Область(СчС, СчК).Текст) Тогда
                Стр[ПолеРасшифровки.Поле] = Число(РезультатОтчета.Область(СчС, СчК).Текст);
            Иначе
                Стр[ПолеРасшифровки.Поле] = 0;
            КонецЕсли;
   bolobol
 
18 - 14.08.18 - 11:23
(16) Спасибо, конечно, но меньше чем на 3D-инсталляцию программного кода я не согласен)
   Rokford
 
19 - 14.08.18 - 11:24
(18) не понял
   Fragster
 
20 - 14.08.18 - 11:26
(19) видео как формат обучения программированию - шлак
   Fragster
 
21 - 14.08.18 - 11:27
и я с этим согласен
   bolobol
 
22 - 14.08.18 - 11:30
(17) Не пойму, вот как догадаться, что ПолучитьПоля() нужно вызвать... Спасибо!!
   Rokford
 
23 - 14.08.18 - 11:31
(20, 21) а я не согласен
И вообще (раз уж я влез в тему :) ) что там такого в этой ячейке нестандартного, что нужно программно огород городить?
Если, как автор говорит, там "ячейка отчёта со ссылкой на документ" то СКД должна сама без лишних телодвижений с расшифровкой открывать документ.
Программную расшифровку делал для нестандартного поведения, когда нужно обрабатывать не ссылочные данные в ТЗ.
   Fragster
 
24 - 14.08.18 - 11:32
(23) это работает только если у тебя форма с основным реквизитом-отчетом
   bolobol
 
25 - 14.08.18 - 11:34
(19) Синтаксис, описания методов - это документация, и никак не видео.



Список тем форума
Рекламное место пустует Рекламное место пустует
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует