Каталог решений - Несколько ошибок ЗУП 3.1.2.121

Несколько ошибок ЗУП 3.1.2.121

Несколько ошибок ЗУП 3.1.2.121

В наличии

Лечение ошибок типовой базы

Категория:

Описание

При создании документа Увольнение появляется сообщение «значение не является значением объектного типа (ИспользованиеПериода).

В случае, если документ создается не из журнала документов, форма документа при этом не открывается.

Ошибка возникет по сотрудникам, у которых есть дополнительный ежегодный отпуск (северный).

В этом случае начисление при создании документа не определено и выбирается после заполнения документа.

В алгоритме 1С этот момент был упущен, что приводило к ошибке.

Лечение:

Общий модуль.РасчетЗарплатыРасширенный, с 253 строки вставить условие:

//ошибка при попадании северного доп отпуска начисление не определено
        если ЗначениеЗаполнено(Строка.Начисление) тогда
            //ошибка    
            Если РеквизитыНачислений[Строка.Начисление].ИспользованиеПериода <> Перечисления.ВариантыИспользованияПериодаНачисления.ПериодДействия Тогда
                Если НоваяСтрока.ПериодДействияНачало < НачалоМесяца Или НоваяСтрока.ПериодДействияНачало > КонецМесяца Тогда
                    НоваяСтрока.ПериодДействияНачало = НачалоМесяца;
                КонецЕсли;
                Если НоваяСтрока.ПериодДействияКонец < НачалоМесяца Или НоваяСтрока.ПериодДействияКонец > КонецМесяца Тогда
                    НоваяСтрока.ПериодДействияКонец = КонецМесяца;
                КонецЕсли;
            КонецЕсли;
            //ошибка при попадании северного доп отпуска начисление не определено
        КонецЕсли;
        //ошибка

и ниже на 12 строк:

// - если не переопределяется
        Если Не БазовыйПериодПереопределен Тогда
            //ошибка при попадании северного доп отпуска начисление не определено
            если ЗначениеЗаполнено(Строка.Начисление) тогда
                //ошибка    
                
                РеквизитыНачисления = РеквизитыНачислений[Строка.Начисление];
                Если РеквизитыНачисления.ИспользованиеПериода = Перечисления.ВариантыИспользованияПериодаНачисления.БазовыйПериод Тогда
                    БазовыйПериод = РасчетЗарплатыРасширенныйКлиентСервер.БазовыйПериодНачисления(
                    Месяц, РеквизитыНачисления.ПериодРасчетаБазовыхНачислений, РеквизитыНачисления.КоличествоМесяцевБазовогоПериода, РеквизитыНачисления.СдвигБазовогоПериода);
                    НоваяСтрока.БазовыйПериодНачало = БазовыйПериод.ДатаНачала;
                    НоваяСтрока.БазовыйПериодКонец = БазовыйПериод.ДатаОкончания;
                КонецЕсли;
                //ошибка при попадании северного доп отпуска начисление не определено
            КонецЕсли;
            //ошибка
            
        КонецЕсли;

has been added to your cart:
Оформление заказа