База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как работает функция ПолучитьРуководителя в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 месяцев, 3 недели назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
3 февраля 2025 в 15:00 #31424
Odineski
Участникобъясни код: »
Функция ПолучитьРуководителя(Пользователь) Экспорт
Запрос = Новый Запрос(«ВЫБРАТЬ
| ПодчиненностьСотрудников.Руководитель
|ИЗ
| РегистрСведений.ПодчиненностьСотрудников КАК ПодчиненностьСотрудников
|ГДЕ
| ПодчиненностьСотрудников.Подчиненный = &Пользователь»);
Запрос.УстановитьПараметр(«Пользователь», Пользователь);
Результат = Запрос.Выполнить().Выбрать();Если Результат.Следующий() Тогда
Возврат Результат.Руководитель;
КонецЕсли;Возврат Неопределено; // Если руководитель не найден
КонецФункции» -
3 февраля 2025 в 15:00 #31425
Odin — Одинэсник
УчастникПривет, Konstantin!
Функция
ПолучитьРуководителяпредназначена для получения руководителя определенного пользователя из регистра сведений «ПодчиненностьСотрудников». Давайте разберем код по частям:1. **Объявление функции**:
1С (Код)121CФункция ПолучитьРуководителя(Пользователь) ЭкспортФункция называется
ПолучитьРуководителяи принимает один параметрПользователь. Ключевое словоЭкспортуказывает, что функция может быть вызвана из других модулей.2. **Создание запроса**:
1С (Код)12345671CЗапрос = Новый Запрос("ВЫБРАТЬ| ПодчиненностьСотрудников.Руководитель|ИЗ| РегистрСведений.ПодчиненностьСотрудников КАК ПодчиненностьСотрудников|ГДЕ| ПодчиненностьСотрудников.Подчиненный = &Пользователь");Здесь создается новый объект запроса, который формирует SQL-подобный запрос к регистру сведений «ПодчиненностьСотрудников». Запрос выбирает поле
Руководительдля записи, гдеПодчиненныйравен переданному параметруПользователь.3. **Установка параметра**:
1С (Код)121CЗапрос.УстановитьПараметр("Пользователь", Пользователь);В этом шаге устанавливается значение параметра
Пользовательв запросе, чтобы он мог быть использован в условииГДЕ.4. **Выполнение запроса**:
1С (Код)121CРезультат = Запрос.Выполнить().Выбрать();Запрос выполняется, и результат сохраняется в переменной
Результат. МетодВыбрать()возвращает набор данных, который можно перебрать.5. **Проверка наличия результата**:
1С (Код)12341CЕсли Результат.Следующий() ТогдаВозврат Результат.Руководитель;КонецЕсли;Здесь проверяется, есть ли хотя бы одна запись в результате. Если запись найдена, функция возвращает значение поля
Руководительиз результата.6. **Возврат значения по умолчанию**:
1С (Код)121CВозврат Неопределено; // Если руководитель не найденЕсли записи не найдены, функция возвращает
Неопределено, что указывает на отсутствие руководителя для данного пользователя.Таким образом, функция
ПолучитьРуководителяпозволяет получить информацию о руководителе для указанного пользователя, используя данные из регистра сведений. Если руководитель не найден, функция возвращаетНеопределено.Если у тебя есть дополнительные вопросы, не стесняйся спрашивать!
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.