2014-09-05 3 views
1

Я пытаюсь заполнить форму, используя ключевые значения, а затем сохранить форму для печати позже в папке на моем диске. Однако сценарий продолжает давать мне ошибку «e» не определен. Понятия не имею почему.Значение e не определено

>function myfunction(e) { 
    var docTemplate = "1pKwW-RcjaVV8xmm00hWDx1u2QxzQwaSjPJwVY2ux2nI"; 
    var docName = "Form"; 
    var full_name = "Form"; 
    function onFormSubmit(e) {} 
    var Assign_To_1 = e.value[2]; 
    var Assign_To_2 = e.value[3]; 
    var Timestamp = e.values[0]; 
    var Date_Of_Request = e.value[1]; 
    var Requested_By = e.value[7]; 
    var Principal_Approval = e.value[5]; 
    var Urgency = e.value[4]; 
    var Building_Room_Number = e.value[10]; 
    var Description_of_Work_To_Be_Done = e.value[6]; 
    var Parts_Needed = e.value[8]; 
    var Parts_In_Stock = e.value[9]; 
    var Invoice_Number = e.value[10]; 
    var Completed_Signature = e.value[22]; 
    var Incomplete_Signature = e.value[23]; 
    var On_Hold_Signature = e.value[24]; 
    var Estimated_Hours = e.value[14]; 
    var Number_Of_Employees_To_Complete = e.value[18]; 
    var Budget = e.value[11]; 
    var Follow_Up = e.value[16]; 
    var Overtime = e.value[15]; 
    var copyId = DocsList.getFileById(docTemplate) 
.makeCopy(docName+' for '+full_name) 
.getId(); 
    var copyDoc = DocumentApp.openById(copyId); 
    var copyBody = copyDoc.getActiveSection(); 
    copyBody.replaceText('KeyAssignedTo1',Assign_To_1); 
    copyBody.replaceText('KeyAssignedTo2',Assign_To_2); 
    copyBody.replaceText('KeyTimestamp',Timestamp); 
    copyBody.replaceText('KeyDateOfRequest',Date_Of_Request); 
    copyBody.replaceText('KeyRequestedBy',Requested_By); 
    copyBody.replaceText('KeyPrincipalApproval',Principal_Approval); 
    copyBody.replaceText('KeyUrgency',Urgency); 
    copyBody.replaceText('KeyBuildingRoomNumber',Building_Room_Number); 
    copyBody.replaceText('KeyDescriptionofWorkToBeDone',Description_of_Work_To_Be_Done); 
    copyBody.replaceText('KeyPartsNeeded', Parts_Needed); 
    copyBody.replaceText('KeyPartsInStock', Parts_In_Stock); 
    copyBody.replaceText('KeyInvoiceNumber', Invoice_Number); 
    copyBody.replaceText('KeyCompletedSignature', Completed_Signature); 
    copyBody.replaceText('KeyIncompleteSignature', Incomplete_Signature); 
    copyBody.replaceText('KeyOnHoldSignature', On_Hold_Signature); 
    copyBody.replaceText('KeyEstimatedHours', Estimated_Hours); 
    copyBody.replaceText('KeyNumberOfEmployeesToComplete', Number_Of_Employees_To_Complete); 
    copyBody.replaceText('KeyBudget', Budget); 
    copyBody.replaceText('KeyFoolowUp', Follow_Up); 
    copyBody.replaceText('KeyOvertime', Overtime); 
    copyDoc.saveAndClose(); 
    var pdf = DocsList.getFileById(copyId).getAs("application/pdf"); 
    var doc = DocsList.getFileById(copyId); 
var folders = doc.getParents(); 
var newFolder=DocsList.getFolder(WorkOrderForms); 
doc.addToFolder(WorkOrderForms); 
var docParentFolder=folders[0]; 
doc.removeFromFolder(docParentFolder); 
    } 

Пожалуйста, помогите!

+2

Какой язык программирования/рамки это? –

+0

Ваша функция: 'function myfunction() {' не заканчивается перед началом функции 'onFormSubmit'. Это создаст ошибку. –

+0

Прошу прощения, я чувствую, что нахожусь здесь. У меня есть папка на моем диске, к которой эти файлы нужно переходить. Как указать, чтобы они сохранялись в указанной папке? –

ответ

0

Несколько вопросов уже решены в комментариях, но я не видел самый большой один на первый: ваша основная функция на самом деле onFormSubmit но это «скрытый» в функции MYFUNCTION ...

пожалуйста, переписать как ниже и настройте ваш триггер для запуска onFormSubmit, поскольку основная функция теперь имеет другое имя ...

var docTemplate = "1pKwW-RcjaVV8xmm00hWDx1u2QxzQwaSjPJwVY2ux2nI"; 
var docName = "Form"; 
var full_name = "Form"; // you can keep these declarations as global variables 

function onFormSubmit(e) { // this is the real function starting point 
    var Assign_To_1 = e.value[2]; 
    var Assign_To_2 = e.value[3]; 
    var Timestamp = e.values[0]; 
    var Date_Of_Request = e.value[1]; 
    var Requested_By = e.value[7]; 
    var Principal_Approval = e.value[5]; 
    var Urgency = e.value[4]; 
    var Building_Room_Number = e.value[10]; 
    var Description_of_Work_To_Be_Done = e.value[6]; 
    var Parts_Needed = e.value[8]; 
    var Parts_In_Stock = e.value[9]; 
    var Invoice_Number = e.value[10]; 
    var Completed_Signature = e.value[22]; 
    var Incomplete_Signature = e.value[23]; 
    var On_Hold_Signature = e.value[24]; 
    var Estimated_Hours = e.value[14]; 
    var Number_Of_Employees_To_Complete = e.value[18]; 
    var Budget = e.value[11]; 
    var Follow_Up = e.value[16]; 
    var Overtime = e.value[15]; 
    var copyId = DocsList.getFileById(docTemplate) 
    .makeCopy(docName+' for '+full_name) 
    .getId(); 
    var copyDoc = DocumentApp.openById(copyId); 
    var copyBody = copyDoc.getActiveSection(); 
    copyBody.replaceText('KeyAssignedTo1',Assign_To_1); 
    copyBody.replaceText('KeyAssignedTo2',Assign_To_2); 
    copyBody.replaceText('KeyTimestamp',Timestamp); 
    copyBody.replaceText('KeyDateOfRequest',Date_Of_Request); 
    copyBody.replaceText('KeyRequestedBy',Requested_By); 
    copyBody.replaceText('KeyPrincipalApproval',Principal_Approval); 
    copyBody.replaceText('KeyUrgency',Urgency); 
    copyBody.replaceText('KeyBuildingRoomNumber',Building_Room_Number); 
    copyBody.replaceText('KeyDescriptionofWorkToBeDone',Description_of_Work_To_Be_Done); 
    copyBody.replaceText('KeyPartsNeeded', Parts_Needed); 
    copyBody.replaceText('KeyPartsInStock', Parts_In_Stock); 
    copyBody.replaceText('KeyInvoiceNumber', Invoice_Number); 
    copyBody.replaceText('KeyCompletedSignature', Completed_Signature); 
    copyBody.replaceText('KeyIncompleteSignature', Incomplete_Signature); 
    copyBody.replaceText('KeyOnHoldSignature', On_Hold_Signature); 
    copyBody.replaceText('KeyEstimatedHours', Estimated_Hours); 
    copyBody.replaceText('KeyNumberOfEmployeesToComplete', Number_Of_Employees_To_Complete); 
    copyBody.replaceText('KeyBudget', Budget); 
    copyBody.replaceText('KeyFoolowUp', Follow_Up); 
    copyBody.replaceText('KeyOvertime', Overtime); 
    copyDoc.saveAndClose(); 
    var pdf = DocsList.getFileById(copyId).getAs("application/pdf"); 
    var doc = DocsList.getFileById(copyId); 
    var folders = doc.getParents(); 
    var newFolder=DocsList.getFolder(WorkOrderForms); 
    doc.addToFolder(WorkOrderForms); 
    var docParentFolder=folders[0]; 
    doc.removeFromFolder(docParentFolder); 
} 
+0

Вы - находка! –

Смежные вопросы