Rob,
When I try this in the Issue Material or Return Material screens, I get an error about handles requiring a withevents. I tried to Google this and see many examples, none of which seem to work. Can you help? I guess the real issue may be that the tables are different...PartTran is not available on these forms...However, the rest seem to be Views only, so I am not sure what table to use? It does seem that the transaction goes to the Part Tran table (shown in Part Transaction History tracker).
Thanks in advance for any further help...
Karen
From:
vantage@yahoogroups.com [mailto:
vantage@yahoogroups.com] On Behalf Of Rob Bucek
Sent: Wednesday, July 18, 2012 2:22 PM
To:
vantage@yahoogroups.com
Subject: RE: [Vantage] Set default bin value to blank
Karen,
How profoundly annoying.. I love when Epicor does this crap.. sometimes you'll find that a certain form doesn't expose any (or the ones you want anyways) of the methods to allow you to hook into them and execute code.. you can find this by running a message box and calling in the args.[something] to see what is firing and when. I was able to get epiviewnotification to fire here and there, but not when you need it. We don't use the job receipt to inventory, but I believe you have to pick a specific assembly and at least enter a quantity correct? So given that they must enter a quantity, go with after field value changed, once that occurs we can then do something. The kicker is that the value in the text box was very persistent (sometimes this occurs due to what I call magic behind the scenes, its magic, because im not that smart..) so in this case if you go right to the row and change the value.... I only referenced the control as an object to throw focus for the conveni ence of selecting a different bin at that point..
This is tested and works in 490c
Private Sub PartTran_AfterFieldChange(ByVal sender As object, ByVal args As DataColumnChangeEventArgs) Handles PartTran_Column.ColumnChanged
'// ** Argument Properties and Uses **
'// args.Row("[FieldName]")
'// args.Column, args.ProposedValue, args.Row
'
'Add Event Handler Code
'
Select Case args.Column.ColumnName
Case "TranQty"
Dim txtBinBox As Epitextbox = ctype(csm.GetNativeControlReference("740bb34c-c3d6-4e02-8dac-be978b20129f"),EpiTextBox)
Dim edvPartTran As EpiDataView = CType(oTrans.EpiDataViews("PartTran"), EpiDataView)
edvPartTran.dataView(edvPartTran.Row)("BinNum") = ""
txtBinBox.Focus
Case Else
End Select
End Sub
Rob Bucek
Production Control Manager
PH: (715) 284-5376 ext 311
Mobile: (715)896-0590
FAX: (715)284-4084
[Description: cid:
1.234354861@...<mailto:1.234354861%40web65412.mail.ac4.yahoo.com>]<
http://www.dsmfg.com/>
(Click the logo to view our site)<
http://www.dsmfg.com/>
From:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com> [mailto:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>] On Behalf Of Karen Schoenung
Sent: Wednesday, July 18, 2012 12:39 PM
To:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com>
Subject: RE: [Vantage] Set default bin value to blank
Rob,
This is what I have...I am using the job adapter (job receipt to inventory screen) - since once you pull in the job, the bin populates. The Part Tran view is the only one with real fields (the other views have rowident, row mod etc).
If I comment out the if and end if, I get no compile messages and then it should perform each time too, but I still get the first bin in the binnum text box...
Am I way off here?
Thanks,
Karen
Private Sub oTrans_jobAdapter_BeforeAdapterMethod(ByVal sender As object, ByVal args As BeforeAdapterMethodArgs) Handles oTrans_jobAdapter.BeforeAdapterMethod
'// ** Argument Properties and Uses **
'// args.MethodName, args.Cancel
'
'Add Event Handler Code
'
'MessageBox.Show(args.MethodName) ' use this to find method
Select Case args.MethodName
Case "Update"
'Dim dRes As DialogResult = MessageBox.Show("Cancel Update?", "Cancel", MessageBoxButtons.YesNo)
'If (dRes = DialogResult.Yes) Then
'args.Cancel = True
'Else
' 'Do Something Else
'End If
Dim edvPartTran As EpiDataView = CType(oTrans.EpiDataViews("PartTran"), EpiDataView)
' If (args.Row > -1) Then
Dim txtBinNum As Epitextbox = ctype(csm.GetNativeControlReference("740bb34c-c3d6-4e02-8dac-be978b20129f"),EpiTextBox)
txtBinNum.Focus
txtBinNum.ResetBindings()
txtBinNum.ResetText()
txtBinNum.ResetNullText()
txtBinNum.Clear()
txtBinNum.value = ""
'End If
Case Else
End Select
End Sub
From:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On Behalf Of Rob Bucek
Sent: Wednesday, July 18, 2012 11:48 AM
To:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
Subject: RE: [Vantage] Set default bin value to blank
After I looked at the code I wrote to do that I noticed I didn't call that directly under the beforeadapter method, it was actually under an epiview notification.. I try not to use that one if a can get away with it because it can get called a lot..but.. test out your application. If under normal use it isn't fired a lot maybe it will work in your case. The other one mine was actually an epinumeric editor.. I just assumed resetvalue would be a method under epitextbox.. under object explorer in the UI tab look under controls/epitextbox/methods.. im sure youll get on to work for you.. I see methods like resetnulltext(), clear() etc.. resettext() may be your ticket..
Rob Bucek
Production Control Manager
PH: (715) 284-5376 ext 311
Mobile: (715)896-0590
FAX: (715)284-4084
[Description: cid:
1.234354861@...<mailto:1.234354861%40web65412.mail.ac4.yahoo.com><mailto:1.234354861%40web65412.mail.ac4.yahoo.com><mailto:1.234354861%40web65412.mail.ac4.yahoo.com>]<
http://www.dsmfg.com/>
(Click the logo to view our site)<
http://www.dsmfg.com/>
From:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On Behalf Of Karen Schoenung
Sent: Wednesday, July 18, 2012 10:43 AM
To:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
Subject: RE: [Vantage] Set default bin value to blank
Rob,
I am trying to do something like this also...When I test the code (Vantage 8.03.409c), I get the errors shown:
Error: BC30456 - line 85 (129) - 'Row' is not a member of 'Epicor.Mfg.UI.FrameWork.BeforeAdapterMethodArgs'.
Error: BC30456 - line 89 (133) - 'resetvalue' is not a member of 'Epicor.Mfg.UI.FrameWork.EpiTextBox'.
I probably need to declare some things - can you help?
Thanks,
Karen
From:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On Behalf Of Rob Bucek
Sent: Tuesday, July 17, 2012 12:49 PM
To:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
Subject: RE: [Vantage] Set default bin value to blank
Probably want to do a form event, try either before row change, or before adapter method (whenever the data populates or is changed). Change the GUID to whatever the field GUID is in your issue material form on your handheld. This is untested...
Within that try something like:
If (args.Row > -1) Then
Dim txtBinNum As Epitextbox = ctype(csm.GetNativeControlReference("f1fdcf24-066d-424e-9b59-319a804854fa"),EpiTextBox)
txtBinNum.Focus
txtBinNum.ResetBindings()
txtBinNum.resetvalue()
txtBinNum.value = ""
End If
Rob Bucek
Production Control Manager
PH: (715) 284-5376 ext 311
Mobile: (715)896-0590
FAX: (715)284-4084
[Description: cid:
1.234354861@...<mailto:1.234354861%40web65412.mail.ac4.yahoo.com><mailto:1.234354861%40web65412.mail.ac4.yahoo.com><mailto:1.234354861%40web65412.mail.ac4.yahoo.com><mailto:1.234354861%40web65412.mail.ac4.yahoo.com><mailto:1.234354861%40web65412.mail.ac4.yahoo.com>]<
http://www.dsmfg.com/>
(Click the logo to view our site)<
http://www.dsmfg.com/>
From:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com> [mailto:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>] On Behalf Of aimee.grebe
Sent: Tuesday, July 17, 2012 12:28 PM
To:
vantage@yahoogroups.com<mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com><mailto:vantage%40yahoogroups.com>
Subject: [Vantage] Set default bin value to blank
Does anyone have a script or know the syntax that will set a UI textbox to blank by default? We have the handheld module and I want the From Bin field to be blank when they are issuing materials so they have to scan a BinNum and don't accidentally accept the default.
Thanks,
Aimee
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]
[Non-text portions of this message have been removed]