Для C# кода есть отдельный кубик.код, который лежит в переменной. Как его можно выполнить?
project.Variables["переменная_1"].Value = "значение_1";
project.Variables["переменная_2"].Value = "значение_2";
project.Variables["переменная_3"].Value = "значение_3";
project.Variables["переменная_1"].Value = "значение_4";
project.Variables["переменная_2"].Value = "значение_5";
project.Variables["переменная_3"].Value = "значение_6";
project.Variables["переменная_1"].Value = "значение_7";
project.Variables["переменная_2"].Value = "значение_8";
project.Variables["переменная_3"].Value = "значение_9";
Ну так в коде можете использовать значение из переменной.
project.Variables["переменная_1"].Value = "значение_1";
project.Variables["переменная_2"].Value = "значение_2";
project.Variables["переменная_3"].Value = "значение_3";
Можете формировать значение из нескольких переменных, можете попробовать Switch
Напишите конкретные примеры желаемого результата, пока не совсем понятно, что хотите получить в итоге из этих переменных.
Или используйте стандартные действия с переменными
Посмотреть вложение 114153
и логикучерез switch
Посмотреть вложение 114154
Или используйте стандартные действия с переменными
Посмотреть вложение 114153
и логикучерез switch
Посмотреть вложение 114154
Ну так используйте C#просто выполнение кода C# или JS из переменной, самый простой путь и хотелось бы узнать есть ли в целом решение данной задачи или его не существует.
js можно так выполнить
project.Variables["переменная_1"].Value = "значение_1";
Напишите нормальный код.
Как вариантДругими словами у JS нет аналога этому коду C#:
C#:project.Variables["переменная_1"].Value = "значение_1";
Как вариант
return "значение_1" и положить значение в переменную
project.Variables["переменная_1"].Value = "значение_1";
project.Variables["переменная_2"].Value = "значение_2";
project.Variables["переменная_3"].Value = "значение_3";
так передавай во вложенный проект сразу нужные значения и присваивай при вызове
Посмотреть вложение 114157
ну так пусть и передают сколько хотят. у каждого вызова будет своя копия переменных. это же подпроект.В один вложенный проект, обращаться могут абсолютно разные по своей работе родительские проекты. Именно родительские проекты генерируют значения переменных, а вложенный проект их обрабатывает. Причем один родительские проект может передать, например 3 переменные со своими значениями, а другой родительский проект передаст 6 переменных со своими значениями.
ну так пусть и передают сколько хотят. у каждого вызова будет своя копия переменных. это же подпроект.
project.Variables["переменная_1"].Value = "значение_1";
project.Variables["переменная_2"].Value = "значение_2";
project.Variables["переменная_3"].Value = "значение_3";
project.Variables["переменная_1"].Value = "значение_4";
project.Variables["переменная_2"].Value = "значение_5";
project.Variables["переменная_3"].Value = "значение_6";
project.Variables["переменная_1"].Value = "значение_7";
project.Variables["переменная_2"].Value = "значение_8";
project.Variables["переменная_3"].Value = "значение_9";
почему бы не решить какое подходит ДО вызова подпроекта ?Ваш пример подходит, если нужно передать одно значение переменной, из одной переменной в другую, а у меня получается, что у одной переменной может быть несколько разных значений, а уже во вложенном проекте, решается какое именно подходит.
почему бы не решить какое подходит ДО вызова подпроекта ?
почему бы не решить какое подходит ДО вызова подпроекта ?
значит надо сформировать данные таким образом, что бы они передавались логическими группами. а в подпроекте происходил разбор этих групп. и в следующий подпроект попадали выбранные данные из нужных групп.Они все 3 группы подходят, просто во вложенном проекте располагаются в разных местах и являются настройками для следующего уровня вложенных проектов.
значит надо сформировать данные таким образом, что бы они передавались логическими группами. а в подпроекте происходил разбор этих групп. и в следующий подпроект попадали выбранные данные из нужных групп.
оперировать надо данными, а не кодом. как говорят, мухи отдельно, котлеты отдельно. выше правильно написали, нужен нормальный код и нормальная структура данных, для работы.
По сути вы же и создали проблему.Проблема вечной сложной работы логики проект в проете. Вложенный проект не знает, что ему передаст родительский, поэтому C# код всегда меняется и генерируется в родительском проекте, а исполняется во вложенном.
По сути вы же и создали проблему.
Напишите такую логику, которая не будет зависеть от этого.
Мне нужно передать сразу несколько значений для одной переменной, а во вложенном проекте они будут указаны в разных местах и выполнять свою задачу.
Группа #1:project.Variables["переменная_1"].Value = "значение_1"; project.Variables["переменная_2"].Value = "значение_2"; project.Variables["переменная_3"].Value = "значение_3";
Группа #2:project.Variables["переменная_1"].Value = "значение_4"; project.Variables["переменная_2"].Value = "значение_5"; project.Variables["переменная_3"].Value = "значение_6";
Группа #3:project.Variables["переменная_1"].Value = "значение_7"; project.Variables["переменная_2"].Value = "значение_8"; project.Variables["переменная_3"].Value = "значение_9";
string[] data1 = new[]{ "значение_1", "значение_4", "значение_7"};
string[] data2 = new[]{ "значение_2", "значение_5", "значение_8"};
string[] data3 = new[]{ "значение_3", "значение_6", "значение_9"};
var dic = new Dictionary<string, string[]>();
dic["переменная_1"] = data1;
dic["переменная_2"] = data2;
dic["переменная_3"] = data3;
project.Variables["temp"].Value =Global.ZennoLab.Json.JsonConvert.SerializeObject(dic, Global.ZennoLab.Json.Formatting.Indented);
// Во вложенном проекте
var dic_item = Global.ZennoLab.Json.JsonConvert.DeserializeObject<Dictionary<string, string[]>>(project.Variables["temp"].Value);
project.Variables["переменная_1"].Value = dic_item["переменная_1"][0]; // - это будет использовано в первом случае
project.Variables["переменная_1"].Value = dic_item["переменная_1"][1]; // - эта строка будет использована в другом месте
project.Variables["переменная_1"].Value = dic_item["переменная_1"][2]; // - эта строка будет использована ещё в каком-то месте
project.Variables["переменная_2"].Value = dic_item["переменная_2"][0];
project.Variables["переменная_2"].Value = dic_item["переменная_2"][1];
project.Variables["переменная_2"].Value = dic_item["переменная_2"][2];
project.Variables["переменная_3"].Value = dic_item["переменная_3"][0];
project.Variables["переменная_3"].Value = dic_item["переменная_3"][1];
project.Variables["переменная_3"].Value = dic_item["переменная_3"][2];
// Во вложенном проекте в первом месте
var dic_item = Global.ZennoLab.Json.JsonConvert.DeserializeObject<Dictionary<string, string[]>>(project.Variables["temp"].Value);
int i = 0;
project.Variables["переменная_1"].Value = dic_item["переменная_1"][i]; // - это будет использовано в первом случае
project.Variables["переменная_2"].Value = dic_item["переменная_2"][i];
project.Variables["переменная_3"].Value = dic_item["переменная_3"][i];
// Во вложенном проекте в втором месте
var dic_item = Global.ZennoLab.Json.JsonConvert.DeserializeObject<Dictionary<string, string[]>>(project.Variables["temp"].Value);
int i = 1;
project.Variables["переменная_1"].Value = dic_item["переменная_1"][i]; // - это будет использовано в первом случае
project.Variables["переменная_2"].Value = dic_item["переменная_2"][i];
project.Variables["переменная_3"].Value = dic_item["переменная_3"][i];
// Во вложенном проекте в третьем месте
var dic_item = Global.ZennoLab.Json.JsonConvert.DeserializeObject<Dictionary<string, string[]>>(project.Variables["temp"].Value);
int i = 2;
project.Variables["переменная_1"].Value = dic_item["переменная_1"][i]; // - это будет использовано в первом случае
project.Variables["переменная_2"].Value = dic_item["переменная_2"][i];
project.Variables["переменная_3"].Value = dic_item["переменная_3"][i];


