@usertrue Не могу сказать, что сильно нагружена, но все же.
Странно работает "Удалить Текущий Элемент"
-

после перезапуска скрипта удаляет все отработанные строки файла, хотя по логике вроде как должен удалить только те которые != "1"
файл содержит строки с единицей
В настройках ресурса стоит "Чтение"
Если я что не так делаю, посоветуйте верное решение
скрипт 0_1560967248481_primer.xml
-
@roman-vas Так устроит? 0_1560989655776_1560970899058-primer.xml
-
@roman-vas 0_1561011113257_1560970899058-primer.xml
Хотя это видимо всетаки БАГ, хотя думаю и не критичный. Суть в том, что БАС за один раз удаляет из файла все строки с одинаковым значением, но не удаляет все их из ресурса. Поэтому когда ему в цикле в ресурсе попадается снова значение, которое надо удалить, то он удаляет строку из файла которая ему по идее должна соответствовать, но по факту ее там нет и он удаляет другую строку..
-
Я же даже начал писать тикет на счёт бага

но пока расписывал алгоритм действий до меня дошло, что это не баг:DПри старте работы скрипта BAS читает файлы ресурсов и помещает их в виртуальный ресурс. Далее уже с ним идёт работа в скрипте с последующей синхронизацией с файлом. Важно понимать, что ресурс и файл ресурса не одно и тоже.
Если посмотреть код опции "Удалить из файла/базы мгновенно" в действии "Удалить Текущий Элемент"

if(true) RSync("resource1")то увидим метод RSync() который синхронизирует виртуальный ресурс с файлом ресурса, а условия использования ресурса у вас стоят:

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

и скрипт отработает так, как вы ожидали:
-
@Fox Тогда вопрос, если скрипт работает в многопотоке и "Количество одновременных использование"=2, и скрипт получит ошибку в 1ом потоке и удалит строку, а потом спустя секунд 30 получит 2ой поток ошибку с той же строкой из ресурса и будет стоять действие "Удалить строку", то что он удалит? Все строки выше?
Потому что количество успешных выполнений у меня стоит больше 1, но все-равно удаляется все выше
-
@WildBee said in Странно работает "Удалить Текущий Элемент":
@Fox Тогда вопрос, если скрипт работает в многопотоке и "Количество одновременных использование"=2, и скрипт получит ошибку в 1ом потоке и удалит строку, а потом спустя секунд 30 получит 2ой поток ошибку с той же строкой из ресурса и будет стоять действие "Удалить строку", то что он удалит? Все строки выше?
Вы внимательно прочитали моё сообщение? Особенно вот этот момент:

Вся проблема состоит в том, что вы не разрешаете удалять элементы в настройке ресурса
-
@zaifat said in Странно работает "Удалить Текущий Элемент":
@Fox а можно для тех кто в танке, и желательно одним предложением, как сделать чтоб не удаляло все строки выше?
Вы бы хоть модель танка написали
:DВсё зависит от ваших целей, если вам нужно удалять только выборочно данные из ресурса, то установите ресурс из файла с настройками "чтение и удаление строк после использования"

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

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

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