|
как удалить строки Табличного поля | ☑ | ||
---|---|---|---|---|
0
LivingStar
08.11.11
✎
13:32
|
на форме обработки лежит табличное поле
перебираю его Для каждого Стр Из СсылкиНаУдаление Цикл СсылкиНаУдаление.Удалить(Стр); ЭлементыФормы.СсылкиНаУдаление.Удалить(Стр) ни так ни так не работает, как нужно? |
|||
1
Wobland
08.11.11
✎
13:33
|
перебирай данные. и удалять лучше с конца. а ещё лучше Очистить(). на здоровье
|
|||
2
LivingStar
08.11.11
✎
13:35
|
(1) причем тут очистить? мне нужно удалить только определенные строки, отвечающие определенному условию, как это сделать?
|
|||
3
Wobland
08.11.11
✎
13:36
|
(2) этого в (0) не сказано. идёшь с конца циклом Для й=, проверяешь условие, удаляешь по индексу
|
|||
4
LivingStar
08.11.11
✎
13:37
|
(3) инструкции
СсылкиНаУдаление.Удалить(Стр); ЭлементыФормы.СсылкиНаУдаление.Удалить(Стр) не работают ( |
|||
5
Wobland
08.11.11
✎
13:38
|
(4) давай ещё раз. идёшь с конца циклом Для й=...
|
|||
6
LivingStar
08.11.11
✎
13:39
|
(5) Стр.НомерСтроки - вот индекс, если нужен индекс
зачем с конца Циклом? |
|||
7
Wobland
08.11.11
✎
13:40
|
(6) после удаления строки надо будет делать шаг назад в противном случае. можно и не с конца, конечно
|
|||
8
LivingStar
08.11.11
✎
13:43
|
(7) ну Ок, скажите почему я не могу удалить все же строку, как это нужно делать по синтаксису?
|
|||
9
Wobland
08.11.11
✎
13:44
|
(8) сделай по синтаксису. мне отсюда деталей не видно. и да, ЭлементыФормы не трожь
|
|||
10
Reset
08.11.11
✎
13:44
|
В СП есть, как удалять по синтаксису
|
|||
11
Reset
08.11.11
✎
13:49
|
Можно еще через временный массив.
Попроще понять будет думаю так: Обходишь таблицу, по своему условию отбираешь в массив строки, которые нужно удалить. Обходишь массив, удаляя строки в таблице. Почему так(почему или обходить с конца или отдельный массив)? Допустим, ты решил отрубить себе пальцы (на руках). Ты не сможешь отрубить все, т.к. отрубив половину, тебе будет неудобно держать топор без пальцев. Поэтому проще попросить отрубить кого-то другого, предоставив ему список(массив) пальцев для отрубания. |
|||
12
LivingStar
08.11.11
✎
13:50
|
Ок спасибо! я уже отказался от этой идеи, вспомнив что да, тама есть свои особенности и нельзя так просто удалять выборочно строки!
|
|||
13
LivingStar
08.11.11
✎
13:51
|
(10) я в (0) привел пример синтаксиса, он у меня не работает
|
|||
14
Reset
08.11.11
✎
13:55
|
(13) Там пример случаного сочетания слов.
У ТабличногоПоля не метода Удалить. С таким же успехом можно пожаловаться ТП.СделатьКакЯХочу() - не работает |
|||
15
hhhh
08.11.11
✎
13:57
|
(13) ну, поменяй синтаксис. Пиши нормально, на языке 1С.
|
|||
16
Wobland
08.11.11
✎
13:59
|
на вот. на коленке писал за 5 минут
Процедура КнопкаВыполнитьНажатие(Кнопка) док=ДокументУстановкиЦен.ПолучитьОбъект(); й=док.Товары.Количество()-1; Пока й>=0 Цикл Состояние(""+й+"/"+док.Товары.Количество()); стр=док.Товары.Получить(й); Если стр.ЦенаВРознице=0 Тогда док.Товары.Удалить(й); КонецЕсли; й=й-1; КонецЦикла; Попытка док.Записать(); Сообщить("документ записан"); Исключение Сообщить("ошибка записи"); КонецПопытки; КонецПроцедуры |
|||
17
LivingStar
08.11.11
✎
14:08
|
(16) спасибо за пример!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |