Имя: Пароль:
1C
 
Когда в 1С появится обратный цикл с задаваемым шагом?
🠗 (Волшебник 27.03.2024 13:48)
0 Garykom
 
гуру
27.03.24
13:40
Когда в 1С появится обратный цикл с задаваемым шагом?
ПервыйИндекс = 0;
ПоследнийИндекс = 9;
ШагИндекса = 1;
Для Номер = ПоследнийИндекс По ПервыйИндекс [ Шаг ШагИндекса ] Цикл
  // ...
КонецЦикла;

И еще желательно обратный порядок (точнее указание направления) обхода коллекций
Для Каждого ТекСтр Из Строки [ Возр|Убыв ] Цикл
   // ...
КонецЦикла;
1 Smit1C
 
27.03.24
13:35
(0) скоро, но это не точно ..
2 Garykom
 
гуру
27.03.24
13:36
(1) Имхо никогда
Ибо предпочтут прикрутить "еще одну асинхронность"
3 Garykom
 
гуру
27.03.24
13:41
И еще желательно обратный порядок (точнее указание направления) обхода коллекций
Для Каждого ТекСтр Из Строки [ Возр|Убыв ] Цикл
   // ...
КонецЦикла;
4 rphosts
 
27.03.24
13:40
сделай так:

Для Номер =  ПервыйИндекс По ПоследнийИндекс  Цикл
     ВнутреннийСчетчик = ПоследнийИндекс  - Номер;
  // ...
КонецЦикла;
5 AMur
 
27.03.24
13:40
(0) А что отвечают в 1С ?
6 sikuda
 
27.03.24
13:41
7 Ненавижу 1С
 
гуру
27.03.24
13:42
скоро будет 1С:Исполнитель во всех типовых
8 Garykom
 
гуру
27.03.24
13:42
(4) Да, но это же изврат, лишний код и хуже читаемо!
9 RVN
 
27.03.24
13:43
(0)
ПервыйИндекс = 0;
ПоследнийИндекс = 9;
ШагИндекса = 1;
Пока ПоследнийИндекс >= ПервыйИндекс Цикл
  ПоследнийИндекс = ПоследнийИндекс - ШагИндекса;
  // ...
КонецЦикла;
10 Garykom
 
гуру
27.03.24
13:48
(9) мне больше нравится классика из (4) со внутренним обратным счетчиком
меньше вероятность ошибки по невнимательности
11 Волшебник
 
27.03.24
13:49
(0) Запрещено обсуждение планов или "внутренней кухни" фирмы 1С ибо бесполезно это делать на этом форуме. Напишите на партнёрском.
12 sikuda
 
27.03.24
13:51
(7) Так в 1С Исполнитель тоже не подвезли еще... Ни тебе  .rangeTo() ни .rangeUntil()
Думаете через несколько лет спионерят?
13 bolder
 
27.03.24
13:51
(0) Этой задачи нет.В типовой задаче удаления строки из таблицы значений в цикле используется (4) и никто не возмущается.Не эту ли задачу вы решаете?
14 bolder
 
27.03.24
13:52
(12) В Исполнителе все точно также с циклом,только синтаксис стал лучше.
15 Ненавижу 1С
 
гуру
27.03.24
13:53
(12) наследуйте свой класс от Обходимое и вперед
16 sikuda
 
27.03.24
14:01
(15) Примерчик не дадите такого изврата :)
17 Garykom
 
гуру
27.03.24
14:10
(13) Нет, у меня задача сложней, обратный поиск подходящих элементов (первого предыдущего не исключенного и не объединенного)
С учетом что предыдущие могут быть с флагами Исключить или Объединить
18 bolder
 
27.03.24
14:14
(17) Не сложнее,вместо проверки условия на удаление проверка другого условия.ИМХО.
19 Garykom
 
гуру
27.03.24
14:16
(18) ну да
просто столкнулся в очередной раз что нужен "обратный перебор" а его надо самому извращаться
20 Garykom
 
гуру
27.03.24
14:18
(13) (18) Кстати в очередной раз напомню
Задача удаления строк в цикле правильно решается не обратным обходом!

А созданием новой коллекции и переносом туда только нужных строк!
Которые не надо удалять.

В последних версиях платформы "удаление строк из коллекции" еще быстрее решается через запросы.
Интересно но факт, быстрей будет ТЗ засунуть в ВТ и в запросе отобрать только нужные строки, результат запроса в новую ТЗ.
21 lodger
 
27.03.24
14:47
(20) как ты себе представляешь "созданием новой коллекции и переносом туда"?
если пяток строк кода с циклом по прежней коллекции и заполнитьзначениясвойств, то да. запрос быстрее.
а если платформенный .скопировать(МассивХорошихСтрок)?
а если можно отбор по 1 знач 1 колонки и .скопировать(СтрОтбор)?
22 Garykom
 
гуру
27.03.24
14:58
(21) Согласен что надо уточнять что за коллекция
И есть ли быстрые платформенные методы для копирования в новую с отбором
Подразумевал ТЗ и удаление строк в цикле
23 Волшебник
 
27.03.24
20:48
(15) (16) Пример здесь
https://habr.com/ru/articles/223887/
24 DJ Anthon
 
28.03.24
06:06
(20) создавать новую табличную часть?
25 lodger
 
28.03.24
11:45
(24) 1 цикл обход строк и выбор хороших в ТЗ-копию
потом ТЧ.Загрузить(ТЗ-копия);
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.