Workflow 在费用审批报告中添加第二个审批人
我想在费用报告审批中添加第二个审批。我已经把剧本从我的书里拿了出来 该条件可以检查状态(1),如果已批准,则向第二次批准发送电子邮件,还可以将经理的电子邮件放入状态2字段。但它未能将state2更改为“已批准”或“已拒绝”,以便在state3中触发另一封针对DIRECTOR_的电子邮件,这是最终批准阶段Workflow 在费用审批报告中添加第二个审批人,workflow,Workflow,我想在费用报告审批中添加第二个审批。我已经把剧本从我的书里拿了出来 该条件可以检查状态(1),如果已批准,则向第二次批准发送电子邮件,还可以将经理的电子邮件放入状态2字段。但它未能将state2更改为“已批准”或“已拒绝”,以便在state3中触发另一封针对DIRECTOR_的电子邮件,这是最终批准阶段 function onReportOrApprovalSubmit(row) { // This is the Procurement Approvals Spreadsheet
function onReportOrApprovalSubmit(row) {
// This is the Procurement Approvals Spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var lastRow = sheet.getLastRow();
// Set the status of the new request to 'New'.
// Column O is the Status column
sheet.getRange(lastRow,getColIndexByName("Status")).setValue("New");
// Initialize open Procurement Request (Responses) spreadsheet for editing
// This is the active spreadhseet since this script is stored with it.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// Initialize Approval spreadsheet for editing
// Also open the Procurement Approvals
var approvalsSpreadsheet = SpreadsheetApp.openById(APPROVALS_SPREADSHEET_ID);
var approvalsSheet = approvalsSpreadsheet.getSheets()[0];
// Open the Second Procurement Approvals
var approval2sSpreadsheet = SpreadsheetApp.openById(APPROVALS2_SPREADSHEET_ID);
var approval2sSheet = approval2sSpreadsheet.getSheets()[0];
// Open the Third Procurement Approvals
var approval3sSpreadsheet = SpreadsheetApp.openById(APPROVALS3_SPREADSHEET_ID);
var approval3sSheet = approval3sSpreadsheet.getSheets()[0];
// Fetch all the data from the Procurement Request Spreadsheet
var data = getRowsData(sheet);
// Fetch all the data from First Approvals spreadsheet
// GetRowsData creates a searchable 2D array
var approvalsData = getRowsData(approvalsSheet);
// Fetch all the data from Second Approvals spreadsheet
var approval2sData = getRowsData(approval2sSheet);
// Fetch all the data from Third Approvals spreadsheet
var approval3sData = getRowsData(approval3sSheet);
// For every procurement request
// Iterate through 2D array of Procurement Request (Responses) sheet data
for (var i = 0; i < data.length; ++i) {
var row = data[i];
row.rowNumber = i + 2;
// If State field is empty then this a newly submitted request
if (!row.state) {
// This is a new request
// Email the Supervisor to Request his / her Approval
sendReportToSupervisor(row);
sheet.getRange(row.rowNumber, COLUMN_STATE).setValue(row.state);
} else if (row.state == STATE_SUPERVISOR_EMAIL) {
// If the request has already been sent to the Supervisor then iterate through
// Check if the Supervisor has accepted or rejected the request in the Approval spreadsheet
for (var j = 0; j < approvalsData.length; ++j) {
var approval = approvalsData[j];
// If current request is not the same as the last request id number
// Then don't stop
if (row.rowNumber != approval.procurementRequestId) {
continue;
}
// Send approval results to requestor notifying Supervisor's decision
sendApprovalResults(row, approval);
// Put Supervisor's email in state field to mark it as being sent to Supervisor for approval
sheet.getRange(row.rowNumber, COLUMN_STATE).setValue(row.state);
// Send Approval Request to Manager
if (row.state == "APPROVED"){
sendReportToManager(row);
sheet.getRange(row.rowNumber, COLUMN_STATE2).setValue(row.state2);
// Put Supervisor's email in state field to mark it as being sent to Supervisor for approval
} else if (row.state2 == STATE_MANAGER_EMAIL) {
// Update the state of the report to APPROVED or DENIED
sheet.getRange(row.rowNumber, COLUMN_STATE2).setValue(row.state2);
if (row.state2 == "APPROVED"){
// Send final Approval Request to Director
sendReportToDirector(row);
sheet.getRange(row.rowNumber, COLUMN_STATE3).setValue(row.state3);
// Put Director's email in state field to mark it as being sent to Supervisor for approval
} else if (row.state3 == STATE_DIRECTOR_EMAIL) {
// Update the state of the report to APPROVED or DENIED
sheet.getRange(row.rowNumber, COLUMN_STATE3).setValue(row.state3);
// Stop if the request id number and current request id are the same. This means there
// are no new requests to check
break;
}
}
}
函数onReportOrApprovalSubmit(行){
//这是采购批准电子表格
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
var lastRow=sheet.getLastRow();
//将新请求的状态设置为“新建”。
//列O是状态列
sheet.getRange(lastRow,getColIndexByName(“状态”)).setValue(“新”);
//初始化开放式采购申请(响应)电子表格以进行编辑
//这是活动的spreadhseet,因为此脚本与它一起存储。
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
//初始化审批电子表格以进行编辑
//同时打开采购批准
var approvalsSpreadsheet=SpreadsheetApp.openById(批准\电子表格\ ID);
var approvalsSheet=approvalsSpreadsheet.getSheets()[0];
//打开第二个采购批准
var Approval2Seadsheet=SpreadsheetApp.openById(APPROVALS2\u电子表格\u ID);
var approval2sSheet=approval2ssheadsheet.getSheets()[0];
//打开第三个采购审批
var approval3sSpreadsheet=SpreadsheetApp.openById(APPROVALS3\u SPREADSHEET\u ID);
var approval3sSheet=approval3sSpreadsheet.getSheets()[0];
//从采购申请电子表格中获取所有数据
var数据=getRowsData(表);
//从第一批批准电子表格中获取所有数据
//GetRowsData创建可搜索的二维数组
var approvalsData=getRowsData(approvalsSheet);
//从第二个电子表格中获取所有数据
var approval2sData=getRowsData(Approval2Sheet);
//从第三批批准电子表格中获取所有数据
var approval3sData=getRowsData(approval3sSheet);
//对于每一个采购请求
//遍历采购请求(响应)表数据的二维数组
对于(变量i=0;i
这是一个编码问题吗?如果是,请提供您尝试过的内容。这是我迄今为止尝试过的内容