Имя: Пароль:
1C
1С v8
Ошибка в больничном по несчастному случаю
0 bvn-2005
 
23.08.23
10:02
ЗУП ред 3, релиз последний.
При создании больничного по несчастному случаю выдает ошибку:

Преобразование значения к типу Число не может быть выполнено
{ОбщийМодуль.УчетПособийСоциальногоСтрахованияКлиентСервер.Модуль(596)}:Итог = Итог + ПараметрыРасчета.ПредельныеВеличиныПоГодам.Получить(Год);
{ОбщийМодуль.УчетПособийСоциальногоСтрахованияКлиентСервер.Модуль(201)}:МаксимальныйСреднедневнойЗаработок = МаксимальныйСреднедневнойЗаработокДляОплатыПособияБезУчетаИсключаемыхПериодов(ПараметрыРасчета);
{ОбщийМодуль.УчетПособийСоциальногоСтрахованияКлиентСервер.Модуль(134)}:СреднийЗаработокФСС = СреднийЗаработокФСС2011(ПараметрыРасчета);
{ОбщийМодуль.УчетПособийСоциальногоСтрахования.Модуль(3873)}:Возврат УчетПособийСоциальногоСтрахованияКлиентСервер.СреднийЗаработокФСС(ПараметрыРасчета);
{Документ.БольничныйЛист.Форма.ФормаДокумента.Форма(6661)}:Объект.СреднийДневнойЗаработок = УчетПособийСоциальногоСтрахования.СреднийДневнойЗаработокФСС(ПараметрыРасчета);
{Документ.БольничныйЛист.Форма.ФормаДокумента.Форма(6646)}:РассчитатьСреднийЗаработок();
{Документ.БольничныйЛист.Форма.ФормаДокумента.Форма(4660)}:ОбновитьДанныеДляРасчетаСреднего();
{Документ.БольничныйЛист.Форма.ФормаДокумента.Форма(4473)}:ОбновитьФормуПослеЗагрузкиЭЛН(Истина, Истина, Истина);
{Документ.БольничныйЛист.Форма.ФормаДокумента.Форма(4463)}:ЗаполнитьПорядокВыплатыИРассчитатьНаСервере();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]


Может, кто сталкивался?
1 SleepyHead
 
гуру
23.08.23
10:04
(0) За какие годы у вас заработок используется? Проверьте предельные величины заработка за эти годы.

ПараметрыРасчета.ПредельныеВеличиныПоГодам.Получить(Год) - вот тут, скорее всего, Неопределено
Отладчик в помощь
2 bvn-2005
 
24.08.23
10:13
С этой ошибкой вроде бы разобрался: проблема с расчетом среднего заработка.
Но вылезла аналогичная при печати любой печатной формы из этого больничного:

Преобразование значения к типу Число не может быть выполнено
{ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(1088)}:ВызватьИсключение РезультатФоновойОперации.КраткоеПредставлениеОшибки;
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(621)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(326)}:ОповеститьОЗавершенииДлительнойОперации(Контекст.ОповещениеОЗавершении,
{ОбщаяФорма.ДлительнаяОперация.Форма(221)}:Закрыть();
{ОбщаяФорма.ДлительнаяОперация.Форма(162)}:ЗавершитьДлительнуюОперациюИЗакрытьФорму(ДлительнаяОперация);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(621)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(613)}:ОповеститьОЗавершенииДлительнойОперации(ДлительнаяОперация.ОповещениеОЗавершении,
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(551)}:ЗавершитьДлительнуюОперацию(ДлительнаяОперация, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(408)}:Если ОбработатьРезультатАктивнойОперации(Операция, Результат) Тогда
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(300)}:ОбработатьРезультатОперации(АктивныеДлительныеОперации, Операция, Результат);
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(352)}:ДлительныеОперацииКлиент.ПослеПериодическогоПолученияДанныхКлиентаНаСервере(
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(200)}:ПроверитьПолучитьСерверныеОповещенияСПоказателями(СостояниеПолучения, Показатели);
{ОбщийМодуль.СерверныеОповещенияГлобальный.Модуль(19)}:СерверныеОповещенияКлиент.ПроверитьПолучитьСерверныеОповещения();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]

Не пойму, что тут преобразуется к типу Число?
3 SleepyHead
 
гуру
24.08.23
10:34
(2) Попробуй поставить в отладчике остановку по ошибке.
4 Гена
 
гуру
24.08.23
10:34
(2) Сначала напишите, что было и как поправили.
5 bvn-2005
 
24.08.23
10:52
"Попробуй поставить в отладчике остановку по ошибке."
Пробовал. Останавливается на строчке ВызватьИсключение (1088)...

Процедура ВыполнитьКомандуПечатиПослеФормированияПечатныхФорм(РезультатФоновойОперации, ПараметрыОткрытия) Экспорт
    Если РезультатФоновойОперации <> Неопределено Тогда
        Если РезультатФоновойОперации.Статус = "Ошибка" Тогда
********        ВызватьИсключение РезультатФоновойОперации.КраткоеПредставлениеОшибки;
        КонецЕсли;
6 bvn-2005
 
24.08.23
11:00
"(2) Сначала напишите, что было и как поправили."

Функция СреднийДневнойЗаработокФСС(ПараметрыРасчета) Экспорт

    //Если ПараметрыРасчета.ПрименятьПредельнуюВеличину Тогда //БВН
        
        ГодыПредельныхВеличин = УчетПособийСоциальногоСтрахованияКлиентСервер.ГодыПредельныхВеличин(ПараметрыРасчета);
        ПараметрыРасчета.ПредельныеВеличиныПоГодам = ПредельнаяВеличинаБазыСтраховыхВзносов(ГодыПредельныхВеличин);
        
    //КонецЕсли;
    
    Возврат УчетПособийСоциальногоСтрахованияКлиентСервер.СреднийЗаработокФСС(ПараметрыРасчета);
    
КонецФункции

Закомментировал Если.
7 SleepyHead
 
гуру
24.08.23
11:03
(5) @Пробовал. Останавливается на строчке ВызватьИсключение (1088)...@

нужно подключить фоновые задания в отладчике
8 Гена
 
гуру
24.08.23
11:06
(6) А зачем убрали???
Как раз для БЛ по ФСС_НС и нет пределов по годам. Полный заработок идёт в расчёт. Только потом режется по учетверённому максимальному пособию, совсем другого закона по ежегодным Постановлениям Правительства, как правило, каждый год с февраля.
9 Гена
 
гуру
24.08.23
11:08
Похоже, бесполезно искать ошибки. Если автор так лихо кодит, то там в программе уже полный швах.
Пусть  SleepyHead разбирается дальше )
10 SleepyHead
 
гуру
24.08.23
11:10
(9) Ну ни.. себе ))
11 Гена
 
гуру
24.08.23
11:11
(10) А что делать... Помните поговорку про груздь и кузов? )
12 bvn-2005
 
24.08.23
11:11
"Как раз для БЛ по ФСС_НС и нет пределов по годам."
Дык, это понятно.
ПрименятьПредельнуюВеличину=Ложь

Поэтому ПрименятьПредельнуюВеличину - не расчитывается. Но потом используется в
Итог = Итог + ПараметрыРасчета.ПредельныеВеличиныПоГодам.Получить(Год); (исходная ошибка).

Поэтому и убрал.
13 bvn-2005
 
24.08.23
11:12
Поэтому ПредельныеВеличиныПоГодам - не расчитывается.
14 bvn-2005
 
24.08.23
11:13
"Если автор так лихо кодит, то там в программе уже полный швах"
Кто ж спорит: 1С лихо кодит...
15 Гена
 
гуру
24.08.23
11:14
(12) Производственные травмы не сегодня появились. Как же раньше по всей России 1С с ними работала? И только у Вас почему-то гавкнула.
16 bvn-2005
 
24.08.23
11:20
"Как же раньше по всей России 1С с ними работала?"
Хотите пошоворить об этом?
17 bvn-2005
 
24.08.23
11:21
"нужно подключить фоновые задания в отладчике"
Да, про это забыл.

Аналогичная фигня в функции
Функция МаксимальныйСреднедневнойЗаработокДляОплатыПособияПоМатеринству(ПараметрыРасчета) Экспорт
18 listikss
 
24.08.23
12:26
https://bugboard.v8.1c.ru/error/000144417 зарегали ошибку. ждём патч
19 Гена
 
гуру
24.08.23
12:57
(18) Упс! Зря я наехал на ТС. Виноват. Прошу извинения.
Что же там накодили лучшие программисты всех времён и народов? )
20 SleepyHead
 
гуру
24.08.23
16:17
(11) Только про радоздь.
21 Гена
 
гуру
24.08.23
17:01
SleepyHead, перестань!
Ты повернул глаза зрачками в душу,
А там повсюду пятна черноты,
И их ничем не смыть!
22 bvn-2005
 
25.08.23
10:44
Задолбался искать, откуда тянется проблемное значение.
Просто воткнул проверку непосредственно в место возникновения ошибки...

Функция МаксимальныйСреднедневнойЗаработокДляОплатыПособияПоМатеринству(ПараметрыРасчета) Экспорт
*****

    Для каждого РасчетныйГод Из ГодыПредельныхВеличин Цикл
        ПредельнаяВеличина = ПараметрыРасчета.ПредельныеВеличиныПоГодам.Получить(РасчетныйГод);
        
        Если ЗначениеЗаполнено(ПредельнаяВеличина) Тогда  
        СуммаОграничений = СуммаОграничений + ПредельнаяВеличина;
        КонецЕсли;
        
    КонецЦикла;
23 SleepyHead
 
гуру
25.08.23
10:47
(21) Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам
24 Гена
 
гуру
25.08.23
10:58
(22) А как связано материнство и травма на производстве?
25 SleepyHead
 
гуру
25.08.23
10:59
(24) Родила головой вниз, не отходя от станка.
26 Гена
 
гуру
25.08.23
11:00
Просто надо разобраться почему ПредельнаяВеличина равна Неопределено
27 SleepyHead
 
гуру
25.08.23
11:01
(26) Так ведь в 18 уже написали.
28 SleepyHead
 
гуру
25.08.23
11:02
(22) У вас эта ситуация или другая?

"Ошибка 70058190

Код ошибки: 70058190
Код(ы) обращения: HL-715405
Статус: Не указан Зарегистрирована: 22.08.2023
Продукт: "1С:ЗУП 3, 1С:ЗГУ 3"

Описание:
Если при расчете больничного используются данные о заработке не за последние 2 года, а за предыдущие годы, то при печати "Расчёт пособия" и "Расчёт среднего заработка" возникает ошибка:



Преобразование значения к типу Число не может быть выполнено
"
29 bvn-2005
 
25.08.23
11:04
" (22) У вас эта ситуация или другая? "

Похожая. Ошибка та, но данные о заработке за 2 года.
30 Гена
 
гуру
25.08.23
11:05
(28) Из этой же серии. Всё упирается в ПредельнаяВеличина равна Неопределено
Надо бы где-то прописать, что ПредельнаяВеличина = (ПредельнаяВеличина = Неопределено, 0, ПредельнаяВеличина)
31 SleepyHead
 
гуру
25.08.23
11:21
(30) Он так и сделал )