Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Удаление строки в таблице значений

v7: Удаление строки в таблице значений
Я
   ВащеНеуч
 
19.10.17 - 14:10
Есть некоторая таблица значений (в ней информация с банковских выписок). Инфу выборочно надо загрузить в документ 1С выписка.
    Пока ТЗ_1.ПолучитьСтроку() = 1 Цикл                                                                                                                                               
        Если (((ПустаяСтрока(ТЗ_1.ПервичныйДокумент)=1) и (ТЗ_1.ВИдДвижения <> Перечисление.ВидыДвиженийПоРасчетномуСчету.Поступление) и (Лев(ТЗ_1.НомДок,2)<>"ОК"))) Тогда
                ТЗ_1.УдалитьСтроку(ТЗ_1.ТекущаяСтрока()); 
        КонецЕсли;
    КонецЦикла;           
    
      ЗагрузитьТабличнуюЧасть(ТЗ_1); 
выдает ошибку
ТЗ_1.УдалитьСтроку(ТЗ_1.ТекущаяСтрока()); 
{Документ.ВыпискаНовейшая.Форма.Модуль(814)}: Номер за пределами значения!
 
 
   1dvd
 
1 - 19.10.17 - 14:12
удаление строк внутри перебора. классика
   ikea
 
2 - 19.10.17 - 14:12
Удалять нужно с конца таблицы.
   ВащеНеуч
 
3 - 19.10.17 - 14:13
(1), (2) просветите
   ikea
 
4 - 19.10.17 - 14:13
(3) в яндексе забанили?
   Масянька
 
5 - 19.10.17 - 14:14
(3) У тебя в таблице:
1
2
3
4
5
6
7
8
9
Ты удаляешь строку под номером 5.
Думай, Чапай, думай.
   1dvd
 
6 - 19.10.17 - 14:15
Для Идн = -ТЗ_1.КоличествоСтрок() По -1 Цикл
    ТЗ_1.ПолучитьСтрокуПоНомеру(-Идн);
    Если ...
        ТЗ_1.УдалитьСтроку(-Идн);
    КонецЕсли;
КонецЦикла;
   oslokot
 
7 - 19.10.17 - 14:23
После УдалитьСтроку() вставь ВыбратьСтроки()
:)
   ВащеНеуч
 
8 - 19.10.17 - 14:27
спасибо всем. кажется получилось
   1dvd
 
9 - 19.10.17 - 14:28
можно ещё как в этих ваших восьмёрках делают - список строк к удалению подготовить
   Волшебник
 
Модератор
10 - 19.10.17 - 14:28
В восьмёрке всё это реализовано грамотно.
 
 Рекламное место пустует
   1dvd
 
11 - 19.10.17 - 14:29
(10) там та же проблема
   oslokot
 
12 - 19.10.17 - 14:30
(11) какая проблема? подготовить массив ссылок к удалению и удалить?
   1dvd
 
13 - 19.10.17 - 14:31
(12) именно. нельзя как в (0) с одного наскока удалить
   Сияющий Асинхраль
 
14 - 19.10.17 - 14:50
Еще замечание в цикле нельзя пользовать ТекущаяСтрока(), эта штука работает только на форме, в цикле должно быть что-то вроде ТЗ_1.НомерСтроки...
   1dvd
 
15 - 20.10.17 - 06:47
(14) ты клюшки со снеговиком не путай
   VladZ
 
16 - 20.10.17 - 06:49
(0) Ну ты неуч ваще... Кто ж так удаляет?
   KishMish
 
17 - 20.10.17 - 07:55
(0) вот так вот удаляется в 7 
изменения КАПСОМ
Если на ПОКА
Тогда на ЦИКЛ
КонецЕсли на КОНЕЦЦИКЛА
и в цикле добавитьусловие на проверку номера строки
Пока ТЗ_1.ПолучитьСтроку() = 1 Цикл                                                                                                                                               
        ПОКА(((ПустаяСтрока(ТЗ_1.ПервичныйДокумент)=1) и (ТЗ_1.ВИдДвижения <> Перечисление.ВидыДвиженийПоРасчетномуСчету.Поступление) и (Лев(ТЗ_1.НомДок,2)<>"ОК"))) И (ТЗ_1.НОМЕРСТРОКИ<>0) ЦИКЛ
                ТЗ_1.УдалитьСтроку(ТЗ_1.ТекущаяСтрока()); 
        КОНЕЦЦИКЛА;
    КонецЦикла;
   ---Fix---
 
18 - 20.10.17 - 08:25
(17) самый удобный вариант, а в больших таблицах еще и отстортировывать по удаляемому критерию.
   NikVars
 
19 - 20.10.17 - 10:47
(0) http://www.mista.ru/tutor_1c/
Смотри раздел ТаблицаЗначений
   uno-group
 
20 - 20.10.17 - 11:31
ВсегоСтрок=Тз.КоличествоСтрок()
Для К=1 По Всегострок Цикл
Ном=ВсегоСтрок+1-К;
Тз.ПолучитьСтрокуПоНомеру(Ном);
//Проверка условия.

Тз.УдалитьСтроку(ном);
КонецЦикла;

Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует