|
ЗУП ошибка фонового задания при переходе с 3.1.9 на 3.1.10 | ☑ | ||
---|---|---|---|---|
0
lg2marvel
12.12.19
✎
09:47
|
Добрый день. Сабж.
Такая вот ошибка. При выполнении фонового задания Процедура "Документы.ВозвратИзОтпускаПоУходуЗаРебенком.ЗаполнитьДвиженияЗанятостьПозицийШтатногоРасписания" обработки данных завершилась с ошибкой: Превышено допустимое количество запусков процедуры обновления. Выполнение прервано для предотвращения зацикливания механизма обработки данных. {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(6487)}: ВызватьИсключение ТекстОшибки; {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(6170)}: ПередЗапускомПроцедурыОбработкиДанных(КонтекстОбработчика, {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(2828)}: ОбработчикОбновления = НайтиОбработчикОбновления(КонтекстОбработчика, СведенияОбОбновлении); {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(2601)}: Поток = ДобавитьПотокОбработчикаОтложенногоОбновления(ОписаниеПотоков, СведенияОбОбновлении); Можно накатить следующее обновление - там тоже эта же ошибка, а если еще следующее то дальше ошибок нет. Но ведь это не правильно. Сталкивался кто-то? Как можно решить? |
|||
1
lg2marvel
12.12.19
✎
09:58
|
Вот так выглядит процедура в модуле менеджера документа
Процедура ЗаполнитьДвиженияЗанятостьПозицийШтатногоРасписания(ПараметрыОбновления = Неопределено) Экспорт Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1000 | ТаблицаДокумента.Ссылка КАК Регистратор |ПОМЕСТИТЬ ВТРегистраторыКОбновлению |ИЗ | Документ.ВозвратИзОтпускаПоУходуЗаРебенком КАК ТаблицаДокумента | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников | ПО ТаблицаДокумента.ОсновнойСотрудник = КадроваяИсторияСотрудников.Сотрудник | И (КОНЕЦПЕРИОДА(ТаблицаДокумента.ДатаВозврата, ДЕНЬ) >= КадроваяИсторияСотрудников.Период) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗанятостьПозицийШтатногоРасписания КАК ЗанятостьПозицийШтатногоРасписания | ПО ТаблицаДокумента.Ссылка = ЗанятостьПозицийШтатногоРасписания.Регистратор | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратИзОтпускаПоУходуЗаРебенком КАК ТаблицаДокументаИсправления | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗанятостьПозицийШтатногоРасписанияИспр КАК ЗанятостьПозицийШтатногоРасписанияИспр | ПО ТаблицаДокументаИсправления.Ссылка = ЗанятостьПозицийШтатногоРасписанияИспр.РегистраторИзмерение | ПО ТаблицаДокумента.Ссылка = ТаблицаДокументаИсправления.ИсправленныйДокумент | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтпускПоУходуЗаРебенком КАК ОтпускПоУходуЗаРебенком | ПО ТаблицаДокумента.ДокументОснование = ОтпускПоУходуЗаРебенком.Ссылка |ГДЕ | ТаблицаДокумента.Проведен | И ОтпускПоУходуЗаРебенком.ОсвобождатьСтавку | И ЗанятостьПозицийШтатногоРасписания.Регистратор ЕСТЬ NULL | И ЗанятостьПозицийШтатногоРасписанияИспр.РегистраторИзмерение ЕСТЬ NULL | И НЕ КадроваяИсторияСотрудников.Сотрудник ЕСТЬ NULL |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ ПЕРВЫЕ 1 | РегистраторыКОбновлению.Регистратор КАК Регистратор |ИЗ | ВТРегистраторыКОбновлению КАК РегистраторыКОбновлению"; Если ПараметрыОбновления = Неопределено Тогда Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПЕРВЫЕ 1000", ""); КонецЕсли; |
|||
2
unenu
12.12.19
✎
09:59
|
не помню толи ошибка релиза платформы, толи ЗУПа, где-то в дебагах писалось.
обновились и забыли |
|||
3
unenu
12.12.19
✎
10:01
|
"Можно накатить следующее обновление - там тоже эта же ошибка, а если еще следующее то дальше ошибок нет. Но ведь это не правильно."
романтик штоле? ещё бы написали... это не справедливо, как жить после этого) |
|||
4
Фрэнки
12.12.19
✎
10:03
|
Я бы перепроверил для начала, с взяты соответствующие друг другу релизы.
Далее, если база на сервере сидит, то перед тем, как обновляться в режиме сервера сразу на тесте в файловой. Это даст как бы исключительно монопольный режим. Если в файловой все было ок, а на сервере не хочет - два пути: - выгрузить базу из файла и загрузить в сервер. - Или убедиться, что в серверной базе никто не баловался с установкой запрета на выполнение регламентных заданий, а может база тупит и не может получить монопольный доступ установкой исключительной блокировки. Ага, вспомнил. Релиз платформы может тоже дать свои фокусы. И еще вспомнил, что да, в каком-то релизе 3.1.10 меняли/исправляли ошибку как раз с этими документами. И еще :-) А каким релизом все-таки обновляешь? Можно же полным актуальным дистрибутивом накатить и он сразу все по идее сможет прокрутить. на ИТС потому и выкладывают полные дистрибы по ЗУП, что глюки на обновлениях с CFU все-таки случаются. |
|||
5
Фрэнки
12.12.19
✎
10:06
|
Т.е. по логике разработчиков, когда берется полный CF дистриб, то множество промежуточных действий в базе сделаются и последовательно гонять обновление на обновление нет особого смысла.
|
|||
6
dnab
12.12.19
✎
10:07
|
(0) на мисте это обсуждалось, поищи
|
|||
7
lg2marvel
12.12.19
✎
10:13
|
(4) с 3.1.9.229 на 3.1.10.78. В файловую перевести это будет ооооочень плохо, там база около 20 гиг. База - копия оригинала, тестовая в ней никто не работает
|
|||
8
d4rkmesa
12.12.19
✎
10:23
|
(0) "Но ведь это не правильно. " - Смысла нет это мусолить. Можно попробовать обновить сначала на младший релиз(3.1.10.50). Бывают релизы с косяками обновления.
|
|||
9
lg2marvel
12.12.19
✎
10:35
|
(8) с 50 та же ситуация
|
|||
10
d4rkmesa
12.12.19
✎
10:36
|
||||
11
Фрэнки
12.12.19
✎
10:37
|
(7) т.е. разрешения регламентных проверил? и релиз платформы?
|
|||
12
lg2marvel
12.12.19
✎
10:43
|
(11) Да регламентные разрешены, платформа 8.3.15.1656
|
|||
13
lg2marvel
12.12.19
✎
10:44
|
(10) Спасибо за тему, попробую найти документ
|
|||
14
lg2marvel
12.12.19
✎
10:47
|
Линия поддержки ответила:
Для начала попробуйте в исходной базе (до обновления) полностью удалить все помеченные на удаление объекты, затем её протестировать и исправить. Перед этим обязательно сделайте резервную копию базы данных. |
|||
15
Фрэнки
12.12.19
✎
11:00
|
мда...
В общем, я только что залез в конфигуратор и посмотрел на содержимое обработчиков обновления Процедура ЗарегистрироватьОбработчикиОбновления Я бы на твоем месте попробовал самым последним CF обновиться и не дергать все промежуточные. Сразу на тестовой. Ну или как вариант, собственно все эти обработчики документов их просто пытаются перепроводить. Кстати, а дата Запрета редактирования не прошлые периоды точно не установлена? |
|||
16
lg2marvel
12.12.19
✎
11:13
|
(15) Стояла для раздела учета Зарплата, НДФЛ, убрал, посмотрим чем завершится.
Разве можно обновляться минуя промежуточные? В промежуточных заполнение регистров, будет ли оно выполняться при пропуске пары тройки обновлений? Для 3.1.9.229 доступный самый последний релиз для обновления как раз 78. Но все равно спасибо, если не получится - попробую cf-ником... |
|||
17
Фрэнки
12.12.19
✎
12:36
|
(16) минуя промежуточные точно нельзя, когда для обновления берешь CFU
А если готовый CF есть, тогда можно. Это как раз из-за того, что все обработчики обновления собраны в последовательный список в одной общей процедуре. Т.е. когда просматриваешь готовую эту процедуру в 3.1.10.78 и в самой последней 3.1.10 - последний продолжает первый. |
|||
18
mmmarat
12.12.19
✎
15:15
|
(0) Такая ситуация может возникнуть, если у вас есть соответствующие документы, где дата возврата позже, чем дата увольнения. Алгоритм обновления не может обработать эти документы и впадает в "бесконечный цикл", который и отлавливается обработчиками обновления.
|
|||
19
lg2marvel
13.12.19
✎
10:11
|
(18) спасибо, есть такие документы, увольнение в день возврата, соответственно возврат считается после увольнения. Проверяю. Жаль что долго крутится
|
|||
20
lg2marvel
13.12.19
✎
10:20
|
(18) отработало. Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |