Имя: Пароль:
1C
 
Удалить строки из тч документа 8.3
0 Обфускация
 
23.01.19
09:01
Подскажите, как это правильно сделать. Тупо строку удалить по условию не совсем правильно, там все хитрее как-то надо сделать, чтобы курсор не перескакивал.
1 Fram
 
23.01.19
09:02
(0) а теперь сформулируй свой вопрос с примерами
2 piter3
 
23.01.19
09:03
(1) пусть поиском уже пользуется
3 Mankubus
 
23.01.19
09:03
(0) напиши цикл в котором обходишь строки начиная с последней
4 Serg_1960
 
23.01.19
09:07
Вероятно автор уже научился удалять, - ему сейчас нужно "чтобы курсор не перескакивал"(цы) :)
5 Волшебник
 
23.01.19
09:11
(4) "Научилась"
6 Обфускация
 
23.01.19
09:14
вот если это по всем документам прогнать, то будет работать? В групповой обработке реквизитов запускаю. На одном сработало.

    МасСтрок = Новый Массив;
    
    Для каждого Строка из объект.товары Цикл
        Если Строка.сумма=0 Тогда
            МасСтрок.Добавить(Строка);
        КонецЕсли;
    КонецЦикла;
            
    Для каждого Строка из МасСтрок Цикл
        объект.товары.Удалить(Строка);
    КонецЦикла;
объект.записать()
7 ДенисЧ
 
23.01.19
09:15
(6) А как связан твой код и "чтобы курсор не перескакивал" ?
8 Serg_1960
 
23.01.19
09:16
(5) Оу. Мои извинения и соболезнования.

Моя плохо говорить по русская. Как сказать "автор" в женском роде? И ещё: как будет "бестолочь" в женском роде?
9 Обфускация
 
23.01.19
09:20
(7)
ну это новый, улучшенный код, чем вначале был
10 Serg_1960
 
23.01.19
09:22
(7) Эээ... чисто формально говоря, в некоторых языках "курсор" = "итератор" = "указатель".
11 Ordnung
 
23.01.19
09:22
(8) Согласно новым феминистическим трендам - "авторка" :)

(10) Опередил. Итератор, ну.
12 Ordnung
 
23.01.19
09:23
(6) Будет.
13 Serg_1960
 
23.01.19
09:28
DelСтроки = Объект.Товары.НайтиСтроки(Новый Структура("Сумма", 0));

Для Каждого DelСтрока Из DelСтроки Цикл
   Объект.Товары.Удалить(DelСтрока);
КонецЦикла;
14 Pro-tone
 
23.01.19
10:19
(13)

DelСтроки = Объект.Товары.НайтиСтроки(Новый Структура("Сумма", 0));


~М1: Для Каждого DelСтрока Из DelСтроки Цикл
   Объект.Товары.Удалить(DelСтрока);
   Перейти ~М1;
КонецЦикла;
15 Fram
 
23.01.19
10:24
(14) это зачем?
16 catena
 
23.01.19
10:29
(14)Какая-то личная неприязнь к концу цикла?
17 ZDenis
 
23.01.19
10:29
А вот так нельзя?
Объект.Товары.Очистить();
18 catena
 
23.01.19
10:30
(17)Можно, но пользователи вряд ли обрадуются.
19 ZDenis
 
23.01.19
10:30
Аа догнал, по условию надо
20 Exigo
 
23.01.19
10:54
Я бы сделал так:
ТЗКопия = ТЗИсходная.Скопировать();
ТЗИсходная.Очистить();
Для Каждого Стр ИЗ ТЗКопия Цикл
   Если УсловиеПроверки Тогда
      новСтр = ТЗИсходная.Добавить();
      ЗаполнитьЗначенияСвойств(Стр,НовСтр);
   КонецЕсли;
КонецЦикла
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший