[1С ЗУП] Выработка сотрудника за период по графику (план и факт)

Возврат к списку

запрос.jpg

Очередная заметка для конфигурации 1С ЗУП. 

Задача: "Получить данные по выработке сотрудников. В результате должна быть получена таблица со следующими колонками: 

  • Сотрудник - Элемент справочника СотрудникиОрганизаций
  • ОтработаноФакт -  фактическое количество отработанных часов за период (на основании табеля)
  • НормаВыработки - количество часов, которое должен отработать сотрудник, согласно графику работы"

В публикации опишу запрос, который подтягивает всю эту информацию.  Параметры запроса: 

  • Сотрудники - Список сотрудников (тип список)
  • ДатаНач - Начало периода 
  • ДатаКон - КонецПериода 
  • ВидИспользованияРабочегоВремени - По умолчанию Явка 

Принцип работы запроса следующий: 

На основании списка сотрудников и указанного периода, получаем список ДеньКалендаря и Сотрудник (запрос к производственному календарю), результат запроса записываем во временную таблицу. 

Второй  запрос получает  фактически отработанное время сотрудника (информация тянется из регистра Рабочее время работников организаций ) и результат запроса так же сохраняется во временную таблицу. 

Третий запрос  соединяет 2 предыдущих запроса и в результате получает список типа: Дата, Сотруднки, ФактОтработанное время, результат так же сохраняем во временную таблицу. 

Четвертый запрос определяет график работы сотрудника на каждую из дат. Результат так же кидаем во временную таблицу. 

И последний запрос определяет норму работы сотрудника на каждую из дат. Информация берется из регистра сведений ГрафикиРаботыПоВидамВремени.


Код запроса: 

	 ВЫБРАТЬ СотрудникиОрганизаций.Ссылка КАК Сотрудник,
	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаПОМЕСТИТЬ ВТДатаИСотрудникИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь,
	Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизацийГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &ДатаНач И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &ДатаКон И СотрудникиОрганизаций.Ссылка В(&Сотрудники) ;
	 ////////////////////////////////////////////////////////////////////////////////
	ВЫБРАТЬ РабочееВремяРаботниковОрганизацийОбороты.Период,
	РабочееВремяРаботниковОрганизацийОбороты.Сотрудник,
	РабочееВремяРаботниковОрганизацийОбороты.ЧасовОборотПОМЕСТИТЬ ВТРабочееВремяИЗ РегистрНакопления.РабочееВремяРаботниковОрганизаций.Обороты(&ДатаНач, &ДатаКон, День, Сотрудник В (&Сотрудники)) КАК РабочееВремяРаботниковОрганизацийОборотыГДЕ РабочееВремяРаботниковОрганизацийОбороты.ВидИспользованияРабочегоВремени = &ВидИспользованияРабочегоВремени;
	 ////////////////////////////////////////////////////////////////////////////////
	ВЫБРАТЬ ВТРабочееВремя.ЧасовОборот КАК Часов,
	ВТЖДатаИСотрудник.Сотрудник КАК Сотрудник,
	ВТЖДатаИСотрудник.Дата КАК ДатаПОМЕСТИТЬ ВТИЗ ВТДатаИСотрудник КАК ВТЖДатаИСотрудник ЛЕВОЕ СОЕДИНЕНИЕ ВТРабочееВремя КАК ВТРабочееВремя ПО ВТЖДатаИСотрудник.Дата = ВТРабочееВремя.Период И ВТЖДатаИСотрудник.Сотрудник = ВТРабочееВремя.Сотрудник СГРУППИРОВАТЬ ПО ВТРабочееВремя.ЧасовОборот,
	ВТЖДатаИСотрудник.Дата,
	ВТЖДатаИСотрудник.Сотрудник;
	 ////////////////////////////////////////////////////////////////////////////////
	ВЫБРАТЬ ВТ.Часов,
	ВТ.Сотрудник КАК Сотрудник,
	ВТ.Дата КАК Дата,
	РаботникиОрганизаций.ГрафикРаботы.Ссылка КАК ГрафикПОМЕСТИТЬ ВТСГрафикомИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО (РаботникиОрганизаций.Период В (ВЫБРАТЬ ПЕРВЫЕ 1
	РаботникиОрганизаций.Период ИЗ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ГДЕ РаботникиОрганизаций.Период <= ВТ.Дата И РаботникиОрганизаций.Сотрудник = ВТ.Сотрудник УПОРЯДОЧИТЬ ПО РаботникиОрганизаций.Период УБЫВ))
	И ВТ.Сотрудник = РаботникиОрганизаций.Сотрудник СГРУППИРОВАТЬ ПО ВТ.Сотрудник,
	ВТ.Дата,
	ВТ.Часов,
	РаботникиОрганизаций.ГрафикРаботы.Ссылка;
	 ////////////////////////////////////////////////////////////////////////////////
	ВЫБРАТЬ ВТСГрафиком.Сотрудник КАК Сотрудник,
	ВТСГрафиком.Сотрудник.ДатаПриемаНаРаботу КАК ДатаПриема,
	ВТСГрафиком.Сотрудник.ДатаУвольнения КАК ДатаУвольнения,
	ВТСГрафиком.График КАК График,
	ВТСГрафиком.Дата КАК Дата,
	НАЧАЛОПЕРИОДА(ВТСГрафиком.Дата, МЕСЯЦ) КАК Месяц,
	ВТСГрафиком.Часов КАК ЧасовФакт,
	ГрафикиРаботыПоВидамВремени.ОсновноеЗначение КАК ЧасовПланИЗ ВТСГрафиком КАК ВТСГрафиком ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени ПО ВТСГрафиком.График = ГрафикиРаботыПоВидамВремени.ГрафикРаботы И ВТСГрафиком.Дата = ГрафикиРаботыПоВидамВремени.ДатаГДЕ ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам)
	 СГРУППИРОВАТЬ ПО ВТСГрафиком.Сотрудник,
	ВТСГрафиком.График,
	ВТСГрафиком.Дата,
	ГрафикиРаботыПоВидамВремени.ОсновноеЗначение,
	ВТСГрафиком.Сотрудник.ДатаПриемаНаРаботу,
	ВТСГрафиком.Сотрудник.ДатаУвольнения,
	ВТСГрафиком.Часов УПОРЯДОЧИТЬ ПО Сотрудник,
	ДатаИТОГИ СУММА(ЧасовФакт),
	СУММА(ЧасовПлан)
	ПО Сотрудник,
	Месяц


   P.S. Последнее время надежности компьютеров уделяется большое внимание, ну еще бы, когда на ПК  стоит база, с которой работает штат сотрудников, не дай бог рухнет, это будет провал. Во первых удар по авторитету компании, перебой в работе сотрудников и т.д. Дабы этого не допустить, достаточно выполнять абонентское обслуживание компьютеров  Грамотные специалисты гораздо быстрее смогут обнаружить и устранить неисправность. 



Возврат к списку

Теги
1c addurl AutoGRAPH.NET_Service Bitrix Bootstrap chmail.ru CMS curl DLE ERP Exel gmail google hdd hide html input Java script окна javascript Jquery JS JSON keywords mail.ru memori news.list No captcha nsma PHP php php attach PR recaptcha repair retweet script Sdorgen sdorgen select sms snagit Spam Test Twitter ucoz utf-8 VK wrike X-Satellite XHE xhe yandex yandex webmaster youtube АРМ БП3 Битрикс ВТБ24 ЕГРЮЛ ЖЖ ЗУП ИТС КЛАДР МБ-8 НДФЛ ПР ПФ ТИЦ УАТ УП автограф автокликер автоматизация автопостер ап ТИЦ битрикс валюты видео внешнее соединение время грамотное написание графика даты запрета день рождение дерево значений договор заказы заполнение ТЧ запонение ТЧ запрос 1С зарплатный реестр календарь книги кодировка комментарии координаты координирование проектов меню модальное окно народ обмен обработка ок рубль организационные структуры управления проектами остатки на складе отчет плавающий блок постинг программы для управления проектами расчет расстояния сервис система управления проектами скрипт скрыть блок смс софт таймер такси управление содержанием проекта фоновые задания чекер