![]() |
![]() |
![]() |
|
Удаление строк в таблице. | ☑ | ||
---|---|---|---|---|
0
Max2015
20.07.15
✎
15:47
|
Привет всем, изучаю 1С и прошу помочь с решением задачи.
Есть заполняемая по команде таблица: &НаКлиенте Процедура ЗаполнитьТаблицу(Команда) ГСЧ = Новый ГенераторСлучайныхЧисел; Для Инд = 1 По 100 Цикл СтрТЧ = Объект.СписокТоваров.Добавить(); СтрТЧ.Номенклатура = "Номенклатура"+Инд; СтрТЧ.Услуга = ГСЧ.СлучайноеЧисло(0,1); КонецЦикла; КонецПроцедуры и команда на удаление "услуг" &НаКлиенте Процедура УдалитьУслуги(Команда) Для Каждого СтрТЧ Из Объект.СписокТоваров Цикл Если СтрТЧ.Услуга = Истина Тогда Объект.СписокТоваров.Удалить(СтрТЧ); КонецЕсли; КонецЦикла; КонецПроцедуры Но по видимому из-за смещения строк при удалении происходит сбой и удаляется только часть значений. Никак не доходит, как решить данную проблему. |
|||
1
Fish
гуру
20.07.15
✎
15:51
|
(0) Обходи ТЧ при удалении с конца. Или сначала загоняй строки для удаления в массив, а потом удаляй.
|
|||
2
cw014
20.07.15
✎
15:52
|
&НаКлиенте
Процедура УдалитьУслуги(Команда) КолВоСтрок = Объект.СписокТоваров.Количество(); Сч = 0; Пока Сч < КолВоСтрок Цикл СтрТч = Объект.СписокТоваров[Сч]; Если СтрТЧ.Услуга Тогда Объект.СписокТоваров.Удалить(СтрТЧ); КолВоСтрок = Объект.СписокТоваров.Количество(); Иначе Сч = Сч + 1; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
3
rozer76
20.07.15
✎
16:02
|
i = 0;
Пока i < Таб.Количество() Цикл Если <?"Условие"> Тогда Таб.Удалить(i) Иначе i = i +1 КонецЕсли; КонецЦикла; |
|||
4
rozer76
20.07.15
✎
16:04
|
КолвоЭлементовКоллекции = Строки.Количество();
Для ОбратныйИндекс = 1 По КолвоЭлементовКоллекции Цикл ЭлементКоллекции = Строки[КолвоЭлементовКоллекции - ОбратныйИндекс]; Если ЭлементКоллекции.Номенклатура.Услуга Тогда Строки.Удалить(ЭлементКоллекции); КонецЕсли; КонецЦикла; |
|||
5
Max2015
20.07.15
✎
16:34
|
Благодарю за столь быстрые ответы.
|
|||
6
mikecool
20.07.15
✎
16:34
|
М = НайтиСтроки (Новый Структура("Услуга", Истина)
Для Каждого Строка Из М Удалить(Строка) |
|||
7
D_E_S_131
20.07.15
✎
16:37
|
Вот так и пишутся дипломы по 1С...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |