1С 8.3 Получить должность сотрудника
Данные > Примеры кода 1С > 1С 8.3 Типовые (БП3, ЗУП, УТ)
Перейти в раздел примеры кода 1С 8.3:
Пример 1:
Функция ПолучитьДолжностьСотрудникаВариант1(ТекСотрудник)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность
|
|ИЗ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
|
|ГДЕ ТекущиеКадровыеДанныеСотрудников.Сотрудник = &ТекСотрудник";
Запрос.Параметры.Вставить("ТекСотрудник", ТекСотрудник);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выб_Должность = Результат.Выбрать();
Выб_Должность.Следующий();
Возврат Выб_Должность.ТекущаяДолжность;
Иначе
Возврат Неопределено
КонецЕсли;
КонецФункции
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность
|
|ИЗ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
|
|ГДЕ ТекущиеКадровыеДанныеСотрудников.Сотрудник = &ТекСотрудник";
Запрос.Параметры.Вставить("ТекСотрудник", ТекСотрудник);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выб_Должность = Результат.Выбрать();
Выб_Должность.Следующий();
Возврат Выб_Должность.ТекущаяДолжность;
Иначе
Возврат Неопределено
КонецЕсли;
КонецФункции
Пример 2:
&НаСервереБезКонтекста
Функция ПолучитьДолжностьСотрудникаВариант2(ТекСотрудник, ТекОрганизация, ТекПодразделение)
ВозвратТекДолжности="";
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность
|ИЗ
| РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
|ГДЕ
| ТекущиеКадровыеДанныеСотрудников.Сотрудник = &Сотрудник
| И ТекущиеКадровыеДанныеСотрудников.ТекущаяОрганизация = &ТекущаяОрганизация
| И ТекущиеКадровыеДанныеСотрудников.ТекущееПодразделение = &ТекущееПодразделение";
Запрос.УстановитьПараметр("Сотрудник", ТекСотрудник);
Запрос.УстановитьПараметр("ТекущаяОрганизация", ТекОрганизация);
Запрос.УстановитьПараметр("ТекущееПодразделение", ТекПодразделение);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ВозвратТекДолжности=ВыборкаДетальныеЗаписи.ТекущаяДолжность;
КонецЦикла;
Возврат ВозвратТекДолжности;
КонецФункции
Функция ПолучитьДолжностьСотрудникаВариант2(ТекСотрудник, ТекОрганизация, ТекПодразделение)
ВозвратТекДолжности="";
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность
|ИЗ
| РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
|ГДЕ
| ТекущиеКадровыеДанныеСотрудников.Сотрудник = &Сотрудник
| И ТекущиеКадровыеДанныеСотрудников.ТекущаяОрганизация = &ТекущаяОрганизация
| И ТекущиеКадровыеДанныеСотрудников.ТекущееПодразделение = &ТекущееПодразделение";
Запрос.УстановитьПараметр("Сотрудник", ТекСотрудник);
Запрос.УстановитьПараметр("ТекущаяОрганизация", ТекОрганизация);
Запрос.УстановитьПараметр("ТекущееПодразделение", ТекПодразделение);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ВозвратТекДолжности=ВыборкаДетальныеЗаписи.ТекущаяДолжность;
КонецЦикла;
Возврат ВозвратТекДолжности;
КонецФункции
Пример 3:
&НаСервереБезКонтекста
Функция ДолжностьСотрудника(Сотрудник) // Через типовую функцию
Сотрудники = Новый Массив;
Сотрудники.Добавить(Сотрудник);
Сведения = КадровыйУчет.КадровыеДанныеСотрудников(Истина,Сотрудники,"Организация,Должность");
Если Сведения.Количество()>0 Тогда
ТекДолжность = Сведения[0].Должность;
Иначе
ТекДолжность = ПредопределенноеЗначение("Справочник.Должности.ПустаяСсылка");
КонецЕсли;
Возврат ТекДолжность;
КонецФункции
Функция ДолжностьСотрудника(Сотрудник) // Через типовую функцию
Сотрудники = Новый Массив;
Сотрудники.Добавить(Сотрудник);
Сведения = КадровыйУчет.КадровыеДанныеСотрудников(Истина,Сотрудники,"Организация,Должность");
Если Сведения.Количество()>0 Тогда
ТекДолжность = Сведения[0].Должность;
Иначе
ТекДолжность = ПредопределенноеЗначение("Справочник.Должности.ПустаяСсылка");
КонецЕсли;
Возврат ТекДолжность;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник