|
Внешняя обработка по удаление срок с пустой ценой из документа.
| ☑ |
0
tatoshka0403
16.12.14
✎
11:39
|
Написал обработку, интересно работает удаляет не все пустые строки, а только часть, если нажать 5-7 то "вычищает" все ок.
Процедура Инициализировать(Объект, ИмяТабличнойЧасти = Неопределено, ТабличноеПолеОбъекта = Неопределено) Экспорт
Для каждого СтрТабличнойЧасти Из Объект.Товары Цикл
Если СтрТабличнойЧасти.ЦенаВРознице<>0 тогда
Иначе
Объект.Товары.Удалить(СтрТабличнойЧасти);
КонецЕсли
КонецЦикла;
КонецПроцедуры
|
|
1
vicof
16.12.14
✎
11:40
|
Очень интересно. Только кто-то не в курсе про удаление из таблиц значений.
|
|
2
tatoshka0403
16.12.14
✎
11:42
|
(1) Не понял...
|
|
3
vicof
16.12.14
✎
11:43
|
(2) Индекс смещается. Или с конца удаляй, или по отбору.
|
|
4
Симпатяга
16.12.14
✎
11:44
|
Идет смещение индекса. Поэтому пропускает часть строк.
Можно в массив засунуть удаляемые строки, а потом перебрать массив, и удалят из ТЗ как вариант
|
|
5
DmitriyDI
16.12.14
✎
11:45
|
(0)
Для а=1 по Объект.Товары.Количество() Цикл
СтрТабличнойЧасти = Объект.Товары[Объект.Товары.Количество()-а]
КонецЦикла;
|
|
6
pessok
16.12.14
✎
11:46
|
(3) лучше по отбору, а то потом начнутся другие вопросы...
МассивКУдалению = Новый Массив();
Для каждого СтрТабличнойЧасти Из Объект.Товары Цикл
Если СтрТабличнойЧасти.ЦенаВРознице=0 тогда
МассивКУдалению.Добавить(СтрТабличнойЧасти);
КонецЦикла
Для Каждого Эл Из МассивКУдалению ЦИкл
Объект.Товары.Удалить(Эл)
КонецЦикла
|
|
7
tatoshka0403
16.12.14
✎
11:49
|
(3)(4)(5)(6) Всем спасибо.
|
|
8
DmitriyDI
16.12.14
✎
11:57
|
(5) только тут не правильно так надо:
КоличествоСтрок = Объект.Товары.Количество();
Для а=1 по КоличествоСтрок Цикл
СтрТабличнойЧасти = Объект.Товары[КоличествоСтрок-а];
КонецЦикла;
|
|