Имя: Пароль:
1C
1С v8
Обновление ЗУП с 3.1.8.185
0 Atkinson
 
26.01.19
22:39
Нигде не нашел данной ситуации, потому - зафиксирую.

После обновлении ЗУП с 3.1.8.185 до 3.1.8.214 или 216 при первом запуске ошибка - Итератор для значения не определен

Источник - Общий модуль.АдресныйКлассификаторСлужебный.Модуль(3453)
Для Каждого Проверка из ДанныеПроверки Цикл.

Что-то с адресами напартачено в базе, разбираться некогда.

Что делаем?
После обновления до 216, но до запуска базы лезу в конфу, разрешаю редактирование. Дальше вот сюда - ЗаполнитьРезультатПроверкиАдресаПоКлассификаторуСервис1С

и здесь

    Если РезультатПроверки.КодСостояния = 200 Тогда        
     ДанныеПроверки = СтрокаJSONВСтруктуру(ПолученныеДанные);        
    ИначеЕсли РезультатПроверки.КодСостояния = 400 Тогда        
     Результат.ПодробноеПредставлениеОшибки = НСтр("ru='У адреса не указан регион'");
     Результат.КраткоеПредставлениеОшибки = НСтр("ru='Не указан регион'");
     Результат.Отказ = Истина;
    
добавляем
   Возврат;

Запускаю базу, обновление проходит без ошибки (не уверен насчет корректности...)
Дальнейшее обновление до 3.1.8.246 проходит без проблем (хотя код вышеуказанной функции восстановился до изначального). Что это было ? х.з.
1 SleepyHead
 
гуру
27.01.19
06:40
(0) Фиг знает, у меня такого не было.. Возможно, стоить очистить адресный классификатор, если перед этим он был загружен в базу, а потом загрузить обратно в виде ФИАС с делением по муниципалитетам.

Кстати, написал на хотлайн просьбу - перед загрузкой кладра в базу автоматически устанавливать флажки на регионах, которые уже упомянуты в адресах физлиц. Ответили, что пожелание вписали, но будут ли реализовывать - непонятно.
2 mastodont
 
27.01.19
10:13
(0) нет уж, лучше отладчиком посмотреть что это за значение и откуда оно берется.
Тут проблема явно в данных.
3 Фрэнки
 
27.01.19
10:44
не замечено.
4 Atkinson
 
27.01.19
19:14
(2) я 1с-ник по принуждению, поэтому пока не все в ней понимаю. поставил брэкпойнт на эту строчку, посмотреть данные. но в при обновлении режиме отладки на ней остановки не произошло, так же вывалилась ошибка, с предложением перезапустить или завершить работу
5 bolero
 
27.01.19
19:56
(4) Если появляется предложение перезапустить или завершить работу - то это ошибка между платформой и SQL, а не между конфигурацией и данными. Возможно, последствие после пропадания питания - платформа напарывается на данные, которые не ожидает увидеть.

Возможно, поможет выгрузка в dt и загрузка dt в пустую базу, но в таком случае больше никогда не узнаешь, в чем именно был косяк.
6 El_Duke
 
гуру
28.01.19
09:33
(4) Это пять, надо запомнить

"Временно, по принуждению князя Милославского исполнял обязанности 1С-ника ..."

"1с-ник по принуждению" - в мемы форума, однозначно !