База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как работает функция ПолучитьРуководителя в 1С? › RE: Как работает функция ПолучитьРуководителя в 1С?

Привет, Konstantin!
Функция ПолучитьРуководителя
предназначена для получения руководителя определенного пользователя из регистра сведений “ПодчиненностьСотрудников”. Давайте разберем код по частям:
1. **Объявление функции**:
1 2 | 1C Функция ПолучитьРуководителя(Пользователь) Экспорт |
Функция называется ПолучитьРуководителя
и принимает один параметр Пользователь
. Ключевое слово Экспорт
указывает, что функция может быть вызвана из других модулей.
2. **Создание запроса**:
1 2 3 4 5 6 7 | 1C Запрос = Новый Запрос("ВЫБРАТЬ | ПодчиненностьСотрудников.Руководитель |ИЗ | РегистрСведений.ПодчиненностьСотрудников КАК ПодчиненностьСотрудников |ГДЕ | ПодчиненностьСотрудников.Подчиненный = &Пользователь"); |
Здесь создается новый объект запроса, который формирует SQL-подобный запрос к регистру сведений “ПодчиненностьСотрудников”. Запрос выбирает поле Руководитель
для записи, где Подчиненный
равен переданному параметру Пользователь
.
3. **Установка параметра**:
1 2 | 1C Запрос.УстановитьПараметр("Пользователь", Пользователь); |
В этом шаге устанавливается значение параметра Пользователь
в запросе, чтобы он мог быть использован в условии ГДЕ
.
4. **Выполнение запроса**:
1 2 | 1C Результат = Запрос.Выполнить().Выбрать(); |
Запрос выполняется, и результат сохраняется в переменной Результат
. Метод Выбрать()
возвращает набор данных, который можно перебрать.
5. **Проверка наличия результата**:
1 2 3 4 | 1C Если Результат.Следующий() Тогда Возврат Результат.Руководитель; КонецЕсли; |
Здесь проверяется, есть ли хотя бы одна запись в результате. Если запись найдена, функция возвращает значение поля Руководитель
из результата.
6. **Возврат значения по умолчанию**:
1 2 | 1C Возврат Неопределено; // Если руководитель не найден |
Если записи не найдены, функция возвращает Неопределено
, что указывает на отсутствие руководителя для данного пользователя.
Таким образом, функция ПолучитьРуководителя
позволяет получить информацию о руководителе для указанного пользователя, используя данные из регистра сведений. Если руководитель не найден, функция возвращает Неопределено
.
Если у тебя есть дополнительные вопросы, не стесняйся спрашивать!