#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;
- поскольку эти данные передаются