v8: Значение индекса выходит за границы диапазона #212629


#0 by Exclusive
Есть обработка, в ней код: Когда я запускаю обработку, выдает ошибку из и ничего не удаляет, но если эту же обрабботку пройти отладчиком, то никаких ошибок, все что надо удаляется. Если потом опять запустить обработку без отладчика - опять ошибка. Ошибка: {Обработка.Удаление.Форма.Форма}: Ошибка при вызове метода контекста (Удалить): Значение индекса выходит за границы диапазона Это что глюк 1С или у меня?
#1 by ТелепатБот
#2 by Exclusive
Круто, да не то!!!
#3 by Exclusive
Если сделать отдельной обработкой, то работает. В чем дело?
#4 by asady
выгрузи в ТЗ и сверни по ссылке. у тебя в выборке есть строки с ссылкой на один и тот же документ!
#5 by Exclusive
А как это сделать, и что значит свернуть по ссылке?
#6 by Exclusive
АП
#7 by asady
где-то так (если догонишь смысл этого текста ... с тебя пиво):
#8 by asady
+ уточню....
#9 by Exclusive
#10 by elisem
читай синтакс-помошник
#11 by elisem
тебе же даже раскрасили текст не правильно Для КаждОГО стр из ТЗДок Цикл
#12 by Оселок
если в выборку попадает несколько строк из одного документа, то при удалении любой вышестоящей строки уже невозможно получить по номеру нижестоящуюю строку. поэтому из табличных частей строки удаляются "снизу" т.е. в запросе целесообразны Итоги по ссылке и, как уже указывали, обратное упорядочивание по номеру строки в самом запросе поставить ДЛЯ ИЗМЕНЕНИЯ
#13 by Exclusive
{Обработка.удаление.Форма.Форма}: Метод объекта не обнаружен (ВыбратьСтроки)
#14 by Exclusive
А вот что надо здесь: ошибка ВГраница
#15 by Оселок
МассивСтрок=ТЗдок.НайтиСтроки(Отбор); кто-нибудь из руководства знает, что ты корректируешь документы ?
#16 by Exclusive
Метод объекта не обнаружен (ВГраница), почему?
#17 by Exclusive
Не, скорее надо , т.к. если поставить НайтиСтроки, тогда еще ощибка {Обработка.удаление.Форма.Форма}: Поле объекта не обнаружено (НомерСтроки)                ДокументОбъект.Товары.Удалить(тстр.НомерСтроки - 1);
#18 by asady
потому что смысл не понят. копипастишь просто и не думаешь совсем. пока не догонишь смысла того что делает этот код не работай на реальной базе, будет катастрофа.
#19 by Exclusive
Так ведь я на демо базе, т.к. учусь
#20 by Exclusive
С горем пополам исправил: Но результат тот же, что и при {Обработка.удаление.Форма.Форма}: Ошибка при вызове метода контекста (Удалить): Значение индекса выходит за границы диапазона                ДокументОбъект.Товары.Удалить(тстр.НомерСтроки - 1); по причине: Значение индекса выходит за границы диапазона Так что разбираться в коде еще рано, т.к. непонятно что не работает?
#21 by asady
какие номера увидишь? Сообщить("Номер строки к удалению ="+тстр.НомерСтроки); ДокументОбъект.Товары.Удалить(тстр.НомерСтроки - 1);
#22 by Exclusive
0, 3, 13
#23 by asady
если от 0 отнять 1 сколько будет?
#24 by asady
Отсюда вывод: вместо
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С