|
Перейти внутри цикла по строкам на след строку и вернуться | ☑ | ||
---|---|---|---|---|
0
Adgjj
05.07.12
✎
13:59
|
Здравствуйте!
Раньше это делала, но уже не помню, а смотреть метода самой дольше получится. Для каждого СтрокаТЗ Из ТЗ Цикл если СтрокаТЗ.НомерДок <> НомерДокСледующейСтроки тогда //если в след. строке не будет такого же НомерДок ... конецесли; КонецЦикла; |
|||
1
butterbean
05.07.12
✎
14:00
|
>> а смотреть метода самой дольше получится
в мемориз |
|||
2
0_Serg_0
05.07.12
✎
14:01
|
Для каждого СтрокаТЗ Из ТЗ Цикл
й=й+1; если СтрокаТЗ.НомерДок <> НомерДокСледующейСтроки тогда //если в след. строке не будет такого же НомерДок ТЗ[й].НомерДока = "12345"; конецесли; КонецЦикла; |
|||
3
0_Serg_0
05.07.12
✎
14:05
|
или даже так - не совсем понятно что надо
Для каждого СтрокаТЗ Из ТЗ Цикл й=й+1; если СтрокаТЗ.НомерДок <> ТЗ[й].НомерДок тогда //если в след. строке не будет такого же НомерДок конецесли; КонецЦикла; |
|||
4
Defender aka LINN
05.07.12
✎
14:05
|
(3) Желаю удачи на последней строке
|
|||
5
0_Serg_0
05.07.12
✎
14:06
|
(4) чисто по заданию)) "если в след. строке не будет такого же НомерДок"
|
|||
6
izekia
05.07.12
✎
14:08
|
(5) не отмазывайся, тебя теперь тоже не возьмут
|
|||
7
0_Serg_0
05.07.12
✎
14:08
|
+ (3)
Если й < ТЗ.Количество() тогда если СтрокаТЗ.НомерДок <> ТЗ[й].НомерДок тогда конецесли; КонецЕсли; |
|||
8
osa1C
05.07.12
✎
14:09
|
(7) вот так уже лучше
|
|||
9
Ненавижу 1С
гуру
05.07.12
✎
14:10
|
КолвоСтрок = ТЗ.Количество();
Для й=0 по КолвоСтрок-2 Цикл если ТЗ[й].НомерДок <> ТЗ[й+1].НомерДок тогда //выложи ФОТО ... конецесли; КонецЦикла; |
|||
10
Adgjj
05.07.12
✎
14:11
|
я написала так
СтрокаТЗ.НомерДок = ТЗ.Получить(ТЗ.Индекс(СтрокаТЗ)+1).НомерДок но Ваш вариант краше спасибо |
|||
11
rs_trade
05.07.12
✎
14:14
|
(0) С вероятностью чуть менее 200% такое решение задачи не требуется. Автор, рассказывай что изначально надо сделать. Какая задача решается таким циклом?
|
|||
12
izekia
05.07.12
✎
14:17
|
(9) ламер, первая строка лишняя ... а слабо через рекурсию?
|
|||
13
rs_trade
05.07.12
✎
14:26
|
(12) ламерский вопрос. а почему первая строка лишняя?
|
|||
14
izekia
05.07.12
✎
14:30
|
(13) а по-твоему метод каждый цикл вызывается для проверки?
|
|||
15
rs_trade
05.07.12
✎
14:34
|
(14) а по твоему метод внутри цикла?
|
|||
16
izekia
05.07.12
✎
14:39
|
Для й=0 по ТЗ.Количество()-2 Цикл
если ТЗ[й].НомерДок <> ТЗ[й+1].НомерДок тогда //выложи ФОТО ... конецесли; КонецЦикла; |
|||
17
izekia
05.07.12
✎
14:39
|
почему бы не как в (16)
|
|||
18
Ненавижу 1С
гуру
05.07.12
✎
14:40
|
(12) да не слабо рекурсия, на счет строки - просто мне так удобнее
|
|||
19
rs_trade
05.07.12
✎
14:44
|
(17) получается, по твоему ламеры это те, кто пишет не так как ты? то есть все остальные прогеры.
|
|||
20
izekia
05.07.12
✎
14:45
|
(19) лишняя строка, лишняя переменная инициализируется ... зачем это?
|
|||
21
rs_trade
05.07.12
✎
14:47
|
(18) ты видимо не в курсах был что при таком написании, строка КолвоСтрок = ТЗ.Количество() вычисляется каждый проход цикла.
я честно говоря тоже. |
|||
22
izekia
05.07.12
✎
14:49
|
(21) курить до прозрения:
сз = Новый СписокЗначений; Для инд = 0 По 9 Цикл сз.Добавить(инд); КонецЦикла; Для инд = 0 По сз.Количество() - 1 Цикл Сообщить("" + сз.Получить(инд) + " " + инд); сз.Удалить(сз.Количество() - 1); КонецЦикла; |
|||
23
Ненавижу 1С
гуру
05.07.12
✎
14:52
|
(21) да он не про то, условие на границы вычисляется в 1С один раз, в С++ каждый раз
|
|||
24
rs_trade
05.07.12
✎
14:52
|
(22) и что? выложил какой то кривой код. зачем мне его курить?
|
|||
25
Плот
05.07.12
✎
14:53
|
(0) Не понятно что надо. ТО что тз обходишь понял, а дальше что надо?
|
|||
26
izekia
05.07.12
✎
14:53
|
(24) ну не кури
|
|||
27
rs_trade
05.07.12
✎
16:07
|
(26) код не рабочий. что сказать то хотел им?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |