Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Удаление строк активного документа (http://forums.kuban.ru/f1040/udalenie_strok_aktivnogo_dokumenta-5498518.html)

Sergey315 13.03.2014 10:55

Удаление строк активного документа
 
Вроде бы задача простая, до боли

Есть кнопка на которой стоит процедура:

ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если ПемеченоНаУдаление = 1 Тогда
УдалитьСтроку();
КонецЕсли;
КонецЦикла;

Строк в документе Очень много
(инвентаризационная ведомость)

При каждом нажатии удаляется часть строк, но не все строки отвечающие условию, не понимаю почему...
После 3-10 нажатий документ чистый

vodoley_ol 13.03.2014 11:06

так попробуй

ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если ПемеченоНаУдаление = 1 Тогда
УдалитьСтроку();
ВыбратьСтроки();
КонецЕсли;
КонецЦикла;

DeiMos 13.03.2014 11:21

Номера помеченных строк - перепиши в список значений.
Затем - в цикле по этому списку (начиная с конца!!!!!):
ПолучитьСтрокуПоНомеру(<Номер>);
УдалитьСтроку();

nordbox 13.03.2014 11:24

Сортировка Пузырьком. Способ пузырька

Блондинка в шок 13.03.2014 11:35

to all. Ну вы ж еще и объясните. :) человек же просит.

0-Sergey315 > [em]не понимаю почему...[/em]
Потому что выборку "сбиваешь".
ты внутри самой выборки динамически меняешь количество выбранных элементов. таким образом, выборка "сбивается".
А решений разных. тебе уже предоставили.

nordbox 13.03.2014 12:25

>>>Если ПемеченоНаУдаление = 1 Тогда
УдалитьСтроку()
Полный бред, САМОЛИКВИДАЦИЯ, СУИЦИД

nordbox 13.03.2014 14:04

(0) Как вариант, тупо выгрузи в другую ТЗ, запомни позиции, (условий мало) а там извращайся

Uho 13.03.2014 14:51

всё велосипед изобретаете? ну-ну

Uho 13.03.2014 15:24

ну тогда и я свой баян запостЮ:

ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Пока ПемеченоНаУдаление = 1 Цикл
УдалитьСтроку();
КонецЦикла
КонецЦикла;

ЗЫ. по-моему, красиво. Сам себя не похвалишь, никто не похвалит :)


Текущее время: 12:18. Часовой пояс GMT +3.