Как сделать вывод нужных данных по клику на ячейку динамического списка?

1. user1500067 05.05.21 08:39 Сейчас в теме +0.35 $m
Всем привет. Не могу понять, как сделать так, чтобы в отчёте (на основе динамического списка) по клику на ячейку открывалась нужная мне форма. У меня есть ячейка, которая содержит ссылку на ТелефонныйЗвонок.Ссылка и открывается форма Справочник.Запросы в которой лежит эта ссылка, и кликнув по которой откроется форма ТелефонныйЗвонок.Взаимодействие. Так вот как можно сделать так, чтобы по клику на ячейку сразу открывалась нужная форма Документа? (см. скриншоты)

Если кратко, то сейчас алгоритм такой:
Клик по ячейке ->> Открытие формы Справчник.Запросы ->> Клик по ссылке на этой форме ->> Происходит открытие формы ТелефонныйЗвонок.Взаимодействие

Нужен такой алгоритм: Клик по ячейке ->> Происходит открытие формы ТелефонныйЗвонок.Взаимодействие

Подскажите, пожалуйста, как сделать
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. MikhailDr 05.05.21 08:50 Сейчас в теме
В динамическом списке есть событие "Выбор", оно срабатывает при двойном клике. В самом событии есть параметр "Поле", в котором можно посмотреть какую колонку выбрал пользователь, ну а далее программно открываете нужную форму
3. user1500067 05.05.21 09:17 Сейчас в теме
(2) А не подскажите, какой код надо использовать?
4. MikhailDr 05.05.21 09:19 Сейчас в теме
(3)
&НаКлиенте
Процедура СписокПроектовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	ПоследнийРасчет = ПолучитьСсылкуНаРасчет(ВыбраннаяСтрока);
	
	Если ПоследнийРасчет <> Неопределено Тогда
		ОткрытьЗначение(ПоследнийРасчет);
	КонецЕсли;
	
КонецПроцедуры
Показать


Только вам еще надо поставить условие на имя поля, чтобы код срабатывал, только когда пользователь выбирает колонку с телефоном.
7. user1500067 05.05.21 10:36 Сейчас в теме
(4) Написал такой код, должно работать, вот только не могу передать значение "СсылкаНаДокумент" из НаСервере в НаКлиенте. Как это можно сделать?
 &НаСервере
Процедура СписокВыборНаСервере() Экспорт
	Запрос = Новый Запрос;
	Запрос.Текст ="ВЫБРАТЬ
	              |	ТелефонныйЗвонок.Ссылка КАК Ссылка
	              |ИЗ
	              |	Справочник.Запросы КАК Запросы
	              |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
	              |		ПО Запросы.Ссылка = ТелефонныйЗвонок.ВзаимодействиеОснование
	              |ГДЕ
	              |	Запросы.Ссылка = &ВыбраннаяСтрока"; 
	
	  
	Запрос.УстановитьПараметр(Элементы.Список.ТекущаяСтрока, "ВыбраннаяСтрока");
    Выборка = Запрос.Выполнить().Выбрать();
	СсылкаНаДокумент = Выборка.Ссылка;
	
КонецПроцедуры


&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
    СтандартнаяОбработка = Ложь;
	СписокВыборНаСервере();
	ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Ключ", СсылкаНаДокумент);
	
	НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.ФормаОбъекта",ПараметрыФормы);
	
	Если НужнаяФорма <> Неопределено Тогда
        ОткрытьЗначение(НужнаяФорма);
    КонецЕсли;
   
	
	
КонецПроцедуры
Показать
8. MikhailDr 05.05.21 11:27 Сейчас в теме
(7) Этого не надо делать, надо на клиенте вызвать серверную функцию, которая вернет ссылку

Короче СписокВыборНаСервере() должна быть функцией
5. ixijixi 1801 05.05.21 10:23 Сейчас в теме
Интересно, что такое отчет на основе динамического списка?
6. user1500067 05.05.21 10:35 Сейчас в теме
(5) До этого с отчётом долго работал, вот машинально написал. Исправить уже не могу.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот