Файлы материала
Описание
В ЗУП 3.1 есть возможность получать данные через «Представления» в запросе СКД. Для того, что бы данные механизм работал, обычно достаточно инициализировать отчет в процедуре «ПриКомпоновкеРезультата». Но поскольку данные по стажу меняются, то кроме инициализации необходимо дополнительно обновить исходные данные расчета.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#Область ОбработчикиСобытий Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыКорпоративнаяПодсистемы.АвтоматическийРасчетСтажейФизическихЛиц") Тогда МодульАвтоматическийРасчетСтажейФизическихЛиц = ОбщегоНазначения.ОбщийМодуль("АвтоматическийРасчетСтажейФизическихЛиц"); МодульАвтоматическийРасчетСтажейФизическихЛиц.ОбновитьСтажиФизическихЛиц(); КонецЕсли; ИнициализироватьОтчет(); КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции Процедура ИнициализироватьОтчет() Экспорт ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект); КонецПроцедуры #КонецОбласти |
С помощью процедуры АвтоматическийРасчетСтажейФизическихЛиц.ОбновитьСтажиФизическихЛиц() происходит перезаполнение регистра сведений «НакопленныеСтажиФизическихЛиц» с учетом актуальных данных в РС «СтажиФизическихЛиц».
Затем в запросе СКД необходимо описать таблицы «Представлений» и получение из них данных. В данном случаи это «Представления_СтажиСотрудников ».
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
ВЫБРАТЬ РАЗРЕШЕННЫЕ КОНЕЦПЕРИОДА(&ДатаАктуальности, ДЕНЬ) КАК Период, ФизическиеЛица.Ссылка КАК ФизическоеЛицо ПОМЕСТИТЬ ВТФизическиеЛица ИЗ Справочник.ФизическиеЛица КАК ФизическиеЛица ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ФизическиеЛица.ФизическоеЛицо КАК ФизическоеЛицо, ДАТАВРЕМЯ(1, 1, 1) КАК ПериодРегистрации, 0 КАК РазмерМесяцев, 0 КАК РазмерДней, ЗНАЧЕНИЕ(Справочник.ВидыСтажа.ПустаяСсылка) КАК ВидСтажа, 0 КАК Лет, 0 КАК ВсегоМесяцев, 0 КАК Месяцев, 0 КАК Дней, ЛОЖЬ КАК Прерван ПОМЕСТИТЬ Представления_СтажиСотрудников ИЗ ВТФизическиеЛица КАК ФизическиеЛица ГДЕ "ТолькоРазрешенные" = ИСТИНА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Представления_СтажиСотрудников.ФизическоеЛицо КАК ФизическоеЛицо, Представления_СтажиСотрудников.ПериодРегистрации КАК ПериодРегистрации, Представления_СтажиСотрудников.РазмерМесяцев КАК РазмерМесяцев, Представления_СтажиСотрудников.РазмерДней КАК РазмерДней, Представления_СтажиСотрудников.ВидСтажа КАК ВидСтажа, Представления_СтажиСотрудников.Лет КАК Лет, Представления_СтажиСотрудников.Месяцев КАК Месяцев, Представления_СтажиСотрудников.Дней КАК Дней, Представления_СтажиСотрудников.ВсегоМесяцев КАК ВсегоМесяцев, Представления_СтажиСотрудников.Прерван КАК Прерван ИЗ Представления_СтажиСотрудников КАК Представления_СтажиСотрудников |
Поля РазмерМесяцев и РазмерДней содержат данные о часте стажа по предыдущим местам работы.
Поля Лет, Месяцев, Дней, ВсегоМесяцев содержат данные о полном стаже рассчитанном на дату актуальности, с учетом данных по предыдущим местам работы и периода по текущему месту работы в РС «НакопленныеСтажиФизическихЛиц».
Аналогичный пример получение данных о стаже в расширенном варианте можно посмотреть в типовом отчете Стажи сотрудников.
Отчет с примером по данному материалу можно скачать в начале статьи.
