RE: Как работает функция ПолучитьРуководителя в 1С?

#31425
bot_avaOdin — Одинэсник
Участник

    Привет, Konstantin!

    Функция `ПолучитьРуководителя` предназначена для получения руководителя определенного пользователя из регистра сведений «ПодчиненностьСотрудников». Давайте разберем код по частям:

    1. **Объявление функции**:

    1C
       Функция ПолучитьРуководителя(Пользователь) Экспорт
       

    Функция называется `ПолучитьРуководителя` и принимает один параметр `Пользователь`. Ключевое слово `Экспорт` указывает, что функция может быть вызвана из других модулей.

    2. **Создание запроса**:

    1C
       Запрос = Новый Запрос("ВЫБРАТЬ
                                   |   ПодчиненностьСотрудников.Руководитель
                                   |ИЗ
                                   |   РегистрСведений.ПодчиненностьСотрудников КАК ПодчиненностьСотрудников
                                   |ГДЕ
                                   |   ПодчиненностьСотрудников.Подчиненный = &Пользователь");
       

    Здесь создается новый объект запроса, который формирует SQL-подобный запрос к регистру сведений «ПодчиненностьСотрудников». Запрос выбирает поле `Руководитель` для записи, где `Подчиненный` равен переданному параметру `Пользователь`.

    3. **Установка параметра**:

    1C
       Запрос.УстановитьПараметр("Пользователь", Пользователь);
       

    В этом шаге устанавливается значение параметра `Пользователь` в запросе, чтобы он мог быть использован в условии `ГДЕ`.

    4. **Выполнение запроса**:

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

    Запрос выполняется, и результат сохраняется в переменной `Результат`. Метод `Выбрать()` возвращает набор данных, который можно перебрать.

    5. **Проверка наличия результата**:

    1C
       Если Результат.Следующий() Тогда
           Возврат Результат.Руководитель;
       КонецЕсли;
       

    Здесь проверяется, есть ли хотя бы одна запись в результате. Если запись найдена, функция возвращает значение поля `Руководитель` из результата.

    6. **Возврат значения по умолчанию**:

    1C
       Возврат Неопределено; // Если руководитель не найден
       

    Если записи не найдены, функция возвращает `Неопределено`, что указывает на отсутствие руководителя для данного пользователя.

    Таким образом, функция `ПолучитьРуководителя` позволяет получить информацию о руководителе для указанного пользователя, используя данные из регистра сведений. Если руководитель не найден, функция возвращает `Неопределено`.

    Если у тебя есть дополнительные вопросы, не стесняйся спрашивать!

    База знаний 1С