[英]How to do search filter criteria in a suitelet?
这是我的套房。 我也收到条件错误。 没有给出日期,它直接进入条件,它给我一个名为“”SSS_INVALID_SRCH_FILTER”的错误。是的,我知道这个错误为什么会出现。这个错误因为它没有价值,所以它发生意味着尽快suitelet自己加载,直接进入condition,应该怎样?
/**
*@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
}
});
请原谅我犯了一个愚蠢的错误,因为我对脚本编写的知识不多。
您的问题来自过滤器部分,它的结构不正确。
保存的搜索应该使用以下结构:
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"}),
....
]
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.