Ошибка работы с переменными

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Реакции
23
Баллы
18
Есть 10 однотипных шаблонов, каждый шаблон сохраняет данные в свою табличку.
Путь к табличке прописываю вот так {-Project.Directory-}logged_profiles\result_bot_{-Variable.number_bots-}.xlsx
переменную номер бота задаю через входные настройки, до этого задавал явно, было поле номер бота и переменная {-Variable.number_bots-}, но поднадоело постоянно заносить данные, сделал загрузку входных данных одной строчкой, пример, номер_бота&логин&пароль&прокся. в первом же кубике C# делаю сплит по & и разношу по разным переменным, вот номер бота, вот так
C#:
Развернуть Свернуть Копировать
string number_bots_loc = project.Variables["number_bots"].Value = project.Variables["input_data"].Value.Split('&')[1];
Потом бот работает работает, и когда нужно сохраниться сохраняет вот сюда
{-Project.Directory-}logged_profiles\result_bot_.xlsx
а должен вот сюда
{-Project.Directory-}logged_profiles\result_bot_{-Variable.number_bots-}.xlsx
Получается теряется эта переменная, подскажите, как заставить корректно сохранять, если входные передаю одной строчкой.
Спасибо
 
Самое интересное что внутри других кубиков все работает корректно
 
Я бы искал проблему где-то в шаблоне - возможно в какой-то момент Вы обнуляете значение переменной с номером бота. Если шаблон очень большой, что визуально тяжело найти проблему, то расставьте экшены Оповещение с выводом в лог переменной {-Variable.number_bots-} , таким образом сможете понять в каком месте затирается значение. Один лучше поставить сразу после обработки строки из входных настроек, чтоб удостовериться, что переменная не пустая.

Ещё одно: код, который Вы привели, из такой строки номер_бота&логин&пароль&прокся будет брать логин, а не номер_бота. Возможно в этом дело.
 
Я бы искал проблему где-то в шаблоне - возможно в какой-то момент Вы обнуляете значение переменной с номером бота. Если шаблон очень большой, что визуально тяжело найти проблему, то расставьте экшены Оповещение с выводом в лог переменной {-Variable.number_bots-} , таким образом сможете понять в каком месте затирается значение. Один лучше поставить сразу после обработки строки из входных настроек, чтоб удостовериться, что переменная не пустая.

Ещё одно: код, который Вы привели, из такой строки номер_бота&логин&пароль&прокся будет брать логин, а не номер_бота. Возможно в этом дело.
Странно просто если задаешь явно, то работает корректно, если делаешь перед всеми кубиками еще один и там делаешь раскидку переменных, появляются ошибки, самое интересное что в кубиках все работает корректно, с точки зрения кода, привел для примера, знаю что индекс начанается с 0. Может ли быть это баг софта?
 
Странно просто если задаешь явно, то работает корректно, если делаешь перед всеми кубиками еще один и там делаешь раскидку переменных
Вы разбиваете строку один раз?
Сразу после этого отправьте в лог все значения переменных, которым присваиваете значение. Иногда бывает, что при копи-пасте забываешь что-то где-то переименовать.
Или, если можете, пришлите код разбивки входной строки по переменным.

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


Полностью этого исключать нельзя. Но я на 95% уверен, что не баг :-)
72049
72051
72052
тут все ок, но при сохранении есть ошибка
 
Разбросайте по коду и проекту вывод в лог этой переменной, чтоб понять в какой момент теряется значение.
 
Разбросайте по коду и проекту вывод в лог этой переменной, чтоб понять в какой момент теряется значение.
ошибка не там. Создал тестовый шаб из 2 кубиков, ошибка повторяется, ничего не затирается))) Все же это баг или я что то не понимаю?
 

Вложения

Во входных настройках не надо использовать пользовательские переменные. Т.к. они [входные настройки] инициализируются в самом начале работы шаблона, когда пользовательские переменные ещё пусты.

Воспользуйтесь экшеном Операции над таблицей - Привязать к файлу (в настройках таблицы удалите путь).
 
  • Спасибо
Реакции: arbplv
Во входных настройках не надо использовать пользовательские переменные. Т.к. они [входные настройки] инициализируются в самом начале работы шаблона, когда пользовательские переменные ещё пусты.

Воспользуйтесь экшеном Операции над таблицей - Привязать к файлу (в настройках таблицы удалите путь).
Да, так сработало, это мне и надо было
72054
 
Во входных настройках не надо использовать пользовательские переменные. Т.к. они [входные настройки] инициализируются в самом начале работы шаблона, когда пользовательские переменные ещё пусты.

Воспользуйтесь экшеном Операции над таблицей - Привязать к файлу (в настройках таблицы удалите путь).
Подскажите, а как сохранить профиль? С табличками решили, теперь новая проблемка?
72059
 
Подскажите, а как сохранить профиль? С табличками решили, теперь новая проблемка?
А в чём проблема? :-)
Сначала выполняете экшен C# в котором парсится строка и записываются значения в переменные. Потом сохраняете профиль.

Если что-то не так, то лучше приложите тестовый шаблон.
 
  • Спасибо
Реакции: arbplv
Подсказали решение через project.Profile.Save();
Вопрос закрыт. Спасибо
 

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