here i have two scripts one is suitelet other one is client script . Please forgive me for the silly mistake as I have not much knowledge in netsuite.
/**
*@NApiVersion 2.x
*@NScriptType Suitelet
*/
define(['N/record','N/ui/serverWidget','N/redirect','N/runtime','N/search'],function(record,serverWidget,redirect,runtime,search){
function onRequest(context){
var Request = context.request;
var Response = context.response;
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 email=form.addField({
label:'Email',
id:'custpage_advs_email',
type:serverWidget.FieldType.EMAIL,
container:'custpage_advs_primary_info'
});
email.isMandatory=true;
var phone=form.addField({
label:'Phone',
id:'custpage_advs_phone',
type:serverWidget.FieldType.PHONE,
container:'custpage_advs_primary_info'
});
var mysublist = form.addSublist({
id: 'custpage_advs_sublistid',
type: serverWidget.SublistType.LIST,
label:'My Sublist'
});
mysublist.addField({
id: 'custpage_advs_sublist_internalid',
type: serverWidget.FieldType.INTEGER,
label: 'Internal Id'
});
mysublist.addField({
id: 'custpage_advs_sublist_fullname',
type: serverWidget.FieldType.TEXT,
label: 'Name'
});
mysublist.addField({
id: 'custpage_advs_sublist_fname',
type: serverWidget.FieldType.TEXT,
label: 'First Name'
});
mysublist.addField({
id: 'custpage_advs_sublist_lname',
type: serverWidget.FieldType.TEXT,
label: 'Last Name'
});
mysublist.addField({
id: 'custpage_advs_sublist_email',
type: serverWidget.FieldType.EMAIL,
label: 'Email'
});
mysublist.addField({
id: 'custpage_advs_sublist_phone',
type: serverWidget.FieldType.PHONE,
label: 'Phone'
});
mysublist.addField({
id: 'custpage_advs_sublist_view',
type: serverWidget.FieldType.URL,
label: 'VIEW'
});
var submit=form.addSubmitButton({
id : 'custpage_advs_submit_record',
label : 'Submit'
});
Response.writePage(form);
// form.clientScriptModulePath = './advs_cs_populatesublisttask.js';
form.clientScriptFileId = 91370;
var fnameValue = Request.parameters.custparam_first_name;
var lnameValue = Request.parameters.custparam_last_name;
var emailValue = Request.parameters.custparam_email;
var phoneValue = Request.parameters.custparam_phone;
log.debug("param from clientScript "+fnameValue);
if(fnameValue){
firstname.defaultValue =fnameValue;
// form.clientScriptFileId = 91370;
var fnameValue = Request.parameters.custparam_first_name;
var lnameValue = Request.parameters.custparam_last_name;
var emailValue = Request.parameters.custparam_email;
var phoneValue = Request.parameters.custparam_phone;
var fnamecustomerSearch = search.create({
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: "custrecord_advs_email"}),
search.createColumn({name: "custrecord_advs_phone"}),
search.createColumn({name: "internalid"}),
search.createColumn({name: "id"})
]
});
var counter = 0;
fnamecustomerSearch.run().each(function(result) {
log.debug("my result", +result);
var oldfullname = result.getValue('name');
var InternalidVal = result.getValue('internalid');
var firstname=result.getValue('custrecord_advs_first_name');
var lastname=result.getValue('custrecord_advs_last_name');
var email=result.getValue('custrecord_advs_email');
var phone=result.getValue('custrecord_advs_phone');
// var view=result.getValue('view');
var view= result.getValue('edit|view');
log.debug("view is"+view);
mysublist.setSublistValue({
id: 'custpage_advs_sublist_internalid',
line: counter,
value: InternalidVal
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_fullname',
line: counter,
value:oldfullname
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_fname',
line: counter,
value: firstname
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_lname',
line: counter,
value: lastname
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_email',
line: counter,
value: email
});
mysublist.setSublistValue({
id: 'custpage_advs_sublist_phone',
line: counter,
value:phone
});
counter++;
return true;
});
}
}
return true;
}
else
{
var Fname= Request.parameters.custpage_advs_first_name;
var Lname=Request.parameters.custpage_advs_last_name;
var Email=Request.parameters.custpage_advs_email;
var Phone=Request.parameters.custpage_advs_phone;
var Fullname=Fname+' '+Lname;
var customRecord=record.create({
type:'customrecord_advs_customer_entry_form',
isDynamic:true,
});
customRecord.setValue({
fieldId:'name',
value:Fullname
});
customRecord.setValue({
fieldId:'custrecord_advs_first_name',
value:Fname
});
customRecord.setValue({
fieldId:'custrecord_advs_first_name',
value:Lname
});
customRecord.setValue({
fieldId:'custrecord_advs_email',
value:Email
});
customRecord.setValue({
fieldId:'custrecord_advs_phone',
value:Phone
});
var recordId=customRecord.save({
enableSourcing: false,
ignoreMandatoryFields: false
});
redirect.toSuitelet({
scriptId: 'customscript_advs_ss_customersuitelet',
deploymentId: 'customdeploy_advs_ss_customersuitelet',
});
}
}
return{
onRequest:onRequest
}
});
and then I added some conditions in client scripts . but all I need is to add an edit/ view column in my suitelet
FYR here is my client script
/**
* @NApiVersion 2.0
* @NScriptType ClientScript
*/
define(['N/currentRecord','N/search','N/record','N/url'],function(currentRecord,search,record,url){
function fieldChanged(context) {
var recordObj=context.currentRecord;
var name = context.fieldId;
if (name == 'custpage_advs_first_name'){
var fnameValue=recordObj.getValue({
fieldId:'custpage_advs_first_name'
});
alert("First name that you have entered is " +fnameValue);
var suiteUrl = url.resolveScript({
scriptId: 'customscript_advs_ss_populatesublisttask',
deploymentId: 'customdeploy_advs_ss_populatesublisttask',
returnExternalUrl:false,
params : {
custparam_first_name : fnameValue, //define a parameter and pass the value to it
}
});
}
}
else{
return true;
}
setWindowChanged(window,false);
window.location = suiteUrl;
}
return{
fieldChanged:fieldChanged
}
});
I guess I'm mostly just looking for a high level answer, because I'm not sure I'm even approaching this correctly.
You should reduce the code you paste in your question to the parts that isolate the problem.
To solve your issue, add a new field of type INLINEHTML.
sublist.addField({
id: 'YOUR_ID',
label: 'YOUR_LABEL',
type: serverWidget.FieldType.INLINEHTML
})
For each line, set the value to a link using regular html anchor tags.
const view_url = url.resolveRecord({
recordType: TYPE
recordId: ID,
isEditMode: false
})
const edit_url = url.resolveRecord({
recordType: TYPE
recordId: ID,
isEditMode: true
})
sublist.setSublistValue({
line: LINE,
id: 'YOUR_ID',
value: `<a href="${view_url}" target="_blank" rel="noopener noreferrer">view</a> / <a href="${edit_url}" target="_blank" rel="noopener noreferrer">edit</a>`
})