Мы делаем что-то подобное в одном из наших приложений. Я добавил кнопку на экран, который при нажатии вызывает «mailto» и заполняет почтовый клиент темой, телом и телом. Тело создается как часть скрипта. Мы в основном читаем содержимое таблицы в массиве, а затем перебираем записи, используя forEach. Имейте в виду, используя mailto или даже URLHelper не позволяет использовать текст в формате 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");
},
Вам, очевидно, потребуется обновить код, чтобы указать на данные таблицы. В этом конкретном случае у нас есть объектная страница с несколькими разделами. Каждый раздел содержит таблицу, которая загружает список сущностей, связанных с пользователем. Поскольку данные уже загружены и существуют в модели, это может работать не так, как то, что вы пытаетесь сделать (если я правильно понимаю), так как вам нужно отправить электронное письмо после ввода/изменения данных?
Надеюсь, это поможет хотя бы начать!
Cheers!