在qbo3任务的JavaScript中,我们为Form元素提供了一个值:
document.id('FormEdit').getElement('input[name=Process_ProcessTemplateID]').value = '11';
但我们需要一种方法,用Quantis查询取代"11",比如:
SELECT [ProcessTemplate].[ProcessTemplateID]
FROM ProcessTemplate
WHERE [ProcessTemplate].[ProcessTemplate] LIKE ('MyProcessName')
从而使用来自CCD_ 1表的值。有没有一种方法可以通过API调用,使用Promise或其他技术来实现这一点?
您可以执行以下操作:
qbo3.getPromise = function(cn, method, data) {
return new Promise(function(resolve, reject) {
new (qbo3[cn] || qbo3[cn + 'Object'])().invokeJson(method, data, { success: resolve, error: reject });
})
}
qbo3.getPromise('ProcessTemplate', 'Search', {"ProcessTemplate": "MyProcessName"})
.then(json => {
const id = json.ProcessCollection.ProcessItem[0].ProcessID;
document.id('FormEdit').getElement('input[name=Process_ProcessTemplateID]').value = id;
});