Estoy tratando de archivar lo siguiente
SI el campo "custcol_celigo_sfnc_line_id" coincide con el valor "01t0g00000bx4WDAAY", agregue la fecha.
Aquí estoy enfrentando el problema, este registro se activa 2 veces en lugar de una.
/** *@NApiVersion 2.x *@NScriptType ClientScript */ define(['N/record', 'N/search', 'N/url', 'N/https', 'N/runtime'], function(record, search, url, https, runtime) { function fieldChanged(context) { var currentRecord = context.currentRecord; var sublistName = context.sublistId; var sublistFieldName = context.fieldId; // alert(JSON.stringify(currentRecord)); //alert(JSON.stringify(context)); var line = context.line; var start_Date="custcol_atlas_contract_start_date"; var end_date="custcol_atlas_contract_end_date"; if (sublistName === 'item') { if (sublistFieldName === 'custcol_celigo_sfnc_line_id') { var value = currentRecord.getCurrentSublistValue({ sublistId: sublistName, fieldId: sublistFieldName }) if(value!="01t0g00000bx4WDAAY"||value!="01t70000004b5TWAAY"||value!="01t70000004b6LZAAY"||value!="01t0g00000Z9ryHAAR"||value!="01t0g00000Z9ryCAAR"||value!="01t0g00000aYySFAA0"||value!="01t0g00000aZJyRAAW") { if(value=="01t0g00000bx4WDAAY") { // alert("Triggered"); var stdate = currentRecord.getCurrentSublistValue({ sublistId: sublistName, fieldId: start_Date }) var newDate = new Date(stdate.setMonth(stdate.getMonth()+1)); currentRecord.setCurrentSublistValue({ sublistId: sublistName, fieldId: start_Date, value: newDate }); } } } } return true; } var exports = {}; exports.fieldChanged = fieldChanged; return exports; });Este script se activa 2 veces, por lo que agrega el doble. ¿Cómo hacer que se dispare una vez?
Gracias por adelantado
No creo que el script pueda activarse dos veces. ¿Está recibiendo la alerta "Activado" dos veces?
/** *@NApiVersion 2.x *@NScriptType ClientScript */ define(['N/record', 'N/search', 'N/url', 'N/https', 'N/runtime'], function(record, search, url, https, runtime) { function fieldChanged(context) { var currentRecord = context.currentRecord; var sublistName = context.sublistId; var sublistFieldName = context.fieldId; // alert(JSON.stringify(currentRecord)); //alert(JSON.stringify(context)); var line = context.line; var start_Date="custcol_atlas_contract_start_date"; var end_date="custcol_atlas_contract_end_date"; if (sublistName === 'item') { if (sublistFieldName === 'custcol_celigo_sfnc_line_id') { var value = currentRecord.getCurrentSublistValue({ sublistId: sublistName, fieldId: sublistFieldName }) if(value!="01t0g00000bx4WDAAY"||value!="01t70000004b5TWAAY"||value!="01t70000004b6LZAAY"||value!="01t0g00000Z9ryHAAR"||value!="01t0g00000Z9ryCAAR"||value!="01t0g00000aYySFAA0"||value!="01t0g00000aZJyRAAW") { if(value=="01t0g00000bx4WDAAY") { // alert("Triggered"); var stdate = currentRecord.getCurrentSublistValue({ sublistId: sublistName, fieldId: start_Date }) var newDate = new Date(stdate.setMonth(stdate.getMonth())); currentRecord.setCurrentSublistValue({ sublistId: sublistName, fieldId: start_Date, value: newDate }); } } } } return true; } var exports = {}; exports.fieldChanged = fieldChanged; return exports; });Pruebe el código anterior una vez. Déjame saber las actualizaciones en los comentarios a continuación.