Hi all
How can i simulate a click on the generate PO button on the purchase requisitions screen,
I need it to be triggered when changing state to Approvedregards
Quick textual answer :
- trap the state change
- look for PO button
- .click()sorry for not paste a code fragment but I'm away from my EAM environment.(anyway : I've built my fragments looking in this group ...)Ciao,
Davide
Thanks for your answer Davide
I am trying with this code: /** Automatic generatepurchaseorder**/function fieldStatus(iField, iStatus){if (iField.length == 0) {return}vFormPanel = EAM.Utils.getScreen().getCurrentTab().getFormPanel();EAM.Builder.setFieldState({iField:iStatus},vFormPanel.getForm().getFieldsAndButtons());vCmd ='EAM.Builder.setFieldState({'+iField+':''+iStatus+''} ,vFormPanel.getForm().getFieldsAndButtons());'eval(vCmd);}Ext.define('EAM.custom.external_ssreq2', { extend: 'EAM.custom.AbstractExtensibleFramework', getSelectors: function () { return {'[extensibleFramework] [tabName=HDR][isTabView=true] [name=requisitionstatus]':{ focus: function () { var vFormPanel = EAM.Utils.getCurrentTab().getFormPanel(); BtnPo = vFormPanel.getFldValue('generatepurchaseorder'); //BtnPo2 = vFormPanel.getFldValue('uft-id-generatepurchaseorder'); Reqstatus = vFormPanel.getFldValue('requisitionstatus');if (Reqstatus == 'R') {fieldStatus('udfchar01','required'); return false;}else if (Reqstatus == 'A') {BtnPo.click;}} }}}});But it´s not working
Error : Uncaught TypeError: Cannot read property 'click' of null. line: 32
Hi @agutierrez ,
Change your BtnPo line to this:
BtnPo = Ext.ComponentQuery.query('[name=generatepurchaseorder]')[0];
Also, change BtnPo.click; to BtnPo.click();
I hope it helps. I have quickly tested it and it works for me.
MJ
Also, if you want this to happen on changing status then change your event from focus to select.
Hi MJ King,
Thanks so much this worked as expected
Also, change the event from focus to aftersaverecord.
/** Automatic generatepurchaseorder**/
function fieldStatus(iField, iStatus){if (iField.length == 0) {return}vFormPanel = EAM.Utils.getScreen().getCurrentTab().getFormPanel();EAM.Builder.setFieldState({iField:iStatus},vFormPanel.getForm().getFieldsAndButtons());vCmd ='EAM.Builder.setFieldState({'+iField+':''+iStatus+''} ,vFormPanel.getForm().getFieldsAndButtons());'eval(vCmd);}
Ext.define('EAM.custom.external_ssreq2', { extend: 'EAM.custom.AbstractExtensibleFramework', getSelectors: function () { return {
'[extensibleFramework] [tabName=HDR][isTabView=true]': { aftersaverecord: function () { var vFormPanel = EAM.Utils.getCurrentTab().getFormPanel(); BtnPo = Ext.ComponentQuery.query('[name=generatepurchaseorder]')[0]; Reqstatus = vFormPanel.getFldValue('requisitionstatus');
if (Reqstatus == 'R') {fieldStatus('udfchar01','required'); return false;}
else if (Reqstatus == 'A') {BtnPo.click();}
} }
}}});