Странно работает "Удалить Текущий Элемент"

Поддержка
  • @prakash Пссс, спать 20 миллисекунд бесполезно)) Там минимальное значение 1000.

  • @uraabk Возможно... Вот так правильней будет 0_1560993171618_1560970899058-primer.xml

  • @roman-vas 0_1561011113257_1560970899058-primer.xml

    Хотя это видимо всетаки БАГ, хотя думаю и не критичный. Суть в том, что БАС за один раз удаляет из файла все строки с одинаковым значением, но не удаляет все их из ресурса. Поэтому когда ему в цикле в ресурсе попадается снова значение, которое надо удалить, то он удаляет строку из файла которая ему по идее должна соответствовать, но по факту ее там нет и он удаляет другую строку..

  • Я же даже начал писать тикет на счёт бага
    0_1561023415772_6789d92b-0f0f-491f-b7a9-463321176070-изображение.png
    но пока расписывал алгоритм действий до меня дошло, что это не баг :D

    При старте работы скрипта BAS читает файлы ресурсов и помещает их в виртуальный ресурс. Далее уже с ним идёт работа в скрипте с последующей синхронизацией с файлом. Важно понимать, что ресурс и файл ресурса не одно и тоже.

    Если посмотреть код опции "Удалить из файла/базы мгновенно" в действии "Удалить Текущий Элемент"
    0_1561023819366_744e9954-589e-4466-bf5a-a1f4b03d3680-изображение.png

             if(true)
             RSync("resource1")
    

    то увидим метод RSync() который синхронизирует виртуальный ресурс с файлом ресурса, а условия использования ресурса у вас стоят:
    0_1561025232228_c5f7de68-3e4f-46d8-9dd6-bd80703733bb-изображение.png

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


    Для наглядности вышесказанного просто увеличьте "успешное использование" до 2
    0_1561025213762_13b9b823-7d0e-4e1c-8fd7-71707d28cdd2-изображение.png

    и скрипт отработает так, как вы ожидали:


    Тестовый скрипт
    тестовый файл

  • @fox О как) Спасибо что разобрались
    Буду пробовать применять в проекте

  • @Fox Тогда вопрос, если скрипт работает в многопотоке и "Количество одновременных использование"=2, и скрипт получит ошибку в 1ом потоке и удалит строку, а потом спустя секунд 30 получит 2ой поток ошибку с той же строкой из ресурса и будет стоять действие "Удалить строку", то что он удалит? Все строки выше?

    Потому что количество успешных выполнений у меня стоит больше 1, но все-равно удаляется все выше

  • @WildBee said in Странно работает "Удалить Текущий Элемент":

    @Fox Тогда вопрос, если скрипт работает в многопотоке и "Количество одновременных использование"=2, и скрипт получит ошибку в 1ом потоке и удалит строку, а потом спустя секунд 30 получит 2ой поток ошибку с той же строкой из ресурса и будет стоять действие "Удалить строку", то что он удалит? Все строки выше?

    Вы внимательно прочитали моё сообщение? Особенно вот этот момент:
    b7b6e271-b3ce-416f-a736-3e83b9fc077a-изображение.png

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

  • @Fox а можно для тех кто в танке, и желательно одним предложением, как сделать чтоб не удаляло все строки выше?

  • @zaifat said in Странно работает "Удалить Текущий Элемент":

    @Fox а можно для тех кто в танке, и желательно одним предложением, как сделать чтоб не удаляло все строки выше?

    Вы бы хоть модель танка написали :D

    Всё зависит от ваших целей, если вам нужно удалять только выборочно данные из ресурса, то установите ресурс из файла с настройками "чтение и удаление строк после использования"

    b5f024ed-5ace-416a-90f0-2e7f0d10a46a-изображение.png

    режим использования "используйте каждую строку любое количество раз"

    c8eae359-bc8d-4dd9-b6bf-c4a883e97472-изображение.png

    ну или вот настройки для готового ресурса

    59434b77-4553-41a7-915d-f8ab511fd3c6-изображение.png


    Далее в скрипте выставляете условие при котором должно сработать действие "Удалить Текущий Элемент"

    3c5a6386-e4a7-41f7-ad79-0daea28b37e6-изображение.png

    Пример скрипта: 2109.xml
    Пример файла для скрипта: file.txt

  • @zaifat тут надо уточнить, а строки у вас одинаковые ?
    Дублируются ?