我有2个谷歌表单,记录对谷歌电子表格文件的表单回复。每个表单都会将答案提供给各自的表格或“#34; tab"。
。”我为每个表单编写了一个脚本,每当表单提交时都会向我发送一封电子邮件。我已单独测试它们并且它们有效。但是,当我尝试将它们放在一起时,电子邮件的排序或发送都不起作用。
我很难调试,因为主要功能是由触发器运行的,我在脚本中使用表单响应数据,因此无法手动执行该功能。
代码:
//this function is called every time a form is submitted
function procesarVinculacionORetiro(e){
//decide which of the two forms were submitted:
if (e.namedValues["Ingresa por?"]){
/////////
//////// VINCULACIONES
///////
//ordenar hoja de vinculaciones
//enviar correo con info ultima vinculacion
//sort data so new is always on top
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Vinculaciones');
var range = sheet.getRange("A2:X");
//column A = 1, B = 2, etc.
range.sort( { column : 1, ascending: false } );
//**********
//PARA EL CORREO, CALCULEMOS DATOS IMPORTANTES:
//**********
//esto arregla el problema de emails duplicados
Utilities.sleep(3000);
//e es un objeto que contiene la info del formato que acaban de submit
var dataset = e.values;
var timestamp=e.namedValues["Timestamp"];
var ingresaPor=e.namedValues["Ingresa por?"];
var cualTienda=e.namedValues["En cual tienda? o en oficina?"];
var cargo=e.namedValues["Que cargo va a desempeñar?"];
var nombreEmpleado=e.namedValues["Nombre de la persona a vincular? (OJO: sin apellidos)"];
var apellido1Empleado=e.namedValues["Apellido #1 de la persona a vincular?"];
var apellido2Empleado=e.namedValues["Apellido #2 de la persona a vincular?"];
var quienSolicita=e.namedValues["Como te llamas tu?"];
var quienAutoriza=e.namedValues["Quien lo autoriza?"];
//*********
//CONFIGUREMOS EL CUERPO DEL CORREO
//*********
var message='';
message="Hola Equipo, hay una nueva vinculacion pendiente por crear. Los datos completos estan en la hoja de Vinculaciones.<br/><br/> RESUMEN: <br/><br/> fecha de reporte: "+timestamp+"<br/> nombre: "+nombreEmpleado+" "+apellido1Empleado+" "+apellido2Empleado+"<br/>ingresa por: "+ingresaPor+"<br/>reportado por: "+quienSolicita+"<br/> dice que lo autoriza: "+quienAutoriza+"<br/>"
//configuremos header correo:
var destinatario='pamunoz@azucarcolombia.com';
//cuadremos cc
var carbonCopy='nomina@grupoimperio.com.co, jerodriguez@azucarcolombia.com, imalca@azucarcolombia.com';
var subject="#Vincular para "+cualTienda+" (" +cargo+"): "+ nombreEmpleado+" "+apellido1Empleado+" x "+ingresaPor + " x " + quienSolicita
MailApp.sendEmail({
to: destinatario,
cc: carbonCopy,
subject: subject,
htmlBody: message,
replyTo: 'nadie@azucarcolombia.com'
});
}
else {
/////////
//////// RETIROS
///////
//sort data so new is always on top
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Retiros');
var range = sheet.getRange("A2:I");
//column A = 1, B = 2, etc.
range.sort( { column : 1, ascending: false } );
//**********
//PARA EL CORREO, CALCULEMOS DATOS IMPORTANTES:
//**********
//esto arregla el problema de emails duplicados
Utilities.sleep(3000);
//*********
//CONFIGUREMOS EL CUERPO DEL CORREO
//*********
var message='';
message="Hola Equipo, hay un nuevo retiro pendiente, lo pueden ver en la hoja RETIROS. Favor gestionar pago liquidacion en cuanto antes. Gracias"
//configuremos header correo:
var destinatario='pamunoz@azucarcolombia.com';
//cuadremos cc
var carbonCopy='nomina@grupoimperio.com.co, jerodriguez@azucarcolombia.com, imalca@azucarcolombia.com';
var subject='#Retiro Nuevo';
MailApp.sendEmail({
to: destinatario,
cc: carbonCopy,
subject: subject,
htmlBody: message,
replyTo: 'nadie@azucarcolombia.com'
});
}
}