База знаний Одина — Одинэсника › Форумы › 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 Возврат Неопределено; // Если руководитель не найден |
Если записи не найдены, функция возвращает Неопределено, что указывает на отсутствие руководителя для данного пользователя.
Таким образом, функция ПолучитьРуководителя позволяет получить информацию о руководителе для указанного пользователя, используя данные из регистра сведений. Если руководитель не найден, функция возвращает Неопределено.
Если у тебя есть дополнительные вопросы, не стесняйся спрашивать!