Итератор для значения не определен, Результаты обновления программы

1. mvl_dimir 15.12.20 09:11 Сейчас в теме
Бухгалтерия 3.0. После обновления, выполнение дополнительных процедур остановилось на 12. Пробовал вручную регламентные задания выполнять, не помогает. Блокировок также не стоит. Также при нажатии на список выполнения процедур (Выполнено:__) выскакивает такая ошибка как на скриншоте.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
44. ab_initio 95 15.12.20 16:27 Сейчас в теме
(43)
и откатиться обратно не могу

Тогда самое верное - исправить прямо в конфе.
Вставить что-то типа такого кода:
Если НЕ ЗначениеЗаполнено(ОобрабатываетмыеОбъектыПоОчередям) Тогда
       Продолжить;
КонецЕсли;

Внутри внешнего цикла перед началом вложенного.
mvl_dimir; +1 Ответить
55. ab_initio 95 17.12.20 14:54 Сейчас в теме
(54) Это справочник такой есть в БП. ЖД и авиабилеты. Это разновидность денежных документов, б/с 50.03.
А раз их нет, то действия выполнять не надо.
Обновляйте спокойно дальше.
mvl_dimir; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. oleg-x 27 15.12.20 09:22 Сейчас в теме
1) У вас не измененная конфа?
2) Когда обновляли, запускали базу после каждого обновления и дожидались окончания обработчиков?
4. mvl_dimir 15.12.20 10:02 Сейчас в теме
(2)база не обновлялась больше 3 месяцев, возможно, что с прошлого обновления процедуры зависли, а сейчас после обновления вот это выскочило.
3. ab_initio 95 15.12.20 09:26 Сейчас в теме
Из такого сообщения и понять-то ничего не возможно.
Попробуйте сеанс запустить с ключом:
/CРежимОтладки

В этом случае обработки обновления должны запуститься просто так, без фонового задания, может быть, тогда и сообщение будет более информативное.
7. mvl_dimir 15.12.20 10:10 Сейчас в теме
(3)вы имеете ввиду "Запуск с дополнительными параметрами"?
8. ab_initio 95 15.12.20 10:46 Сейчас в теме
(7) Да. В запускном окошке в свойствах базы это указать. "С" - латиницей, РежимОтладки - кириллицей.
9. mvl_dimir 15.12.20 10:54 Сейчас в теме
(8)я написал как вы сказали. При нажатии также выходит лишь ошибка. Пробовал через конфигуратор по отладке подключаться, можно перейти в код, но там тоже информации немного.
Прикрепленные файлы:
14. ab_initio 95 15.12.20 11:10 Сейчас в теме
(9)
можно перейти в код

Вот это как раз и есть то что нужно.
16. mvl_dimir 15.12.20 11:14 Сейчас в теме
(14)
Прикрепленные файлы:
21. ab_initio 95 15.12.20 11:47 Сейчас в теме
(16) Теперь включите остановку по ошибке в меню отладка, и посмотрим после остановки, что у вас в переменной ОбрабатываемыеОбъектыПоОчередям.
22. mvl_dimir 15.12.20 11:50 Сейчас в теме
(21)не хочет останавливаться по ошибке. Упирается сразу в ту, что мы сейчас разбираем.
24. ab_initio 95 15.12.20 12:04 Сейчас в теме
(22)
не хочет останавливаться по ошибке

А вы запустите режим "предприятия" из "конфигуратора" кнопкою "отладка". Тогда он и остановится как раз в том месте где ошибка.
25. mvl_dimir 15.12.20 12:28 Сейчас в теме
(24)так и сделал. Запустил предприятие из конфы, после зашел в администрирование - осблуживание - рез. обновления и доп. обработки данных.
26. ab_initio 95 15.12.20 12:34 Сейчас в теме
(25) И не останавливается?
В "Конфигураторе" меню "Сервис" - "Параметры" - "Запуск 1С:Предприятия" в поле "Параметр запуска" нужно тоже эту штуку написать:
/CРежимОтладки
Тогда должна остановка произойти.
27. mvl_dimir 15.12.20 13:22 Сейчас в теме
(26)Все также, я лучше файловый выгружу, с ним проще в отладке работать
29. ab_initio 95 15.12.20 13:26 Сейчас в теме
(27) Ну тоже нормальный вариант.
30. mvl_dimir 15.12.20 14:10 Сейчас в теме
(29)Попробовал через файловый, по остановке лишь переходит на эту же строку
32. ab_initio 95 15.12.20 14:25 Сейчас в теме
(30)
лишь переходит на эту же строку

Всё верно. В этот момент нужно посмотреть содержимое переменной ОбрабатываемыеОбъектыПоОчередям.
Что там в ней лежит?
33. mvl_dimir 15.12.20 14:45 Сейчас в теме
(32)
Прикрепленные файлы:
35. ab_initio 95 15.12.20 14:53 Сейчас в теме
(33) Нет, вычислялка выражений так не умеет работать.
Вы в поле выражение оставьте только ОбрабатываемыеОбъектыПоОчередям.
5. oleg-x 27 15.12.20 10:03 Сейчас в теме
(4) Поднимите копию базы и посмотрите. Копию же перед обновлением делали?
6. mvl_dimir 15.12.20 10:05 Сейчас в теме
(5)ДА, копия делается каждый день. Сейчас как раз занимаюсь этим вопросом
10. mvl_dimir 15.12.20 11:00 Сейчас в теме
(5)это копия, все процедуры были выполнены.
Прикрепленные файлы:
13. ab_initio 95 15.12.20 11:09 Сейчас в теме
(10) Так тут целевая версия не та, что была в начале темы. Там же 81-я была.
15. mvl_dimir 15.12.20 11:11 Сейчас в теме
(13)тут после прошлого обновления, я показываю, что все обработки были выполнены.
11. oleg-x 27 15.12.20 11:05 Сейчас в теме
(10) Тогда непонятно откуда проблемы. После обновления каждого релиза запускали клиент и ждали окончания обработчиков?
12. mvl_dimir 15.12.20 11:09 Сейчас в теме
(11)вообще да, я так всегда делаю. В этот раз после обновления, появились проблемы, сразу же после того, как я применил обновление конфигурации, захожу в клиента и мне тут сразу пишут, что прошлое обновление не было закончено и вот этого я не понял, ведь все процедуры прошлого обновления были выполнены. Скорее всего придется делать обновление копии, а после производить объединение. Бэкапнуться сейчас уже не получиться.
17. oleg-x 27 15.12.20 11:20 Сейчас в теме
(12) Можете и так сделать, но вполне возможно что проблема в самих данных и тогда объединение не поможет.
Возможно какой то обработчик из одного промежуточного релиза не выполнился и он оказался критически важным.
Еще можно попробовать тестирование и исправление.
Если вариант с сравнением и объединением не поможет, тогда надо смотреть, что данный обработчик пытается сделать.
mvl_dimir; +1 Ответить
18. mvl_dimir 15.12.20 11:38 Сейчас в теме
(17)ДА, можно попробовать тестирование/исправление, но что-то мне подсказывает, что он не поможет, да и длиться очень много, пользователи не смогут заходить.
19. oleg-x 27 15.12.20 11:46 Сейчас в теме
(18) Это все можно на копии сделать, что бы могли дальше работать, раз откатывать ни как не планируете.
20. mvl_dimir 15.12.20 11:47 Сейчас в теме
(19)ну кстати да, я что-то не подумал об этом.
23. oleg-x 27 15.12.20 11:55 Сейчас в теме
(22) Отладку лучше также на файловой базе делать, проще, чем на клиент-серверной. Там и режим отладки на сервере надо включать (параметр запуска не поможет) и проблемы с подключением фоновых заданий (будут все подключатся).
Это если тестирование и сравнение не поможет.
28. mvl_dimir 15.12.20 13:22 Сейчас в теме
(23)Хорошо, так и поступлю
31. oleg-x 27 15.12.20 14:16 Сейчас в теме
(30) Он и должен туда перейти, только должен не просто выдать место, а остановится. И надо смотреть почему такое происходит.
Какие значения переменных, откуда и что приходит.
34. oleg-x 27 15.12.20 14:52 Сейчас в теме
(33) Сотрите все что начинается с = и до конца. Нужно только значение переменной. Но оно скорее всего будет неопределено.
38. mvl_dimir 15.12.20 14:56 Сейчас в теме
(34)
Прикрепленные файлы:
36. oleg-x 27 15.12.20 14:53 Сейчас в теме
Потом можно посмотреть данные по "ЗначениеПоОбработчику" что там в значение и по остальным данным.
37. oleg-x 27 15.12.20 14:54 Сейчас в теме
(35) Ну если стереть точку с запятой, то должно выдать "Истина" :-)
39. ab_initio 95 15.12.20 15:00 Сейчас в теме
И еще переменную ИнформацияПоОбработчику
40. mvl_dimir 15.12.20 15:01 Сейчас в теме
(39)
Прикрепленные файлы:
41. mvl_dimir 15.12.20 15:09 Сейчас в теме
(39)Может тут что-то есть важное?
Прикрепленные файлы:
42. ab_initio 95 15.12.20 15:13 Сейчас в теме
Да, похоже, в модуле метода не хватает.
Очень трудно препарировать ее удаленно через форум.
Если я правильно понимаю, вы пытаетесь прыгнуть с 3.0.79.21 на 3.0.81.30.
А вы попробуйте прыгнуть на более низкие:
3.0.81.25,
3.0.81.23,
3.0.80.40,
3.0.80.36.

А с них - пропустить 3.0.81.30, перепрыгнуть его.
43. mvl_dimir 15.12.20 16:17 Сейчас в теме
(42)Да, все правильно. Но основная проблема в том, что я уже прыгнул и откатиться обратно не могу. Решений по такой проблеме немного, это либо пробовать исправление конфы, либо обновлять по нормальному и следить, чтобы такой ошибки не было и объединять с той же версией конфы.
44. ab_initio 95 15.12.20 16:27 Сейчас в теме
(43)
и откатиться обратно не могу

Тогда самое верное - исправить прямо в конфе.
Вставить что-то типа такого кода:
Если НЕ ЗначениеЗаполнено(ОобрабатываетмыеОбъектыПоОчередям) Тогда
       Продолжить;
КонецЕсли;

Внутри внешнего цикла перед началом вложенного.
mvl_dimir; +1 Ответить
46. mvl_dimir 15.12.20 16:30 Сейчас в теме
(44)Хмм.., попробовать проигнорировать данную ошибку, вдруг выполнение доп. процедур продолжиться? На копии сейчас посмотрим.
45. oleg-x 27 15.12.20 16:30 Сейчас в теме
(44) Это будет костыль, что там дальше будет неизвестно. Возможно какие то служебные данные в регистрах не заполнятся или еще что то. Правильнее будет выяснить что там в действительности делается и уже потом принимать решение.
47. ab_initio 95 15.12.20 16:36 Сейчас в теме
(45) Не костыль. Определенно. В ветке разобрались же на каком шаге валится.
Между этими двумями релизами соответствия БЭД не надо обрабатывать..
mvl_dimir; +1 Ответить
48. mvl_dimir 17.12.20 09:06 Сейчас в теме
(47)ошибку он пропускает. Осталось понять только, почему зависли процессы.
Прикрепленные файлы:
49. ab_initio 95 17.12.20 09:13 Сейчас в теме
Как раз эти два зависшие процесса и надо было пропустить. Именно под них обработчика в коде не было.
50. mvl_dimir 17.12.20 09:17 Сейчас в теме
ОбъектыОбработчика = Новый Соответствие;
	
	ИсходныеДанные = СведенияОбОбновлении.ОбрабатываемыеДанные;
	ТаблицаОбрабатываемыеДанные = РеквизитФормыВЗначение("ОбрабатываемыеДанные");
	Для Каждого ИнформацияПоОбработчику Из ИсходныеДанные Цикл
		СписокОбъектов = Новый СписокЗначений;
		Обработчик     = ИнформацияПоОбработчику.Ключ;
		ОбрабатываемыеОбъектыПООчередям = ИнформацияПоОбработчику.Значение.ДанныеОбработчика;
		Если НЕ ЗначениеЗаполнено(ОбрабатываемыеОбъектыПООчередям) Тогда
        Продолжить;
		КонецЕсли;
		Для Каждого ОбрабатываемыйОбъект Из ОбрабатываемыеОбъектыПООчередям Цикл
			ИмяОбъекта = ОбрабатываемыйОбъект.Ключ;
			Очередь    = ОбрабатываемыйОбъект.Значение.Очередь;
			СтрокаТаблицы = ТаблицаОбрабатываемыеДанные.Добавить();
			СтрокаТаблицы.Обработчик = Обработчик;
			СтрокаТаблицы.ИмяОбъекта = ИмяОбъекта;
			СтрокаТаблицы.Очередь    = Очередь;
			
			СписокОбъектов.Добавить(ИмяОбъекта);
		КонецЦикла;
		ОбъектыОбработчика.Вставить(Обработчик, СписокОбъектов);
	КонецЦикла;
Показать


PS:

Тогда "Если НЕ ЗначениеЗаполнено(ОбрабатываемыеОбъектыПООчередям) Тогда
Продолжить;
КонецЕсли;" нужно было ставить в теле второго цикла?
51. ab_initio 95 17.12.20 13:10 Сейчас в теме
В коде вы всё верно сделали.
А те два процесса пусть так и вися не выполненными.
Обновляйте дальше на следующие релизы, да и всё.
52. mvl_dimir 17.12.20 14:32 Сейчас в теме
(51)Как же быть с двумя другими, которые не хотят выполняться, я так понимаю, из-за этих зависших.
Прикрепленные файлы:
53. ab_initio 95 17.12.20 14:34 Сейчас в теме
Возможно, и не должны. Билеты у вас в базе есть?
54. mvl_dimir 17.12.20 14:49 Сейчас в теме
(53)Если я не особо понимаю, про какие билеты вы говорите, вероятнее всего их нет.
55. ab_initio 95 17.12.20 14:54 Сейчас в теме
(54) Это справочник такой есть в БП. ЖД и авиабилеты. Это разновидность денежных документов, б/с 50.03.
А раз их нет, то действия выполнять не надо.
Обновляйте спокойно дальше.
mvl_dimir; +1 Ответить
56. mvl_dimir 17.12.20 16:12 Сейчас в теме
(55)Хорошо, попробую сначала на копии. Спасибо
Оставьте свое сообщение

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