При внесении изменений в привязанный к файлу список, сам файл не меняется (5.10.1.0)

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
---------
Уважаемые товарищи разработчики/модераторы ... ПРОБЛЕМА решена, ЭТО НЕ БАГ, а мое недопонимание механизма работы.
---------

Писал уже в ветке с ананосом 5.10.1.0, но дублирую здесь, так как тут тема более подходящая

Обнаружился такой вот баг.
Объясню на своем примере:
Есть список с названием promo.
Список promo с помощью кубика операции со списками привязывается к файлу.
Далее выполняем кубик C# который в цикле из привязанного к файлу списка N раз берет первый элемент (индекс 0), удаляет этот элемент, кладет его в конец это го же списка ... ну и так же добавляет этот элемент в еще один список promo_part (но это уже к делу не относится). Все работает как надо. Если тыркнуть по списку в панеле и нажать там просмотр содержимого, то все как и должно быть, как задумано ... НО в файле к которому привязан список promo никаких изменений не происходит ... т.е шаблон отработал, а файл так и остался в первоначальном виде, хотя по идее ведь должен был измениться т.к привязан.
Код:
var list1 = project.Lists["promo"];
var list2 = project.Lists["promo_part"];
int n = int.Parse(project.Variables["promo_count"].Value);
if ( list1.Count > 0 && n > 0 ){
    lock(SyncObjects.ListSyncer){
        for(int i=0; i<n; i++){
            var el = list1[0]; // берем 1-й элемент списка promo
            list1.RemoveAt(0); // удаляем первый элемент списка promo
            list1.Add(el); // кладем взятый первый элемент в конец списка promo
            list2.Add(el); // кладем взятый первый элемент в список promo_part       
        }
    }
}
 
Последнее редактирование:

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
Здесь количество промо-материалов (строк), которые необходимо взять из списка promo и положить в список promo_part. При этом каждый взятый промо-материал (строка) удаляется сначала исходного списка и кладлется в его конец.
У меня обычно n = 1 ... просто заложена возможность менять в дальнейшем.
Смысл в том что каждый поток берет заданное кол-во промо-материалов с которыми работает и что бы следующий поток брал новые промо-материалы и сделано это чередование (взяли первый, удалили, в конец добавили).
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
скрин как привязан

P.S. а второй список привязан куда ложишь ??
 

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
Привязан кубиком с указанием пути к файлу. Путь правильный, строки берутся, удаляются и кладутся в конец как положено (если смотреть кликнув в панеле на список и посмотреть его содержимое) ... только изменения в файл не записываются!
Второй список promo_part ни к чему не привязан, он локальный, доступен только текущему потоку ... с ним дальше и происходит вся работа.
 

Вложения

  • 96,9 КБ Просмотры: 3

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
Так, разобрался!!! Оказалось - ложная тревога!!!
Оказывается в настройках списка надо выставлять галки (загружать из файла, сохранять изменения списка в файл), НО САМ ФАЙЛ НЕ УКАЗЫВАТЬ, а привязывать его через кубик. А я то наткунлся на какой-то старый пост ростоникса, где он написал что или файл указывай и галки ставь или привязку через кубик делай, это мол то же самое. Вот я в полной уверенности что это тоже самое галки эти и не выставил ;-)))

ssXXXss, большое Вам человеческое СПАСИБО за попытку помочь и разобраться! Все работет как надо, это я не так понял пост ростоникса .. думал что привязка через кубик автоматически означает и синхронизация с файлом.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)