Проблема с загрузкой ЭЛН из ФСС

1. pjv 02.11.18 10:49 Сейчас в теме
Здравствуйте. Не работает загрузка электронных больничных листов из ФСС. При запросе данных выкидывает из программы. До 30.10.2018 все работало без проблем.Никаких обновлений в 1С не делали.
Подскажите, кто еще столкнулся с такой проблемой?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. sy4a 02.11.18 11:27 Сейчас в теме
(1) сегодня столкнулись с той же проблемой, тоже ничего не делали. Вероятно что проблема не на нашей стороне, раз случай не единичный, у нас версия стоит 1.3.112.4
2. Adilgeriy 25 02.11.18 11:26 Сейчас в теме
почисти кэш для начала. или удали базу из списка и добавь её обратно
4. sy4a 02.11.18 11:28 Сейчас в теме
(2)чистка кэша не помогла, удалять и добавлять базу пока не пробовали.
5. pjv 02.11.18 12:38 Сейчас в теме
(4)Мы тоже ничего не делали, все заработало, видимо была проблема на стороне ФСС
6. Bene_Valete 188 06.11.18 03:40 Сейчас в теме
Также в пятницу столкнулись с неполадками, только при загрузке ЭЛН выходила ошибка "Индекс находится за границами массива". Никто не сталкивался с такой проблемой - постоянно слетает сертификат ФСС, приходится практически через раз заходить и перевыбирать его в настройках организации?
7. vova231274 82 25.12.18 10:34 Сейчас в теме
(6) Не решили проблему? У нас так же нужно перевыбирать сертификаты у разных пользователей. Думаю это как то должно настраиваться, что бы у нескольких пользователей можно было загружать больничные листы с ФСС.
Сейчас у нас вышла другая ошибка: Не удалось зашифровать файл.
И ничего не грузиться. С чем это может быть связано?
8. Bene_Valete 188 25.12.18 10:42 Сейчас в теме
(7) Ошибки периодически возникают, но в условиях отстуствия обновления конфигурации, т.е. можно сделать вывод что это следствие экспериментов с их стороны. Т.к. ничем не примечательный больничный сегодня грузится, завтра нет, через пару часов опять все работает, причем ошибки всегда разные. Попробуйте повторить немного позже. С перевыбиранием пока что все осталось также..
9. OksDallas 22 25.03.21 02:06 Сейчас в теме
Зарплата и управление персоналом КОРП, редакция 2.5 (2.5.159.4)
Платформа 1С:Предприятие 8.3 (8.3.18.1208)

Примерно с 18.03.21 г. при загрузке ЭЛН по уходу за ребенком стала возникать ошибка:
{ОбщийМодуль.ОбменСведениямиОПособияхСФСС.Модуль(5447)}: Поле объекта не обнаружено (reason1)

Если скачать xml напрямую, то этот самый reason1 (Причина нетрудоспособности) в файле присутствует со значением 09 - все как положено, но при загрузке почему-то не определяется. И это касается только ЭЛН по уходу за ребенком, остальные закачиваются нормально.

Временно вышли из положения с помощью обработки (http://infostart.ru/public/819575/) - спасибо автору. Но интересно было бы вернуться к штатной загрузке больничного из ФСС.
У кого-нибудь такая ошибка проявляется? Как можно с ней побороться?
10. serg76 313 30.03.21 14:13 Сейчас в теме
Бороться очень просто:
Идёте в конфигураторе в указанную в ошибке строку 5447 общего модуля ОбменСведениямиОПособияхСФСС и чуть-чуть дописываете условие:

Было в типовой так:

Если ДанныеЛН["reason1"] = "03" Тогда
			СтатусыДоступныхЛН.Добавить("010");
			СтатусыДоступныхЛН.Добавить("020");
			СтатусыДоступныхЛН.Добавить("060");
			СтатусыДоступныхЛН.Добавить("070");
			СтатусыДоступныхЛН.Добавить("080");
КонецЕсли;


добавляете условие:

Если ДанныеЛН.Свойства().Получить("reason1") <> Неопределено  Тогда  // добавили проверку на присутствие "reason1" в блоке 
 // WSResult.Data.OutRowset.responseRow
		Если ДанныеЛН["reason1"] = "03" Тогда
			СтатусыДоступныхЛН.Добавить("010");
			СтатусыДоступныхЛН.Добавить("020");
			СтатусыДоступныхЛН.Добавить("060");
			СтатусыДоступныхЛН.Добавить("070");
			СтатусыДоступныхЛН.Добавить("080");
		КонецЕсли;
	КонецЕсли;   // конец проверки
Показать
OksDallas; +1 Ответить
11. OksDallas 22 31.03.21 02:00 Сейчас в теме
(10) Спасибо, это конечно правильно - такое решение я уже рассмотрела. Но вопрос все равно открыт: почему все-таки этот реквизит не загружается?
12. serg76 313 31.03.21 08:52 Сейчас в теме
Если Вы посмотрите на xml-файл ЭЛН, то увидите, что параметр "reason1" для обычных больничных листов (не по уходу) находится в блоке Data - OutRowset - responseRow, а вот для больничных по уходу в блоке Data - OutRowset - responseRow - servData - servFullData.
Процедура ПроверкаРезультатаОбменаЭЛН() в которой возникает эта ошибка работает только с блоком Data - OutRowset - responseRow и если б/л не по уходу, то всё корректно загружается, т. к. параметр "reason1" в этом случае действительно в этом блоке присутствует. Но если это б/л по уходу, то этого параметра в блоке нет (он находится в другом блоке), система его не находит и просто вываливается в ошибку.
Причина этого: программисты 1С забыли добавить проверку на сам факт наличия параметра "reason1" прежде чем обрабатывать условие
Если ДанныеЛН["reason1"] = "03" Тогда
..........................
КонецЕсли;
В ответе (10) мы их ошибку исправляем)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот