Reputation: 11
here is my suitelet. I am also getting the condition error. without giving the dates, it directly goes into the condition, and it is giving me an error called ""SSS_INVALID_SRCH_FILTER". yes I know this error why it is coming. this error because it has no value why it is happening means As soon as the suitelet loading itself, it is directly going into the condition. how should it be?
/**
*@NApiVersion 2.x
*@NScriptType Suitelet
*/
define(['N/record','N/ui/serverWidget','N/redirect','N/runtime','N/search','N/url'],function(record,serverWidget,redirect,runtime,search,url){
function onRequest(context){
var Request = context.request;
var Response = context.response;
var name = context.fieldId;
if(Request.method == 'GET') {
var form=serverWidget.createForm({title:"Customer entry Suitelet"});
var primaryinfo=form.addFieldGroup({
label:'Primary Information',
id:'custpage_advs_primary_info',
});
var firstname=form.addField({
label:'First Name',
id:'custpage_advs_first_name',
type:serverWidget.FieldType.TEXT,
container:'custpage_advs_primary_info'
});
firstname.isMandatory=true;
var lastname=form.addField({
label:'Last Name',
id:'custpage_advs_last_name',
type:serverWidget.FieldType.TEXT,
container:'custpage_advs_primary_info'
});
lastname.isMandatory=true;
var startdate=form.addField({
label:'Start Date',
id:'custpage_advs_start_date',
type:serverWidget.FieldType.DATE,
container:'custpage_advs_primary_info'
});
var enddate=form.addField({
label:'End Date',
id:'custpage_advs_end_date',
type:serverWidget.FieldType.DATE,
container:'custpage_advs_primary_info'
});
var submit=form.addSubmitButton({
id : 'custpage_advs_submit_record',
label : 'Submit'
});
Response.writePage(form);
form.clientScriptFileId = 91375;
var fnameValue = Request.parameters.custparam_first_name;
var lnameValue = Request.parameters.custparam_last_name;
if(fnameValue){
var fnamecustomerSearch = search.create({ //style="text-align:right"
type:'customrecord_advs_customer_entry_form',
filters:['custrecord_advs_first_name',"startswith",fnameValue],
columns:[
search.createColumn({name: "name"}),
search.createColumn({name: "custrecord_advs_first_name"}),
search.createColumn({name: "custrecord_advs_last_name"}),
search.createColumn({name: "id"}),
search.createColumn({name:"created"})
]
});
var counter = 0;
fnamecustomerSearch.run().each(function(result) {
var InternalidVal = result.getValue('internalid');
var firstname=result.getValue('custrecord_advs_first_name');
var lastname=result.getValue('custrecord_advs_last_name');
var recordid=result.id;
const view_url = url.resolveRecord({
recordType:'customrecord_advs_customer_entry_form',
recordId: recordid,
isEditMode: false
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_internalid',
line: counter,
value: InternalidVal
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_fname',
line: counter,
value: firstname
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_lname',
line: counter,
value: lastname
});
mysublist.setSublistValue({
line: counter,
id: 'custpage_advs_sublist_view',
value:"<html lang='en'><head> <style> a {color:#ff0000; background-color: transparent; text-decoration: none;}</style></head><body><a href='"+view_url+"' target='blank'> View</a></body></html>"
});
counter++;
return true;
});
}
else if((startdate)&&(enddate)){
var datecustomerSearch = search.create({
type:'customrecord_advs_customer_entry_form',
filters:[
["created","onorafter","09/12/2022"],
'and',
["created",'before',"17/12/2022"],
'and',
['mainline',"is",true]
],
columns:[
search.createColumn({name: "custrecord_advs_first_name"}),
search.createColumn({name: "custrecord_advs_last_name"}),
search.createColumn({name: "id"}),
search.createColumn({name:"created"})
]
});
var counter = 0;
datecustomerSearch.run().each(function(result) {
var InternalidVal = result.getValue('internalid');
var firstname=result.getValue('custrecord_advs_first_name');
var lastname=result.getValue('custrecord_advs_last_name');
var recordid=result.id;
const view_url = url.resolveRecord({
recordType:'customrecord_advs_customer_entry_form',
recordId: recordid,
isEditMode: false
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_internalid',
line: counter,
value: InternalidVal
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_fname',
line: counter,
value: firstname
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_lname',
line: counter,
value: lastname
});
mysublist.setSublistValue({
line: counter,
id: 'custpage_advs_sublist_view',
value: "<html lang='en'><body><a class='dottedlink viewitem' href='"+view_url+"'
target='blank'> View</a></body></html>"
});
counter++;
return true;
});
}
else{
return true;
}
}
else{ //POST part
var Fname= Request.parameters.custpage_advs_first_name;
var Lname=Request.parameters.custpage_advs_last_name;
var customRecord=record.create({
type:'customrecord_advs_customer_entry_form',
isDynamic:true,
});
customRecord.setValue({
fieldId:'custrecord_advs_first_name',
value:Fname
});
customRecord.setValue({
fieldId:'custrecord_advs_first_name',
value:Lname
});
var recordId=customRecord.save({
enableSourcing: false,
ignoreMandatoryFields: false
});
redirect.toSuitelet({
scriptId: 'customscript_advs_ss_editviewcolumn',
deploymentId: 'customdeploy_advs_ss_editviewcolumn',
});
}
}
return{
onRequest:onRequest
}
});
Please excuse me for a silly mistake as I have not much knowledge in scripting.
Upvotes: 0
Views: 457
Reputation: 400
Your issue is coming from the filters part, it is not structured properly.
Saved search should be using the following structure:
search.create({
type: 'customrecord_advs_customer_entry_form',
filters: [
['custrecord_advs_first_name',"startswith",fnameValue],
// 'AND', ['another_custfield_here',"startswith",fnameValue], -- In case you wanted to add another filter
],
columns: [
search.createColumn({name: "name"}),
search.createColumn({name: "custrecord_advs_first_name"}),
....
]
});
Upvotes: 1