2017-06-20 2 views
0

Dans NetSuite j'ai un enregistrement personnalisé pour garder la trace de nos réunions de sécurité, de l'enregistrement, j'ai un script d'événement utilisateur, BEFORE SUBMIT FUNCTION, en cours d'exécution pour créer un enregistrement d'événement. Dans la sous-liste Enregistrement d'événement -> participant, je peux ajouter les participants, mais je ne peux pas activer la case à cocher sendemail. Toute idée serait appréciée.Envoyer Email Case à cocher sur le script d'événement utilisateur Attendee Sublist

/* 

    user event script 
    before record submit 
    creates a new event record based off this safety meeting record. 

    */ 

    function createSafetyMeetingEventRec(type){ 


    if(type=="create") 
    { 
    try 
    { 

    //get values from the safety meeting record 
    var altName = nlapiGetFieldValue('altname'); 
    var message = nlapiGetFieldValue('custrecord53'); 
    var local = nlapiGetFieldValue('custrecord56'); 
    var date = nlapiGetFieldValue('custrecord51'); 
    var time = nlapiGetFieldValue('custrecord52'); 


    //name of the event record 
    var eventTitle = 'SM-' + altName; 

    //create the event record 
    var eventRec = nlapiCreateRecord('calendarevent'); 

     //set the event record field values 
     eventRec.setFieldValue('title', eventTitle); 


     //script search for the Safety Committee group members in netsuite 
     var entitygroupSearch = nlapiSearchRecord("entitygroup",null, 
        [ 
         ["internalid","anyof","120147"] 
        ], 
        [ 
         new nlobjSearchColumn("entityid","groupMember",null), 
         new nlobjSearchColumn("internalid","groupMember",null) 
        ] 
        ); 

     //get who created the event, this user is automatically on the attendee list, and cannot be added again. 
     var eventUserSet = eventRec.getLineItemValue('attendee', 'attendee', 1); 


      for(var i = 0; i < entitygroupSearch.length; i++){ 


        var newAt = eventRec.getLineItemCount('attendee') + 1; 

        var intIDuser = entitygroupSearch[i].getValue("internalid","groupMember",null); 



        if(intIDuser != eventUserSet){ 

         eventRec.setLineItemValue('attendee', 'sendemail', newAt, 'T'); 
         eventRec.setLineItemValue('attendee', 'attendee', newAt, intIDuser); 


        }else{ 

        continue; 

        } 

      } 


    //set the resource calendar to Service Calendar, 3 is the internal id of the service calendar resource 

    var newAtResource = eventRec.getLineItemCount('resource') + 1; 
    eventRec.setLineItemValue('resource', 'resource', newAtResource, '3'); 

var eventId = nlapiSubmitRecord(eventRec, true); 



}catch(err) 
{ 
    nlapiLogExecution("error","Error Creating Event Record From Safety Record ","Details: " + err.message); 
} 




}//end if 


} 

Répondre

0

Je pense que vous avez également besoin

eventRec.setFieldValue('sendemail', 'T'); 

avant la soumettre

+0

toujours en vain :( – ahomsher

+0

Êtes-vous dans un compte en direct ou un compte bac à sable ou dev? Si vous êtes dans les deux de ce dernier vérifier l'onglet de communication de l'enregistrement d'employé pour voir si Netsuite pense qu'un email devrait être sorti – bknights

+0

J'utilise un compte sandbox, cependant les emails m'enverront si je crée manuellement un événement, mais pas de mon script. – ahomsher