Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
27 Мар 2017, 23:32
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Индекс находится за границами массива 1с  (Прочитано 2499 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Alexsei42

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-10
  • Сайт: 
Помогите, после обновления конфигурации " Бухгалтерия предприятия" на 2.0.65.14 при запуске программы практически сразу вылезает ошибка :
Индекс находится за границами массива
 
нажимаешь подробно там такая запись
 
 {ОбщийМодуль.ЭлектронныеДокументыСлужебный.Модуль(4544)}: Индекс находится за границами массива
                КодОшибки = МассивПараметровОшибки[5];
 
попробовал обновиться на 2.0.65.16 проблема осталась.

при нажатии конфигуратор открывается этот код

Процедура ПолучитьРезультатПроверкиВебСервисом(ДанныеКонтрагентов, Отбор) Экспорт
   
   // Проверяем только тех контрагентов, которые соответствуют указанному отбору
   ДанныеКонтрагентовДляПроверкиСервисом = ДанныеКонтрагентов.НайтиСтроки(Отбор);
   КоличествоКонтрагентов = ДанныеКонтрагентовДляПроверкиСервисом.Количество();

   Если КоличествоКонтрагентов = 0 Тогда
      // Нет данных для проверки
      Возврат;
   КонецЕсли;
   
   РазмерПорции = 10000;
   
   // Разбиваем всю таблицу на блоки запросов
   КоличествоЗапросов = ?(КоличествоКонтрагентов % РазмерПорции = 0, КоличествоКонтрагентов / РазмерПорции, Цел(КоличествоКонтрагентов / РазмерПорции) + 1);
      
   // Выполняем несколько запросов. В каждом запросе не более 10000 строк
   Для НомерПорции = 1 По КоличествоЗапросов Цикл
      
      МинимальныйНомерКонтрагента    = Мин(РазмерПорции * (НомерПорции - 1), КоличествоКонтрагентов);
      МаксимальныйНомерКонтрагента    = Мин(РазмерПорции * НомерПорции, КоличествоКонтрагентов) - 1;
      
      ИмяВременногоФайлаЗапросаСостояний = ТекущееИмяВременногоФайла("xml");
      ЗапросСостояний = Новый ЗаписьXML;
      ЗапросСостояний.ОткрытьФайл(ИмяВременногоФайлаЗапросаСостояний, "windows-1251");
      ЗапросСостояний.ЗаписатьОбъявлениеXML();
      ЗапросСостояний.ЗаписатьНачалоЭлемента("Abonents");
         
      Для ИндексТекущегоКонтрагента = МинимальныйНомерКонтрагента По МаксимальныйНомерКонтрагента Цикл
         
         ДанныеКонтрагента = ДанныеКонтрагентовДляПроверкиСервисом[ИндексТекущегоКонтрагента];
         
         ЗапросСостояний.ЗаписатьНачалоЭлемента("Abonent");
            ЗапросСостояний.ЗаписатьНачалоЭлемента("INN");
               ЗапросСостояний.ЗаписатьТекст(ДанныеКонтрагента.ИНН);
            ЗапросСостояний.ЗаписатьКонецЭлемента();
            ЗапросСостояний.ЗаписатьНачалоЭлемента("KPP");
               ЗапросСостояний.ЗаписатьТекст(ДанныеКонтрагента.КПП);
            ЗапросСостояний.ЗаписатьКонецЭлемента();
         ЗапросСостояний.ЗаписатьКонецЭлемента();
         
      КонецЦикла;
      ЗапросСостояний.ЗаписатьКонецЭлемента();
      ЗапросСостояний.Закрыть();
      
      Соединение = ЭлектронныеДокументыВнутренний.ПолучитьСоединение(Перечисления.СпособыОбменаЭД.ЧерезСервис1СЭДО);
      АдресРесурса = "GetMassInfo";
      
      // возможно будет ответ от сервера
      ИмяФайлаРезультата = ТекущееИмяВременногоФайла("xml"); ДанныеФайла = "";
      Попытка
         Соединение.ОтправитьДляОбработки(ИмяВременногоФайлаЗапросаСостояний, АдресРесурса, ИмяФайлаРезультата);
         
         ДанныеФайла = ПрочитатьТекстИзФайла(ИмяФайлаРезультата, , Истина);
         ОбработатьОтветСервиса(ДанныеФайла, ДанныеКонтрагентовДляПроверкиСервисом);
      Исключение
         ЕстьОшибки = Истина;
         
         ФайлРезультата = Новый ТекстовыйДокумент;
         ФайлРезультата.Прочитать(ИмяФайлаРезультата, КодировкаТекста.UTF8);
         Результат = ФайлРезультата.ПолучитьТекст();
         
         ШаблонСообщения = НСтр("ru = 'При проверке состояния контрагентов на сервисе 1С-ЭДО возникла ошибка:'");
         
         Файл = Новый Файл(Файл);
         ТекстЗаголовкаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            ШаблонСообщения, Файл.Имя);
         Если ЗначениеЗаполнено(Результат) Тогда
            Результат = СтрЗаменить(Результат, """", "");
            Результат = СтрЗаменить(Результат, ":", ",");
            МассивПараметровОшибки = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Результат, ",");
            
            КодОшибки = МассивПараметровОшибки[5];
            
            ШаблонОшибки = НСтр("ru = '%1: %2.'");
            ТекстОшибкиЭДО = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
               МассивПараметровОшибки[7], МассивПараметровОшибки[1]);
            
            ТекстОшибки = ЭлектронныеДокументыПовтИсп.ПолучитьСообщениеОбОшибке(
               КодОшибки, ТекстОшибкиЭДО);
            
            ТекстСообщения = ТекстЗаголовкаСообщения + Символы.ПС + ТекстОшибки;
         Иначе
            ИнформацияОбОшибке = ИнформацияОбОшибке();
            Результат = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
            ТекстСообщения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
         КонецЕсли;
         
         ЭлектронныеДокументыСлужебныйВызовСервера.ОбработатьИсключениеПоЭДНаСервере(ТекстЗаголовкаСообщения,
            Результат, ТекстСообщения);
      КонецПопытки;
      
      УдалитьФайлы(ИмяВременногоФайлаЗапросаСостояний);
      УдалитьФайлы(ИмяФайлаРезультата);
   КонецЦикла;
   
КонецПроцедуры


Оффлайн Kironten

  • *****
  • Сообщений: 766
  • РЕПУТАЦИЯ: 164
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Ну а если забить на ошибку и продолжить?
Обновиться дает?

Оффлайн Alexsei42

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-10
  • Сайт: 
Я обновился без проблем. ошибка возникает при запуске самой программы, вылезает окно проверки легальности лицензии, я подтверждаю и сразу же вылезает эта ошибка.
Забить на ошибку не получается, программа вылетает и не возможно далее работать. При обновлении никаких ошибок, проблем не возникло все прошло как всегда.

Оффлайн Kironten

  • *****
  • Сообщений: 766
  • РЕПУТАЦИЯ: 164
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Если бы вы обновились без проблем, ошибок бы не было.
А то, что у вас обновилась основная конфигурация, без конфигурации базы данных, это еще не "обновление без проблем".
Ну да ладно. Это все лирика.
Короче, как по мне, то тут имеет место некорректная обработка исключительной ситуации.
В моем случае, получаю ошибку:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><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., bad password), 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>
потом идет разложение текста ошибки на элементы массива, по разделителю "," (запятая).
В результате имеем массив с 3 элементами. Ну и естественно, при обращении к 5-му и далее к 7-му элементу массива в коде (по индексам) мы получаем ошибки.

Перевожу на русский - Это косяк 1с.

Оффлайн Alexsei42

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-10
  • Сайт: 
Перевожу на русский - Это косяк 1с.
и что мне дальше делать? завтра база должна работать.


Оффлайн Kironten

  • *****
  • Сообщений: 766
  • РЕПУТАЦИЯ: 164
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Перевожу на русский - Это косяк 1с.
и что мне дальше делать? завтра база должна работать.
Честно? А хрен его знает.
Это же я текст своей ошибки привел, а какая у Вас, я не знаю.
Если вот прям завтра должна работать - откатитесь назад на копию базы до обновления.
Возможно сервер авторизации упал, и если его поднять может быть все заработает (в принципе я думаю это не такой уж невозможный вариант, учитывая, что до Вас никто на это не жаловался, а ведь релиз 65.16 еще в феврале вышел).
А вообще, вы ведь не будете код сами править - вот и напишите в 1с.

Оффлайн Людмила Баулина

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 1
  • КПД: 20%
  • Регистрация: 2016-03-10
  • Сайт: 
У меня такая  же проблема!!!!!!!!!!!!!!

Оффлайн Kironten

  • *****
  • Сообщений: 766
  • РЕПУТАЦИЯ: 164
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
У меня такая  же проблема!!!!!!!!!!!!!!
Ну поскольку проблемка приобретает массовый характер - ждите.
Завтра либо все само заработает, либо 1с выпустит обновление с исправлением.
А скорее всего и то и то будет.

Оффлайн Людмила Баулина

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 1
  • КПД: 20%
  • Регистрация: 2016-03-10
  • Сайт: 

Оффлайн Alexsei42

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-10
  • Сайт: 
http://forum.infostart.ru/forum15/topic148012/
Отключить инет и обновиться!
Огромное спасибо Вы меня выручили. Отключил интернет обновление со скрипом, в разы дольше чем обычно, прошло.
вот что выдало:
Ошибка работы с Интернет:   Couldn't resolve host name
Выполняется обновление информационной базы с версии 2.0.65.6 на версию 2.0.65.16
Обновление информационной базы выполнено успешно.


Теги:
 

Попытка вставки неуникального значения в уникальный индекс

Автор MuI_I_IkaРаздел Ошибки 1С:Предприятия

Ответов: 0
Просмотров: 1851
Последний ответ 19 Фев 2015, 17:01
от MuI_I_Ika
Попытка вставки неуникального значения в уникальный индекс:

Автор fsaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 278
Последний ответ 21 Янв 2017, 21:08
от fsa
Работа с xBase. Не может распознать индекс.

Автор ***Vjacheslav***Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 8
Просмотров: 3062
Последний ответ 13 Окт 2010, 08:44
от ***Vjacheslav***
Как получить индекс элемента управления?

Автор MKozzlikРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 8
Просмотров: 4696
Последний ответ 11 Окт 2011, 16:10
от MKozzlik
Как, передав в запрос массивСсылок, получить из запроса ТабЗнач с данными из массива?

Автор deziren1Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 923
Последний ответ 27 Апр 2016, 14:09
от has

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
alex0402
121 Сообщений
Norfolk
52 Сообщений
MuI_I_Ika MuI_I_Ika
49 Сообщений
LexaK
46 Сообщений
друган
21 Сообщений
AsadRoman
20 Сообщений
alexandr_ll
20 Сообщений
Константин5825
18 Сообщений
MrLvovsky MrLvovsky
16 Сообщений

* Кто онлайн

  • Точка Гостей: 416
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal