Google脚本自定义触发器onEdit(e)问题

时间:2020-05-05 12:47:53

标签: google-apps-script

我在第29行遇到错误。但是,将相同的代码粘贴到另一张纸上时,可以使用相同的代码。使用单独的触发器。编辑->当前项目的触发器。

var Team_email='abc@gmail.com'; 

function TriggerOnEdit(e)
{
  Logger.log("stg1");
  sendEmailOnassigned(e);
 }

function showMessageOnApproval(e)
{
  var edited_row = checkStatusIsAssigned(e);
  if(edited_row > 0)
  {
    SpreadsheetApp.getUi().alert("Row # "+edited_row+" approved!");
  }
}

function showMessageOnUpdate(e)
{
  var range = e.range;

  SpreadsheetApp.getUi().alert("range updated " +   range.getA1Notation());  
}

function checkStatusIsAssigned(e)
{
  Logger.log("stg3");
  var range = e.range;

  if(range.getColumn() <= 12 && 
     range.getLastColumn() >=12 )
  {
    var edited_row = range.getRow();

    var status = SpreadsheetApp.getActiveSheet().getRange(edited_row,11).getValue();
    if(status == 'Assigned')
    {
      return edited_row;
    }
  }
  return 0;
}

function sendEmailOnassigned(e)
{
  Logger.log("stg2");
  var approved_row = checkStatusIsAssigned(e);

  if(approved_row <= 0)
  {
    return;
  }
  Logger.log("stg4");
  sendEmailByRow(approved_row);
}

function sendEmailByRow(row)
{
  Logger.log("stg5");
  var values = SpreadsheetApp.getActiveSheet().getRange(row,1,row,13).getValues();
  var row_values = values[0];

  var mail = composeAssignedEmail(row_values);

  MailApp.sendEmail(Team_email,mail.subject,mail.message);

  var Requester_email = composeRequesterEmail(row_values);

  MailApp.sendEmail(Requester_email.email,Requester_email.subject,Requester_email.message);
}



function composeAssignedEmail(row_values)
{
  Logger.log("stg6");
  var Request_Number = row_values[1];

  var email = row_values[2];

  var Project_Name = row_values[4];

  var Nature_Of_Work = row_values[5];

  var Quantity = row_values[6];

  var Estimated_Hours  = row_values[7];

  var Name  = row_values[12];


  var message = "Hello Requester, \n  "+" \n The following Resource "+ Name ;

  var subject = "Request_Number - " + Request_Number ;

  return({message:message,subject:subject});
}


function composeRequesterEmail(row_values)
{
  Logger.log("stg7");


  var Request_Number = row_values[1];

  var email = row_values[2] ;

  var Project_Name = row_values[4];

  var Nature_Of_Work = row_values[5];

  var Quantity = row_values[6];

  var Estimated_Hours  = row_values[7];

  var Name  = row_values[12];


  var message = "Hello Requester, \n  "+" \n The following Resource "+ Name;


  var subject = "Request_Number - " + Request_Number;



  return({message:message,subject:subject, email:email });
}

请告诉我错误错误在哪里。

我们无法使用调试功能来了解错误。因为触发器处于编辑状态。

当我们使用'e'时,我们还提供什么信息?

该如何纠正?

0 个答案:

没有答案