Вход | Регистрация
 

Как передать ссылку в процедуру из функции для дальнейшего заполнения новой форму

Как передать ссылку в процедуру из функции для дальнейшего заполнения новой форму
Я
   Varlant1n
 
15.01.21 - 10:44
Здравствуйте, ребята! Есть функция. Написал ее, не знаю насколько правильно, но по идее должно быть так. Эта функция проверят на наличие документа у менеджера. Если документа нет, то делает предупреждение, если же документ есть, то функция должна вернуть значение ссылки в процедуру, открыть форму и передать эту ссылку в данную форму. Код формы пока не написал, но хотя бы до этого момента нужна помощь. Посмотрите, пожалуйста, правильно ли я написал фукнцию. И как мне через процедуру получить возврат?

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


Процедура МенеджерПриИзменении(Элемент)
    Если ЗначениеЗаполнено(Объект.Менеджер) Тогда
        ????????????????????????????????
    КонецЕсли;
КонецПроцедуры
   alkorolev
 
1 - 15.01.21 - 10:57
если правильно тебя понял,то 

Процедура МенеджерПриИзменении(Элемент)
    Если ЗначениеЗаполнено(Объект.Менеджер) Тогда
        Результат = МенеджерПриИзмененииНаСервере(Объект.Менеджер);
        Если ЗначениеЗаполнено(Результат) Тогда
            ПоказатьЗначение(, Результат);
        Иначе
            ПоказатьПредупреждение(, "Нет документа");
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
   Varlant1n
 
2 - 15.01.21 - 11:02
(1) По идее, да, проверю щас. А в самой функции, я правильно сделал возврат? Извиняюсь за тупость, учусь только.
   alkorolev
 
3 - 18.01.21 - 10:08
(2)  Если Выборка.Следующий() Тогда
        Возврат Выборка.Ссылка;
    Иначе
        Возврат Документы.ЗаданиеМенеджера.ПустаяСсылка();
    КонецЕсли;

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.