мастер задач qbo3

#workflow #wizard #qbo3

#рабочий процесс #мастер #qbo3

Вопрос:

У нас есть рабочий процесс QBO, состоящий из следующих шагов:

  • Задача A
  • Подождите день
  • Задача B

В большинстве случаев пользователи будут:

  • начните с их рабочего списка
  • перейдите к задаче A
  • по завершении будут возвращены в их рабочий список
  • на следующий день задача B должна появиться в их рабочем списке

В некоторых случаях, определяемых полями, присутствующими в задаче A, поток должен быть:

  • начните с их рабочего списка
  • перейдите к задаче A
  • по завершении:
    • если Foo = ‘Bar’, перейдите к задаче B для той же родительской записи,
    • в противном случае вернитесь к их рабочему списку

Как это сделать в рабочем процессе qbo3?

Ответ №1:

Задачи по замыслу возвращают пользователя на страницу ссылки при сохранении (или отмене).

Чтобы вызвать отображение другой страницы, используйте javascript, чтобы присвоить ссылающейся странице другое значение.

Из конструктора графического интерфейса задачи:

  • нажмите на Foo поле
  • в поле Javascript> onblur введите код, аналогичный следующему (возврат каретки не требуется; используется здесь только для удобства чтения):
 if (this.value == 'Bar') 
  qbo3.getObject(this).setReferrer('api/importform/summary?Object={{Object}}
amp;amp;ObjectID={{ObjectID}}
amp;amp;Method=RenderEdit
amp;amp;Template=Task B', this);
 
  • нажмите Save

Некоторые примечания / исправления в отношении приведенного выше фрагмента javascript:

  • qbo3.getObject(this).setReferrer(...) изменяет значение document.referrer
  • передаваемый URL-адрес является относительным URL-адресом и вызывает Task отображение
  • параметры Object и ObjectID указывают qbo3 , чтобы отобразить задачу на том же родительском объекте, что и текущая задача
  • использование фигурных скобок {} указывает setReferrer на замену выражений соответствующими значениями в текущей задаче (например, Task A и Task B у каждого должно быть одинаковое Object и ObjectID
    • поскольку эти данные передаются XSLT , фигурные скобки должны быть удвоены: {{}} чтобы XSLT не пытаться их интерпретировать
    • поскольку эти данные передаются в XSLT , amp; должны быть XML совместимыми; таким образом, использование amp;amp;