Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ЗУП ошибка при вводе больничного

ЗУП ошибка при вводе больничного
Я
   wms
 
18.06.21 - 11:03
Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.18.46)  Патчи все установлены.
Платформа 8.3.18.1483
При вводе больничного в июне за 24-28 мая по сотруднику1 ошибка:

Значение не является значением объектного типа (ТребуютсяЗаПраздничныеДниПриОкончательномРасчете)
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(6901)}:    СтрокаФильтра.УчитыватьТолькоПраздничныеДни = ТребованияНачисления.ТребуютсяЗаПраздничныеДниПриОкончательномРасчете;


Ввожу такой же больничный по сотруднику2 и нет ошибки.

Отладчиком нахожу, что по сотруднику 2 находятся БазовыеНачисленияНормируемыеПоВремени
    СтруктураПоиска = Новый Структура("НеобходимоНормировать, НормироватьКаскадно", Истина, Ложь);
    БазовыеНачисленияНормируемыеПоВремени = ДанныеБазовыхНачислений.Записи.НайтиСтроки(СтруктураПоиска);

а по сотруднику1 БазовыеНачисленияНормируемыеПоВремени пустые. т.к. у него НеобходимоНормировать = Ложь

хотя 2 вида расчета одинаковые "Оплата по окладу в часах" и "Доплата за работу в праздничные и вых. дни"


Где возможна проблема?
   wms
 
1 - 18.06.21 - 11:52
ошибка как я понял при пересчете начисленных за май начислений "Оплата по окладу в часах" и "Доплата за работу в праздничные и вых. дни"

Но, по сотруднику 2 тоже есть такие начисления в мае и нет ошибки
   Фрэнки
 
2 - 18.06.21 - 13:05
(1) графики работы может как-то криво зацепились из-за вот этих "нерабочих рабочих" ?
   BelikovS
 
3 - 30.06.21 - 11:30
Аналогичная ошибка. Я так понял проблема только в случае перерасчета начислений. Причем не всех. У меня это премия. А вот если был введен невыход - нормально. Я захватил в расширение метод обработки РасчетБазыНачисленийУдержаний.ТребованияНормируемыхПоВремениНачислений:
//При расчете больничного, который сторнирует записи начислений, может возникнуть ошибка в МенеджереРасчета: ТребованияНачисления.ТребуютсяЗаПраздничныеДниПриОкончательномРасчете
//Причина в том, что записи есть, а здесь по фильтру оказывается пусто. Что за фильтр, зачем и на что может повлиять - не знаю.
&ИзменениеИКонтроль("ТребованияНормируемыхПоВремениНачислений")
Функция Запл_ТребованияНормируемыхПоВремениНачислений()
    Если КэшТребованияНормируемыхПоВремениНачислений <> Неопределено Тогда
        Возврат КэшТребованияНормируемыхПоВремениНачислений;
    КонецЕсли;    

    СтруктураПоиска = Новый Структура("НеобходимоНормировать, НормироватьКаскадно", Истина, Ложь);
    #Вставка 

    СтруктураПоиска.Удалить("НеобходимоНормировать");
    #КонецВставки

    БазовыеНачисленияНормируемыеПоВремени = ДанныеБазовыхНачислений.Записи.НайтиСтроки(СтруктураПоиска);

    ВидыРасчетаОтбор = ОбщегоНазначения.ВыгрузитьКолонку(БазовыеНачисленияНормируемыеПоВремени, "ВидРасчета");

    Если ДанныеВедущихЗаписейКаскадногоНормирования <> Неопределено Тогда
        ВидыРасчетаВедущихЗаписей = ОбщегоНазначения.ВыгрузитьКолонку(
        ДанныеВедущихЗаписейКаскадногоНормирования.Записи, 
        "ВидРасчета");

        ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ВидыРасчетаОтбор, ВидыРасчетаВедущихЗаписей, Истина);
    КонецЕсли;    

    КэшТребованияНормируемыхПоВремениНачислений = ПланыВидовРасчета.Начисления.ТребованияНачисленийТаблица(ВидыРасчетаОтбор);

    Возврат КэшТребованияНормируемыхПоВремениНачислений;
КонецФункции

Это помогло. Не знаю на сколько правильно, но пока так.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.