Имя: Пароль:
1C
 
Функция на сервере с контекстом
0 Varlant1n
 
14.01.21
11:18
Здравствуйте, дорогие форумчане. Мне надо через функцию на сервере с контекстом, с помощью запроса, узнать есть ли документ у менеджера и передать это значение в процедуру на клиенте для дальнейшей обработки. Вот, что у меня есть на данный момент, но у меня конфигуратор ругается на "Недостаточно фактических параметров". Можете подсказать в чем может заключаться ошибка. Код:

&НаКлиенте
Процедура МенеджерПриИзменении(Элемент)
    Если ЗначениеЗаполнено(Объект.Менеджер) Тогда
        МенеджерПриИзмененииНаСервере(Менеджер);
        Если РезультатЗапроса.Пустой() Тогда
            /////
        Иначе ////
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

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

    Если ЗначениеЗаполнено(Объект.Менеджер) Тогда
        МенеджерПриИзмененииНаСервере(Менеджер);

И тут можно поправить
  Запрос.УстановитьПараметр("Менеджер", Объект.Менеджер);
2 DrShad
 
14.01.21
11:22
да тут намного больше ошибок
3 Varlant1n
 
14.01.21
11:26
(2) ?
4 ДенисЧ
 
14.01.21
11:27
МенеджерПриИзмененииНаСервере(Менеджер);
        Если РезультатЗапроса.Пустой() Тогда

Что такое результатзапроса?

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

Где возврат значения?
5 Mankubus
 
14.01.21
11:30
"ВЫБРАТЬ ПЕРВЫЕ 1
    |    ЗаданиеМенеджера.Ссылка КАК Ссылка
    |ИЗ
    |    Документ.Менеджер КАК Менеджер

ЗаданиеМенеджера -- это что? Почему не пользуешься конструктором запроса?
6 Varlant1n
 
14.01.21
11:32
(1) Исправил, но конфигуратор все равно ругается:

&НаКлиенте
Процедура МенеджерПриИзменении(Элемент)
    Если ЗначениеЗаполнено(Объект.ФизическоеЛицо) Тогда
        МенеджерПриИзмененииНаСервере(Менеджер);
    КонецЕсли;
КонецПроцедуры

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