Имя: Пароль:
1C
1С v8
обход сразу нескольких циклов одновременно
0 Hipocrisy2013
 
05.06.14
15:01
Обход сразу нескольких циклов одновременно возможен? т.е. допустим есть 3 таблицы значений и нужно сначала перебрать во всех таблицах первую строчку, потом вторую и т.д.
1 Zombi
 
05.06.14
15:02
В одном цикле несколько таблиц обойти, не?
2 Hipocrisy2013
 
05.06.14
15:10
обход нужен по строчно, т.е. если в первой таблице обошли первую строчку, переходим к второй строчке, потом опять к первой, обходим уже вторую строчку, потом преходим к второй таблице и сразу обходим вторую строчку, а не начинать с первой
3 kosts
 
05.06.14
15:11
(0) Ну и пиши один цикл и три блока с таблицами внутри цикла
4 acsent
 
05.06.14
15:14
Для счетчик = 0 По Колво Цикл

Строка1 = ТЗ1[Счетчик];
Строка2 = ТЗ2[Счетчик];
Строка3 = ТЗ3[Счетчик];
5 ДенисЧ
 
05.06.14
15:14
(4) "Индекс за пределами границы!" :-))
6 Dionis Sergeevich
 
05.06.14
15:15
несколько циклов одновременно - возможно. На 2-х разных машинах. Так как даже многозадачность в ОС реализована спомощью delay(). Фактичесски 1 комп может одновременно делать только 1 операцию.

зы. про многоядерность камней не в курсе - не интерисовался
7 МойКодУныл
 
05.06.14
15:17
"т.е. если в первой таблице обошли первую строчку, переходим к второй строчке, потом опять к первой, обходим уже вторую строчку"
схоронил, подумаю на досуге о тчетности бытия.
8 Zombi
 
05.06.14
15:20
(7) Как будто Кличко послушал? :)
9 МойКодУныл
 
05.06.14
15:22
(8) Беседу Кличко и Черномырдина
10 Йохохо
 
05.06.14
15:30
(7) два шага вперед, один назад ,два вперед..
11 kosts
 
05.06.14
15:50
(2) Если что, то строки таблиц можно получать как из массива, через []
12 rendez-vous
 
05.06.14
15:55
(0) Обойти можно что угодно:
Если Ложь тогда
   //первый цикл
   //второй цикл
   //третий цикл
  
КонецЕсли;
13 МойКодУныл
 
05.06.14
16:00
Количество строк в таблицах одинаковое всегда?
Состав колонок? Может сделать одну таблицу и ее обойти. В обще таблице собрать ВСЕ данные всех 3х таблиц.
14 Segate
 
05.06.14
16:01
Я думаю тут нужна рекурсия
15 МойКодУныл
 
05.06.14
16:06
(14) и регулярные выражения
16 f_vadim
 
05.06.14
16:08
Я думаю тут нужно поподробнее описать задачу.
Сдаётся мне ТС какой-то неверный подход к решению задачи выбрал. Может эти таблицы запросом получаются и там можно простым джойном обойтись.
17 Hipocrisy2013
 
05.06.14
16:09
количество строк разные в таблицах
18 МойКодУныл
 
05.06.14
16:10
(17) Тогда поподробней, что нужно сделать с этими 3мя таблицами с разным количеством строк.
Хочешь перебрать каждую с каждой?
19 DS
 
05.06.14
16:12
(18) Какая разница? В (4) дали ответ.
20 f_vadim
 
05.06.14
16:14
(19) не канает, ибо (17)
21 DS
 
05.06.14
16:16
(20) Элементарную проверку добавить.
22 f_vadim
 
05.06.14
16:19
(21) исходя из текущей постановки задачи, можно добавить ещё (14) и (15)
23 Йохохо
 
05.06.14
16:19
проблема в коде имена тз написать в алгоритме?
М = Новый Массив; М.Добавить();
М.Добавить(Тз1);М.Добавить(Тз2);М.Добавить(Тз3);
Шагнуть(М[1][1]);
Шагнуть(М[1][2]);
Шагнуть(М[2][1]);
24 МойКодУныл
 
05.06.14
16:22
(21) Не ясна суть. А почему нужно именно первую с первой а не со второй строкой(см (2), если количество строк разное? Почему именно последнюю строку бОльшей талицы обделять, а не 3, 5, 10?:).
У меня чуйка, что человеку нужно каждую строку каждой таблицы сравнить\обсчитать друг с другом. Могу ошибаться.
25 МойКодУныл
 
05.06.14
16:24
Хотелось бы увидеть структуру таблиц, и что нужно на выходе из процедуры.
26 Dionis Sergeevich
 
05.06.14
16:31
(0) Цикл в цикле сделай просто.
27 Enders
 
05.06.14
16:48
(26) тогда уже Цикл в цикле в цикле) таблицы то 3.
Естественно не стоит так делать)
28 ScreamSaw
 
05.06.14
16:55
(12) Прямо идеальный индусский код. В это условие столько строк кода можно вкорячить....
29 Fish
 
05.06.14
16:57
(0) Даже сложно представить, зачем такой изврат может понадобиться.
30 Dethmont
 
05.06.14
16:59
(18) без LISP не взлетит...
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан