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