Не берёт строки из файла после повторного заполнения

Pulsar

Client
Регистрация
08.07.2019
Сообщения
5
Благодарностей
3
Баллы
3
Привет, народ. Я тут совсем зелёный юзер. Недавно начал осваивать зенку и столкнулся с непоняткой по работе со списками.
Я очень долго лопатил форум, чтобы найти решение. Решение вроде есть, но у меня оно не работает. Возможно это мой дефективный череп не варит + кривые руки. Я не знаю.

Проблема. Когда строки в файле заканчиваются, зенка пишет, что список пуст. Так и должно быть. Но после того, как я вновь заполняю файл данными, к которому привязан список, строки из списка не берутся - зенка говорит, что список пуст. Но файл не пуст. Помогает полный перезапуск зенки.

Что я хочу. Чтобы зенка видела сразу же изменения в файле, который привязан к списку. Допустим закончились данные в файле. Я добавляю новые и после запуска экшена взять строку, чтобы зенка мне не говорила, что список пуст.
Вот здесь была аналогичная проблема. Решение такое: нужно перепривязывать список. Но чёт у меня ничего не перепривязывается.

Вот что я делаю

1. Создаю список. Проставляю все чекбоксы. Поле "путь к файлу" оставляю пустым.
2. Добавляю экшн "привязать к файлу". Указываю только что созданный список. Указываю путь к файлу.
3. Добавляю экшн "получить строку". Ставлю чекбокс "Удалить строку после взятия".
4. Заполняю текстовый файл и запускаю шаблон.
5. После отработки экшенов список пуст. Я снова добавляю в текстовик новые данные. Жму экшн "привязать к файлу".
6. Теперь жму экшн "получить строку", но вылазит ошибка "список пуст". Еще раз привязываю файл (в котором есть новые данные), но всё равно зенка не видит это и говорит "список пуст".

Вот как это выглядит:
1568444259275.png

На скрине видно, что в файле "file-spisok" есть новые данные. Я могу 100 раз нажать экшн "привязать к файлу", но экшн "получить строку" все-равно говорит, что список пуст. Но ведь вы видите, что список не пуст.

Примечание. Если убрать чекбокс "сохранять изменения списка в файл" в свойствах списка, то перепривязка происходит.
1568444889784.png

Но мне нужно, чтобы изменения в файле происходили на ходу.
Я конечно придумал геморный способ. После того, как список заканчивается (при условии, что не стоит чекбокс "сохранять изменения списка в файл"), создаю экшн удалить файл, потом создать файл (действия с файлами→записать текст). Таким образом я получаю пустой файл и его можно заполнять и после этого перепривязка отработает. Но мне кажется, что такой способ не комильфо.
Разъясните пожалуйста, что не так делаю? Мне нужно, чтобы я мог добавлять в файл новые данные и зенка потом не говорила, что список пуст. Приходится всё-время перезапускать зенно, но это же жуть неудобная.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 332
Благодарностей
9 086
Баллы
113
Разъясните пожалуйста, что не так делаю? Мне нужно, чтобы я мог добавлять в файл новые данные и зенка потом не говорила, что список пуст.
Если задача - работать именно с повторяющимися данными, то попробуйте добавлять данные в рабочий список из "эталонного" списка, через экшен Операции над списком - Добавить данные из списка:

42003
 

Pulsar

Client
Регистрация
08.07.2019
Сообщения
5
Благодарностей
3
Баллы
3
Если задача - работать именно с повторяющимися данными, то попробуйте добавлять данные в рабочий список из "эталонного" списка, через экшен Операции над списком - Добавить данные из списка:
sergodjan66, спасибо за ответ. Но у меня в данной ситуации нет такой задачи. Мне нужно, чтобы зенка вновь могла читать текстовый файл при добавлении туда новых данных. А так, после того, как в текстовике закончились строки, зенка больше не видит в этом текстовике ничего, даже при условии, что я после опустошения добавил туда новые данные. Из-за этого приходится перезапускать зенку. Но ведь параллельно у меня там другие шаблоны работают и поэтому неудобно:-)

Давайте представим такую ситуацию. Допустим, я пишу стихи. Я вбиваю 2 строки в текстовик, сохраняю. Зенка берёт эти две строки и отправляет на поэтический форум. Я пошёл покурить. И тут меня осенило, что нужно еще пару строк стихотворения добавить. Снова открываю текстовик (уже пустой, ведь мне так и нужно, чтобы взятие было с удалением) и добавляю еще пару строк стиха, сохраняю текстовик. Но теперь зенка говорит, что мол ваш поэтический час окончен - ваш список пуст. Но как же он пуст, если я только что в него добавил 2 новых строки? Эх, приходится перезапускать зеннопостер, тем самым прерывая работу других шаблонов. Поэзия требует жертв. После перезапуска, зенка видит строки в текстовике и снова их берёт. Но когда строки закончатся в файле, мне нужно снова перезапускать зенно и ей не важно, добавлю я туда хоть все сочинения Льва Толстого - список пуст. Только после перезапуска, а там хоть Кастанеду во всех томах пиши - говорит мне Зеннопостер. И перепривязка к файлу не помогает. В принципе, я выше уже писал)

Если так вообще нельзя в Зенно делать, то это конечно омрачает.
 

phillplacebo

Client
Регистрация
04.02.2020
Сообщения
25
Благодарностей
1
Баллы
3
А накину ка я тоже
Сегодня, ни с того ни с сего, столкнулся (не впервые) с тем, что зенка отказывается считать некогда опустошённые списки вновь полными. Не помогает ни перепривязка в файлу, ни перезапуск проекта сначала! Помогает только полный перезапуск ПМ. Работаю в зенке 3й год и чего только не видал, конечно, за это время, но это извините
 
Последнее редактирование:

Pulsar

Client
Регистрация
08.07.2019
Сообщения
5
Благодарностей
3
Баллы
3
А накину ка я тоже
Сегодня, ни с того ни с сего, столкнулся (не впервые) с тем, что зенка отказывается считать некогда опустошённые списки вновь полными. Не помогает ни перепривязка в файлу, ни перезапуск проекта сначала!
Проблема такая возникает, если в настройках "ZP=>Выполнение=>Политика обработки изменения файла" выбрано "Никогда не загружать сторонние изменения во время работы". Попробуй изменить на "Всегда загружать изменения из файла во время работы"
 

phillplacebo

Client
Регистрация
04.02.2020
Сообщения
25
Благодарностей
1
Баллы
3
Проблема такая возникает, если в настройках "ZP=>Выполнение=>Политика обработки изменения файла" выбрано "Никогда не загружать сторонние изменения во время работы". Попробуй изменить на "Всегда загружать изменения из файла во время работы"
93702

Там, по-моему, по умолчанию стоит именно так настройка. Никогда не менял.
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
А накину ка я тоже
Сегодня, ни с того ни с сего, столкнулся (не впервые) с тем, что зенка отказывается считать некогда опустошённые списки вновь полными. Не помогает ни перепривязка в файлу, ни перезапуск проекта сначала! Помогает только полный перезапуск ПМ. Работаю в зенке 3й год и чего только не видал, конечно, за это время, но это извините
каким методом списки стают "вновь полными "? Так как в ситуации если пустой файл-список заменить полным файлом, но с датой последнего редактирования "старше" первого, то помню зенка обычно не подтягивала изменения. То есть надо править файл, а не заменять его более старым. Или заменять старым, но править его дату на свежую, но тут хз, это я уже теоретически прикинул, надо тестить на последних версиях.
 
  • Спасибо
Реакции: BAZAg

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