Не передаётся значение функции в процедуру

1. user1500067 07.05.21 03:28 Сейчас в теме
Доброго времени суток!

Пытаюсь передать в процедуру значение из функции, но пишет ошибку "Переменная не определена СсылкаНаДокумент". Не могу понять почему. Уже много всего перепробовал, буду благодарен за ваши советы!

вот код:

&НаСервере
Функция СписокВыборНаСервере() Экспорт
	Запрос = Новый Запрос;
	Запрос.Текст ="ВЫБРАТЬ
	              |	ТелефонныйЗвонок.Ссылка КАК Ссылка
	              |ИЗ
	              |	Справочник.Запросы КАК Запросы
	              |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
	              |		ПО Запросы.Ссылка = ТелефонныйЗвонок.ВзаимодействиеОснование
	              |ГДЕ
	              |	Запросы.Ссылка = &ВыбраннаяСтрока"; 
	
	  
	Запрос.УстановитьПараметр("ВыбраннаяСтрока", Элементы.Список.ТекущаяСтрока);    
    Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий()Цикл 
	СсылкаНаДокумент = Выборка.Ссылка;
	КонецЦикла;
	Возврат СсылкаНаДокумент;
КонецФункции


&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	СписокВыборНаСервере();
	ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Ключ", СсылкаНаДокумент);
	
	НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.Форма.ФормаДокумента",ПараметрыФормы);
	
	Если НужнаяФорма <> Неопределено Тогда
        ОткрытьЗначение(НужнаяФорма);
    КонецЕсли;
   
	
	
КонецПроцедуры
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. dj_tol 103 07.05.21 04:00 Сейчас в теме +0.82 $m
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
РЕЗУЛЬТАТ = СписокВыборНаСервере();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", РЕЗУЛЬТАТ );

НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.Форма.ФормаДокумента",ПараметрыФормы);

Если НужнаяФорма <> Неопределено Тогда
ОткрытьЗначение(НужнаяФорма);
КонецЕсли;



КонецПроцедуры
3. 1segen1 33 07.05.21 04:05 Сейчас в теме
В процедуре надо написать СсылкаНаДокумент = СписокВыборНаСервере()
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. spacecraft 07.05.21 07:11 Сейчас в теме
(1)
Пока Выборка.Следующий()Цикл
СсылкаНаДокумент = Выборка.Ссылка;
КонецЦикла;
Возврат СсылкаНаДокумент;

Переменная определена внутри цикла. Если запрос ничего не вернет, то в цикл не зайдет и получится, что функция возвращает необъявленную переменную. Объявите переменную до цикла. Хотя бы значением Неопределено.
2. dj_tol 103 07.05.21 04:00 Сейчас в теме +0.82 $m
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
РЕЗУЛЬТАТ = СписокВыборНаСервере();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", РЕЗУЛЬТАТ );

НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.Форма.ФормаДокумента",ПараметрыФормы);

Если НужнаяФорма <> Неопределено Тогда
ОткрытьЗначение(НужнаяФорма);
КонецЕсли;



КонецПроцедуры
4. user1500067 07.05.21 04:26 Сейчас в теме
(2) Спасибо, что-то я не заметил, что не присвоил переменной возвращаемое значение функции
3. 1segen1 33 07.05.21 04:05 Сейчас в теме
В процедуре надо написать СсылкаНаДокумент = СписокВыборНаСервере()
Оставьте свое сообщение

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