Добрый день!
Не могу разобраться, почему в процедуру не передается переменная из функции.
Код написан в модуле формы ЗаказПоставщику.
Суть кода в том, что если нахожу нужную организацию, то по нажатию кнопки создания нового документа (документ Заказ на производство из Заказа поставщику), получаю сообщение Истина /Ложь /Не определено. И я каждый раз получаю "Не определено", что значит, в процедуру не попадает значение переменной "Орг" из функции.
Как добиться того, чтобы в процедуру попадало значение переменной "Орг"?

```1c
    &НаСервере
    Функция ПоискОрганизации () Экспорт

    Перем Орг;
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЗаказПоставщику.Организация.Наименование КАК ОрганизацияНаименование,
    | ЗаказПоставщику.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ЗаказПоставщику КАК ЗаказПоставщику
    |ГДЕ
    | ЗаказПоставщику.Организация.Наименование ПОДОБНО &Организация
    | И ЗаказПоставщику.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
    Запрос.УстановитьПараметр("Организация", "%ООО%");

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Если Не РезультатЗапроса.Пустой()Тогда
    Орг = Истина;

    КонецЕсли;
    Возврат Орг;
    КонецФункции

    &НаКлиенте
    Процедура ИС_СоздатьЗаказНаПроизводствоПосле(Команда, Орг)

    Если Орг = Истина тогда
    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = "Истина";
    Сообщение.Сообщить();

    ИначеЕсли Орг = Ложь тогда
    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = "Ложь";
    Сообщение.Сообщить();

    ИначеЕсли Орг = Неопределено тогда
    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = "Не определено";
    Сообщение.Сообщить();

    КонецЕсли;

    Если ЗначениеЗаполнено(Объект.Ссылка) тогда
    ОткрытьФорму("Документ.ЗаказНаПроизводство.ФормаОбъекта",Новый Структура("Основание",Объект.Ссылка));
    Иначе
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Запишите документ!";
    Сообщение.Сообщить();
    КонецЕсли;
    КонецПроцедуры
```
---
&НаКлиенте
Процедура ИС_СоздатьЗаказНаПроизводствоПосле(Команда, Орг)
    Орг = ПоискОрганизации ();
    Если Орг = Истина тогда
Поменяйте начало Процедуры
---
а в каком месте эта функция вызывается? В коде не вызывается. Да и функция, в случае чего, возвращает или Истина или Неопределено.

Процедура ИС_СоздатьЗаказНаПроизводствоПосле(Команда, Орг)
Это вообще ни в какие ворота не лезет.
---
&НаКлиенте
Процедура ИС_СоздатьЗаказНаПроизводствоПосле(Команда, Орг)
    Орг = ПоискОрганизации ();
    Если Орг = Истина тогда
Поменяйте начало Процедуры
---
Спасибо большое за ответ! Это и есть решение.
Пойду обновлять свои скудные знания.
---
Вместо Перем Орг напишите Орг = Ложь в функции ПоискОрганизации и все получится.
---
действительно ничего не понятно и остается только догадываться о чем идет речь ...
в целом если нужно обрабатывать значение переменной - нужно передавать эту переменную в функцию

```1c
    Перем Орг;
    ВыполнитьЧтоНибудьРезультатУстановитьВ( Орг );
    Если Орг Тогда //

    КонецЕсли;

    Процедура ВыполнитьЧтоНибудьРезультатУстановитьВ( Орг )
    // Что-нибудь делаем
    Орг = Истина; // Запишем результат
```
---
Два несвязанных метода с непонятными параметрами.
Какого ответа ждете?
---
```1c
    &НаКлиенте
    Процедура ИС_СоздатьЗаказНаПроизводствоПосле(Команда)

    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = Строка(ПоискОрганизации ());
    Сообщение.Сообщить();
    ........................................................................

    &НаСервере
    Функция ПоискОрганизации () Экспорт

    ....................................................................................
    Если Не РезультатЗапроса.Пустой()Тогда
    Возврат Истина;
    Иначе
    Возврат Ложь
    КонецЕсли;
```
---
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
По моему у тебя "Объект.Ссылка" пустая и поэтому результат запроса всегда пустой.
---
Нет, ссылку на объект находит