Forum Discussion
Hello,
I tried something like that but i am afraid this is still not enough as i have to get all the last version of my object for one state :
Innovator _innovator = this.getInnovator();
//extract log
var _log_item = _innovator.applyMethod("_Get_Session_Variable", "<_variable>Log_Enabled</_variable>");
var _log_enabled = false;
if (_log_item.getProperty("_variable_value", "") == "True") _log_enabled = true;
//print log
if (_log_enabled) CCO.Utilities.WriteDebug("_" + DateTime.Now.ToString("yyyy-MM-dd"), "run_qry method begin");
System.Diagnostics.Debugger.Launch();
string State = this.getProperty("state","");
Item gti = this.newItem("object", "get");
***.setProperty("generation", "*");
***.setPropertyCondition("generation", "like");
***.setProperty("state", State);
// ***.setAttribute("orderBy","generation DESC");
***.setAttribute("queryType","Latest");
***= ***.apply();
System.Diagnostics.Debugger.Break();
return ***;
Now i will try to put some SQL in my method^^.
For the community this one works fine :
Innovator _innovator = this.getInnovator();
//extract log
var g_log_item = _innovator.applyMethod("_Get_Session_Variable", "<gtsi_variable>_Log_Enabled</_variable>");
var _log_enabled = false;
if (_log_item.getProperty("_variable_value", "") == "True") _log_enabled = true;
//print log
if (_log_enabled) CCO.Utilities.WriteDebug("_" + DateTime.Now.ToString("yyyy-MM-dd"), "_run_qry method begin");
System.Diagnostics.Debugger.Launch();
string State = this.getProperty("_state","");
StringBuilder sql = new StringBuilder();
sql.AppendLine("SELECT ID, g_code, config_id, state, Major_Rev, Generation, is_current FROM innovator.[***] 1 WHERE 1.generation =(SELECT MAX(generation) from innovator.[***] 2 where 2.state = 'Working' AND 2.config_id = 1.config_id)order by modified_on");
Item _result = _innovator.applySQL(sql.ToString());
System.Diagnostics.Debugger.Break();
return _result;