Получение нормы месяца в часах по графику работы сотрудника
День добрый.
Задача состоит в том, чтобы узнать норму месяца по графику работы сотрудника в часах, если сотрудник мог в середине месяца поменять свой график.
1. В ЗУП 3 есть регистр сведений "ГрафикРаботыСотрудниковИнтервальный", там по периодам с даты начала по дата окончания есть информация в каком графике сотрудник работал. Как получить из данного регистра значения графика работы за каждый день периода нужного мне месяца?
2. Если я значения получу, то нужно потом из регистра ГрафикиРаботыПоВидамВремени получить за каждый день нужного мне периода часы из графика пункта 1.
Что-нибудь делал похожий запрос? Ну или может функция какая есть? Я сообразить не могу, как его написать.
Программа: ЗУП 3 КОРП. Структура регистров на скриншоте.
Задача состоит в том, чтобы узнать норму месяца по графику работы сотрудника в часах, если сотрудник мог в середине месяца поменять свой график.
1. В ЗУП 3 есть регистр сведений "ГрафикРаботыСотрудниковИнтервальный", там по периодам с даты начала по дата окончания есть информация в каком графике сотрудник работал. Как получить из данного регистра значения графика работы за каждый день периода нужного мне месяца?
2. Если я значения получу, то нужно потом из регистра ГрафикиРаботыПоВидамВремени получить за каждый день нужного мне периода часы из графика пункта 1.
Что-нибудь делал похожий запрос? Ну или может функция какая есть? Я сообразить не могу, как его написать.
Программа: ЗУП 3 КОРП. Структура регистров на скриншоте.
Прикрепленные файлы:
По теме из базы знаний
- Концепция автоматизации многопрофильного Холдинга в системе АУБ на платформе 1С
- Как сдать экзамен 1С:Специалист по платформе?
- Аналитический отчет по сверхурочным часам при суммированном учете рабочего времени для ЗУП 3.1
- Я - ЗУПер! Часть 1. Компетенции сотрудников.
- Табель учета рабочего времени в программе 1С:ЗУП 3.1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ДанныеПроизводственногоКалендаря.Дата
ПОМЕСТИТЬ ВТ_Даты
ИЗ
РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ГДЕ
ДанныеПроизводственногоКалендаря.Дата >= &НачДата
И ДанныеПроизводственногоКалендаря.Дата <= &КонДата
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВТ_Даты.Дата КАК Дата,
МАКСИМУМ(ГрафикРаботыСотрудников.Период) КАК МаксПериод,
ГрафикРаботыСотрудников.Сотрудник,
ГрафикРаботыСотрудников.ГоловнаяОрганизация КАК Организация
ПОМЕСТИТЬ ВТ_МаксПериод
ИЗ
ВТ_Даты КАК ВТ_Даты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботыСотрудников КАК ГрафикРаботыСотрудников
ПО ВТ_Даты.Дата >= ГрафикРаботыСотрудников.Период
И (ГрафикРаботыСотрудников.Сотрудник В (&МассивСотрудников))
СГРУППИРОВАТЬ ПО
ВТ_Даты.Дата,
ГрафикРаботыСотрудников.Сотрудник,
ГрафикРаботыСотрудников.ГоловнаяОрганизация
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВТ_МаксПериод.Сотрудник,
ГрафикРаботыСотрудников.ГоловнаяОрганизация КАК Организация,
ГрафикРаботыСотрудников.ГрафикРаботы,
ВТ_МаксПериод.Дата КАК Дата
ПОМЕСТИТЬ ВТ_ГрафикиНаКаждыйДень
ИЗ
ВТ_МаксПериод КАК ВТ_МаксПериод
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботыСотрудников КАК ГрафикРаботыСотрудников
ПО ВТ_МаксПериод.Сотрудник = ГрафикРаботыСотрудников.Сотрудник
И ВТ_МаксПериод.МаксПериод = ГрафикРаботыСотрудников.Период
И ВТ_МаксПериод.Организация = ГрафикРаботыСотрудников.ГоловнаяОрганизация
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ГрафикиРаботыПоВидамВремени.ГрафикРаботы,
ГрафикиРаботыПоВидамВремени.Дата,
ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение КАК Часы
ПОМЕСТИТЬ ВТ_ДанныеГрафиковНаКаждыйДень
ИЗ
РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
ГДЕ
ГрафикиРаботыПоВидамВремени.Дата МЕЖДУ &НачДата И &КонДата
И ГрафикиРаботыПоВидамВремени.ГрафикРаботы В
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ВТ_ГрафикиНаКаждыйДень.ГрафикРаботы
ИЗ
ВТ_ГрафикиНаКаждыйДень КАК ВТ_ГрафикиНаКаждыйДень)
И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = &ВидУчетаВремени
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ГрафикиНаКаждыйДень.Сотрудник,
ВТ_ГрафикиНаКаждыйДень.Организация,
ВТ_ГрафикиНаКаждыйДень.ГрафикРаботы,
ВТ_ГрафикиНаКаждыйДень.Дата КАК Дата,
ВТ_ДанныеГрафиковНаКаждыйДень.Часы
ИЗ
ВТ_ГрафикиНаКаждыйДень КАК ВТ_ГрафикиНаКаждыйДень
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДанныеГрафиковНаКаждыйДень КАК ВТ_ДанныеГрафиковНаКаждыйДень
ПО ВТ_ГрафикиНаКаждыйДень.ГрафикРаботы = ВТ_ДанныеГрафиковНаКаждыйДень.ГрафикРаботы
И ВТ_ГрафикиНаКаждыйДень.Дата = ВТ_ДанныеГрафиковНаКаждыйДень.Дата
УПОРЯДОЧИТЬ ПО
Дата
Показать
решал аналогичную задачу. делал обработку для подсчета "индивидуальной нормы"
может чем поможет моя обработина
может чем поможет моя обработина
Прикрепленные файлы:
ТестРасчетаНормы.epf
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот