I was trying to get my project issue records more cleanly from the resultSet that I created. I had been using findAll({}) to get them all into an array for filtering. When I changed to duplicate() I got the below error from the following code.
	Results in the following error.
	What worked was the following, to which I will go back.
	Is there a more direct way (i.e. without criteria) to get resultSet records in an Array? And, if you are up to it, can you explain what is a 'shallow copy'?
Thanks,
Rick
P.S. I am running SmartClient Version: v8.2p_2013-01-14/EVAL Development Only on Mozilla Firefox 12.0 with Firebug using Windows XP Pro 32 bit.
					Code:
	
			var issueCriteria = { };
		if (!(typeof tRec.IssueTypeID === "undefined")) {
			issueCriteria.IssueTypeID = tRec.IssueTypeID;
		}
		if (!(typeof tRec.CategoryID === "undefined")) {
			issueCriteria.CategoryID = tRec.CategoryID;
		}
		if (!(typeof tRec.ImpactID === "undefined")) {
			issueCriteria.ImpactID = tRec.ImpactID;
		}
		Log.logDebug("************ filtering project issues with: " + this.echo(issueCriteria));
		Log.logDebug("************ from " + Application.ProjectIssue.getLength() + " records");
		//Log.logDebug("************ of which the first is " + this.echo(Application.ProjectIssue.get(0)));
		var issueResults = [];
		issueResults = Issue.applyFilter(Application.ProjectIssue.duplicate(), issueCriteria);
Code:
	
	12:34:31.305:TMR2:DEBUG:Log:************ issueGrid isc_ListGrid_0 created for topic# 1
12:34:31.305:TMR2:DEBUG:Log:************ filtering project issues with: {ImpactID: 101}
12:34:31.305:TMR2:DEBUG:Log:************ from 9 records
12:34:31.321:TMR2:WARN:Log:TypeError: this.newInstance is not a function
    unnamed()
    getIssueGrid({Obj})
    ListGrid.expandRecord(_1=>{Obj})
    unnamed({Obj}, [object Array], {Obj})
    [c]Class.fireCallback(_1=>function (dsResponse, data, dsRequest),  _2=>"dsResponse,data,dsRequest",  _3=>[object Array],  _4=>{Obj},  _5=>undef)
    [c]Class.fireCallback(_1=>function (dsResponse, data, dsRequest),  _2=>"dsResponse,data,dsRequest",  _3=>[object Array])
    DataSource.fireResponseCallbacks({Obj}, {Obj}, {Obj}, {Obj})
    DataSource._completeResponseProcessing({Obj}, {Obj}, {Obj}, {Obj}, {Obj})
    DataSource._handleClientOnlyReply({Obj}, {Obj}, {Obj})
    [c]Class.fireCallback(_1=>{Obj},  _2=>"rpcResponse,data,rpcRequest",  _3=>[object Array],  _4=>{Obj},  _5=>undef)
    [c]Class.fireCallback(_1=>{Obj},  _2=>"rpcResponse,data,rpcRequest",  _3=>[object Array])
    [c]RPCManager.fireReplyCallback(_1=>{Obj},  _2=>{Obj},  _3=>{Obj},  _4=>{Obj})
    [c]RPCManager.fireReplyCallbacks(_1=>{Obj},  _2=>{Obj})
    [c]RPCManager.performOperationReply(_1=>{Obj},  _2=>{Obj})
    RPCManager._performTransactionReply(29)
    [c]Class.fireCallback(_1=>{Obj},  _2=>undef,  _3=>[object Array],  _4=>{Obj},  _5=>true)
    Timer._fireTimeout("$ir676")
    unnamed()
    unnamed() @
Code:
	
			var issueCriteria = { };
		if (!(typeof tRec.IssueTypeID === "undefined")) {
			issueCriteria.IssueTypeID = tRec.IssueTypeID;
		}
		if (!(typeof tRec.CategoryID === "undefined")) {
			issueCriteria.CategoryID = tRec.CategoryID;
		}
		if (!(typeof tRec.ImpactID === "undefined")) {
			issueCriteria.ImpactID = tRec.ImpactID;
		}
		Log.logDebug("************ filtering project issues with: " + this.echo(issueCriteria));
		Log.logDebug("************ from " + Application.ProjectIssue.getLength() + " records");
		//Log.logDebug("************ of which the first is " + this.echo(Application.ProjectIssue.get(0)));
		var issueResults = [];
		issueResults = Issue.applyFilter(Application.ProjectIssue.findAll({}), issueCriteria);
Thanks,
Rick
P.S. I am running SmartClient Version: v8.2p_2013-01-14/EVAL Development Only on Mozilla Firefox 12.0 with Firebug using Windows XP Pro 32 bit.

Comment