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

Помогите с запросом для печатной формы

Автор Алексей_1985_06, 22 сен 2020, 12:12

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

Алексей_1985_06

Всем привет! Сразу к делу:
Необходимо вывести на печать документ в котором есть данные 2-х сотрудников (из рег.сведений), один - уходит в отпуск, а другой - за него исполняет обязанности, запрос создал и получаю данные для первого сотрудника, а вот как получить такой же набор данных для второго (и подставить в параметры печатной формы) не понимаю, помогите кто знает как правильно это реализовать?

Код в модуле команды сейчас такой:
&НаСервере
Процедура Печать(ТабДок, СсылкаНаДокумент)
Макет = Документы.РапортНаОтпуск.ПолучитьМакет("РапортНаОтпуск");

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

Запрос.УстановитьПараметр("Сотрудник", СсылкаНаДокумент.Сотрудник);
Запрос.УстановитьПараметр("Период", СсылкаНаДокумент.Дата);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Фамилия = Выборка.Фамилия;
Имя = Выборка.Имя;
Отчество = Выборка.Отчество;
ПолноеИмя = Фамилия + " " + Имя + " " + Отчество;
КонецЦикла;

ВоинскоеЗвание =  НРег(Выборка.ВоинскоеЗвание);
ДолжностьСотрудника = НРег(Выборка.Должность);

ОбластьШапка.Параметры.ДолжностьСотрудника = ДолжностьСотрудника;
..................................................
/code]




IL2016

задавайте в параметрах обоих сотрудников, в рапорте наверно указывается какой сотрудник уходит, а какой заступает на его место?

Алексей_1985_06

Цитата: IL2016 от 22 сен 2020, 17:50
задавайте в параметрах обоих сотрудников, в рапорте наверно указывается какой сотрудник уходит, а какой заступает на его место?

Да, Вы правы: один уходит, а другой исполняет обязанности на период проведения отпуска. Можете пжл подсказать, как правильно задать параметры?

IL2016

просто как пример, мне не известно что у вас в документе - рапорт.
Запрос.УстановитьПараметр("Отпускник", Объект.Отпусник);
Запрос.УстановитьПараметр("ЗаменяющийНаВрмяОтпуска", Объект.ЗаменяющийНаВрмяОтпуска);

Теги:

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

Рейтинг@Mail.ru

Поиск