Имя: Пароль:
1C
1С v8
ЗУП3: получить численность работающих сотрудников на КАЖДЫЙ ДЕНЬ
0 dft2014
 
19.04.18
13:09
ЗУП3

Подскажите, как получить численность работающих сотрудников на КАЖДЫЙ ДЕНЬ за месяц/квартал/год? Желательно отдельно по штатникам, совместителям и декретницам.

- Посмотрела регистр сведений "ТекущиеКадровыеДанныеСотрудников" (вроде из него тянет штатных сотрудников в типовых отчетах), но он оказался не периодический.
- Использовать функцию КадровыйУчет.КадровыеДанныеСотрудников(Истина, СписокСотрудников, , , ТекущаяДата(),) - мне кажется, что он не совсем подходит для моей цели.
1 ГдеСобака Зарыта
 
19.04.18
13:18
Задача какая в целом то?
Отчет СтатистикаПерсонала посмотреть.
2 dft2014
 
19.04.18
13:24
(1) Задача - сделать проверочный отчет для Статистики.
3 dft2014
 
19.04.18
14:24
Ап!
4 SleepyHead
 
гуру
19.04.18
14:36
Вам чтоб работало или одним запросом?

Чтоб работало - примерно так
1. Выбрать запросом всех сотрудников, поместить в массив
2. С помощью функции КадровыйУчет,КадровыеДанныеСотрудников() вытащить даты приема и увольнения - так вы получите периоды работы по штатникам. Как, имея эти даты, разложить на каждую дату месяца - расписывать не буду

3. Из регистра сведений "ПериодыДействияДоговоровГражданскоПравовогоХарактера" вытащить периоды работы договорников. Разложить по датам периода отчета.

4. Чтобы понять, кто декретницы - смотрите регистр "СостоянияСотрудников", вытаскивайте оттуда периоды по штатникам, определенным в п.1

5. По видам занятости вытаскивайте данные из регистра "ВидыЗанятостиСотрудников" или "ВидыЗанятостиСотрудниковИнтервальный"
5 ale-sarin
 
19.04.18
14:57
Можно попробовать взять запрос из отчета СтатистикаПерсонала, который и используется для расчета средней и среднесписочной численности.
Там есть ВТ ВТСотрудникиПоДнямПополненныеДоговорамиГПХ. На первый взгляд похоже на то, что Вам нужно.
6 dft2014
 
19.04.18
18:30
(4) Спасибо, но вот про самое интересное - не написали, цитирую:

"С помощью функции КадровыйУчет,КадровыеДанныеСотрудников() вытащить даты приема и увольнения - так вы получите периоды работы по штатникам. Как, имея эти даты, разложить на каждую дату месяца - расписывать не буду"

HELP!!!
7 SleepyHead
 
гуру
20.04.18
05:14
(6) Описание параметров смотрите в модуле КадровыйУчет, а более подробно в модуле КадровыйУчетВнутренний

Привожу пример, как вытащить даты приема и увольнения, имея ссылки на сотрудников (СправочникСсылка.Сотрудники) в массиве

ТЗ = КадровыйУчет.КадровыеДанныеСотрудников(Истина, МассивСотрудников, "ДатаПриема,ДатаУвольнения", КонецМесяца(ПериодОтчета));

Для Каждого Стр из ТЗ Цикл

   // Стр.Сотрудник - ссылка на сотрудника
   // Стр.ДатаПриема - дата приема (или пустая дата, если не принят)
   // Стр.ДатаУвольнения - дата увольнения
   // Стр.ФизическоеЛицо - физлицо
    //
//  Да поможет вам отладчик и точка останова!

КонецЦикла;
8 SleepyHead
 
гуру
20.04.18
05:18
(5) "Можно попробовать взять запрос из отчета СтатистикаПерсонала, который и используется для расчета средней и среднесписочной численности. "

Смысл независимых проверок заключается в том, чтобы получить данные другим способом.

Что с чем вы собираетесь сравнивать, если берете данные отчета и получаете данные отчета тем же способом, которым они были построены? Не очень понятная логика.

Практика показывает, что отчетность делают кодеры, которые работают по техзаданию, сами учет не ведут и нормальные проверки для бухгалтера/кадровика сделать неспособны.

Когда я пишу нормальные, подразумеваю, что информация для проверки представлена наглядно, при этом содержит все необходимые данные для проверки, и не содержит лишних, идеально, когда данные развернуты в двумерную таблицу, которую затем можно крутить/вертеть по нужным измерениям в экселе или средствами СКД.

Я вообще считаю, что кодер, который реализует отчет, должен быть закрыт в комнате и его нельзя выпускать оттуда до тех пор, пока он внятно не сможет пояснить, как был заполнен каждый показатель отчета.
9 hhhh
 
20.04.18
05:55
(6) ну делаете таблицу значений по дням. Левая колонка - это у вас день, правая - количество. Например строчка 20 апреля, сегодня. Проверяете для каждого сотрудника, цикл по сотрудникам, смотрите дату приема и дату увольнения, если он работающий, в количество прибавляете 1, если уже уволен, то 0. И так в итоге у вас получится количество сотрудников работающих 20 апреля.

чтобы за весь месяц получить, вы должны сложить все дни и разделить на 30, в апреле же 30 дней.
AdBlock убивает бесплатный контент. 1Сергей