После обновления Индекс за границей массива
Добрый день, бух обновил Бухгалтерию до 2.0.65.16 последний релиз, платформа последняя, Версия базовая отладка показывает ссылку (ниже выложу), при запуске ошибка Индекс за границей массива, программа закрывается. Зайти в режиме предприятия нельзя, в конфигураторе исправления итд ничего не дали. Что можно сделать теперь?
{ОбщийМодуль.ЭлектронныеДокументыСлужебный.Модуль(4544)}: Индекс находится за границами массива
КодОшибки = МассивПараметровОшибки[5];
{ОбщийМодуль.ЭлектронныеДокументыСлужебный.Модуль(4544)}: Индекс находится за границами массива
КодОшибки = МассивПараметровОшибки[5];
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) Voblhned, дальше анализировать массив, что за индекс, почему могла возникнуть такая ошибка. В копии можешь загрузить базу релиза 2.0.65.10, поставить туда же точку останова, посмотреть эти значения там. Понять, что могло измениться. Если с этим сложно, то лучше самому и не копаться. Может, какая-то ошибка релиза. Если чего-то очень важного там не было, то можно пропустить релиз, попробовать обновиться позже.
Вчера была такая же фигня с базовой. На одном ноуте платформа 19.80 - обновилось с ошибкой, а на втором - 8.3. Какая - не помню точно. Обновилось без ошибки. На платформе 8.2. с какого-то раза обновление прошло без ошибки. В чём был прикал - так и не понял...
Файл = Новый Файл(Файл);
ТекстЗаголовкаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонСообщения, Файл.Имя);
Если ЗначениеЗаполнено(Результат) Тогда
Результат = СтрЗаменить(Результат, """", "");
Результат = СтрЗаменить(Результат, ":", ",");
МассивПараметровОшибки = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Результат, ",");
КодОшибки = МассивПараметровОшибки[5]; --------- ОШИБКА ТУТ!
ШаблонОшибки = НСтр("ru = '%1: %2.'");
ТекстОшибкиЭДО = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
МассивПараметровОшибки[7], МассивПараметровОшибки[1]);
ТекстОшибки = ЭлектронныеДокументыПовтИсп.ПолучитьСообщениеОбОшибке(
КодОшибки, ТекстОшибкиЭДО);
ТекстСообщения = ТекстЗаголовкаСообщения + Символы.ПС + ТекстОшибки;
Иначе
ИнформацияОбОшибке = ИнформацияОбОшибке();
Результат = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
ТекстСообщения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
КонецЕсли;
Показать
В массиве 3 элемента:
1. "<!DO CTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN>
<ht ml><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g."
2. " bad password)"
3. " or your
browser doesn't understand how to supply
the credentials required.</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at 1c-edo.ru Port 80</address>
</body></html>
"
1. "<!DO CTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN>
<ht ml><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g."
2. " bad password)"
3. " or your
browser doesn't understand how to supply
the credentials required.</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at 1c-edo.ru Port 80</address>
</body></html>
"
ошибка возникает при запуске обработки обновления 1с, там какая то проверка контрагента идет, если она не проходит то выдается ошибка - выгрузите к себе базу, отключитесь от инета и обновитесь, после должно работать
У меня то же самое, решил закомментировав блок
После обновления снял комментариий
Результат = СтрЗаменить(Результат, """", "");
Результат = СтрЗаменить(Результат, ":", ",");
МассивПараметровОшибки = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Результат, ",");
КодОшибки = МассивПараметровОшибки[5]; --------- ОШИБКА ТУТ!
ШаблонОшибки = НСтр("ru = '%1: %2.'");
ТекстОшибкиЭДО = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
МассивПараметровОшибки[7], МассивПараметровОшибки[1]);
ТекстОшибки = ЭлектронныеДокументыПовтИсп.ПолучитьСообщениеОбОшибке(
КодОшибки, ТекстОшибкиЭДО);
ТекстСообщения = ТекстЗаголовкаСообщения + Символы.ПС + ТекстОшибки;
ПоказатьПосле обновления снял комментариий
(31) Bambor, поставь какую-нибудь программу, отслеживающие сетевые соединения для приложений - покажет куда 1с щемится, потому как щемится то она по доменному имени, который потом в IP адрес преобразуется. И только по этому адресу лочь, а то мне кажется, что сетевые соединения отвалятся тоже - по сети никто не подключится
Панель управления -> Брандмауэр Windows -> Дополнительные параметры
В правилах входящих и исходящих подключений создайте запрещающее правило для порта 80, тогда 1С не достучится до Web сервера и всё будет хорошо!
Пример сообщения:
Ошибка работы с Интернет: Couldn't connect to server
Выполняется обновление информационной базы с версии 2.0.65.5 на версию 2.0.65.16
Обновление информационной базы выполнено успешно.
Потом можно удалить эти правила, ошибки больше не будет.
В правилах входящих и исходящих подключений создайте запрещающее правило для порта 80, тогда 1С не достучится до Web сервера и всё будет хорошо!
Пример сообщения:
Ошибка работы с Интернет: Couldn't connect to server
Выполняется обновление информационной базы с версии 2.0.65.5 на версию 2.0.65.16
Обновление информационной базы выполнено успешно.
Потом можно удалить эти правила, ошибки больше не будет.
были подобные ошибки в базовой бухгалтерии при обновлении. Это было связано с задвоением каких-то служебных справочников (уже не помню), при обновлении программа пыталась записать новый элемент дубль.
решалось откатом на прежнюю редакцию - исправление справочников внешней обработкой и повторное обновление
решалось откатом на прежнюю редакцию - исправление справочников внешней обработкой и повторное обновление
(43) E_Johnny, уже раскопал. Программа подключается к серверу 1С-ЭДО с целью проверки контрагентов. При этом возникает ошибка "401 Authorization Required". Но ответ приходит не в том формате, который ожидают разработчики конфигурации. Вместо текста, разделённого запятыми, преобразовываемого в массив, приходит HTML-страница. Один из вариантов обхода, я уже предлагал. Воспользоваться отладчиком. При этом не нужно откатываться назад и заново запускать обновление.
Прикрепленные файлы:
Все проще гораздо. Поскольку ошибка возникает в модуле обмена электронными документами, то надо ПЕРЕД обновлением в режиме Предприятия войти в меню Сервис->Настройки программы->Электронные документы и отключить на хрен этот обмен. После этого спокойно обновляйтесь.
Чем дальше тем сложнее обновлять(вылазят всякие ошибки
Вчера вылезла
{ОбщийМодуль.ЭлектронныеДокументыСлужебный.Модуль(4544)}: Индекс находится за границами массива
КодОшибки = МассивПараметровОшибки[5];
Обновлял с версии 2.0.65.6 на 2.0.65.10
С горем попалам вчера обновил 1 базу(сначала обновлял из последней платформы 8.3, но в итоге обновилась под 8.2)
Сегодня начал обновлять другую базу под платформой 8.2 та же ошибка
Бухгалтерия 3.0 без проблем обновляется... бух 2.0 уже "аутсаййдеры" дописывают что ли , а хорошие спецы брошены на 3.0
Вчера вылезла
{ОбщийМодуль.ЭлектронныеДокументыСлужебный.Модуль(4544)}: Индекс находится за границами массива
КодОшибки = МассивПараметровОшибки[5];
Обновлял с версии 2.0.65.6 на 2.0.65.10
С горем попалам вчера обновил 1 базу(сначала обновлял из последней платформы 8.3, но в итоге обновилась под 8.2)
Сегодня начал обновлять другую базу под платформой 8.2 та же ошибка
Бухгалтерия 3.0 без проблем обновляется... бух 2.0 уже "аутсаййдеры" дописывают что ли , а хорошие спецы брошены на 3.0
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот