Количество отработанных календарных дней и конвертация ЗУП

ScreenHunter_21 Jan. 23 20.58Есть проблемы с ведением учета в новой версии? Смотрите бесплатный видеокурс профессионала!

Казалось бы, переход на новую версию конфигурации с 2.5 на 3 осуществляется уже не первый год. Но до сих пор встречаются разные ситуации, не предусмотренные типовым переносом.

Среди опубликованных ошибок платформы, есть интересная запись:

В режиме совместимости «Версия 8.3.7» и выше, если в регистре расчета с поддержкой периода действия разными регистраторами зарегистрированы три и более последовательно вытесняющие друг друга записи, период действия которых совпадает с периодичностью регистра, например, для регистра с месячной периодичностью все записи имеют период от начала до конца месяца, то при удалении набора записей любого из регистраторов, зарегистрировавших такие записи, будет неверно вычислен фактический период действия оставшихся записей.

Способ обхода:

Перепровести любой документ, фактический период записей которого рассчитан неверно
Казалось бы при чем тут перенос?
Однако в ситуации, когда нет уже возможности перепроводить документы старых периодов, это вполне может повлиять на перенос данных. Так как таблица регистра расчета «Фактический период действия» используется в правилах переноса неоднократно.
Например возникла проблема при переносе количества отработанных календарных дней, используемых при расчете среднего заработка: по некоторым сотрудникам, количество календарных дней внутри одного месяца стало однозначно завышено.
Вся проблема содержится в алгоритме СведенияОВремениДляРасчетаСреднегоОбщий_Выгрузить , типовых правил конвертации.
Конкретно — вот такая часть запроса:
"ВЫБРАТЬ
| ОсновныеНачисленияРаботников.Организация,
| ОсновныеНачисленияРаботников.Сотрудник КАК Сотрудник,
| ОсновныеНачисленияРаботников.ПериодРегистрации КАК ПериодРегистрации,
| ОсновныеНачисленияРаботников.ПериодДействия КАК ПериодДействия,
| ОсновныеНачисленияРаботников.Сторно КАК Сторно,
| ОсновныеНачисленияРаботников.ВидРасчета КАК ВидРасчета,
| ОсновныеНачисленияРаботников.ПериодДействияНачало КАК ПериодДействияНачало,
| ОсновныеНачисленияРаботников.ПериодДействияКонец КАК ПериодДействияКонец
|ПОМЕСТИТЬ ВТДанныеФПД
|ИЗ
| РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
| ПериодДействия = &ТекущийМесяц
| И ПериодРегистрации < &ДатаНачалаРаботыСПрограммой
| И Сотрудник В
| (ВЫБРАТЬ
| ВТСотрудники.Сотрудник
| ИЗ
| ВТСотрудники)) КАК ОсновныеНачисленияРаботников
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник,
| ВидРасчета
|;
Записи замножаются в зависимости от количества вытеснений.
К сожалению, обойтись без этой части все равно не получится. Поэтому как вариант исправления, можно подкорректировать временную таблицу ВТДанныеКалендарныеДни запроса этого же алгоритма, в которой непосредственно выполняется подсчет количества на:
|ВЫБРАТЬ
|ВложенныйЗапрос.ПериодДействия КАК ПериодДействия,
|ВложенныйЗапрос.Сотрудник КАК Сотрудник,
|ВложенныйЗапрос.Организация,
|ВЫБОР
|КОГДА СУММА(ВложенныйЗапрос.ОтработаноДнейКалендарныхРаздельно) > 31
|ТОГДА МАКСИМУМ(ВложенныйЗапрос.ОтработаноДнейКалендарныхРаздельно)
|ИНАЧЕ СУММА(ВложенныйЗапрос.ОтработаноДнейКалендарныхРаздельно)
|КОНЕЦ КАК ОтработаноДнейКалендарных,
|СУММА(ВложенныйЗапрос.ОтработаноДнейКалендарныхРаздельно) КАК ОтработаноДнейКалендарныхРаздельно
|ПОМЕСТИТЬ ВТДанныеКалендарныеДни
|ИЗ
|(ВЫБРАТЬ
|ОсновныеНачисления.ПериодДействия КАК ПериодДействия,
|ОсновныеНачисления.Сотрудник КАК Сотрудник,
|РАЗНОСТЬДАТ(ОсновныеНачисления.ПериодДействияНачало, ДОБАВИТЬКДАТЕ(ОсновныеНачисления.ПериодДействияКонец, СЕКУНДА, 1), ДЕНЬ) * ВЫБОР
|КОГДА ОсновныеНачисления.Сторно
|ТОГДА -1
|ИНАЧЕ 1
|КОНЕЦ КАК ОтработаноДнейКалендарныхРаздельно,
|ОсновныеНачисления.Организация КАК Организация
|ИЗ
|ВТОсновныеНачисленияФПД КАК ОсновныеНачисления) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
|ВложенныйЗапрос.Организация,
|ВложенныйЗапрос.Сотрудник,
|ВложенныйЗапрос.ПериодДействия
|
|ИНДЕКСИРОВАТЬ ПО
|ПериодДействия,
|Сотрудник
|;
Это позволит отсечь такие наложения дней, приведя к нормальному, расчетному количеству.
Успешной Вам конвертации !  🙂

Добавить комментарий