Нужна помощь, не могу разобраться в приказе нужно указать старую фамилию и новую, но как это сделать я не понимаю и информации нет никакой. Получается указать только новые данные. И второй вопрос может вы знаете почему в строке должность и подразделение нечего не выводится хотя данные заполнены. Пожалуйста объясните по подробнее глупому человечку уж очень хочеться разобраться подробно в этой теме. Спасибо за помощь))
Функция ПечатьИзменениеСведений(МассивОбъектов) Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ИзменениеСведений");
ОбластьМакет = Макет.ПолучитьОбласть("Шапка");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПроизвольныйПриказТЧ.Сотрудник.Представление КАК СотрудникПредставление,
| ПроизвольныйПриказ.Дата КАК Дата,
| ПроизвольныйПриказТЧ.Сотрудник КАК Сотрудник,
| ПроизвольныйПриказ.Номер КАК Номер,
| ПроизвольныйПриказТЧ.Сотрудник.Код КАК Код
|ПОМЕСТИТЬ ВР1
|ИЗ
| Документ.ПроизвольныйПриказ.ТЧ КАК ПроизвольныйПриказТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПроизвольныйПриказ КАК ПроизвольныйПриказ
| ПО ПроизвольныйПриказТЧ.Ссылка = ПроизвольныйПриказ.Ссылка
|ГДЕ
| ПроизвольныйПриказ.Ссылка В(&Ссылка)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТекущиеКадровыеДанныеСотрудников.ТекущееПодразделение КАК ТекущееПодразделение,
| ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность КАК ТекущаяДолжность,
| ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
| ПриемНаРаботу.Должность КАК Должность,
| ПриемНаРаботу.Подразделение КАК Подразделение
|ПОМЕСТИТЬ ВР2
|ИЗ
| РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботу КАК ПриемНаРаботу
| ПО ТекущиеКадровыеДанныеСотрудников.ТекущееПодразделение = ПриемНаРаботу.Подразделение
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ФИОФизическихЛиц.Фамилия КАК Фамилия,
| ФИОФизическихЛиц.Имя КАК Имя,
| ФИОФизическихЛиц.Отчество КАК Отчество,
| ФИОФизическихЛиц.ФизическоеЛицо КАК ФизическоеЛицо
|ПОМЕСТИТЬ ВР3
|ИЗ
| РегистрСведений.ФИОФизическихЛиц КАК ФИОФизическихЛиц
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВР1.СотрудникПредставление КАК СотрудникПредставление,
| ВР1.Дата КАК Дата,
| ВР2.ТекущееПодразделение КАК Подразделение,
| ВР2.ТекущаяДолжность КАК Должность,
| ВР1.Сотрудник КАК Сотрудник,
| ВР1.Номер КАК Номер,
| ВР1.Код КАК Код,
| ВР3.Фамилия КАК Фамилия,
| ВР3.Имя КАК Имя,
| ВР3.Отчество КАК Отчество
|ИЗ
| ВР1 КАК ВР1
| ЛЕВОЕ СОЕДИНЕНИЕ ВР2 КАК ВР2
| ПО ВР1.Сотрудник = ВР2.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ ВР3 КАК ВР3
| ПО ВР1.Сотрудник.ФизическоеЛицо = ВР3.ФизическоеЛицо";
Запрос.УстановитьПараметр("Ссылка", МассивОбъектов);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
ОбластьМакет.Параметры.Заполнить(Выборка);
ОбластьМакет.Параметры.Дата = Формат(Выборка.Дата, "ДЛФ=D");
ОбластьМакет.Параметры.Номер = Выборка.Номер;
ОбластьМакет1 = Макет.ПолучитьОбласть("Строка");
ОбластьМакет1.Параметры.Заполнить(Выборка);
ОбластьМакет2 = Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести(ОбластьМакет);
ТабДок.Вывести(ОбластьМакет1);
ТабДок.Вывести(ОбластьМакет2);
ТабДок.АвтоМасштаб = Истина;
Возврат ТабДок;
КонецФункции
ВЫБРАТЬ
ПроизвольныйПриказТЧ.Сотрудник.Представление КАК СотрудникПредставление,
ПроизвольныйПриказ.Дата КАК Дата,
ПроизвольныйПриказТЧ.Сотрудник КАК Сотрудник,
ПроизвольныйПриказ.Номер КАК Номер,
ПроизвольныйПриказТЧ.Сотрудник.Код КАК Код
ПОМЕСТИТЬ ВР1
ИЗ
Документ.ПроизвольныйПриказ.ТЧ.Сотрудники КАК ПроизвольныйПриказТЧ
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПроизвольныйПриказ.ТЧ КАК ПроизвольныйПриказ
ПО ПроизвольныйПриказТЧ.Ссылка = ПроизвольныйПриказ.Ссылка
ГДЕ
ПроизвольныйПриказ.Ссылка В(&Ссылка)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КадроваяИсторияСотрудниковИнтервальный.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудниковИнтервальный.Подразделение КАК Подразделение,
КадроваяИсторияСотрудниковИнтервальный.Должность КАК Должность
ПОМЕСТИТЬ ВР2
ИЗ
РегистрСведений.КадроваяИсторияСотрудниковИнтервальный КАК КадроваяИсторияСотрудниковИнтервальный
ГДЕ
КадроваяИсторияСотрудниковИнтервальный.ДатаНачала <= КОНЕЦПЕРИОДА(&Период, ДЕНЬ)
И КадроваяИсторияСотрудниковИнтервальный.ДатаОкончания >= КОНЕЦПЕРИОДА(&Период, ДЕНЬ)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ФИОФизическихЛиц.Фамилия КАК Фамилия,
ФИОФизическихЛиц.Имя КАК Имя,
ФИОФизическихЛиц.Отчество КАК Отчество,
ФИОФизическихЛиц.ФизическоеЛицо КАК ФизическоеЛицо,
ФИОФизическихЛиц.Период КАК Период
ПОМЕСТИТЬ ВР3
ИЗ
РегистрСведений.ФИОФизическихЛиц КАК ФИОФизическихЛиц
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВР1.СотрудникПредставление КАК СотрудникПредставление,
ВР1.Дата КАК Дата,
ВР1.Сотрудник КАК Сотрудник,
ВР1.Номер КАК Номер,
ВР1.Код КАК Код,
ВР3.Фамилия КАК Фамилия,
ВР3.Имя КАК Имя,
ВР3.Отчество КАК Отчество,
ВР2.Подразделение КАК Подразделение,
ВР2.Должность КАК Должность
ИЗ
ВР1 КАК ВР1
ЛЕВОЕ СОЕДИНЕНИЕ ВР2 КАК ВР2
ПО ВР1.Сотрудник = ВР2.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ ВР3 КАК ВР3
ПО ВР1.Сотрудник.ФизическоеЛицо = ВР3.ФизическоеЛицо
И (ВР3.Период < &Период)
4.
user633533_encantado
1126.03.21 13:31 Сейчас в теме
(3) | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботу КАК ПриемНаРаботу
| ПО ТекущиеКадровыеДанныеСотрудников.ТекущееПодразделение = ПриемНаРаботу.Подразделение
Соединяет всю кадровую историю со всеми приемами по подразделениям.
ВЫБРАТЬ
ПроизвольныйПриказТЧ.Сотрудник.Представление КАК СотрудникПредставление,
ПроизвольныйПриказ.Дата КАК Дата,
ПроизвольныйПриказТЧ.Сотрудник КАК Сотрудник,
ПроизвольныйПриказ.Номер КАК Номер,
ПроизвольныйПриказТЧ.Сотрудник.Код КАК Код
ПОМЕСТИТЬ ВР1
ИЗ
Документ.ПроизвольныйПриказ.ТЧ.Сотрудники КАК ПроизвольныйПриказТЧ
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПроизвольныйПриказ.ТЧ КАК ПроизвольныйПриказ
ПО ПроизвольныйПриказТЧ.Ссылка = ПроизвольныйПриказ.Ссылка
ГДЕ
ПроизвольныйПриказ.Ссылка В(&Ссылка)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КадроваяИсторияСотрудниковИнтервальный.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудниковИнтервальный.Подразделение КАК Подразделение,
КадроваяИсторияСотрудниковИнтервальный.Должность КАК Должность
ПОМЕСТИТЬ ВР2
ИЗ
РегистрСведений.КадроваяИсторияСотрудниковИнтервальный КАК КадроваяИсторияСотрудниковИнтервальный
ГДЕ
КадроваяИсторияСотрудниковИнтервальный.ДатаНачала <= КОНЕЦПЕРИОДА(&Период, ДЕНЬ)
И КадроваяИсторияСотрудниковИнтервальный.ДатаОкончания >= КОНЕЦПЕРИОДА(&Период, ДЕНЬ)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ФИОФизическихЛиц.Фамилия КАК Фамилия,
ФИОФизическихЛиц.Имя КАК Имя,
ФИОФизическихЛиц.Отчество КАК Отчество,
ФИОФизическихЛиц.ФизическоеЛицо КАК ФизическоеЛицо,
ФИОФизическихЛиц.Период КАК Период
ПОМЕСТИТЬ ВР3
ИЗ
РегистрСведений.ФИОФизическихЛиц КАК ФИОФизическихЛиц
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВР1.СотрудникПредставление КАК СотрудникПредставление,
ВР1.Дата КАК Дата,
ВР1.Сотрудник КАК Сотрудник,
ВР1.Номер КАК Номер,
ВР1.Код КАК Код,
ВР3.Фамилия КАК Фамилия,
ВР3.Имя КАК Имя,
ВР3.Отчество КАК Отчество,
ВР2.Подразделение КАК Подразделение,
ВР2.Должность КАК Должность
ИЗ
ВР1 КАК ВР1
ЛЕВОЕ СОЕДИНЕНИЕ ВР2 КАК ВР2
ПО ВР1.Сотрудник = ВР2.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ ВР3 КАК ВР3
ПО ВР1.Сотрудник.ФизическоеЛицо = ВР3.ФизическоеЛицо
И (ВР3.Период < &Период)
(7)используйте в запросе параметром дату документа, без периода в нем не обойтись. а вообще тут все описано, как данные получать в ТЗ из БСП https://infostart.ru/1c/articles/942569/, такими методами точно в данных не ошибетесь.