Имя: Пароль:
1C
1C 7.7
v7: Перебор ТЧ документа
0 vasko
 
12.01.19
09:23
Есть самописная конфигурация на 7. При выводе в печатную форму строк тч стандартным циклом этот цикл начинается со следующей после активной строки в тч, т.е если выделена например 2 строка то выводятся строки начиная с 3.
1 Duke1C
 
12.01.19
09:27
(0)Мы рады за Вас. Вопрос то в чём?
2 ДенисЧ
 
12.01.19
09:31
Что такое стандартный цикл?
3 MetaDon
 
12.01.19
09:33
(0) ну выгрузи ТЧ в ТЗ и применяй стандартный цикл по ТЗ откуда надо;)
4 vasko
 
12.01.19
09:35
Цик вот такой

Пока ПолучитьСтроку() = 1 Цикл
    Наименование = Товар;
    Таб.ВывестиСекцию("Строка");
КонецЦикла;

Как сделать что-бы цикл всегда начинался с 1 строки?
5 Duke1C
 
12.01.19
09:38
(4) А ВыбратьСтроки(); перед циклом есть, а то мне отсюда плохо видно
6 vasko
 
12.01.19
09:42
(5) Спасибо. Забыл эту строку добавить.
7 lals
 
13.01.19
07:50
Чтобы не плодить темы Подниму эту.
Не могу найти как перебрать строк документа в обратном порядке.
Формируется документ програмно и в некоторых строках нет количества, необходимо проверить и удалить строки.
Если перебирать  прямым порядком то удаление строки сбивает счетчик   и следующая строка не проверяется.
8 Duke1C
 
13.01.19
08:10
(7) КС=КоличествоСтрок();
ВыбратьСтроки(); // Может и без этого прокатит
Для Сч=-КС по -1 Цикл
   ПолучитьСтрокуПоНомеру(-Сч);
   Если "ТвоёУсловие"=... Тогда
      УдалитьСтроку(-Сч);
   КонецЕсли;
КонецЦикла;
9 Duke1C
 
13.01.19
08:12
+8 Но, имхо, лучше ВыгрузитьТабличнуюЧасть() в ТаблицуЗначений, с ней сотворить всё что нужно и загрузить обратно
10 lals
 
13.01.19
08:14
(8) Супер! Спасибо!
(9) тоже нормально но думаю  вариант из (8) будет проще.
11 lals
 
13.01.19
08:24
В итоге работает как надо
    Для а = -КоличествоСтрок() По -1 Цикл
        ПолучитьСтрокуПоНомеру(-а);
        Если Кво = 0 Тогда
            УдалитьСтроку();
        КонецЕсли;
    КонецЦикла;
12 2S
 
13.01.19
08:51
Назад в будущее
13 HawkEye
 
13.01.19
11:45
(7) как же ты искал, что не смог найти самую популярную тему про 7.7?
14 Duke1C
 
13.01.19
16:18
(11) Да, запарился, как для ТЗ написал: УдалитьСтроку(-Сч);
15 Злопчинский
 
13.01.19
21:16
(9) некоторые ппдстр придают нвбн значение порядку однотипных строк. если этим не морочиться, то типа так

ВыгрузитьТабличнуюЧасть(ТЗ);
ТЗ.Сортировать("Количество-");
поз=0; Если ТЗ.НайтиЗначение(0,поз,"Количество")<>0 Тогда
  ТЗ.КоличествоСтрок(поз-1);
  ЗагрузитьТабличнуюЧасть(ТЗ);
КонецЕсли;
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.