This is what I think is happening.
When you call GetNewPart, it returns an empty data set to the browser. When that data set is loaded, they disable events.
main.64c75fadae33a1a3.js:160 event: Update_KeyFields_ViewName actions: [event-column-disable]
main.64c75fadae33a1a3.js:160 action: event-column-disable
main.64c75fadae33a1a3.js:160 column change event disabled for table KeyFields
main.64c75fadae33a1a3.js:160 onSuccess: [row-update, event-column-enable]
main.64c75fadae33a1a3.js:160 action: row-update param: [{…}]
main.64c75fadae33a1a3.js:160 dataview.setAsync called. epBinding : KeyFields.PartNum, value :
main.64c75fadae33a1a3.js:160 dataview.setAsync complete. epBinding : KeyFields.PartNum is set with value :
main.64c75fadae33a1a3.js:160 action: event-column-enable
main.64c75fadae33a1a3.js:160 column change event enabled for table KeyFields
Here is the same section from the BPM one.
main.64c75fadae33a1a3.js:160 event: Update_KeyFields_ViewName actions: [event-column-disable]
main.64c75fadae33a1a3.js:160 action: event-column-disable
main.64c75fadae33a1a3.js:160 column change event disabled for table KeyFields
main.64c75fadae33a1a3.js:160 onSuccess: [row-update, event-column-enable]
main.64c75fadae33a1a3.js:160 action: row-update param: [{…}]
main.64c75fadae33a1a3.js:160 dataview.setAsync called. epBinding : KeyFields.PartNum, value : AutoNumber
main.64c75fadae33a1a3.js:160 dataview.setAsync complete. epBinding : KeyFields.PartNum is set with value : AutoNumber
main.64c75fadae33a1a3.js:160 action: event-column-enable
main.64c75fadae33a1a3.js:160 column change event enabled for table KeyFields
Then, when the user enters a part number and tabs off, the ColumnChanging_PartNum fires. In my screenshot above, that is where the two versions start to not equal. There are multiple events that fire after ColumnChanging_PartNum that do not fire with the BPM version. Below is all of the lines that did not happen with the BPM.
main.64c75fadae33a1a3.js:160 columnChanging: ColumnChanging_PartNum actions: [condition]
main.64c75fadae33a1a3.js:160 action: condition param: {expression: '{TransView.XRefChecked} !== true', onSuccess: Array(1), onFailure: Array(2)}
main.64c75fadae33a1a3.js:160 expression: 'false !== true' evaluates to 'true'
main.64c75fadae33a1a3.js:160 onSuccess: [event-next]
main.64c75fadae33a1a3.js:160 action: event-next
main.64c75fadae33a1a3.js:160 event: SearchForSimilarPart actions: [event-next]
main.64c75fadae33a1a3.js:160 action: event-next param: {PartNum: '%value%', SysRowID: '00000000-0000-0000-0000-000000000000', RowType: ''}
main.64c75fadae33a1a3.js:160 event: GetPartXRefInfo actions: [rest-erp]
main.64c75fadae33a1a3.js:160 action: rest-erp param: {svc: 'Erp.BO.PartSvc', svcPath: 'GetPartXRefInfo', requestMethod: 'POST', erpRequestMethod: 'ErpPostWithDataViewProcessing', methodParameters: Array(3)}
main.64c75fadae33a1a3.js:160 ['request ErpPostWithDataViewProcessing: Erp.BO.PartSvc\\GetPartXRefInfo']
main.64c75fadae33a1a3.js:160 ['response received Erp.BO.PartSvc\\GetPartXRefInfo']
main.64c75fadae33a1a3.js:160 dataview.set called. epBinding : actionResult.partNum, value : 1232453546
main.64c75fadae33a1a3.js:160 dataview.set called. epBinding : actionResult.serialWarning, value :
main.64c75fadae33a1a3.js:160 dataview.set called. epBinding : actionResult.questionString, value :
main.64c75fadae33a1a3.js:160 dataview.set called. epBinding : actionResult.multipleMatch, value : false
main.64c75fadae33a1a3.js:160 Trying to assign object in epBinding actionResult.returnObj. epBinding values should contain only number, string or bool values. Instead received null
main.64c75fadae33a1a3.js:160 dataview.set called. epBinding : actionResult.returnObj, value : null
main.64c75fadae33a1a3.js:160 onSuccess: [row-update]
main.64c75fadae33a1a3.js:160 action: row-update param: [{…}]
main.64c75fadae33a1a3.js:160 dataview.setAsync called. epBinding : TransView.SerialWarning, value :
main.64c75fadae33a1a3.js:160 dataview.setAsync complete. epBinding : TransView.SerialWarning is set with value :
main.64c75fadae33a1a3.js:160 dataview.setAsync called. epBinding : TransView.QuestionString, value :
main.64c75fadae33a1a3.js:160 dataview.setAsync complete. epBinding : TransView.QuestionString is set with value :
main.64c75fadae33a1a3.js:160 dataview.setAsync called. epBinding : TransView.MultipleMatch, value : false
main.64c75fadae33a1a3.js:160 dataview.setAsync complete. epBinding : TransView.MultipleMatch is set with value : false
main.64c75fadae33a1a3.js:160 onSuccess: [condition, condition, condition]
main.64c75fadae33a1a3.js:160 action: condition param: {expression: '{TransView.MultipleMatch} == true', onSuccess: Array(2)}
main.64c75fadae33a1a3.js:160 expression: 'false == true' evaluates to 'false'
main.64c75fadae33a1a3.js:160 action: condition param: {expression: "'{TransView.SerialWarning}' != ''", onSuccess: Array(1)}
main.64c75fadae33a1a3.js:160 expression: ''' != ''' evaluates to 'false'
main.64c75fadae33a1a3.js:160 action: condition param: {expression: "'{TransView.QuestionString}' != ''", onSuccess: Array(1)}
main.64c75fadae33a1a3.js:160 expression: ''' != ''' evaluates to 'false'
main.64c75fadae33a1a3.js:160 onError: [condition]
main.64c75fadae33a1a3.js:160 action: condition param: {expression: "'{actionResult.partNum}'.toUpperCase() === '%value%'.toUpperCase()", onSuccess: Array(1), onFailure: Array(1)}
main.64c75fadae33a1a3.js:160 expression: ''1232453546'.toUpperCase() === '1232453546'.toUpperCase()' evaluates to 'true'
main.64c75fadae33a1a3.js:160 onSuccess: [event-next]
main.64c75fadae33a1a3.js:160 action: event-next
main.64c75fadae33a1a3.js:160 event: KeyField_Changed actions: [condition]
main.64c75fadae33a1a3.js:160 action: condition param: {expression: "'{SysPages.epBinding}'.startsWith('LandingPage') || {TransView.SysReadOnly} === true", onSuccess: Array(1), onFailure: Array(1)}
main.64c75fadae33a1a3.js:160 expression: ''Part.PartNum'.startsWith('LandingPage') || false === true' evaluates to 'false'
main.64c75fadae33a1a3.js:160 onError: [condition]
main.64c75fadae33a1a3.js:160 action: condition param: {expression: "'%value%'.length > 0", onSuccess: Array(1), onFailure: Array(1)}
main.64c75fadae33a1a3.js:160 expression: ''1232453546'.length > 0' evaluates to 'true'
main.64c75fadae33a1a3.js:160 onSuccess: [condition]
main.64c75fadae33a1a3.js:160 action: condition param: {expression: "'{Part.RowMod}' != 'A'", onSuccess: Array(1), onFailure: Array(2)}
main.64c75fadae33a1a3.js:160 expression: ''A' != 'A'' evaluates to 'false'
main.64c75fadae33a1a3.js:160 onError: [event-next, event-next]
main.64c75fadae33a1a3.js:160 action: event-next
main.64c75fadae33a1a3.js:160 event: SysSetProposedValue actions: [row-update]
main.64c75fadae33a1a3.js:160 action: row-update param: [{…}]
main.64c75fadae33a1a3.js:160 dataview.setAsync called. epBinding : TransView.SysProposedValue, value : 1232453546
main.64c75fadae33a1a3.js:160 dataview.setAsync complete. epBinding : TransView.SysProposedValue is set with value : 1232453546
main.64c75fadae33a1a3.js:160 action: event-next
main.64c75fadae33a1a3.js:160 event: Update_ViewName_ColumnChanged actions: [row-update]
main.64c75fadae33a1a3.js:160 action: row-update param: [{…}]
main.64c75fadae33a1a3.js:160 dataview.setAsync called. epBinding : Part.PartNum, value : 1232453546
main.64c75fadae33a1a3.js:160 columnChanging: ColumnChanging_Part_PartNum actions: [event-next]
main.64c75fadae33a1a3.js:160 columnChanging: ColumnChanging_Part_All actions: [condition]
main.64c75fadae33a1a3.js:160 action: event-next param: {ProposedPartNum: '%value%'}
main.64c75fadae33a1a3.js:160 event: ChangePartNum actions: [rest-erp]
main.64c75fadae33a1a3.js:160 action: rest-erp param: {svc: 'Erp.BO.PartSvc', svcPath: 'ChangePartNum', requestMethod: 'POST', erpRequestMethod: 'ErpPostWithDataViewProcessing', methodParameters: Array(1), …}
main.64c75fadae33a1a3.js:160 ['request ErpPostWithDataViewProcessing: Erp.BO.PartSvc\\ChangePartNum']
main.64c75fadae33a1a3.js:160 action: condition param: {expression: "'{Part.COASegReferences}' !== '' && '{Part.RowMod}' === 'A'", onSuccess: Array(1), onFailure: Array(1)}
main.64c75fadae33a1a3.js:160 expression: ''' !== '' && 'A' === 'A'' evaluates to 'false'
main.64c75fadae33a1a3.js:160 onError: [condition]
main.64c75fadae33a1a3.js:160 action: condition param: {expression: "'%column%' === 'ImageID' && '%value%' != ''", onSuccess: Array(1)}
main.64c75fadae33a1a3.js:160 expression: ''PartNum' === 'ImageID' && '1232453546' != ''' evaluates to 'false'
main.64c75fadae33a1a3.js:160 ['response received Erp.BO.PartSvc\\ChangePartNum']
main.64c75fadae33a1a3.js:160 Trying to assign object in epBinding actionResult.returnObj. epBinding values should contain only number, string or bool values. Instead received null
main.64c75fadae33a1a3.js:160 dataview.set called. epBinding : actionResult.returnObj, value : null
main.64c75fadae33a1a3.js:160 dataview.setAsync complete. epBinding : Part.PartNum is set with value : 1232453546
Since the events are disabled when the data set is loaded, it does not know that the part number changed. Then all of the subsequent events that are trigger IN THE BROWSER do not trigger.