• Filesednr The runtime has encountered an unexpected error.

    By Irv Schor 1 decade ago

    We are seeing the same error posted by Bas Hendrix in September.  We too would love to implement this, but 

     

    Unexpected runtime error

    The runtime has encountered an unexpected error.

    Error source

    Page Name:/uploadFiles.xsp
    Control Id: cf_EmbedUploadedFilesToDoc




    Exception

    Error while executing JavaScript computed expression
    Script interpreter error, line=37, col=43: [TypeError] Exception occurred calling method NotesXspDocument.save() null


    JavaScript code

       1: var map = facesContext.getExternalContext().getRequestParameterMap(); 
       2: var fileUploadResponse = map.get('$$xspsubmitvalue'); 
       3: var bSaveDocument = false
       4: 
       5: var fileRichTextItem:String = compositeData.richtTextFieldName
       6: var uploadField:NotesRichTextItem = null;
       7: 
       8: var hdnAllowSubmit:com.ibm.xsp.component.xp.XspInputHidden = getComponent("hdnAllowSubmit");
       9: 
      10:// only upload anything then there is something to upload.
      11: if (hdnAllowSubmit.getValue() == 0){
      12:    if (@Contains(fileUploadResponse, "#UPLOADEDFILE#")){
      13:       var arrFiles:Array = @Explode(fileUploadResponse, ",");
      14: 
      15:       
      16:       if (compositeData.documentDataSource.getDocument().hasItem(fileRichTextItem)){
      17:          uploadField = compositeData.documentDataSource.getDocument().getFirstItem(fileRichTextItem);
      18:          if (uploadField == null){
      19:             uploadField = compositeData.documentDataSource.getDocument().createRichTextItem(fileRichTextItem);
      20:          }
      21:       }else{
      22:          uploadField = compositeData.documentDataSource.getDocument().createRichTextItem(fileRichTextItem);
      23:       }
      24:       
      25: 
      26:       for(i=0;i<@Elements(arrFiles);i=i+1){
      27:          var fileUploadRenamed = new java.io.File(@Word(arrFiles[i], "#UPLOADEDFILE#", 1))
      28:          if (fileUploadRenamed.exists()){
      29:             bSaveDocument = true
      30:             uploadField.embedObject(lotus.domino.local.EmbeddedObject.EMBED_ATTACHMENT, "", fileUploadRenamed.getAbsolutePath(), null);
      31: 
      32:             // rename the file back to its original
      33:             fileUploadRenamed.renameTo(new java.io.File(@Word(arrFiles[i], "#UPLOADEDFILE#", 2)));
      34:          }
      35:       }
      36:       if (bSaveDocument == true){
      37:          compositeData.documentDataSource.save()
      38:          // do not allow to run again
      39:          hdnAllowSubmit.setValue(1);
      40:       }
      41:    }
      42: }
    

    Stack Trace