Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 апр 2024, 00:43

ТСД ошибка

Автор Ginayat Sheruenov0, 28 сен 2018, 14:12

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

Ginayat Sheruenov0

Добрый день!
Конфигурация УТ 2.2.15.14 для казахстана  доработанная
есть ТСД Opticon хотим сделать ревизию через него использоуется драйвер АТОЛ и оброботка стандартная от него но при выгрузке выходит ошибка, в номенклатуре используется характеристика артикул серия комплектация номенклатуры
{ВнешняяОбработка.АТОЛТерминалыСбораДанных.МодульОбъекта(419)}: Ошибка при вызове метода контекста (Получить)
            СтрокаТаблицы = ТаблицаВыгрузки.Получить(НомерСтр);
по причине:
Значение индекса выходит за границы диапазона


вот модуль на него
      Если ТаблицаВыгрузки<>Неопределено Тогда
         Если Найти(Объект.ОписаниеОшибки,"Недопустимое значение")=1 Тогда
            Поз1=Найти(Объект.ОписаниеОшибки,"№");
            НомерСтр=Число(СокрЛП(Сред(Объект.ОписаниеОшибки, Поз1+1, СтрДлина(Объект.ОписаниеОшибки)-Поз1-1)));
            СтрокаТаблицы = ТаблицаВыгрузки.Получить(НомерСтр);
            Объект.ОписаниеОшибки=Объект.ОписаниеОшибки+Символы.ПС;
            Для к=0 По ТаблицаВыгрузки.Колонки.Количество()-1 Цикл
               Объект.ОписаниеОшибки=Объект.ОписаниеОшибки+СтрокаТаблицы.Получить(к)+" / ";
            КонецЦикла;
         КонецЕсли;
         Если Найти(Объект.ОписаниеОшибки,"Нарушена уникальность данных")=1 Тогда
            Поз1=Найти(Объект.ОписаниеОшибки,"(");
            Поз2=Найти(Объект.ОписаниеОшибки,",");
            Поз3=Найти(Объект.ОписаниеОшибки,")");
            Номер1=Число(СокрЛП(Сред(Объект.ОписаниеОшибки, Поз1+1, Поз2-Поз1-1)))-1;
            Номер2=Число(СокрЛП(Сред(Объект.ОписаниеОшибки, Поз2+1, Поз3-Поз2-1)))-1;
            СтрокаТаблицы1 = ТаблицаВыгрузки.Получить(Номер1);
            Объект.ОписаниеОшибки=Объект.ОписаниеОшибки+Символы.ПС;
            Для к=0 По ТаблицаВыгрузки.Колонки.Количество()-1 Цикл
               Объект.ОписаниеОшибки=Объект.ОписаниеОшибки+СтрокаТаблицы1.Получить(к)+" / ";
            КонецЦикла;
            СтрокаТаблицы2 = ТаблицаВыгрузки.Получить(Номер2);
            Объект.ОписаниеОшибки=Объект.ОписаниеОшибки+Символы.ПС;
            Для к=0 По ТаблицаВыгрузки.Колонки.Количество()-1 Цикл
               Объект.ОписаниеОшибки=Объект.ОписаниеОшибки+СтрокаТаблицы2.Получить(к)+" / ";
            КонецЦикла;
         КонецЕсли;
      КонецЕсли;
      
      Объект.Драйвер.ПрерватьОперацию();
      
      Возврат Объект.ОписаниеОшибки;


wise

(0) Отладчиком посмотри...
что ТАМ:
1-ое Объект.ОписаниеОшибки
2-ое Поз1=Найти(Объект.ОписаниеОшибки,"№");
3-ие НомерСтр=Число(СокрЛП(Сред(Объект.ОписаниеОшибки, Поз1+1, СтрДлина(Объект.ОписаниеОшибки)-Поз1-1)));

и рассмотри "ТаблицаВыгрузки" внимательно...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск