Платформа: 8.3.22.1851
Режим БД: клиент-серверный
Конфигурация. Название: АНР (АНР 2023-04-08 01)
Конфигурация. Основной режим запуска: Обычное приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим управления блокировкой данных: Автоматический
Конфигурация. Режим совместимости: Версия8_3_21
Конфигурация. Режим использования синхронных вызовов: Использовать
Инструменты разработчика. Версия: Расширение 6.73.1e
Инструменты разработчика. Инструмент: Прочее
Инструменты разработчика. Перехват клавиатурного ввода: Нет
Инструменты разработчика. Объекты на сервере: Нет
Инструменты разработчика. Асинхронность запрещена: Нет
Инструменты разработчика. Разрешены имитаторы: Да
Расширения. Расширение_ОбщиеМодули (2023-04-20 02)
Расширения. Расширение_Метаданные (2023-04-18 01)
Расширения. Расширение_АНР_МЦ (2021-06-03 01)
Расширения. Расширение_ОбработкиОфиса (2023-04-07 02)
Расширения. ИнструментыРазработчикаTormozit (6.73.1e)
Клиент. Приложение: Обычное приложение 32б
Клиент. Проверка модальных вызовов: Нет
Клиент. Язык интерфейса конфигурации: ru
Клиент. Язык интерфейса системы: ru
Клиент. Отладка разрешена: Да
Клиент. Постоянный кэш метаданных: Да
Клиент. ОС: Майкрософт Windows Server 2016 Standard 64-разрядная Русский
Клиент. ОС от имени администратора: Нет
Клиент. ОС выполнение BAT: Да
Клиент. ОС Текущая кодовая страница: 866
Клиент. ОС пинг сервера: 0мс
Сервер. ОС: Майкрософт Windows Server 2016 Standard 64-разрядная Русский
Сервер. Процесс: 64б
Сервер. Отладка: tcp
Сергей, добрый день.
В актуальной версии ИР при многопоточной обработке объектов в ирПодборИОбработкаОбъектов появляется ошибка:
#Поток 1: Обработка объекта CatalogObject.ДопЕдИзм(уп,1718523e-2585-11ea-8223-40a8f0a51cd2)
#Поток 1: {ИнструментыРазработчикаTormozit Обработка.ирПодборИОбработкаОбъектов.МодульОбъекта(757)}: Индекс находится за границами массива
Ошибка происходит в модуле обработки ирПодборИОбработкаОбъектов в
Функция ОбработатьЭлементыОбъекта(ПараметрыОбработкиОбъекта) Экспорт
в строке 757:
ПараметрыОбработки.Вставить("СтрокаПараметров", СтрокиДляОбработки[СчетчикЭлемента - 1]); // Тут ошибка
Код
ТекстСообщенияОбОбработкеОбъекта = "Обработка объекта " + ирОбщий.XMLКлючОбъектаБДЛкс(ОбъектДляОбработки.Методы);
Если ВыводитьСообщения Тогда
ирОбщий.СообщитьЛкс(ТекстСообщенияОбОбработкеОбъекта);
КонецЕсли;
СчетчикЭлемента = 0;
КоличествоЭлементов = ЭлементыОбъекта.Количество();
Если ПараметрыОбработки.Свойство("ПринудительнаяЗапись") Тогда
ПринудительнаяЗапись = ПараметрыОбработки.ПринудительнаяЗапись;
Иначе
ПринудительнаяЗапись = Ложь;
КонецЕсли;
Для Каждого ЭлементОбъекта Из ЭлементыОбъекта Цикл
СчетчикЭлемента = СчетчикЭлемента + 1;
ПараметрыОбработки.Вставить("ЭтоПервыйОбъектБД", ЭтоПервыйОбъектБД);
ПараметрыОбработки.Вставить("ЭтоПоследнийОбъектБД", ЭтоПоследнийОбъектБД);
ПараметрыОбработки.Вставить("ЭтоПервыйЭлемент", СчетчикЭлемента = 1);
ПараметрыОбработки.Вставить("ЭтоПоследнийЭлемент", СчетчикЭлемента = КоличествоЭлементов);
[b][u][color=#0000ff]ПараметрыОбработки.Вставить("СтрокаПараметров", СтрокиДляОбработки[СчетчикЭлемента - 1]); // Тут ошибка[/color][/u][/b]
Выполнить(ИмяОбъектаОбработкиОбъекта + "." + ИмяМетодаОбработкиОбъекта + "(ЭлементОбъекта, КоллекцияСтрок, ОбъектДляОбработки.Данные, ПараметрыОбработки, ОбъектДляОбработки.Методы, ПринудительнаяЗапись)");
КонецЦикла;
Ошибка возникает из-за пустой ТаблицыЗначений СтрокиДляОбработки, из которой по СчетчикуЭлемента идет получение данных.
В ИР 6.70.2e этой ошибки нет, т.к. не было этой строки кода.
Хорошего дня.