Как задать переменную? Баг или фича?

Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
Приветствую, уважаемые спецы-шаблоноделы (и не очень)!

Разбираюсь потихоньку с прогой, решил начать с простого (как мне думалось) дела - обходчик личных кабинетов в партнерках. Партнерских сайтов много, моих же мультиков немного, но есть почти в каждой по 2-3 аккаунта.

Идея шаблона задумывалась такая:
  1. Под каждый мульт - свой зенно-профиль, для того, чтоб куки сохранялись и не нужно было авторизовываться
  2. Сначала профиль идет на страницу проверки баланса, если происходит редирект, значит, акк разлогинился и идет на страницу авторизации
  3. Далее этим профилем обходим все партнерские сайты.
  4. По окончании работы сохраняем профиль и переходим к другому профилю, чтоб повторить п.1-3

Так как все сайты разные, приходится под каждый писать отдельный шаблон
  • авторизации
  • проверки баланса
  • запрос на вывод
Данные блоки я намеренно упустил из приложенного шаблона, ибо там куча дополнительных телодвиженний (записываем текущий баланс в табличку, сравниваем с предыдущей проверкой и в зависимости от цифры выполняем ряд действий). По отдельности оно все работает, а вот в цикл как загнать, понять не могу, потому что упираюсь в следующую траблу...


57109


Перепробовал кучу вариантов, но ошибки с назначением переменной все равно есть, то "строки с номером не существует", то названия столбцов неправильные имена имеют (что-то в таком роде).

Дайте совет, ребятушки, где же я нагрешил? Или как-то может оптимальнее это делается? Я сам не кодер, потому варианты писать на Сишарпе не надо ))) Я верю, что решение есть и довольно простое, просто я его еще не догнал )))

Для облегчения понимания прилагаю свой проект к топику (может, и сгодится кому?)
 

Вложения

  • 69,8 КБ Просмотры: 111

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 686
Баллы
113
если строки нет в таблице стаким номером, то он и не возьмет ее из ниоткуда.
много буковок, а суть вопроса не ясна. что надо сделать конкретно на этом шаге отмеченном стрелкой ? что должно получиться ?
 
  • Спасибо
Реакции: Андрейка2020
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
если строки нет в таблице стаким номером, то он и не возьмет ее из ниоткуда.
много буковок, а суть вопроса не ясна. что надо сделать конкретно на этом шаге отмеченном стрелкой ? что должно получиться ?
Из таблицы "текущий пользователь" должна выбраться строка с логином/паролем для текущего селлера.

57115


57116
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 686
Баллы
113
если есть текст из переменной seller в таблице , то выберет. если нет то вернет ошибку.
немного потелепатирую. как то странно таблица привязана .... таблиц несколько ? перепривязка делается в шабе ?
и немного отойду от темы. галочку лучше снять с пункта Первая строка - заголовки. у меня в многопотоке из-за нее сбои были. +- 1 строка скачет. долго мучался а как только снял, все работает как часы.
 
Последнее редактирование:

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 686
Баллы
113
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
кубика привязки таблицы к файлу
Что это за кубик такой?
как то странно таблица привязана
{-Project.Directory-}{-Variable.current_user-}.xlsx

таблиц несколько ?
да
перепривязка делается в шабе ?
Это как?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 362
Благодарностей
3 288
Баллы
113
{-Project.Directory-}{-Variable.current_user-}.xlsx
Нельзя так объявлять таблицу, так как переменная current_user будет пуста при старте.
Что это за кубик такой?
Экшен привязки к таблице, как раз его и надо использовать.
 
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
Нельзя так объявлять таблицу, так как переменная current_user будет пуста при старте.
ну она же в процессе работы скрипта объявляется чуть ранее.
Экшен привязки к таблице, как раз его и надо использовать.
да-да, именно его я и нашел "с горем пополам" :D
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 362
Благодарностей
3 288
Баллы
113
ну она же в процессе работы скрипта объявляется чуть ранее.
При старте шаблона, могут устанавливаться значения переменных только из входных настроек и значений по умолчанию (входные приоритетнее).
 
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
При старте шаблона, могут устанавливаться значения переменных только из входных настроек и значений по умолчанию (входные приоритетнее).
Может, есть какое-то другое решение? Я так полагаю, задача-то обыденная. Как-то же делают люди подобные шаблоны-боты? )))

57123


На скриншоте показаны структура файлов в шаблоне, которые выделены красными рамками - это те, в которые будет запись осуществляться (для примера выделил левее желтым), не только чтение.
Подозреваю, что в логике шаблона по неопытности где-то ошибся.
Ну, или может, кто-нибудь протестит/поправит все же на прикрепленном мной варианте в стартовом посте? ))) Вариант звонкой благодарочки не исключаю, ибо на@бся уже знатно со своим "первым проектом", а помочь некому...
 
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
При старте шаблона, могут устанавливаться значения переменных только из входных настроек и значений по умолчанию (входные приоритетнее).
Сомнительное утверждение. Я не задавал входных настроек нигде в шаблоне, по умолчанию тем более. Переменные формируются в процессе исполнения кубиков при подгрузке таблиц и списков, и даже при пошаговом прохождении кубиков это наглядно видно по заполняемости переменных.

Получаем первую переменную

57126


Вторую

57128


Третью

57129
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 362
Благодарностей
3 288
Баллы
113
Сомнительное утверждение. Я не задавал входных настроек нигде в шаблоне, по умолчанию тем более. Переменные формируются в процессе исполнения кубиков при подгрузке таблиц и списков, и даже при пошаговом прохождении кубиков это наглядно видно по заполняемости переменных.
Подразумевалось: до старта первого экшена.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 686
Баллы
113
все уже 100500 раз написали, так не правильно. потому что таблица первый раз привязывается на старте шаба, когда переменные пустые. и даже если 1000 раз изменить переменную таблица сама не привяжется к другому файлу. для этого есть специальный кубик. его и надо использовать.
 
  • Спасибо
Реакции: Андрейка2020
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
все уже 100500 раз написали, так не правильно. потому что таблица первый раз привязывается на старте шаба, когда переменные пустые. и даже если 1000 раз изменить переменную таблица сама не привяжется к другому файлу. для этого есть специальный кубик. его и надо использовать.
Уважаемый @Phoenix78, пожалуйста, откройте мой проект и внесите необходимые правки. Буду вам очень благодарен. Я просто не понимаю, что я делаю не так. А так посмотрю на ваше решение (если оно будет, конечно) и, надеюсь, разберусь что к чему.

Есть теория, а есть реальность, и она гласит, что прозвучавшие выше решения не работают в моем проекте. Я для того и прикрепил файлик, чтоб знающие люди могли проверить мою поделку и указать на конкретную ошибку, а не гадать...

Может, ошибка мной была где-то ранее допущена, или я в принципе логику шаблона неверно задумал. Может, есть более простое и/илли гибкое решение.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 426
Благодарностей
8 666
Баллы
113
пожалуйста, откройте мой проект и внесите необходимые правки. Буду вам очень благодарен.
Прикрепил поправленный шаблон, на скриншоте указал, что было добавлено.
В другой теме я уже показывал вам скриншот, что именно нужно изменить, чтобы заработало без ошибок.

57134
 

Вложения

  • 23,9 КБ Просмотры: 106
  • Спасибо
Реакции: Андрейка2020
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
Прикрепил поправленный шаблон, на скриншоте указал, что было добавлено.
В другой теме я уже показывал вам скриншот, что именно нужно изменить, чтобы заработало без ошибок.

Посмотреть вложение 57134
Огромная вам благодарность, @sergodjan66.

Мистика в том, что я эти действия делал неоднократно. И только после загрузки и запуска вашего правленного архива я в своей копии смог повторить это же без ошибок.

Есть подозрение, что дело в бета семерки. Наверное, лучше стоит 5 версию зенки качнуть, чтоб не ловить таких багов больше.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 426
Благодарностей
8 666
Баллы
113
Огромная вам благодарность, @sergodjan66.

Мистика в том, что я эти действия делал неоднократно. И только после загрузки и запуска вашего правленного архива я в своей копии смог повторить это же без ошибок.

Есть подозрение, что дело в бета семерки. Наверное, лучше стоит 5 версию зенки качнуть, чтоб не ловить таких багов больше.
Отлично.
Это базовый функционал, работает одинаково в 5-ой и 7-ой версии. Так что, смысла переходить на 5-ку не вижу.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 686
Баллы
113
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
Прикрепил поправленный шаблон, на скриншоте указал, что было добавлено.
В другой теме я уже показывал вам скриншот, что именно нужно изменить, чтобы заработало без ошибок.

Посмотреть вложение 57134
Кстати, ваше решение тоже не выполняет возложенных надежд... Переменная берется только первая из таблицы ((( цикл проходит, и при следующем цикле current_user меняется, а в переменной по-прежнему login1 и pass1 :(
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 686
Баллы
113

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
547
Баллы
93
цикл проходит, и при следующем цикле current_user меняется, а в переменной по-прежнему login1 и pass1
Если у вас есть действие записи данных в файл, то оно может происходить с существенной задержкой, после записи делайте паузу 10-15 сек. Также попробуйте изменить формат файла в который осуществляется запись с xlsx на csv, возможно, это сократит время записи результата в файл.
 
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
не пробовали в разных таблицах разные данные записывать, а не только login1 , pass1 ?
Если у вас есть действие записи данных в файл, то оно может происходить с существенной задержкой
Речь идет пока только о чтении файла.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 426
Благодарностей
8 666
Баллы
113
Кстати, ваше решение тоже не выполняет возложенных надежд... Переменная берется только первая из таблицы ((( цикл проходит, и при следующем цикле current_user меняется, а в переменной по-прежнему login1 и pass1
Показывайте текущее состояние проекта, заочно не получится понять что именно сейчас происходит.
 
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
Показывайте текущее состояние проекта, заочно не получится понять что именно сейчас происходит.
Цикл первый - полет нормальный

57167


Даже успешно обходим первым юзером весь список сайтов

57168


Цикл второй и последующие - выделенные на скриншоте переменные не меняются, они остаются от первого юзера

57169
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 426
Благодарностей
8 666
Баллы
113
Цикл второй и последующие - выделенные на скриншоте переменные не меняются, они остаются от первого юзера
Попробуйте кубик привязки переместить сюда:

57176

Собственно перепривязка файла каждый раз провоцирует сброс инициализации таблицы и отсчет строк начинается с первой строки снова, каждый раз. Перенос кубика привязки (как на скриншоте) должен разрулить проблему. Приложил поправленный вариант.
 

Вложения

  • 24,5 КБ Просмотры: 98
Последнее редактирование:
  • Спасибо
Реакции: Андрейка2020
Регистрация
26.05.2020
Сообщения
459
Благодарностей
163
Баллы
43
Попробуйте кубик привязки переместить сюда:
Попробовал, не помогает. Еще, кстати, обнаружил непонятку:

57179


Текущий user1, seller12 - все верно. Только вот пароль от seller5 почему-то вместо seller12. Корректно обрабатывается только user1. Как только выбирается user2, начинаются траблы.

PS: решил добавлять проект к каждому сообщению для наглядности и удобства.
 

Вложения

  • 19,6 КБ Просмотры: 98

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