• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Ошибка при удалении строк в ТаблицеЗначений

  • Автор темы Guest
  • Дата начала
G

Guest

Создаю следующий СписокЗначений:
Код:
	СЗШК = новый СписокЗначений;
СЗШК.Добавить("4602827801011");	
СЗШК.Добавить("0102263300108");

Затем передаю его в процедуру, в кторой опред образом заполняется ТаблицаЗначений - Товары, в которой содержатся Наименование (товара) и Штрихкод. Однако мне нужны только строки, в которых есть данные ШК, т.к. в запрос СписокЗначений запехнуть не удалось, то решил после заполнения ТЗ отсеять лишнее перебором таблицы:
Код:
	Для Сч=0 по СтаршийИндекс Цикл
Если ПустаяСтрока(СЗШК.НайтиПоЗначению(Товары[Сч].Штрихкод))=Истина Тогда
Товары.Удалить(Сч);
КонецЕсли;
КонецЦикла;

Однако при выполнении выдает такую вот ошибку:
Индекс находится за границами массива

Что делаю неправильно???

Вопрос Снят... Сделал перебор не с начало в конец, а из конца в начало (т.к. после удаления строки сдвигаются), тоесть так:
Код:
	СтаршийИндекс = Товары.Количество()-1;
Для Сч=0 по СтаршийИндекс Цикл
Если ПустаяСтрока(СписокЗначШК.НайтиПоЗначению(Товары[СтаршийИндекс-Сч].Штрихкод))=Истина Тогда
Товары.Удалить(СтаршийИндекс-Сч);  			 
КонецЕсли;
КонецЦикла;

Однако тогда появился такой вопрос.... можно ли СписокЗначений как-то в Запрос подставить, типо сразу в Запросе проверять попадает ли выбранный Штрихкод в этот список или нет????????????????
 
P

puh14

Вроде туда не список а структуру подставить можно
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!