Получение нормы месяца в часах по графику работы сотрудника

1. Divanoff 22 12.04.17 09:05 Сейчас в теме
День добрый.

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

1. В ЗУП 3 есть регистр сведений "ГрафикРаботыСотрудниковИнтервальный", там по периодам с даты начала по дата окончания есть информация в каком графике сотрудник работал. Как получить из данного регистра значения графика работы за каждый день периода нужного мне месяца?
2. Если я значения получу, то нужно потом из регистра ГрафикиРаботыПоВидамВремени получить за каждый день нужного мне периода часы из графика пункта 1.

Что-нибудь делал похожий запрос? Ну или может функция какая есть? Я сообразить не могу, как его написать.

Программа: ЗУП 3 КОРП. Структура регистров на скриншоте.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 12.04.17 09:12 Сейчас в теме
(1) получаешь дни в периоде пихаешь в Вт, потом вытягиваешь данные из регистра по нужному графику и уже соединяешь Вт1 и график. ну и там получишь что тебе надо.
3. Divanoff 22 12.04.17 10:10 Сейчас в теме
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ДанныеПроизводственногоКалендаря.Дата
ПОМЕСТИТЬ ВТ_Даты
ИЗ
	РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ГДЕ
	ДанныеПроизводственногоКалендаря.Дата >= &НачДата
	И ДанныеПроизводственногоКалендаря.Дата <= &КонДата
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ВТ_Даты.Дата КАК Дата,
	МАКСИМУМ(ГрафикРаботыСотрудников.Период) КАК МаксПериод,
	ГрафикРаботыСотрудников.Сотрудник,
	ГрафикРаботыСотрудников.ГоловнаяОрганизация КАК Организация
ПОМЕСТИТЬ ВТ_МаксПериод
ИЗ
	ВТ_Даты КАК ВТ_Даты
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботыСотрудников КАК ГрафикРаботыСотрудников
		ПО ВТ_Даты.Дата >= ГрафикРаботыСотрудников.Период
			И (ГрафикРаботыСотрудников.Сотрудник В (&МассивСотрудников))

СГРУППИРОВАТЬ ПО
	ВТ_Даты.Дата,
	ГрафикРаботыСотрудников.Сотрудник,
	ГрафикРаботыСотрудников.ГоловнаяОрганизация
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ВТ_МаксПериод.Сотрудник,
	ГрафикРаботыСотрудников.ГоловнаяОрганизация КАК Организация,
	ГрафикРаботыСотрудников.ГрафикРаботы,
	ВТ_МаксПериод.Дата КАК Дата
ПОМЕСТИТЬ ВТ_ГрафикиНаКаждыйДень
ИЗ
	ВТ_МаксПериод КАК ВТ_МаксПериод
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботыСотрудников КАК ГрафикРаботыСотрудников
		ПО ВТ_МаксПериод.Сотрудник = ГрафикРаботыСотрудников.Сотрудник
			И ВТ_МаксПериод.МаксПериод = ГрафикРаботыСотрудников.Период
			И ВТ_МаксПериод.Организация = ГрафикРаботыСотрудников.ГоловнаяОрганизация
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ГрафикиРаботыПоВидамВремени.ГрафикРаботы,
	ГрафикиРаботыПоВидамВремени.Дата,
	ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение КАК Часы
ПОМЕСТИТЬ ВТ_ДанныеГрафиковНаКаждыйДень
ИЗ
	РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
ГДЕ
	ГрафикиРаботыПоВидамВремени.Дата МЕЖДУ &НачДата И &КонДата
	И ГрафикиРаботыПоВидамВремени.ГрафикРаботы В
			(ВЫБРАТЬ РАЗЛИЧНЫЕ
				ВТ_ГрафикиНаКаждыйДень.ГрафикРаботы
			ИЗ
				ВТ_ГрафикиНаКаждыйДень КАК ВТ_ГрафикиНаКаждыйДень)
	И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = &ВидУчетаВремени
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_ГрафикиНаКаждыйДень.Сотрудник,
	ВТ_ГрафикиНаКаждыйДень.Организация,
	ВТ_ГрафикиНаКаждыйДень.ГрафикРаботы,
	ВТ_ГрафикиНаКаждыйДень.Дата КАК Дата,
	ВТ_ДанныеГрафиковНаКаждыйДень.Часы
ИЗ
	ВТ_ГрафикиНаКаждыйДень КАК ВТ_ГрафикиНаКаждыйДень
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДанныеГрафиковНаКаждыйДень КАК ВТ_ДанныеГрафиковНаКаждыйДень
		ПО ВТ_ГрафикиНаКаждыйДень.ГрафикРаботы = ВТ_ДанныеГрафиковНаКаждыйДень.ГрафикРаботы
			И ВТ_ГрафикиНаКаждыйДень.Дата = ВТ_ДанныеГрафиковНаКаждыйДень.Дата

УПОРЯДОЧИТЬ ПО
	Дата
Показать
ЛИК1111; DigitalMan; cybjavax; +3 Ответить
4. ilnar4888 13.01.20 12:46 Сейчас в теме
Спасибо! Мне ваш запрос помог.
5. Stref75 13.01.20 14:21 Сейчас в теме
решал аналогичную задачу. делал обработку для подсчета "индивидуальной нормы"
может чем поможет моя обработина
Прикрепленные файлы:
ТестРасчетаНормы.epf
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот