Daten aus einem HitResultset
Ein TableDialog kann automatisch über ein HitResultset befüllt werden.
Dazu kann die Funktion fromHitResultset verwendet werden.
HitResultset vs. FileResultset
✅ Das HitResultset kann eine Archivsuche ausführen.
✅ Performance: Beim HitResultset wird nicht das DocFile geladen, sondern nur die Spalten ( getLocalValueByName ).
Einfaches Beispiel
context.enableModules();
const { TableDialog } = require("ou.sp.gadget.TableDialog");
const hitResultset = new HitResultset("ouspPostman_Documents");
return TableDialog.fromHitResultset(hitResultset).transfer();
Beispiel Userexit und Filter
Portalskript:
context.enableModules();
const { TableDialog } = require("ou.sp.gadget.TableDialog");
const args = TableDialog.getParams();
const filter = args.searchValue ? "mailSender ~ '*" + args.searchValue + "*'" : "";
const hitResultset = new HitResultset("Unit=Default/Instance=Default/View=ouspPostman@LAB-EASY", filter, "", "");
return TableDialog.fromHitResultset(hitResultset).transfer();
UserExit:
documents.sdk.exitRegistry.registerFileFieldExitCallback(
"ouspDemo_MultiTable",
"userExit_singleHitResultsetArchive",
function (documentsContext, options) {
var fileContext = documentsContext.getFileContext();
var searchValue = fileContext.getFileFieldValue(options.fileFieldName);
if (!searchValue) {
return;
}
showTableDialog({
title: "Beispieldatensätze",
script: "ou.cust.tableDialog.callback.fetchHitResultsetArchive",
params: {
searchValue: searchValue,
},
success: function (selectedRows) {
if (selectedRows.length <= 0) {
fileContext.setFileFieldValue(options.fileFieldName, "");
return;
}
var names = selectedRows
.map(function (row) {
return row.name;
})
.join(", ");
fileContext.setFileFieldValue(options.fileFieldName, names);
},
});
}
);