Не передаётся значение функции в процедуру
Доброго времени суток!
Пытаюсь передать в процедуру значение из функции, но пишет ошибку "Переменная не определена СсылкаНаДокумент". Не могу понять почему. Уже много всего перепробовал, буду благодарен за ваши советы!
вот код:
Пытаюсь передать в процедуру значение из функции, но пишет ошибку "Переменная не определена СсылкаНаДокумент". Не могу понять почему. Уже много всего перепробовал, буду благодарен за ваши советы!
вот код:
&НаСервере
Функция СписокВыборНаСервере() Экспорт
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
| ТелефонныйЗвонок.Ссылка КАК Ссылка
|ИЗ
| Справочник.Запросы КАК Запросы
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
| ПО Запросы.Ссылка = ТелефонныйЗвонок.ВзаимодействиеОснование
|ГДЕ
| Запросы.Ссылка = &ВыбраннаяСтрока";
Запрос.УстановитьПараметр("ВыбраннаяСтрока", Элементы.Список.ТекущаяСтрока);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()Цикл
СсылкаНаДокумент = Выборка.Ссылка;
КонецЦикла;
Возврат СсылкаНаДокумент;
КонецФункции
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СписокВыборНаСервере();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", СсылкаНаДокумент);
НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.Форма.ФормаДокумента",ПараметрыФормы);
Если НужнаяФорма <> Неопределено Тогда
ОткрытьЗначение(НужнаяФорма);
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- hsИнтегратор 3. Онлайновый обмен и удаленное исполнение функций по HTTP протоколу
- Заполнение дополнительных реквизитов в модуле на сервере, в правилах КД 2.0, в модуле внешней обработки
- Хранилище значения. Заметки
- Простой отчет СКД с дополнительным набором данных, получаемых по com соединению из другой базы
- (Не) Строгая типизация 1С
Найденные решения
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
РЕЗУЛЬТАТ = СписокВыборНаСервере();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", РЕЗУЛЬТАТ );
НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.Форма.ФормаДокумента",ПараметрыФормы);
Если НужнаяФорма <> Неопределено Тогда
ОткрытьЗначение(НужнаяФорма);
КонецЕсли;
КонецПроцедуры
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
РЕЗУЛЬТАТ = СписокВыборНаСервере();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", РЕЗУЛЬТАТ );
НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.Форма.ФормаДокумента",ПараметрыФормы);
Если НужнаяФорма <> Неопределено Тогда
ОткрытьЗначение(НужнаяФорма);
КонецЕсли;
КонецПроцедуры
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Переменная определена внутри цикла. Если запрос ничего не вернет, то в цикл не зайдет и получится, что функция возвращает необъявленную переменную. Объявите переменную до цикла. Хотя бы значением Неопределено.
Пока Выборка.Следующий()Цикл
СсылкаНаДокумент = Выборка.Ссылка;
КонецЦикла;
Возврат СсылкаНаДокумент;
СсылкаНаДокумент = Выборка.Ссылка;
КонецЦикла;
Возврат СсылкаНаДокумент;
Переменная определена внутри цикла. Если запрос ничего не вернет, то в цикл не зайдет и получится, что функция возвращает необъявленную переменную. Объявите переменную до цикла. Хотя бы значением Неопределено.
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
РЕЗУЛЬТАТ = СписокВыборНаСервере();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", РЕЗУЛЬТАТ );
НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.Форма.ФормаДокумента",ПараметрыФормы);
Если НужнаяФорма <> Неопределено Тогда
ОткрытьЗначение(НужнаяФорма);
КонецЕсли;
КонецПроцедуры
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
РЕЗУЛЬТАТ = СписокВыборНаСервере();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", РЕЗУЛЬТАТ );
НужнаяФорма = ОткрытьФорму("Документ.ТелефонныйЗвонок.Форма.ФормаДокумента",ПараметрыФормы);
Если НужнаяФорма <> Неопределено Тогда
ОткрытьЗначение(НужнаяФорма);
КонецЕсли;
КонецПроцедуры
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот