2017-01-18 8 views
0

私のアプリケーションは、後でユーザが編集するテーブルを作成するように設計されています。この後、電子メールでページコンテンツを送信するアプリケーションが必要になります。UI5を使用して電子メールでページコンテンツを送信することはできますか?

私はURLHelperのトリガーemail()を使用しましたが、これによってto、cc、subject、text bodyで電子メールをトリガーできましたが、私のui5アプリケーションは電子メールにテーブルを挿入できません。

誰かが何か提案してもらえますか?それとも可能でしょうか? 私は普通のjavascriptを使用しても構いませんが、Pointはバックエンドを使わずにこれを行う必要があります。

答えて

0

Googleのアプリでも同様の操作を行います。クリックしたときに 'mailto'が呼び出され、to、件名、本文がメールクライアントに入力されるボタンを画面に追加しました。本文はスクリプトの一部として作成されます。基本的にテーブルの内容を配列に読み込み、forEachを使用してエントリをループします。 mailtoやURLを使用していることを覚えておいてください.Helperでは、電子メールの本文にHTML形式のテキストを使用することはできません。だから、もしあなたが何かかわいいものを探しているなら、運が悪いかもしれません。

onNotifyUserPress: function(oEvent) { 
     var oItem = oEvent.getSource(); 
     var oBinding = oItem.getBindingContext(); 
     // Set some vars for the email package 
     var sEmpEmail = oBinding.getProperty("Smtp"); 
     var sEmpName = oBinding.getProperty("STEXT_2"); 
     var sEmailSubject = "Your Subject " + sEmpName; 
     // Create DateFormat Object 
     var oDateFormat = DateFormat.getDateTimeInstance({pattern: "dd/MM/yyyy"}); 

     // Retrieve Table Data 
     var oTable = this.getView().byId("yourTable"); 
     var aTableData = oTable.getBinding("items").getContexts(); 
     // Build the email body 
     var sBody = sEmpName + " - Some Body Text\n\n"; 
     sBody += "Field 1 | " + "Field 2 | " + "Field 3 | " + "Field 4" + "\n"; 
     // Loop through table data and build the output for the rest of the email body 
     aTableData.forEach(function(oModel) { 
      var oModelData = oModel.getObject(); 
      var sEndDate = oDateFormat.format(oModelData.Vendd); 
      var sStatus = this._formatStatus(oModelData.ZQ_STAT); 
      sBody += (oModelData.Essential === "X" ? "Yes" : "No") + " | " + oModelData.Ttext + " | " + sEndDate + " | " + sStatus + "\n"; 
     }.bind(this)); 
     // Open email client window and prepopulate with info 
     window.open("mailto:" + sEmpEmail + "&subject=" + sEmailSubject + "&body=" + encodeURIComponent(sBody), "_self"); 
    }, 

明らかに、テーブルデータを参照するようにコードを更新する必要があります。この特定の例では、いくつかのセクションを持つオブジェクトページがあります。各セクションには、ユーザーに関連付けられているエンティティのリストをロードするテーブルが含まれています。データが既にロードされてモデルに存在するため、データが入力/変更された後で電子メールを送信する必要があるため、これは実行しようとしているのと同じ方法では機能しない可能性があります。

うまくいけば、これは少なくともあなたを始めることができます!

乾杯!

関連する問題