Цикл в цикле, сбивается CYCLE_INDEX



  • Подскажите, пожалуйста, прочитал несколько тем но так и не понял.

    Есть цикл
    for 1 до 20
    ...
    ...
    в нем цикл
    while X>100
    ...
    ....
    if ([[CYCLE_INDEX]]>9) {} <-- но тут мне нужно цикл_индекс из внешнего цикла

    как нашаманить чтобы в while была другая переменная, а не CYCLE_INDEX ?
    Спасибо

    ps
    через if не оч хороший вариант и отправлять на метку.



  • @kuzkuz said in Цикл в цикле, сбивается CYCLE_INDEX:

    Подскажите, пожалуйста, прочитал несколько тем но так и не понял.

    Есть цикл
    for 1 до 20
    ...
    ...
    в нем цикл
    while X>100
    ...
    ....
    if ([[CYCLE_INDEX]]>9) {} <-- но тут мне нужно цикл_индекс из внешнего цикла

    как нашаманить чтобы в while была другая переменная, а не CYCLE_INDEX ?
    Спасибо

    ps
    через if не оч хороший вариант и отправлять на метку.

    https://community.bablosoft.com/topic/3751/не-корректная-работа-при-использовании-цикла-в-цикле/10

    Что бы реализовать счётчик итераций самому, просто создайте переменную с цифрой перед циклом и увеличивайте её в цикле



  • @Fox тест-цикл-в-цикле.xml

    Дело в том, что во внутреннем цикле мне нужно получать правильную переменную CYCLE_INDEX из внешнего. Я конечно понимаю, что я могу во внешнем сделать
    [[VNESHNAYA_PEREM]] = [[CYCLE_INDEX]] и юзать её во внутреннем, но! мне тогда менять кучу кода )
    Поэтому и спросил, нет ли простого варианта, задать для внутреннего цикла, чтобы была любая переменная (счетчиком), но не [[CYCLE_INDEX]]



  • @kuzkuz said in Цикл в цикле, сбивается CYCLE_INDEX:

    @Fox тест-цикл-в-цикле.xml

    Дело в том, что во внутреннем цикле мне нужно получать правильную переменную CYCLE_INDEX из внешнего. Я конечно понимаю, что я могу во внешнем сделать
    [[VNESHNAYA_PEREM]] = [[CYCLE_INDEX]] и юзать её во внутреннем, но! мне тогда менять кучу кода )
    Поэтому и спросил, нет ли простого варианта, задать для внутреннего цикла, чтобы была любая переменная (счетчиком), но не [[CYCLE_INDEX]]

    Установить свой счётчик переменных для внутреннего цикла это самый простой и действенный вариант. Через действие "установить переменную" это будет самым очевидным решением. Если хотите костылить, переименуйте переменные в коде скрипта



  • @Fox
    Установить свой счётчик переменных для внутреннего цикла это самый простой
    Так я о том, что я не понял, как это сделать.
    Как сделать, так, чтобы во внутреннем цикле переменная CYCLE_INDEX вообще не была задействована.
    То что Вы дали ссылку, там просто о том, что цикл в цикле с одной и той же переменной - норм справляется. Но у меня то не та история.

    Т.е. как сделать цикл внутри цикла, так, чтобы из за внутреннего цикла не затиралось значение CYCLE_INDEX внешнего (при использовании её внутри внутреннего). Как я понимаю - никак.



  • @kuzkuz с переменной перед вторым (внутренним) циклом.
    Все равно не получить корректную внешнюю CYCLE_INDEX (внутри внутреннего)
    тест-цикл-в-цикле.xml

    не возможно получить внешний CYCLE_INDEX внутри внутреннего.
    Для понимания, внутренних много, и большие, много кода, то о чем я писал - значит только 1 вариант, задать в новую переменную CYCLE_INDEX внешнего и править код во внутренних.
    Трабл возник, потому что я сперва сделал циклы, а потом обернул это все в один большой цикл.



  • @kuzkuz said in Цикл в цикле, сбивается CYCLE_INDEX:

    @Fox
    Установить свой счётчик переменных для внутреннего цикла это самый простой
    Так я о том, что я не понял, как это сделать.

    Через действие "установить переменную"

    Как сделать, так, чтобы во внутреннем цикле переменная CYCLE_INDEX вообще не была задействована.

    Открываете действие "For", берёте его id, находите в скрипте это действие, в коде действия изменяете имя переменной. Учтите, что при сохранении действия в BAS переменная перетрётся и нужно будет опять её менять в коде скрипта.

    Все равно не получить корректную внешнюю CYCLE_INDEX (внутри внутреннего)
    тест-цикл-в-цикле.xml

    Делать за вас я не буду



  • @Fox всё!! Доперло.
    В исходном коде шаблона заменить в цикле переменную CYCLE_INDEX на заданную )))
    Вы просто нигде не писали, про исходный код. Вот и не впетривал.
    А так в исходном коде можно поменять только для одного этого внутреннего цикла (уничтожить там CYCLE_INDEX)



  • @kuzkuz said in Цикл в цикле, сбивается CYCLE_INDEX:

    Вы просто нигде не писали, про исходный код.

    @Fox said in Цикл в цикле, сбивается CYCLE_INDEX:

    Если хотите костылить, переименуйте переменные в коде скрипта



  • @GhostZ , есть такой кубик "выполнить код" . И он у меня встречается часто.

    Для тех кто не знает (например я), что можно залезть в исходный код и там внести правки, "переименуйте переменные в коде скрипта", можно проассоциировать с этим кубиком. Главное разобрались.

    Вообщем все понятно, не залезая в исходный код, через кубики это не поменять.


Log in to reply