Тестировано в Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.4.171) на платформе 8.3.12.1412. В этой конфигурации я насчитал 66 макетов в различных отчетах, где применяется этот механизм, в которых можно получить до 220 различных данных о сотруднике. Если доработать типовой код, то возможно этот список добавить. В моем примере я нахожу данные: Организация, Сотрудник, ФизЛицо, ФИОПолные, ДатаРождения, МестоРождения, ДокументПредставление, АдресПоПропискеПредставление, АдресМестаПроживанияПредставление, ДатаПриема, Должность, ДатаУвольнения,ТрудовойДоговорДата,ТрудовойДоговорНомер, Подразделение.
Большинство отчетов в процедуре ИнициализироватьОтчет() имеют вызов ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект) . Она обрабатывает запрос-пустышку(Представления_) из макета СКД отчета.
1. Вариант. Мой. Предлагаю пользоваться в просто функцией связанной с названной — ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(Запрос.Текст, ); Здесь обычный текст где есть запрос-пустышка.. Мой код из обработки немного упрощен для просмотра:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РС.Период КАК Период,
| РС.ФизическоеЛицо КАК ФизическоеЛицо,
| РС.Сотрудник КАК Сотрудник
|ПОМЕСТИТЬ ВТ_Сотрудники
|ИЗ
| РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&ДатаЗапроса, ) КАК РС
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫРАЗИТЬ("""" КАК СТРОКА) КАК ФИОПолные,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаРождения,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаПриема
|ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудников
|ИЗ
| ВТ_Сотрудники КАК ВТ_Сотрудники
|ГДЕ
| ""ТолькоРазрешенные"" = ИСТИНА
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ФИО.Сотрудник КАК Сотрудник,
| ЗНАЧЕНИЕ(Перечисление.СтатусСотрудника.ФИО) КАК Статус,
| ФИО.Период КАК Период,
| 1 КАК Порядок
|ПОМЕСТИТЬ ВТ_СтатусСотрудника
|ИЗ
| ВТ_Сотрудники КАК ФИО
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДатаРождения.Сотрудник,
| ЗНАЧЕНИЕ(Перечисление.СтатусСотрудника.ДатаРождения),
| ДатаРождения.Период,
| 2
|ИЗ
| ВТ_Сотрудники КАК ДатаРождения
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_СтатусСотрудника.Период КАК Период,
| ВТ_СтатусСотрудника.Сотрудник КАК Сотрудник,
| ВТ_СтатусСотрудника.Сотрудник.ФизическоеЛицо КАК ФизЛицо,
| ВТ_СтатусСотрудника.Статус КАК Статус,
| Представления_КадровыеДанныеСотрудников.ФИОПолные КАК ФИОПолные,
| Представления_КадровыеДанныеСотрудников.ДатаРождения КАК ДатаРождения,
| Представления_КадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема
|ИЗ
| ВТ_СтатусСотрудника КАК ВТ_СтатусСотрудника,
| Представления_КадровыеДанныеСотрудников КАК Представления_КадровыеДанныеСотрудников";
Запрос.УстановитьПараметр("ДатаЗапроса", ДатаЗапроса);
ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(Запрос.Текст, );
Результат = Запрос.Выполнить();
Какие еще данные можно извлечь? 220 видов данных о сотруднике можно получить:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК ФизическоеЛицо,
ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК ГоловнаяОрганизация,
"" КАК ТабельныйНомер,
ДАТАВРЕМЯ(1, 1, 1) КАК РабочееМестоПериодРегистрации,
ЗНАЧЕНИЕ(Документ.ПриемНаРаботу.ПустаяСсылка) КАК РабочееМестоРегистратор,
ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК Подразделение,
ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка) КАК Должность,
ЗНАЧЕНИЕ(Справочник.ШтатноеРасписание.ПустаяСсылка) КАК ДолжностьПоШтатномуРасписанию,
ДАТАВРЕМЯ(1, 1, 1) КАК ГрафикРаботыПериодРегистрации,
ЗНАЧЕНИЕ(Документ.ПриемНаРаботу.ПустаяСсылка) КАК ГрафикРаботыРегистратор,
ЗНАЧЕНИЕ(Справочник.ГрафикиРаботыСотрудников.ПустаяСсылка) КАК ГрафикРаботы,
0 КАК КоличествоСтавок,
ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ПустаяСсылка) КАК ВидЗанятости,
ЗНАЧЕНИЕ(Справочник.ТарифныеСетки.ПустаяСсылка) КАК ТарифнаяСетка,
ДАТАВРЕМЯ(1, 1, 1) КАК РазрядКатегорияПериодРегистрации,
ЗНАЧЕНИЕ(Документ.ПриемНаРаботу.ПустаяСсылка) КАК РазрядКатегорияРегистратор,
ЗНАЧЕНИЕ(Справочник.РазрядыКатегорииДолжностей.ПустаяСсылка) КАК РазрядКатегория,
ЗНАЧЕНИЕ(Справочник.ТарифныеСетки.ПустаяСсылка) КАК ТарифнаяСеткаНадбавки,
ДАТАВРЕМЯ(1, 1, 1) КАК СостояниеПериодРегистрации,
ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника) КАК Состояние,
ДАТАВРЕМЯ(1, 1, 1) КАК ОплатаТрудаПериодЗаписи,
ЗНАЧЕНИЕ(Документ.ПриемНаРаботу.ПустаяСсылка) КАК ОплатаТрудаРегистратор,
0 КАК ТарифнаяСтавка,
ЗНАЧЕНИЕ(Справочник.ПоказателиРасчетаЗарплаты.ПустаяСсылка) КАК ПоказательТарифнойСтавки,
0 КАК ДоляНеполногоРабочегоВремени,
0 КАК Надбавка,
0 КАК ФОТ,
ДАТАВРЕМЯ(1, 1, 1) КАК АвансПериодЗаписи,
ЗНАЧЕНИЕ(Документ.ПриемНаРаботу.ПустаяСсылка) КАК АвансРегистратор,
0 КАК Аванс,
ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаАванса.ПустаяСсылка) КАК СпособРасчетаАванса,
ВЫРАЗИТЬ(0 КАК ЧИСЛО(4, 2)) КАК ПроцентСевернойНадбавки,
ЗНАЧЕНИЕ(Перечисление.ПорядокНачисленияСеверныхНадбавок.ПустаяСсылка) КАК ПорядокИсчисленияПроцентаСевернойНадбавки,
ИСТИНА КАК ПроцентСевернойНадбавкиИзменяется,
ДАТАВРЕМЯ(1, 1, 1) КАК ДатаПриема,
"" КАК ТрудовойДоговорНомер,
ДАТАВРЕМЯ(1, 1, 1) КАК ТрудовойДоговорДата,
ЗНАЧЕНИЕ(Документ.ПриемНаРаботу.ПустаяСсылка) КАК ПриказОПриеме,
ДАТАВРЕМЯ(1, 1, 1) КАК ПриказОПриемеДатаЗавершенияТрудовогоДоговора,
ДАТАВРЕМЯ(1, 1, 1) КАК ДатаУвольнения,
ЗНАЧЕНИЕ(Документ.Увольнение.ПустаяСсылка) КАК ПриказОбУвольнении,
ЗНАЧЕНИЕ(Справочник.ОснованияУвольнения.ПустаяСсылка) КАК ПриказОбУвольненииСтатьяТКРФ,
"" КАК ПриказОбУвольненииНомер,
ДАТАВРЕМЯ(1, 1, 1) КАК ПриказОбУвольненииДата,
ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.ПустаяСсылка) КАК Пол,
ДАТАВРЕМЯ(1, 1, 1) КАК ДатаРождения,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ИНН,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК СтраховойНомерПФР,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК МестоРождения,
ДАТАВРЕМЯ(1, 1, 1) КАК ГражданствоПериодРегистрации,
ЗНАЧЕНИЕ(Справочник.СтраныМира.ПустаяСсылка) КАК Страна,
"" КАК ИННВСтранеГражданства,
ДАТАВРЕМЯ(1, 1, 1) КАК ВидЗастрахованногоЛицаПериодРегистрации,
ЗНАЧЕНИЕ(Перечисление.ВидыЗастрахованныхЛицОбязательногоСтрахования.ПустаяСсылка) КАК ВидЗастрахованногоЛица,
ДАТАВРЕМЯ(1, 1, 1) КАК ФИОПериодРегистрации,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК Фамилия,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК Имя,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК Отчество,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ФИОПолные,
ДАТАВРЕМЯ(1, 1, 1) КАК ДокументПериодРегистрации,
ЗНАЧЕНИЕ(Справочник.ВидыДокументовФизическихЛиц.ПустаяСсылка) КАК ДокументВид,
"" КАК ДокументКодМВД,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ДокументСерия,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ДокументНомер,
ДАТАВРЕМЯ(1, 1, 1) КАК ДокументДатаВыдачи,
ДАТАВРЕМЯ(1, 1, 1) КАК ДокументСрокДействия,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ДокументКемВыдан,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ДокументКодПодразделения,
"" КАК ДокументПредставление,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК АдресПоПрописке,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК АдресПоПропискеПредставление,
ДАТАВРЕМЯ(1, 1, 1) КАК ДатаРегистрации,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК АдресМестаПроживания,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК АдресМестаПроживанияПредставление,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ТелефонМобильныйПредставление,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ТелефонДомашнийПредставление,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК ТелефонРабочийПредставление,
ВЫРАЗИТЬ("" КАК СТРОКА) КАК EMailПредставление,
ЗНАЧЕНИЕ(Справочник.ЯзыкиНародовМира.ПустаяСсылка) КАК ВладеемыйЯзык1,
ЗНАЧЕНИЕ(Справочник.СтепениЗнанияЯзыка.ПустаяСсылка) КАК ВладеемыйЯзык1СтепеньЗнания,
ЗНАЧЕНИЕ(Справочник.ЯзыкиНародовМира.ПустаяСсылка) КАК ВладеемыйЯзык2,
ЗНАЧЕНИЕ(Справочник.СтепениЗнанияЯзыка.ПустаяСсылка) КАК ВладеемыйЯзык2СтепеньЗнания,
ЗНАЧЕНИЕ(Справочник.ПрофессииРабочих.ПустаяСсылка) КАК Профессия1,
ЗНАЧЕНИЕ(Справочник.ПрофессииРабочих.ПустаяСсылка) КАК Профессия2,
0 КАК ОбщийСтажДней,
0 КАК ОбщийСтажМесяцев,
0 КАК ОбщийСтажЛет,
0 КАК НепрерывныйСтажДней,
0 КАК НепрерывныйСтажМесяцев,
0 КАК НепрерывныйСтажЛет,
0 КАК СтажНаНадбавкуЗаВыслугуЛетДней,
0 КАК СтажНаНадбавкуЗаВыслугуЛетМесяцев,
0 КАК СтажНаНадбавкуЗаВыслугуЛетЛет,
0 КАК СтраховойСтажДней,
0 КАК СтраховойСтажМесяцев,
0 КАК СтраховойСтажЛет,
0 КАК РасширенныйСтраховойСтажДней,
0 КАК РасширенныйСтраховойСтажМесяцев,
0 КАК РасширенныйСтраховойСтажЛет,
0 КАК ПрочийСтажДней,
0 КАК ПрочийСтажМесяцев,
0 КАК ПрочийСтажЛет,
0 КАК ОбщийНаучноПедагогическийСтажДней,
0 КАК ОбщийНаучноПедагогическийСтажМесяцев,
0 КАК ОбщийНаучноПедагогическийСтажЛет,
0 КАК ПедагогическийСтажДней,
0 КАК ПедагогическийСтажМесяцев,
0 КАК ПедагогическийСтажЛет,
0 КАК СеверныйСтажДней,
0 КАК СеверныйСтажМесяцев,
0 КАК СеверныйСтажЛет,
ДАТАВРЕМЯ(1, 1, 1) КАК СостояниеВБракеПериодРегистрации,
ЗНАЧЕНИЕ(Справочник.СостояниеВБраке.ПустаяСсылка) КАК СостояниеВБраке,
ДАТАВРЕМЯ(1, 1, 1) КАК ВоинскийУчетПериодРегистрации,
ЗНАЧЕНИЕ(Перечисление.КатегорииЗапасаВоеннообязанных.ПустаяСсылка) КАК ВоинскийУчетКатегорияЗапаса,
ЗНАЧЕНИЕ(Справочник.ЗванияГражданскогоВоинскогоУчета.ПустаяСсылка) КАК ВоинскийУчетЗвание,
ЗНАЧЕНИЕ(Справочник.СоставыВоеннослужащих.ПустаяСсылка) КАК ВоинскийУчетСостав,
"" КАК ВоинскийУчетВУС,
ЗНАЧЕНИЕ(Перечисление.ГодностьКВоеннойСлужбе.ПустаяСсылка) КАК ВоинскийУчетГодность,
ЗНАЧЕНИЕ(Справочник.Военкоматы.ПустаяСсылка) КАК ВоинскийУчетВоенкомат,
"" КАК ВоинскийУчетНомерКомандыПартии,
ЗНАЧЕНИЕ(Перечисление.ОтношениеКВоинскойОбязанности.ПустаяСсылка) КАК ВоинскийУчетОтношениеКВоинскойОбязанности,
ЗНАЧЕНИЕ(Перечисление.ОтношениеКВоинскомуУчету.ПустаяСсылка) КАК ВоинскийУчетОтношениеКВоинскомуУчету,
ДАТАВРЕМЯ(1, 1, 1) КАК ВоинскийУчетЗабронированОрганизациейПериодРегистрации,
ЗНАЧЕНИЕ(Документ.БронированиеГражданПребывающихВЗапасе.ПустаяСсылка) КАК ВоинскийУчетЗабронированОрганизациейРегистратор,
ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК ВоинскийУчетЗабронированОрганизацией,
ЗНАЧЕНИЕ(Справочник.УчебныеЗаведения.ПустаяСсылка) КАК ПослеВузовскоеОбразованиеУчебноеЗаведение,
ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизическихЛиц.ПустаяСсылка) КАК ПослеВузовскоеОбразованиеВидОбразования,
ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизическихЛиц.ПустаяСсылка) КАК ПослеВузовскоеОбразованиеВидПослевузовскогоОбразования,
ЗНАЧЕНИЕ(Справочник.ВидыДокументовОбОбразовании.ПустаяСсылка) КАК ПослеВузовскоеОбразованиеВидДокумента,
ДАТАВРЕМЯ(1, 1, 1) КАК ПослеВузовскоеОбразованиеНачало,
ДАТАВРЕМЯ(1, 1, 1) КАК ПослеВузовскоеОбразованиеОкончание,
"" КАК ПослеВузовскоеОбразованиеСерия,
"" КАК ПослеВузовскоеОбразованиеНомер,
ДАТАВРЕМЯ(1, 1, 1) КАК ПослеВузовскоеОбразованиеДатаВыдачи,
ЗНАЧЕНИЕ(Справочник.КлассификаторСпециальностейПоОбразованию.ПустаяСсылка) КАК ПослеВузовскоеОбразованиеСпециальность,
"" КАК ПослеВузовскоеОбразованиеКвалификация,
ЗНАЧЕНИЕ(Справочник.УчебныеЗаведения.ПустаяСсылка) КАК Образование1УчебноеЗаведение,
ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизическихЛиц.ПустаяСсылка) КАК Образование1ВидОбразования,
ДАТАВРЕМЯ(1, 1, 1) КАК Образование1Начало,
ДАТАВРЕМЯ(1, 1, 1) КАК Образование1Окончание,
ЗНАЧЕНИЕ(Справочник.КлассификаторСпециальностейПоОбразованию.ПустаяСсылка) КАК Образование1Специальность,
ЗНАЧЕНИЕ(Справочник.ВидыДокументовОбОбразовании.ПустаяСсылка) КАК Образование1ВидДокумента,
"" КАК Образование1Серия,
"" КАК Образование1Номер,
ДАТАВРЕМЯ(1, 1, 1) КАК Образование1ДатаВыдачи,
"" КАК Образование1Квалификация,
ЗНАЧЕНИЕ(Справочник.УчебныеЗаведения.ПустаяСсылка) КАК Образование2УчебноеЗаведение,
ЗНАЧЕНИЕ(Справочник.ВидыОбразованияФизическихЛиц.ПустаяСсылка) КАК Образование2ВидОбразования,
ДАТАВРЕМЯ(1, 1, 1) КАК Образование2Начало,
ДАТАВРЕМЯ(1, 1, 1) КАК Образование2Окончание,
ЗНАЧЕНИЕ(Справочник.КлассификаторСпециальностейПоОбразованию.ПустаяСсылка) КАК Образование2Специальность,
ЗНАЧЕНИЕ(Справочник.ВидыДокументовОбОбразовании.ПустаяСсылка) КАК Образование2ВидДокумента,
"" КАК Образование2Серия,
"" КАК Образование2Номер,
ДАТАВРЕМЯ(1, 1, 1) КАК Образование2ДатаВыдачи,
"" КАК Образование2Квалификация,
ЗНАЧЕНИЕ(Справочник.УчебныеЗаведения.ПустаяСсылка) КАК ВысшееОбразованиеУчебноеЗаведение,
ДАТАВРЕМЯ(1, 1, 1) КАК ВысшееОбразованиеНачало,
ДАТАВРЕМЯ(1, 1, 1) КАК ВысшееОбразованиеОкончание,
ЗНАЧЕНИЕ(Справочник.УченыеСтепени.ПустаяСсылка) КАК УченаяСтепень,
ЗНАЧЕНИЕ(Справочник.ОтраслиНауки.ПустаяСсылка) КАК УченаяСтепеньОтрасльНауки,
ДАТАВРЕМЯ(1, 1, 1) КАК УченаяСтепеньДатаПрисуждения,
"" КАК УченаяСтепеньДиссертационныйСовет,
"" КАК УченаяСтепеньДипломСерияНомер,
"" КАК УченаяСтепеньОрганизация,
ЗНАЧЕНИЕ(Справочник.УченыеЗвания.ПустаяСсылка) КАК УченоеЗвание,
"" КАК УченоеЗваниеАттестатСерия,
"" КАК УченоеЗваниеАттестатНомер,
ДАТАВРЕМЯ(1, 1, 1) КАК УченоеЗваниеДатаПрисвоения,
"" КАК УченоеЗваниеОрганизация,
ЗНАЧЕНИЕ(Справочник.КлассификаторСпециальностейПоОбразованию.ПустаяСсылка) КАК УченоеЗваниеСпециальность,
ЛОЖЬ КАК ИмеетНаучныеТруды,
ЛОЖЬ КАК ИмеетИзобретения,
ЗНАЧЕНИЕ(Справочник.Награды.ПустаяСсылка) КАК ПочетноеЗвание,
ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровССотрудниками.ПустаяСсылка) КАК ВидДоговора,
ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровССотрудниками.ПустаяСсылка) КАК ТекущийВидДоговора,
"" КАК ПолученныеОбразования,
"" КАК Награды,
"" КАК Документы,
"" КАК ЗнанияЯзыков,
"" КАК Профессии,
"" КАК Специальности,
"" КАК ТрудоваяДеятельность,
"" КАК СоставСемьи,
ДАТАВРЕМЯ(1, 1, 1) КАК ДатаДоговораКонтракта,
"" КАК НомерДоговораКонтракта,
ДАТАВРЕМЯ(1, 1, 1) КАК ДатаНачала,
ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК ПредставительНанимателя,
ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка) КАК ДолжностьПредставителяНанимателя,
"" КАК ОснованиеПредставителя,
"" КАК ВидАктаГосоргана,
ДАТАВРЕМЯ(1, 1, 1) КАК ДатаОкончания,
ЛОЖЬ КАК СрочныйДоговор,
ЛОЖЬ КАК СезонныйДоговор,
"" КАК СрокЗаключенияДоговора,
"" КАК ОборудованиеРабочегоМеста,
"" КАК ИныеУсловияДоговора,
ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК ВладелецМестаВыплаты,
ЗНАЧЕНИЕ(Перечисление.ВидыМестВыплатыЗарплаты.ПустаяСсылка) КАК ВидМестаВыплаты,
ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК МестоВыплаты,
ДАТАВРЕМЯ(1, 1, 1) КАК СтатусНалогоплательщикаПериодРегистрации,
ЗНАЧЕНИЕ(Справочник.СтатусыНалогоплательщиковПоНДФЛ.ПустаяСсылка) КАК СтатусНалогоплательщика,
ДАТАВРЕМЯ(1, 1, 1) КАК УчетЗатратПериодРегистрации,
ЗНАЧЕНИЕ(Справочник.СтатьиФинансированияЗарплата.ПустаяСсылка) КАК СтатьяФинансирования,
ЗНАЧЕНИЕ(Справочник.СпособыОтраженияЗарплатыВБухУчете.ПустаяСсылка) КАК СпособОтраженияЗарплатыВБухучете,
ИСТИНА КАК ОтношениеКЕНВД,
ДАТАВРЕМЯ(1, 1, 1) КАК ЗарплатныйПроектПериодРегистрации,
ЗНАЧЕНИЕ(Документ.ПодтверждениеОткрытияЛицевыхСчетовСотрудников) КАК ЗарплатныйПроектРегистратор,
ДАТАВРЕМЯ(1, 1, 1) КАК ЗарплатныйПроект,
"" КАК НомерЛицевогоСчета,
ДАТАВРЕМЯ(1, 1, 1) КАК ИнвалидностьПериодРегистрации,
ИСТИНА КАК Инвалидность,
ДАТАВРЕМЯ(1, 1, 1) КАК ИнвалидностьДатаВыдачи,
ДАТАВРЕМЯ(1, 1, 1) КАК ИнвалидностьСрокДействияСправки,
ДАТАВРЕМЯ(1, 1, 1) КАК ТерриторияПериодЗаписи,
ЗНАЧЕНИЕ(Документ.ПриемНаРаботу.ПустаяСсылка) КАК ТерриторияРегистратор,
ЗНАЧЕНИЕ(Справочник.ТерриторииВыполненияРабот.ПустаяСсылка) КАК Территория
ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудников
2. Вариант. Спасибо автору xrrg публикации Введение в механизм представлений в ЗУП ред. 3
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| &Сотрудник Сотрудник,
| &Период Период
|ПОМЕСТИТЬ ВТСотрудники";
Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
Запрос.УстановитьПараметр("Период", Период);
КоллекцияПолей = "Организация, Сотрудник, ФизическоеЛицо, ФИОПолные, ДатаРождения, МестоРождения, ДокументПредставление, АдресПоПропискеПредставление, АдресМестаПроживанияПредставление, ДатаПриема, Должность, ДатаУвольнения,ТрудовойДоговорДата,ТрудовойДоговорНомер, Подразделение";
ОписательТаблицыОтборов = КадровыйУчет.ОписаниеВременнойТаблицыОтборовСотрудников(
"ВТСотрудники",
"Сотрудник",
"Период");
ЗапросКадровыеДанные = КадровыйУчет.ЗапросВТКадровыеДанныеСотрудников(Истина, ОписательТаблицыОтборов, КоллекцияПолей);
ЗарплатаКадрыОбщиеНаборыДанных.ОбъединитьЗапросы(Запрос, ЗапросКадровыеДанные);
Результат = Запрос.ВыполнитьПакетСПромежуточнымиДанными();
ТЗ_ВТКадровыеДанныеСотрудников = Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ВТКадровыеДанныеСотрудников").ПолучитьДанные().Выгрузить();
P.S. Не в тему, но очень полезен метод для отладки запросов до выполнения:
Запрос.ВыполнитьПакетСПромежуточнымиДанными() [ИндексТаблицы].выгрузить()
а для отладки менеджера врем.таблиц после выполнения запроса: Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("Имя_ВременнойТаблицы").ПолучитьДанные().Выгрузить()
просто добавить строку в ТаблицуЗначений — ТЗ.Вставить(ИндексСтроки).
Related Posts
- Получение логина и пароля техподдержки 1С из базы
- Класс для вывода отчета в Excel
- Счет-фактура для УПП
- Библиотека классов для создания внешней компоненты 1С на C#
- Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
- Прайс-лист с артикулом в отдельной колонке
(1) Если данные переносились, то твой запрос для получения списка сотрудников правильно. Но может проще обратиться прямо к «РегистрСведений.ТекущиеКадровыеДанныеСотрудников»?
(2) это ошибка.
(1) Недооценил код. Спасибо. Код полностью заменяет весь код в публикации. Лишь бы 1С завтра не исправил функционал 🙂
Для себя добавил бы две строки:
(3) Из Менеджера Временных Таблиц теперь можно получать таблицы по наименованию, а не по индексу.
А то опасно так, с обновлением количество запросов представления изменится с вероятностью 146% и ваш код станет неработоспособным.
а что это за цифра 19 ?
ТаблицаЗначений_20 = Результат[19].Выгрузить();
(5) Самому так больше нравится 🙂
(1)Звездочка в КоллекцияПолей для примера стоит? т.к. с ней вызывается исключение.
ОбщийМодуль.КадровыйУчетБазовый.Модуль(5615)}: Среди кадровых данных сотрудников нет данных с именем «*»
ВызватьИсключение ТекстСообщенияИсключения;
я в отладчике пишу
Запрос.МенеджерВременныхТаблиц.Таблицы.ПОЛУЧИТЬ(«ВТКадровыеДанныеСотрудников»).ПолучитьДанные().Выгрузить();
Есть ли разница в этих двух методах (Найти и Получить)?
При этом запрос не обязательно выполнять с промежуточными данными — из менеджера он и при Запрос.Выполнить() спокойно все данные вытаскивает.
(8) с промежуточными данными , потом Запрос.Выполнить() и потом к менеджеру. Это не связано. Вы правы. Исправлю.
А вопрос пока не проверил.
Оп. Как раз сейчас пришел к мысли, что надо разобраться с этим механизмом. Подскажет может кто в треде, по поводу дополнения такого «запроса»? Написал свой РС по всем канонам зуп (с разграничением прав в РЛС, периодической таблицей и т.д.) и встал вопрос, что эти данные нужно показывать в отчетах (почти всех кадровых). Хотеся описание мануал или записки о том как такая интеграция реализуется.
(10) свой «параметр» чтобы типовое прелставление в запросах вытаскивал?
(11) «параметр», по которому БСП сама зацепит мой метод ЗапросВТРнгистрСведений в обработке ИнициализироватьОтчет() и добавить ВТ с моим регистром и добавит нужное поле в конечный набор данных.
(12) Надо править код в общем модуле. Глобальный поиск по строке «Представления_» запустить. И там добавлять. У меня есть в коде такое. Если интересно могу позднее выложить.
(13)буду оч признателен.
(14) 1. В общем модуле «ЗарплатаКадрыОбщиеНаборыДанныхБазовый» Функция ПолучитьТекстОбщегоЗапроса( :
Показать