Ошибка была связана с неверно вычисляемым количеством норма-дней - у всех сотрудников подставлялись норма-дни по 5ти дневке..
Для исправления нужно изменить запрос в процедуре СформироватьИЗаписатьДанныеРасчетаСреднего, что лежит в глобальном модуле ПроведениеРасчетовПереопределяемый..
Вот исправленный вариант процедуры с обозначенными исправлениями (строка начинается с комментария - // УлГУ, pruidzeko, 25/03/2010 - подстановка часов в зависимости от графика сотрудника):
Процедура СформироватьИЗаписатьДанныеРасчетаСреднего(ИмяРегистра, Регистратор, НаборЗаписей, КомментироватьРасчет = Ложь) Экспорт;
................
Запрос.Текст =
"ВЫБРАТЬ
| ОтработанноеВремя.НомерСтроки КАК НомерСтроки,
| СУММА(ОтработанноеВремя.ОтработаноПоПятидневке) КАК ОтработаноПоПятидневке,
| НормаПоПроизвКалендарю.НормаПоПятидневкеПоПроизвКалендарю,
| СУММА(ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ОтработанноеВремя.БазовыйПериодНачало, МЕСЯЦ) <> ОтработанноеВремя.БазовыйПериодНачало
| ТОГДА 0
| ИНАЧЕ ОтработанноеВремя.ОтработаноДней
| КОНЕЦ) КАК ОтработаноДней,
| СУММА(ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ОтработанноеВремя.БазовыйПериодНачало, МЕСЯЦ) <> ОтработанноеВремя.БазовыйПериодНачало
| ТОГДА 0
| ИНАЧЕ ОтработанноеВремя.ОтработаноЧасов
| КОНЕЦ) КАК ОтработаноЧасов
|ИЗ
| (ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки КАК НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало КАК БазовыйПериодНачало,
| 0 КАК ОтработаноПоПятидневке,
| ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * РАЗНОСТЬДАТ(ОсновныеНачисленияРаботников.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ОсновныеНачисленияРаботников.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ) КАК ОтработаноДней,
| 0 КАК ОтработаноЧасов
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОсновныеНачисленияРаботников.Сотрудник КАК Сотрудник,
| ОсновныеНачисленияРаботников.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисленияРаботников.ПериодДействия КАК ПериодДействия,
| ОсновныеНачисленияРаботников.Сторно КАК Сторно,
| ОсновныеНачисленияРаботников.ПериодДействияНачало КАК ПериодДействияНачало,
| ОсновныеНачисленияРаботников.ПериодДействияКонец КАК ПериодДействияКонец
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
| ПериодДействия МЕЖДУ &парамДатаС И &парамДатаПо
| И Сотрудник В
| (ВЫБРАТЬ
| ЗаписиДанныхДляСреднего.Сотрудник
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиДанныхДляСреднего)
| И ВидРасчета В
| (ВЫБРАТЬ
| БазовыеРасчеты.ВидРасчета
| ИЗ
| ВТБазовыеРасчеты КАК БазовыеРасчеты)) КАК ОсновныеНачисленияРаботников
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВТПрогулыТабеля.Сотрудник,
| ВТПрогулыТабеля.ПериодРегистрации,
| ВТПрогулыТабеля.ПериодДействия,
| ЛОЖЬ,
| ВТПрогулыТабеля.ПериодДействияНачало,
| ВТПрогулыТабеля.ПериодДействияКонец
| ИЗ
| ВТПрогулыПоТабелюФПД КАК ВТПрогулыТабеля) КАК ОсновныеНачисленияРаботников
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОсновныеНачисленияРаботников.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОсновныеНачисленияРаботников.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОсновныеНачисленияРаботников.ПериодДействия)
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета В (ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособийС2010), ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуПособий))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеИндексируемыйЗаработок.НомерСтроки,
| ДанныеИндексируемыйЗаработок.БазовыйПериодНачало,
| ДанныеИндексируемыйЗаработок.ОтработаноПоПятидневке,
| ДанныеИндексируемыйЗаработок.ОтработаноДней,
| ДанныеИндексируемыйЗаработок.ОтработаноЧасов
| ИЗ
| (ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки КАК НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало КАК БазовыйПериодНачало,
| 0 КАК ОтработаноПоПятидневке,
| ВЫБОР
| КОГДА ОтработанноеВремя.ВидРасчета В (&Прогулы)
| ТОГДА ОтработанноеВремя.НормаДней
| ИНАЧЕ ОтработанноеВремя.ОтработаноДней
| КОНЕЦ КАК ОтработаноДней,
| ВЫБОР
| КОГДА ОтработанноеВремя.ВидРасчета В (&Прогулы)
| ТОГДА ОтработанноеВремя.НормаЧасов
| ИНАЧЕ ОтработанноеВремя.ОтработаноЧасов
| КОНЕЦ КАК ОтработаноЧасов
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОтработанноеВремя
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОтработанноеВремя.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОтработанноеВремя.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОтработанноеВремя.ПериодДействия)
| И (ОтработанноеВремя.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы)
| ИЛИ ОтработанноеВремя.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы)
| ИЛИ ОтработанноеВремя.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = ЗНАЧЕНИЕ(Справочник.КлассификаторИспользованияРабочегоВремени.Прогулы))
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые)
| И ЗаписиРасчетаСреднего.СпособРасчета В(&парамНеОтпуск)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| 0,
| ОтработанноеВремя.Дней,
| ОтработанноеВремя.Часов
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПрогулыПоТабелюФПД КАК ОтработанноеВремя
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОтработанноеВремя.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОтработанноеВремя.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОтработанноеВремя.ПериодДействия)
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые)
| И ЗаписиРасчетаСреднего.СпособРасчета В(&парамНеОтпуск)) КАК ДанныеИндексируемыйЗаработок
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| 0,
| ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сотрудник ЕСТЬ NULL
| ТОГДА 0
| КОГДА СУММА(ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * РАЗНОСТЬДАТ(ОсновныеНачисленияРаботников.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ОсновныеНачисленияРаботников.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ)) < РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ), ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодКонец, МЕСЯЦ), СЕКУНДА, 1), ДЕНЬ)
| ТОГДА ВЫРАЗИТЬ(29.4 / РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ), ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодКонец, МЕСЯЦ), СЕКУНДА, 1), ДЕНЬ) * СУММА(ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * РАЗНОСТЬДАТ(ОсновныеНачисленияРаботников.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ОсновныеНачисленияРаботников.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ)) КАК ЧИСЛО(7, 2))
| ИНАЧЕ 29.4
| КОНЕЦ,
| 0
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОсновныеНачисленияРаботников.Сотрудник КАК Сотрудник,
| ОсновныеНачисленияРаботников.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисленияРаботников.ПериодДействия КАК ПериодДействия,
| ОсновныеНачисленияРаботников.Сторно КАК Сторно,
| ОсновныеНачисленияРаботников.ПериодДействияНачало КАК ПериодДействияНачало,
| ОсновныеНачисленияРаботников.ПериодДействияКонец КАК ПериодДействияКонец
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
| ПериодДействия МЕЖДУ &парамДатаС И &парамДатаПо
| И Сотрудник В
| (ВЫБРАТЬ
| ЗаписиДанныхДляСреднего.Сотрудник
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиДанныхДляСреднего)
| И ВидРасчета В
| (ВЫБРАТЬ
| БазовыеРасчеты.ВидРасчета
| ИЗ
| ВТБазовыеРасчетыОтпуска КАК БазовыеРасчеты)) КАК ОсновныеНачисленияРаботников
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВТПрогулыТабеля.Сотрудник,
| ВТПрогулыТабеля.ПериодРегистрации,
| ВТПрогулыТабеля.ПериодДействия,
| ЛОЖЬ,
| ВТПрогулыТабеля.ПериодДействияНачало,
| ВТПрогулыТабеля.ПериодДействияКонец
| ИЗ
| ВТПрогулыПоТабелюФПД КАК ВТПрогулыТабеля) КАК ОсновныеНачисленияРаботников
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОсновныеНачисленияРаботников.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОсновныеНачисленияРаботников.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОсновныеНачисленияРаботников.ПериодДействия)
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые)
| И ЗаписиРасчетаСреднего.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоКалендарнымДням)
|
| СГРУППИРОВАТЬ ПО
| ОсновныеНачисленияРаботников.Сотрудник,
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| ЗаписиРасчетаСреднего.БазовыйПериодКонец
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| 0,
| ВЫБОР
| КОГДА ОсновныеНачисленияРаботников.Сторно
| ТОГДА -1
| ИНАЧЕ 1
| КОНЕЦ * ОсновныеНачисленияРаботников.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия,
| 0
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ОсновныеНачисленияРаботников.Сотрудник КАК Сотрудник,
| ОсновныеНачисленияРаботников.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисленияРаботников.ПериодДействия КАК ПериодДействия,
| ОсновныеНачисленияРаботников.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия КАК ПроизводственныйКалендарьШестидневкаФактическийПериодДействия,
| ОсновныеНачисленияРаботников.Сторно КАК Сторно
| ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(
| ПериодДействия МЕЖДУ &парамДатаС И &парамДатаПо
| И Сотрудник В
| (ВЫБРАТЬ
| ЗаписиДанныхДляСреднего.Сотрудник
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиДанныхДляСреднего)
| И ВидРасчета В
| (ВЫБРАТЬ
| БазовыеРасчеты.ВидРасчета
| ИЗ
| ВТБазовыеРасчетыОтпуска КАК БазовыеРасчеты)) КАК ОсновныеНачисленияРаботников
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВТПрогулыТабеля.Сотрудник,
| ВТПрогулыТабеля.ПериодРегистрации,
| ВТПрогулыТабеля.ПериодДействия,
| ВТПрогулыТабеля.ПроизводственныйКалендарьШестидневкаФактическийПериодДействия,
| ЛОЖЬ
| ИЗ
| ВТПрогулыПоТабелюДанныеГрафика КАК ВТПрогулыТабеля) КАК ОсновныеНачисленияРаботников
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОсновныеНачисленияРаботников.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОсновныеНачисленияРаботников.ПериодРегистрации
| И (НАЧАЛОПЕРИОДА(ЗаписиРасчетаСреднего.БазовыйПериодНачало, МЕСЯЦ) = ОсновныеНачисленияРаботников.ПериодДействия)
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.СреднийЗаработок.ПоЗаработкуИндексируемые)
| И ЗаписиРасчетаСреднего.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоШестидневке)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки,
| ЗаписиРасчетаСреднего.БазовыйПериодНачало,
| ВЫБОР
| КОГДА ЗаписиРасчетаСреднего.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
| ТОГДА ОтработанноеВремя.ОтработаноДнейПоПятидневке
| ИНАЧЕ ОтработанноеВремя.ОтработаноЧасовПоПятидневке
| КОНЕЦ,
| 0,
| 0
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОтработанноеВремя
| ПО ЗаписиРасчетаСреднего.Сотрудник = ОтработанноеВремя.Сотрудник
| И ЗаписиРасчетаСреднего.ПериодРегистрации >= ОтработанноеВремя.ПериодРегистрации
| И ЗаписиРасчетаСреднего.ДатаНачалаРасчетногоПериода | И ЗаписиРасчетаСреднего.ДатаОкончанияРасчетногоПериода >= ОтработанноеВремя.ПериодДействияНачало
| И (ОтработанноеВремя.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеВПределахНормы)
| ИЛИ ОтработанноеВремя.ВидРасчета.ВидВремени = ЗНАЧЕНИЕ(Перечисление.ВидыВремени.ОтработанноеСверхНормы))
| ГДЕ
| ЗаписиРасчетаСреднего.ВидРасчета В(&ФиксПремии)) КАК ОтработанноеВремя
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ЗаписиРасчетаСреднего.НомерСтроки КАК НомерСтроки,
| СУММА(ВЫБОР
| КОГДА ЗаписиРасчетаСреднего.ВидРасчета В (&ФиксПремии)
| ТОГДА ВЫБОР
| КОГДА ЗаписиРасчетаСреднего.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
| ТОГДА
//// УлГУ, pruidzeko, 25/03/2010 - подстановка часов в зависимости от графика сотрудника
//// прим.: вообще-то ГРАФИК сотрудника лучше брать из регистра РаботникиОрганизации
//// по состоянию на определ. дату - точнее - т.к. он может и меняться с течением времени..
| ВЫБОР КОГДА ЗаписиРасчетаСреднего.Сотрудник.ГрафикРаботы.ВидГрафика = ЗНАЧЕНИЕ (Перечисление.ВидыРабочихГрафиков.Шестидневка)
| ТОГДА НормаПоПроизвКалендарю.ДнейПоШестидневке
| ИНАЧЕ НормаПоПроизвКалендарю.ДнейПоПятидневке
| КОНЕЦ
//// УлГУ, pruidzeko, 25/03/2010 - конец..
| ИНАЧЕ НормаПоПроизвКалендарю.ЧасовПоПятидневке
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ) КАК НормаПоПятидневкеПоПроизвКалендарю
| ИЗ
| ВТЗаписиДанныхДляСреднего КАК ЗаписиРасчетаСреднего
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНормаПоПроизвКалендарю КАК НормаПоПроизвКалендарю
| ПО (НормаПоПроизвКалендарю.МесяцПериода МЕЖДУ ЗаписиРасчетаСреднего.ДатаНачалаРасчетногоПериода И ЗаписиРасчетаСреднего.ДатаОкончанияРасчетногоПериода)
|
| СГРУППИРОВАТЬ ПО
| ЗаписиРасчетаСреднего.НомерСтроки) КАК НормаПоПроизвКалендарю
| ПО ОтработанноеВремя.НомерСтроки = НормаПоПроизвКалендарю.НомерСтроки
|
|СГРУППИРОВАТЬ ПО
| ОтработанноеВремя.НомерСтроки,
| НормаПоПроизвКалендарю.НормаПоПятидневкеПоПроизвКалендарю
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
................