Search code examples
customizationacumatica

Acumatica refer custom field to another custom field on different screen


I have created 2 custom fields(UsrFFA and UsrFreeFreightDay) as below in the Customers Screen.Customers Screen

Then I created similar fields on the Sales Order Screen as below Sales Order

I want these fields on Sales Order screen to populate values for respective Customer ID.

I went through the training material T200 and found this code

 protected void SOOrder_CustomerID_FieldUpdated(PXCache sender,PXFieldUpdatedEventArgs e)
{
 SOOrder order = e.Row as SOOrder;
 BAccount customer =
 PXSelectorAttribute.Select<SOOrder.customerID>(sender, order)
 as BAccount;
 if (customer != null)
 {
 Contact defContact = PXSelect<Contact,
 Where<Contact.bAccountID, Equal<Required<Contact.bAccountID>>,
 And<Contact.contactID, Equal<Required<Contact.contactID>>>>>
 .Select(Base, customer.BAccountID, customer.DefContactID);
 if (defContact != null)
 {
 ContactExt contactExt = PXCache<Contact>
 .GetExtension<ContactExt>(defContact);
 sender.SetValue<SOOrderExt.usrCRVerified>(order,
 contactExt.UsrCreditRecordVerified);
 }
 }
}

I am not able to understand this code and how should I use it in my customization.


Solution

  • Customize the attributes on the SOOrder field in the following way:

    For UsrFFA field

    [PXDBString(100)]
    [PXUIField(DisplayName="FFA", Visible = true, Enabled = false)]
    [PXFormula(typeof(Selector<SOOrder.customerID, BAccountExt.usrFFA>))]
    

    For UsrFreeFreightDay field

    [PXDBString(100)]
    [PXUIField(DisplayName="Free Freight Day", Visible = true, Enabled = false)]
    [PXFormula(typeof(Selector<SOOrder.customerID, BAccountExt.usrFreeFreightDay>))]