Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 дек 2024, 21:36

Расшифровка 1С СКД

Автор nata92, 20 апр 2015, 13:01

0 Пользователей и 1 гость просматривают эту тему.

nata92

Читала множество форумов, например вот тема на этом же форуме https://forum-baza.ru/index.php?topic=30896.0  ничего не помогает.
Вот есть отчет сформированный в СКД. Нужно сделать расшифровку по полю "Заявитель, задача, выполненная работа" - тип строка, это поле формируется из данных документа. Если нажать "расшифровать" то открывается окном с выбором поля, я выбираю Регистратор и уже открывает отчет расшифровка с нужной ссылкой на документ и можно потом открыть сам документ. Как можно промежуточные шаги миновать. Просмотрела видео 110 уроков по СКД, немного кода написала по уроком,но требуется все таки при двойном нажатии мышкой по полю с текстом открыть определенный документ. Боюсь что вы скажите что не получиться сделать как мне нужно.Помогите, пожалуйста.

Код:


&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

   Перем ВыполненноеДействие;
   
   СтандартнаяОбработка = Ложь;
   
   Если ТипЗнч(Расшифровка) <> Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
      Возврат;
   КонецЕсли;
   Элемент =  ПолучитьКоллекцию(Расшифровка);
   Если ЗначениеЗаполнено(Элемент) Тогда
      ОткрытьЗначение(Элемент);
   КонецЕсли;
   
КонецПроцедуры



&НаСервере
Функция ПолучитьКоллекцию(Расшифровка)
   
   ДанныеРасшифровкиОтчета = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
   ЭлементРасшифровки = ДанныеРасшифровкиОтчета.Элементы[Расшифровка];
   
   
   Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
      Для Каждого ЗначениеПоляРасшифровки Из ЭлементРасшифровки.ПолучитьПоля() Цикл
         Значение = ЗначениеПоляРасшифровки.Значение;
         Если Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Значение)) Тогда
            Возврат Значение;
         КонецЕсли;
      КонецЦикла;
   КонецЕсли;
   
   Возврат Неопределено;
   
   
КонецФункции

vitasw

"Заявитель, задача, выполненная работа"  - имеет всегда только один регистратор?, если да - то сделайте свой макет и туда в качестве расшифровки запихните регистратор.

cska-fanat-kz

а если изначально поле будет "Регистратор", а выражение представления сформировать ему как "Заявитель + задача + выполненная работа"?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

nata92

Цитата: vitasw от 20 апр 2015, 13:08
"Заявитель, задача, выполненная работа"  - имеет всегда только один регистратор?, если да - то сделайте свой макет и туда в качестве расшифровки запихните регистратор.


Да, регистратор один всегда, попробую сделать
Добавлено: 27 апр 2015, 09:51


Цитата: cska-fanat-kz от 20 апр 2015, 13:39
а если изначально поле будет "Регистратор", а выражение представления сформировать ему как "Заявитель + задача + выполненная работа"?

А вот на счет этого не думала, что можно так попробовать сделать. Вообще поле Заявитель, задача, выполненная работа формируется в вычисляемых полях:

Выбор
   Когда Заявка = Значение(Документ.Заявка.ПустаяСсылка) Тогда 
         ""
   Иначе
      Выбор
         Когда Заявка.КонтактноеЛицо = Значение(Справочник.КонтактныеЛица.ПустаяСсылка) Тогда
            Заявка.ПостановкаЗадачи + "
"
+"--------------------------------------------------------------------------------------------------------------------------------------
"
      Иначе
         Заявка.КонтактноеЛицо.Наименование +  ". " +" " + Заявка.ПостановкаЗадачи +" "
+"--------------------------------------------------------------------------------------------------------------------------------------
"
   Конец
Конец
+ Регистратор.ОписаниеПроделаннойРаботы

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск