|
Как удалить строки из ТЗ | ☑ | ||
---|---|---|---|---|
0
ЛучшийПрограммер1С
02.08.16
✎
10:43
|
Функция ФильтроватьОтклонения(ВсеОтклонения, ДатаНач, ДатаКон)
Отклонения=ВсеОтклонения.Скопировать(); Для Каждого Отклонение Из Отклонения Цикл Если Отклонение.ПериодЗавершения<ДатаНач ИЛИ Отклонение.Период>ДатаКон Тогда Отклонения.Удалить(Отклонение); Иначе Если Отклонение.Период<ДатаНач Тогда Отклонение.Период = ДатаНач; КонецЕсли; Если Отклонение.ПериодЗавершения>ДатаКон Тогда Отклонение.ПериодЗавершения=ДатаКон; КонецЕсли; КонецЕсли; КонецЦикла; Возврат Отклонения; КонецФункции Удаляет через одну. Походу такая песня - допустим 5 строк. Первую удалил, осталось четыре строки. Переходит ко второй строке, а по исходной получается к третьей. Как правильно удалить? |
|||
1
batman69
02.08.16
✎
10:44
|
(0) Поиск. Мозг.
|
|||
2
igork1966
02.08.16
✎
10:45
|
(0) Можно обходить с конца. Можно сформировать массив удаляемых и удалить потом
|
|||
3
Любопытная
02.08.16
✎
10:45
|
Собрать массив удаляемых строк и потом этот массив удалять.
|
|||
4
mkalimulin
02.08.16
✎
10:45
|
(0) Удаляй с конца.
|
|||
5
oslokot
02.08.16
✎
10:46
|
всё во вселенной движется по спирали..
|
|||
6
ЛучшийПрограммер1С
02.08.16
✎
10:51
|
А с конца то как удалять?
Для Каждого Отклонение Из Отклонения Цикл |
|||
7
ЛучшийПрограммер1С
02.08.16
✎
10:53
|
(3) Как собрать массив, ну соберу массив, а как удалять его
|
|||
8
Evgueni
02.08.16
✎
10:53
|
Отклонения=ВсеОтклонения.Скопировать();
мсОтклонения = Новый Массив; Для Каждого Отклонение Из Отклонения Цикл Если Отклонение.ПериодЗавершения<ДатаНач ИЛИ Отклонение.Период>ДатаКон Тогда //Отклонения.Удалить(Отклонение); мсОтклонения.Добавить(Отклонение); Иначе Если Отклонение.Период<ДатаНач Тогда Отклонение.Период = ДатаНач; КонецЕсли; Если Отклонение.ПериодЗавершения>ДатаКон Тогда Отклонение.ПериодЗавершения=ДатаКон; КонецЕсли; КонецЕсли; КонецЦикла; Для Каждого элмнт Из мсОтклонения Цикл Отклонения.Удалить(элмнт); КонецЦикла; Возврат Отклонения; |
|||
9
Это_mike
02.08.16
✎
10:55
|
де жа вю...
|
|||
10
igork1966
02.08.16
✎
10:55
|
(6) Вообще-то это не единственный вариант цикла...
Для (For) Синтаксис: Для <Имя переменной> = <Выражение 1> По <Выражение 2> Цикл // Операторы [Прервать;] // Операторы [Продолжить;] // Операторы КонецЦикла; |
|||
11
ЛучшийПрограммер1С
02.08.16
✎
11:46
|
(8) Спасибо )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |