Коллеги, есть такой виджет, который переносит все поля для запросов с портальных форм на агентскую форму.
Если в агентском интерфейсе в поле c_request_type я указываю наименование формы запроса, то этот виджет отображаем все поля с этой формы, НО, данное правило действует только при создании обращения. Если же я меняю поле c_request_type, то виджет уже новые поля с новой формы не отображает. Как сделать так, чтобы отображал?
Template:
Client script:
(async () => {
if (!s_form.isNewRecord()) {
s_widget.setFieldValue(‘table_name’, s_form.getTableName());
s_widget.setFieldValue(‘record_id’, s_form.getUniqueValue());
s_widget.setFieldValue(‘model_id’, s_form.getValue(‘c_request_type’));
await s_widget.serverUpdate();
s_widget.removeTemplate(‘record_type’);
let templateOld = <rem modelId="{data.model_id}" tableName="{data.table_name}" recordId ="{data.record_id}" />
; //readOnly=“true”
s_widget.addTemplate(‘record_type’, templateOld, ‘’, ‘inner’);
await s_widget.serverUpdate();
}
if (s_form.isNewRecord()) {
SimpleEventBus.on(‘columnChanged’, () => {
if (s_form.getValue(‘c_request_type’)) {
s_widget.setFieldValue(‘table_name’, s_form.getTableName());
s_widget.setFieldValue(‘record_id’, s_form.getUniqueValue());
s_widget.setFieldValue(‘model_id’, s_form.getValue(‘c_request_type’));
s_widget.removeTemplate(‘record_type’);
let templateNew = <rem modelId="{data.model_id}" tableName="{data.table_name}" recordId ="{data.record_id}"/>
;
s_widget.addTemplate(‘record_type’, templateNew, ‘’, ‘inner’);
s_form.setValue(‘rem_caller_id’, s_form.getValue(‘caller’))
}
});
}
})();