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

  • Автор темы Автор темы Pulsar
  • Дата начала Дата начала

Pulsar

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

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

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

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

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

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

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

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

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

42003
 
Если задача - работать именно с повторяющимися данными, то попробуйте добавлять данные в рабочий список из "эталонного" списка, через экшен Операции над списком - Добавить данные из списка:

sergodjan66, спасибо за ответ. Но у меня в данной ситуации нет такой задачи. Мне нужно, чтобы зенка вновь могла читать текстовый файл при добавлении туда новых данных. А так, после того, как в текстовике закончились строки, зенка больше не видит в этом текстовике ничего, даже при условии, что я после опустошения добавил туда новые данные. Из-за этого приходится перезапускать зенку. Но ведь параллельно у меня там другие шаблоны работают и поэтому неудобно:)

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

Если так вообще нельзя в Зенно делать, то это конечно омрачает.
 
А накину ка я тоже
Сегодня, ни с того ни с сего, столкнулся (не впервые) с тем, что зенка отказывается считать некогда опустошённые списки вновь полными. Не помогает ни перепривязка в файлу, ни перезапуск проекта сначала! Помогает только полный перезапуск ПМ. Работаю в зенке 3й год и чего только не видал, конечно, за это время, но это извините
 
Последнее редактирование:
А накину ка я тоже
Сегодня, ни с того ни с сего, столкнулся (не впервые) с тем, что зенка отказывается считать некогда опустошённые списки вновь полными. Не помогает ни перепривязка в файлу, ни перезапуск проекта сначала!
Проблема такая возникает, если в настройках "ZP=>Выполнение=>Политика обработки изменения файла" выбрано "Никогда не загружать сторонние изменения во время работы". Попробуй изменить на "Всегда загружать изменения из файла во время работы"
 
Проблема такая возникает, если в настройках "ZP=>Выполнение=>Политика обработки изменения файла" выбрано "Никогда не загружать сторонние изменения во время работы". Попробуй изменить на "Всегда загружать изменения из файла во время работы"
93702

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

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