Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 июл 2022, 22:30

Получить ФИО по должности сотрудника в запросе.

Автор Ася, 16 ноя 2017, 14:13

0 Пользователей и 1 гость просматривают эту тему.

Ася

Может быть, вопрос и очень простой, но не могу найти ничего наиболее подходящего. Хотелось бы увидеть на примере. В печатную форму документа нужно внести ФИО сотрудника отдела кадров. В документе этой информации нет, поэтому, видимо, в коде нужен запрос. Пример больше учебный, поэтому предположим, что специалист по кадрам в организации один. (Хотя, если есть мысли, как сделать выбор по нескольким, буду рада узнать). Вот моя попытка написать запрос:

  Запрос = Новый Запрос;
      Запрос.Текст =
        "ВЫБРАТЬ
        |   РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо КАК СотрудникОК
        |ИЗ
        |   РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
        |ГДЕ
        |   РаботникиОрганизацийСрезПоследних.Должность = &Должность";

Если до этого момента правильно, подскажите, как установить параметр. Может быть посоветуете еще материалы по этим параметрам? Никак не могу их понять.

Sy4a

Версию платформы и конфигурации в студию! например: 1С:Предприятие 8.3 (8.3.10.2168), 1С:ERP Управление предприятием 2 (2.1.3.258).
И уж исходя из этого напишите название плюсом документа. Во многих документах есть поля менеджер либо ответсвтенный или ещё чтото в этом духе где можно хранить подобную информацию. Также если именно этот сотрудник печатает документ, то можно получить имя текущего пользователя и вставить куда надо.
По поводу как установить параметр: Запрос.УстановитьПараметр("Должность",Должность); (где Должность это переменная в которую вы заранее поместили соответсвтующие данные).

Ася

Спасибо, что ответили. Да, совсем забыла написать. Это 1С:Предприятие 8.3 (8.3.10.2580)- ЗУП, редакция 2.5 (2.5.123.1). Документ "Сдельный наряд на выполненные работы". Там уже есть поле "Ответственный", нужно добавить еще и кадровика, который не указан в документе. Я даже немного ошиблась. Не по должности, а так, чтобы в печатной форме была должность этого сотрудника отдела кадров и его ФИО. Это мне было задано как учебный пример, и я хочу понять, как в принципе можно добавлять подобные данные.

Да, я видела подобный код с параметром. А как задать эту переменную? (Извините за простые вопросы)

Вот в заголовок дату, например, через реквизит "СсылкаНаОбъект" я добавила. Это есть в документе.
ОбластьЗаголовка.Параметры.Дата = Формат(СсылкаНаОбъект.Дата,"ДЛФ=DD");
А подобная информация, которой в документе нет, как я понимаю, из запроса должна браться.
Добавлено: 17 ноя 2017, 05:38


Кажется, я поняла про переменную.

Перем Должность;
Должность = "Сотрудник отдела кадров";

Просто я не знала, как это называется.

Sy4a

ЦитироватьПерем Должность;
Должность = "Сотрудник отдела кадров";
Врятли у вас должность идет типом строка. лучше уж тогда в запросе что то вроде такого:
|ГДЕ
        |   РаботникиОрганизацийСрезПоследних.Должность.наименование = &Должность";

или сразу
Цитировать|   РаботникиОрганизацийСрезПоследних.Должность.наименование = ""Сотрудник отдела кадров"" ";
ну а потом из запроса возьмете данные сделаете
СотрудникЗапрос=запрос.выполнить.выбрать();
СотрудникЗапрос.следующий();
Сотрудник=СотрудникЗапрос.СотрудникОК;
ОбластьМакета.Параметры.ИмяПараметра=Сотрудник; //таким же оброзом и должность куда надо

если сотрудник не один в организации тогда думайте какие сделать условие в запросе чтобы вытащить именно того кто вам нужен. если может быть кто угодно из двоих то тогда только добавлением нового реквзита на форму или создание дополнительного реквизита если есть такая возможность в зупе, правда с допниками работать геморой).

Ася

Большое спасибо! Оказывается, всё так просто. Дело в наименовании. Главное, теперь принцип понятен.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск