Кадровые отчеты в 1с
Программа 1C:Зарплата и управление персоналом дает возможность пользователям автоматизировать кадровое делопроизводство. Она позволяет вести обязательный кадровый учет, а также применять дополнительный функционал для внутреннего ведения кадрового учета по правилам и стандартам компании.
В разделах «Кадры» и «Зарплата» доступны все документы для реализации кадрового делопроизводства в 1С.
Учет личных данных сотрудников
Учет личных данных сотрудников в программе Зарплата и управление персоналом структурирован, ведется по каждому сотруднику, имеет как обязательные для заполнения параметры (для кадровой работы, начисления зарплаты, учета налогов), так и дополнительные (для управленческого учета в 1С). Доступны:
- Печатные типовые формы документов на обработку личных данных сотрудников, срочного или бессрочного трудового договора, личной карточки сотрудника;
- учет электронных трудовых книжек;
- возможности хранения сканированных и внесенных данных в личные дела физических лиц.
В программе предусмотрен учет данных и формирование отчетных документов в проверяющие службы:
- воинский учет сотрудников (основной, в запасе) по должностям;
- персонифицированный учет для всех категорий сотрудников с аналитикой стажа, степени вредности производства;
- учет для службы занятости (декларация соответствия);
- учет для ПФР (сведения о трудовой деятельности СЗВ-ТД).
Создание штатного расписания в 1С
Функционал по созданию штатного расписания в 1С не является обязательным и применяется работодателем при необходимости. Функционал рекомендован для больших организаций со сложной структурой. Возможности, которые дает включение программного штатного расписания в 1С в кадровое делопроизводство:
- сократить время на оформление кадровых документов при приеме, переводе сотрудников, т.к. информация автоматически отражается из штатного расписания;
- сохранять историю изменений (в том числе в печатной форме Т-3);
- определять свободные позиции штатного расписания;
- задавать разные условия труда для должностей с одним называнием;
- классифицировать позиции по категориям, разрядам;
- на выбор вводить точные значения окладов или диапазон значений, указывать нецелое количество штатных единиц;
- вводить должности (подразделения) на определенный период, тем самым контролировать временное действие штатной единицы (отдела) в справочнике;
- вести учет штатной расстановки;
- бронировать позицию штатного расписания за сотрудником;
- штатное расписание можно индексировать.
Движения в кадровом персонале организации
Помимо создания печатных форм кадровых документов организации по приему (Т-1), переводу (Т-5), увольнению (Т-8) сотрудников, в программе можно контролировать кадровые движения, а также результат последующих действий. Доступен(а):
- контроль численности сотрудников, работающих по внешнему/внутреннему совместительству или по основному месту работы;
- функционал группового кадрового оформления единым документом (в случае открытия/закрытия подразделения, реструктуризации организации) – формыT-1а, Т-8а, Т-5а;
- учет переводов при смене должностей, окладов, с работы по совместительству на основное место (и в обратном порядке), при работе с несколькими организациями – учет смены работодателя;
- контроль и перенос остатков отпусков при смене работодателя в пределах холдинга (информационной базы);
- функционал перемещения сотрудников с различными показателями, которые отличаются по территориальному признаку;
- функционал увольнения и полного расчёта сотрудника в день увольнения, не дожидаясь закрытия месяца;
- учет уникальности кадровой нумерации документов, табельных номеров физического лица;
- возможность заключения договора гражданско-правового характера, его закрытия по мере выполнения работ поэтапно актами выполнения работ;
- возможность без кадрового перевода изменять рабочий график;
- функционал фиксирования с дальнейшей оплатой дополнительной работы сотрудника при замещении отсутствующего сотрудника, при внутреннем совмещении должностей, расширении обязанностей, увеличении объемов работы, при подработках.
Учет рабочего времени работников и их отсутствия
Одним из важных направлений кадрового делопроизводства является учет рабочего времени работников и их отсутствия. В программе предусмотрен функционал, позволяющий вести учет при различных условиях труда:
- можно использовать разные виды графиков (суммированный учет рабочего времени, с неполным рабочим днем, многосменные, пятидневную рабочую неделю, 2/2, индивидуальные графики и др.);
- есть возможность выбора производственных календарей и применения нескольких для разных регионов;
- можно регистрировать отсутствия на рабочем месте по болезни, отгулы, отпуска и другие отклонения от графика, устанавливать дополнительные часы за пределами нормы при суммированном учете рабочего времени или за работу в праздничные дни;
- можно использовать на выбор определенный вид планового времени или применить несколько вариантов, есть возможность расширить классификатор;
- возможно вести учет дней ежегодного отпуска, дополнительного, учебного отпуска для различных категорий сотрудников, формировать резервы отпусков, сформировать фактические и перенесенные отпуска по форме Т-7 в документе «График».
Унифицированные формы, применяемые в программе (макеты печатных форм) не обязательны для применения и могут быть скорректированы по внутренним правилам кадрового документооборота компании.
Единая информационная база дает возможность структурного анализа и управления кадровым составом в разных срезах, в различные периоды времени и применяется для расчета кадровых показателей: коэффициента текучести кадров, среднесписочной численности, коэффициента выбытия кадров и т.п. Что позволяет своевременно прослеживать кадровую динамику отдельных подразделений и организации в целом, выявлять проблемные участки кадрового персонала организации. Единое отражение рабочего времени и дней отсутствия в программе дают наглядную общую картину (в табеле учета рабочего времени по форме Т-13): возможность выявлять причины отсутствий сотрудников, причины потери времени, вычислять результативные показатели (например, fte). Что позволяет вносить коррективы в плановую штатную численность подразделений.
Дата публикации 24.10.2019
Использован релиз 3.1.11
Для создания списка уволенных сотрудников за определенный период сформируйте отчет "Кадровые изменения":
- Раздел Кадры – Кадровые отчеты – ссылка "Кадровые изменения".
- В поле "Период" укажите период, за который необходимо сформировать отчет (рис. 1).
- В поле "Организация" укажите организацию, по которой необходимо сформировать отчет.
- Кнопка "Настройки". Установите флажок "Вид события" и выберите из предложенного перечня "Увольнение".
- Кнопка "Закрыть и сформировать". Для печати отчета нажмите на кнопку "Печать результата отчета" (рис. 2).
Также для создания списка уволенных сотрудников на заданную дату можно использовать отчет "Уволенные сотрудники".
- Раздел Кадры – Кадровые отчеты – ссылка "Уволенные сотрудники".
- В поле "Дата" укажите дату, на которую необходимо сформировать отчет (рис. 3).
- В поле "Организация" укажите организацию, по которой необходимо сформировать отчет.
- Кнопка "Настройки". Для изменения структуры отчета выберите "Вид" - "Расширенный".
- На закладке "Поля и сортировки" в специальной форме уберите ненужные флажки слева (например, "Дата рождения").
- Кнопка "Закрыть и сформировать". После изменения структуры отчет можно сохранить как новый, перезаписать существующий или закрыть без сохранения.
Сентябрь 2014 - обновлена версия отчета (исправлена ошибка вызова общего модуля).
Специальные предложения
М1: Для Каждого СтрТЗ Из ТЗ1 Цикл
Если (Найти(СтрТЗ.Состояние,"Уволен") > 0) ИЛИ НЕ(СтрТЗ.Организация = ОрганизацияВыбор) Тогда
ТЗ1.Удалить(СтрТЗ);
Перейти
М1;
КонецЕсли;
КонецЦикла;
Это что за хитрая конструкция? :)
За старания +Про мелкие нарекания промолчу, но конструкция из поста (2) улыбнула :D (2) Наверное не в себе был :o
(4) Согласен, как случится повод переделывать, заодно и это. Отчет - жесть! Конструкция в (2) - прикольно! А самый прикол в отсутствии ограничений при отборе - если в организации человек 10 - то пойдет, иначе . У меня на 1300х - 40 минут формировался :D Простые и нужные отчеты. Не мешало бы только сделать еще отбор по подразделению.
(6) вестна на дворе )))
Расчетом остатков отпусков я тоже занимался. типовые процедуры считают не всегда верно: не учитывают периоды отпуска по беременности и родам, не учитывают работников с ненормированным рабочим днем, и т.д.
И еще: остаток отпуска надо выводить с 2 знаками после запятой. Или нет?
Надо кому? Моему заказчику понадобилось так, как сделано в отчете. И ни знаком больше. :D Спасибо! Кадровики быстро отчитались перед дирекцией, благодарен за ваш труд Примитивные отчеты.
В больших организациях они не работают, много нюансов Спасибо! Доработал отбор по подразделениям. И еще одно. Если в перемещениях и в приеме несколько строк по видам начислений (допустим оклад и премия), то выводит обе строки. Желательно свернуть и выводить только оклад. Очень полезные отчеты, но в новых релизах не считает остатки, так как пропала процедура
ПроцедурыУправленияПерсоналом.ПодготовитьДанныеПоРегламентированнымОтпускам что то отпуска без сохранения не особо хочет показывать,
советую вставить еще один - НеоплачиваемыйОтпускПоРазрешениюРаботодателя. Проверил на релизе ЗУП 2.5.77. Работает нормально. Спасибо! Хотя нет, поспешил. Отчет "Остатки отпусков" давал ошибку - ссылался на несуществующий метод в общем модуле. Нужно заменить в модуле формы ссылка "ОбщегоНазначения" на "ОбщегоНазначенияЗК" и все будет работать!
: Метод объекта не обнаружен (ПолучитьРабочуюДату)
ДатаАктуальности = ?(СотрудникУволен, Выборка.ДатаУвольнения, ОбщегоНазначения.ПолучитьРабочуюДату());
не формирует остатки отпусков, совет doronin70 не помог.
В целом очень хорошие отчеты. СПАСИБО. Ставлю +. Исключение остатки отпусков - не формирует. Согласна с Coresco Замечания по перемещению:1. Выводит в перемещениях вместо предпоследнего значения начисление последнее.
2. Если в перемещениях несколько строк по видам начислений (допустим оклад и премия), то выводит только оклад.
Просмотры 12348
Загрузки 699
Рейтинг 89
Создание 31.03.10 12:29
Обновление 03.09.14 16:40
№ Публикации 68317
Кому Бухгалтер
Операционная система Windows
Страна Россия
Доступ к файлу Абонемент ($m)
Код открыт Не указано
См. также
В помощь кадровику. Отчет по состояниям (отклонениям) сотрудников за период. Промо
Моя переработанная статья будет полезна и работникам кадровых служб и разработчикам кадровых отчетов. Вся информация для пользователей размещена в самом начале статьи, ниже идет техническое описание сбора данных для отчета. К статье прикреплен отчет на основе СКД, который позволяет в детальной и настраиваемой форме выводить информацию о состояниях сотрудников за выбранный период. Данные собираются исключительно с кадровых регистров. Через механизм характеристик реализована поддержка использования категорий и свойств объектов. В описании для разработчиков я расскажу об основных принципах создания отчета по состояниям (отклонениям) сотрудников организаций за выбранный период. Данные будем брать из регистров сведений «СостояниеРаботниковОрганизаций» и «РаботникиОрганизаций». В файлах выложен полностью работоспособный отчет по статье, который можно быстро адаптировать под Ваши учетные задачи. (тестировалась в ЗУП 2.5.37.1, 2.5.54.1 / 8.2.14.533, 8.2.15.310)
Заказчику на производственном предприятии понадобился отчет, содержащий информацию об истории изменения графиков работы сотрудников. Штатного отчёта в конфигурации ЗУП 3.1 (3.1.14.334) не оказалось. Потребовалось написать новый внешний отчет. За основу был взят отчет Кадровая история сотрудников. На практике именно этот отчет дорабатывался. Для статьи же я написал отдельный отчет, чтобы можно было использовать его как шаблон создания своих отчетов.
Введение
Типовые отчеты в ЗУП построены так, что текст запроса для отчета формируется программно в процедуре ПриКомпоновкеРезультата(). В ней необходимо вызвать следующую процедуру: ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект), которая подготовит реальный запрос для нашего отчета. Используется так называемый механизм представлений. В Схеме компоновки же составляется обычно запрос-пустышка. В запросе по определенным правилам составляются имена виртуальных таблиц. Далее процедуры общих модулей ЗУП заменяют такие виртуальные таблицы на реально исполняемые. Механизм замены представлений в совокупности с программным интерфейсом позволяет безболезненно получать данные из базы.
Если игнорировать использование программного интерфейса при получении данных в Зарплате, можно испытать много боли и разочарования. Даже если вы опытный сеньор и знаете особенности проектирования Зарплаты, никто не гарантирует, что в следующем релизе разработчики, как минимум, не переименуют реквизиты. Поэтому, самостоятельно запрашивать у ЗУП данные, если для из получения имеется программный интерфейс, это не наш метод. Наша задача сделать так, чтобы отчет пережил как можно больше релизов.
На мой взгляд, серьезный недостаток программного интерфейса, это отсутствие описания процедур и функций, и взаимосвязи между ними. Плюс не описано, какие именно выходные поля можно запросить. Мечта, если бы все функции были описаны так же как КадровыйУчет.КадровыеДанныеСотрудников(. ). И несмотря на это описание, какие имена полей допустимы в параметре КадровыеДанные, не так просто найти. Также нет информации о том, из какиз таблиц и какие данные можно получать с помощью виртуальных таблиц Представлений.
Например, представление ШтатноеРасписание используется в отчетах по штатному расписанию. В недрах функций по замене представлений есть функция, получающая набор источников данных для заменяемой таблицы. И конкретно по штатному расписанию источник построения запроса далеко не один
Ну и финальный запрос выглядит устрашающе:
Запрос-пустышка выглядел так:
В финальном запросе можно посмотреть. какие поля доступны для получения.
При компоновке макета СКД, естественно, запрос сильно похудеет.
Часть 1
От разработчика отчета требуется правильно подготовить запрос-пустышку.
Откуда брать информацию по графикам работы? Так как у нас по сути всего получение одной сущности, это график работы, вряд-ли нам нужен большой контейнер-представление, вроде ШтатноеРасисание. Можно посмотреть, какой запрос строит функция КадровыйУчет.КадровыеДанныеСотрудников(..), например. Я посмотрел, куда делает движения документ Изменение графиков работы. Всего 4 регистра. Очевидно, что наш регистр ГрафикРаботыСотрудников. Допустим, мы бы захотели сами построить запрос. Но в базе 3 регистра. Один основной и 2 вспомогательных (ГрафикРаботыСотрудниковИспр и ГрафикРаботыСотрудниковИнтервальный). Лучше построим запрос к этому регистру правильно. Готовим так называемую таблицу отбора, таблицу-фильтр.
Далее основная пустышка:
Выборка данных в пустышке идет из Таблицы для отбора. Однако никаких полей мы не выбрали. Переживать не стоит, это необходимо для получения реального запроса. Очень важно правильно назвать эту таблицу, обработка подскажет нам как..
Еще нам потребуется некоторая кадровая информация по сотрудникам, ее также получаем похожим образом. Только кадровые данные могут быть очень различны и содержатся в разных регистрах (как и штатное расписание), поэтому строим пустышку не по _ТаблицаРегистра_
Таблица для отбора кадровых данных:
Поскольку в ЗУП период получения данных ахриважен, для получения кадровых данных нам нужен сам сотрудник и дата получения кадрвоых данных. Поэтому таблица содержит 2 "параметра": Сотрудник, Период. Брать эти данные мы будем из таблицы выше. Ведь для предыдущей таблицы нам как раз не хватает колонок с кадровыми данными. Для каждой строки (которая как раз содержит Сотрудника и дату изменения его графика) мы ниже и получим недостающие колонки.
Теперь. когда готова таблица для отбора, основная пустышка для получения кадровых данных:
И в этой таблице в наименовании видим Представление_. необходимое для работы программного интерфейса.
Итак, осталось только сделать выборку данных (см. приложенном к статье отчёте).
Часть 2
При анализе похожих отчетов ( КадроваяИсторияСотрудников, ФактическиеОтпускаСотрудников) обратил внимание на то, что что виртуальную таблицу Представления_ТаблицаРегистра_ИмяРегистраизКоторогоПолучаютсяДанные разработчики ЗУП собирают объединением. Конкретно, собираются пустые ссылки в поле Регистратор. Сначала было предположение, что механизм представлений сделает ограничение по типам регистратора, но отладчик не подтвердил гипотезу. При этом, если не собирать данную виртуальную таблицу объединением а поставить наобум любой тип из перечня регистраторов, отчет также успешно отработает, и покажет все типы регистраторов. Для чего так сделали разработчики, пока непонятно, если кто знает, прошу разъяснить в комментариях. Предполагаю, что разработчики будут развивать механизм представлений и такое построение типовых отчетов - задел на будущее. Поэтому решено было в своем отчете сделать также.
В отчёте КадроваяИсторияСотрудников объединение собрано из 12 запросов (соответственно, 12 типов регистраторов). У регистра ГрафикРаботыСотрудников (основа нашего отчета) в данный момент 9 регистраторов. На данный момент непонятно:
1. Будут ли разработчики развивать механизм представлений и какое влияние это окажет на разрабатываемый отчет, если не собрать объединение пустых ссылок регистраторов;
2. Изменится ли состав регистраторов.
Поэтому виртуальную таблицу Предстваления_ТаблицаРегистра_ГрафикРаботыСотрудников решено было доработать программно. Для этого в схеме компоновки отчета конструктором создана таблица Представлений с одной пустой ссылкой регистратора, и уже эта таблица дорабатывается в процедуре ДополнитьЗапросПредставленияТаблицыРегистра().
Итак, сама процедура ДополнитьЗапросПредставленияТаблицыРегистра()
Как можно заметить, виртуальная таблица Представления. была получена функцией из общего модуля. Далее Происходит получение массива регистраторов для регистра ГрафикРаботыСотрудников и работа с коллекцией Операторы конкретного пакета запроса Схемы запроса. Первый элемент этой коллекции это и есть наш запрос, созданный в конструкторе. Для сопоставления полей получившегося объединения было как минимум три варианта действий. Сначала сделал вариант, где в виртуальной таблице Представлений выбрал регистратор первым в списке, а во вновь создаваемых операторах просто добавлял выбираемое поле с пустой ссылкой следующего регистратора. Но в случае, если другой разработчик изменит порядок полей в схеме компоновки, отчет перестанет работать. Можно было попробовать сопоставить поля как описано в статье выше. Но решил остановиться на варианте с обходом коллекции выбираемых полей первого оператора.
Весь код модуля объекта получившегося отчета ниже:
В целях развития данного подхода к созданию отчетов для ЗУП 3.1 можно вынести процедуру ДополнитьЗапросПредставленияТаблицыРегистра() в общий модуль( планирую с повторным использованием) , немного доработать чтобы можно было использовать в других отчетах. В функции есть что улучшить, но сейчас цель не в оптимизации кода, а в том, чтобы попробовать отвязаться от метаданных (в данном случае от регистраторов) с помощью СхемыЗапроса.
Надеюсь, данный шаблон поможет начинающим свой путь в дебрях ЗУП избежать ошибок и боли, и полюбить эту прекрасную конфигурацию так, как люблю её я.
Читайте также: