0

在 qbo3 任务的 JavaScript 中,我们为表单元素提供了一个值:

document.id('FormEdit').getElement('input[name=Process_ProcessTemplateID]').value = '11';

但我们需要一种方法将“11”替换为 Quandis 查询,如下所示:

SELECT [ProcessTemplate].[ProcessTemplateID] 
FROM ProcessTemplate 
WHERE [ProcessTemplate].[ProcessTemplate] LIKE ('MyProcessName')

以便ProcessTemplate使用表中的值。有没有办法通过 API 调用、使用 Promise 或其他一些技术来做到这一点?

4

1 回答 1

0

您可以执行以下操作:

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;
  });
于 2021-04-21T18:17:31.320 回答