Notifications
Announcements
No record found.
I added three custom rating enums (VendorRating, TimeRating, QualityRating) on the PurchEditLines(PurchParmTable datasource) form using a base enum ReceiveRating (values 1–5). Users select these ratings before posting a product receipt.
PurchEditLines(PurchParmTable datasource)
ReceiveRating
I want to save these values to the VendPackingSlipJour like after the user generated the receipt and after posting, source is VendPackingSlipJour Table in the VendPackingSlipJournal Form. I tried select for update matching with purchid on both datasource in the OK button handler of PurchEditLines, but it fails—no record found, possibly because VendPackingSlipJour isn't created yet.
VendPackingSlipJour
VendPackingSlipJour Table
VendPackingSlipJournal Form
OK
PurchEditLines
How can I achieve this?
Thanks,
Waed Ayyad
If this helped, please mark it as "Verified" for others facing the same issue
[FormControlEventHandler(formControlStr(PurchEditLines, OK), FormControlEventType::Clicked)] public static void OK_OnClicked(FormControl sender, FormControlEventArgs e) { Info("Ok button clicked on generating receipt"); FormRun formRun = sender.formRun(); FormDataSource PurchParmtable_ds = formRun.dataSource("PurchParmTable"); PurchParmTable _PurchParmTable = PurchParmtable_ds.cursor(); SysDictEnum SysDictEnum = new SysDictEnum(enumNum(ReceiveRating)); VendPackingSlipJour _vendpackingslipjour; Info(strFmt(" Purch id check: %1",_PurchParmTable.PurchId)); //Info(str ttsbegin; select forupdate _vendpackingslipjour where _vendpackingslipjour.PurchId == _PurchParmTable.PurchId; _vendpackingslipjour.VendorRating = _PurchParmTable.VendorRating; _vendpackingslipjour.TimeRating = _PurchParmTable.TimeRating; _vendpackingslipjour.OrderRating = _PurchParmTable.QualityRating; _vendpackingslipjour.update(); Info("Vendpackingslipjour updated"); ttscommit; }
[FormControlEventHandler(formControlStr(PurchEditLines, OK), FormControlEventType::Clicked)] public static void OK_OnClicked(FormControl sender, FormControlEventArgs e) { Info("Ok button clicked on generating receipt"); FormRun formRun = sender.formRun(); FormDataSource PurchParmtable_ds = formRun.dataSource(formDataSourceStr(PurchEditLines,PurchParmTable)) as FormDataSource; PurchParmTable _PurchParmTable = PurchParmtable_ds.cursor(); // SysDictEnum SysDictEnum = new SysDictEnum(enumNum(ReceiveRating)); VendPackingSlipJour _vendpackingslipjour; Info(strFmt(" Purch id check: %1",_PurchParmTable.PurchId)); ttsbegin; select forupdate _vendpackingslipjour where _vendpackingslipjour.PurchId == _PurchParmTable.PurchId; if(vendpackingslipjour.Recid > 0) { _vendpackingslipjour.VendorRating = _PurchParmTable.VendorRating; _vendpackingslipjour.TimeRating = _PurchParmTable.TimeRating; _vendpackingslipjour.OrderRating = _PurchParmTable.QualityRating; _vendpackingslipjour.update(); } ttscommit; Info("Vendpackingslipjour updated"); }
[ExtensionOf(formControlStr(PurchEditLines, Ok))] final class XXPurchEditLinese_FormControl_Extension { public void clicked() { next clicked(); Info("Ok button clicked on generating receipt"); FormControl formButtonControl = any2Object(this) as FormControl; FormRun formRun = formButtonControl.formRun(); FormDataSource PurchParmtable_ds = formRun.dataSource(formDataSourceStr(PurchEditLines,PurchParmTable)) as FormDataSource; PurchParmTable _PurchParmTable = PurchParmtable_ds.cursor(); // SysDictEnum SysDictEnum = new SysDictEnum(enumNum(ReceiveRating)); VendPackingSlipJour _vendpackingslipjour; Info(strFmt(" Purch id check: %1",_PurchParmTable.PurchId)); ttsbegin; select forupdate _vendpackingslipjour where _vendpackingslipjour.PurchId == _PurchParmTable.PurchId; if(vendpackingslipjour.Recid > 0) { _vendpackingslipjour.VendorRating = _PurchParmTable.VendorRating; _vendpackingslipjour.TimeRating = _PurchParmTable.TimeRating; _vendpackingslipjour.OrderRating = _PurchParmTable.QualityRating; _vendpackingslipjour.update(); } ttscommit; Info("Vendpackingslipjour updated"); }
[ExtensionOf(classStr(PurchPackingSlipJournalCreate))] final class PurchPackingSlipJournalCreate_Evs_PurchaseOrderRating1_Extension { public void initHeader() { next initHeader(); if(purchParmTable.RecId) { vendPackingSlipJour.VendorRating = purchParmTable.VendorRating; vendPackingSlipJour.TimeRating = purchParmTable.TimeRating; vendPackingSlipJour.OrderRating = purchParmTable.QualityRating; } } }
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Abhilash Warrier 669 Super User 2025 Season 2
André Arnaud de Cal... 449 Super User 2025 Season 2
Martin Dráb 384 Most Valuable Professional