При создании документа Увольнение появляется сообщение «значение не является значением объектного типа (ИспользованиеПериода).
В случае, если документ создается не из журнала документов, форма документа при этом не открывается.
Ошибка возникет по сотрудникам, у которых есть дополнительный ежегодный отпуск (северный).
В этом случае начисление при создании документа не определено и выбирается после заполнения документа.
В алгоритме 1С этот момент был упущен, что приводило к ошибке.
Лечение:
Общий модуль.РасчетЗарплатыРасширенный, с 253 строки вставить условие:
//ошибка при попадании северного доп отпуска начисление не определено
если ЗначениеЗаполнено(Строка.Начисление) тогда
//ошибка
Если РеквизитыНачислений[Строка.Начисление].ИспользованиеПериода <> Перечисления.ВариантыИспользованияПериодаНачисления.ПериодДействия Тогда
Если НоваяСтрока.ПериодДействияНачало < НачалоМесяца Или НоваяСтрока.ПериодДействияНачало > КонецМесяца Тогда
НоваяСтрока.ПериодДействияНачало = НачалоМесяца;
КонецЕсли;
Если НоваяСтрока.ПериодДействияКонец < НачалоМесяца Или НоваяСтрока.ПериодДействияКонец > КонецМесяца Тогда
НоваяСтрока.ПериодДействияКонец = КонецМесяца;
КонецЕсли;
КонецЕсли;
//ошибка при попадании северного доп отпуска начисление не определено
КонецЕсли;
//ошибка
и ниже на 12 строк:
// - если не переопределяется
Если Не БазовыйПериодПереопределен Тогда
//ошибка при попадании северного доп отпуска начисление не определено
если ЗначениеЗаполнено(Строка.Начисление) тогда
//ошибка
РеквизитыНачисления = РеквизитыНачислений[Строка.Начисление];
Если РеквизитыНачисления.ИспользованиеПериода = Перечисления.ВариантыИспользованияПериодаНачисления.БазовыйПериод Тогда
БазовыйПериод = РасчетЗарплатыРасширенныйКлиентСервер.БазовыйПериодНачисления(
Месяц, РеквизитыНачисления.ПериодРасчетаБазовыхНачислений, РеквизитыНачисления.КоличествоМесяцевБазовогоПериода, РеквизитыНачисления.СдвигБазовогоПериода);
НоваяСтрока.БазовыйПериодНачало = БазовыйПериод.ДатаНачала;
НоваяСтрока.БазовыйПериодКонец = БазовыйПериод.ДатаОкончания;
КонецЕсли;
//ошибка при попадании северного доп отпуска начисление не определено
КонецЕсли;
//ошибка
КонецЕсли;
ещё одна ошибка:
в форме списка Сотрудники выводятся некорректные данные по окладу, ФОТ, авансу.
Лечение:
Общий модуль СотрудникиФормыРасширенный
Функция ТекстыЗапросовФормыВыбораСотрудников()
строка 3644, заменяем в запросе:
(1) дополнение: на 2 строки ниже нужно заменить такое же условие по авансам.
(0) поправка:
Общий модуль.РасчетЗарплатыРасширенный, строка 225 (перед началом цикла)
вставить
Общий модуль.РасчетЗарплатыРасширенный, с 253 строки вставить условие:
Показать
Перед концом цикла вставить
ВедомостьНаВыплатуЗарплатыВбанк имеет интересную логику работы с полем НомерРеестра.
Новый номер реестра присваивается всем документам, а в регистр записываются только проведённые.
Причём уникальность номеров при этом не проверяется.
Минимальная заплатка, чтобы было меньше ошибок:
Форма документа
Показать
На hotline написал?
или пираткой пользуешься?
(6) странное противопоставление.
есть люди, которые живут с лицензией, но в хлине письма не пишут.
(да и смысл невелик, когда уже 154 выложен, и завтра будет ещё более свежий…)
(7) странно что ты выложил в виде публикации, сам же написал комментарии, а разработчикам ничего не написал.
Исходя из чего 1с по твоему исправляет ошибки?
посмотри на bugboard.