Zoeken…


Invoering

In dit onderwerp leert u hoe u contact- en adresinformatie kunt wijzigen via code op verschillende schermen in Acumatica.

Geef contact- en adresgegevens op voor een nieuwe medewerker

Om Contact en Adres info opgeven voor een werknemer, moet u altijd beroep doen op Select() methode op Contact en uitzicht adresgegevens voorafgaand aan het toewijzen van elk veld waarden. Ook wordt aanbevolen om het resultaat van toewijzen Select() methode om Huidige het terrein van het Contact en adresgegevens uitzicht to garantie respectievelijk dat de code wijzigt de huidige record in Contact en adres PXCache.

EmployeeMaint employeeMaintGraph = PXGraph.CreateInstance<EmployeeMaint>();
EPEmployee epEmployeeRow = new EPEmployee();
epEmployeeRow.AcctCD = "EMPLOYEE1";
epEmployeeRow = employeeMaintGraph.Employee.Insert(epEmployeeRow);

Contact contactRow = employeeMaintGraph.Contact.Current = employeeMaintGraph.Contact.Select();
contactRow.FirstName = "John";
contactRow.LastName = "Green";
employeeMaintGraph.Contact.Update(contactRow);

Address addressRow = employeeMaintGraph.Address.Current = employeeMaintGraph.Address.Select();
addressRow.CountryID = "US";
addressRow = employeeMaintGraph.Address.Update(addressRow);
addressRow.State = "DC";
employeeMaintGraph.Address.Update(addressRow);

epEmployeeRow.VendorClassID = "EMPSTAND";
epEmployeeRow.DepartmentID = "FINANCE";
employeeMaintGraph.Employee.Update(epEmployeeRow);

employeeMaintGraph.Actions.PressSave();

Bij het invoegen van een nieuwe werknemer zal employeeMaintGraph.Contact.Current altijd het hoofdcontactrecord retourneren, omdat het contactrecord automatisch in de cache wordt ingevoegd en daarom beschikbaar wordt via de eigenschap Current van PXCache / Data View. Het gebruik van de Select() -methode is iets generieker, omdat deze in alle mogelijke scenario's werkt, of u nu een nieuwe medewerker wilt invoegen of een bestaande wilt bijwerken.

Factuurcontact- en factuuradresinformatie voor een klant overschrijven

Wanneer u Bill-To Contact en Bill-To Address-info voor een klant moet overschrijven, is de allereerste stap het instellen van de juiste waarden voor de IsBillContSameAsMain- en IsBillSameAsMain- eigenschappen van de klant- DAC. Vergeet niet de methode Update() in de cache van de klant op te roepen direct nadat u de IsBillContSameAsMain- of IsBillSameAsMain- eigenschap hebt bijgewerkt om de huidige veldwaarde Same als Main in de cache te plaatsen.

Uw volgende stap is om de methode Select() op te roepen in de gegevensviews BillContact en BillAddress voordat u veldwaarden toewijst. Ook wordt aanbevolen om het resultaat van toewijzen Select() methode om Huidige eigendom van de BillContact en BillAddress gegevensweergaven, respectievelijk dat de code wijzigt de huidige record in Contact en Adres PXCache te garanderen.

public class CustomerMaintExt : PXGraphExtension<CustomerMaint>
{
    public PXAction<Customer> UpdateBillingAddress;
    [PXButton(CommitChanges = true)]
    [PXUIField(DisplayName = "Update Bill-To Info")]
    protected void updateBillingAddress()
    {
        Customer currentCustomer = Base.BAccount.Current;

        if (currentCustomer.IsBillContSameAsMain != true)
        {
            currentCustomer.IsBillContSameAsMain = true;
            Base.BAccount.Update(currentCustomer);
        }
        else
        {
            currentCustomer.IsBillContSameAsMain = false;
            Base.BAccount.Update(currentCustomer);

            Contact billContact = Base.BillContact.Current = Base.BillContact.Select();
            billContact.FullName = "ABC Holdings Inc";
            billContact.Phone1 = "+1 (212) 532-9574";
            Base.BillContact.Update(billContact);
        }

        if (currentCustomer.IsBillSameAsMain != true)
        {
            currentCustomer.IsBillSameAsMain = true;
            Base.CurrentCustomer.Update(currentCustomer);
        }
        else
        {
            currentCustomer.IsBillSameAsMain = false;
            Base.CurrentCustomer.Update(currentCustomer);

            Address billAddress = Base.BillAddress.Current = Base.BillAddress.Select();
            billAddress.AddressLine1 = "65 Broadway";
            billAddress.AddressLine2 = "Office Suite 187";
            billAddress.City = "New York";
            billAddress.CountryID = "US";
            billAddress = Base.BillAddress.Update(billAddress);
            billAddress.State = "NY";
            billAddress.PostalCode = "10004";
            Base.BillAddress.Update(billAddress);
        }

        Base.Actions.PressSave();
    }
}

Factuurcontactadres en factuuradresadres voor een klantorder overschrijven

Om contactinformatie en factuuradresinformatie voor een klantorder op te geven, moet u altijd eerst de methode Select() gebruiken in de gegevensweergaven Billing_Contact en Billing_Address voordat u veldwaarden toewijst. Ook wordt aanbevolen om het resultaat van toewijzen Select() methode om Huidige eigendom van de Billing_Contact en Billing_Address gegevensweergaven, respectievelijk dat de code wijzigt de huidige record in SOBillingContact en SOBillingAddress PXCache te garanderen.

Wanneer u factureringscontact- en adresinformatie voor een verkooporder moet overschrijven, stelt u de juiste waarden in voor de eigenschappen OverrideContact en OverrideAddress op de SOBillingContact DAC en de SOBillingAddress DAC. Vergeet niet om de methode Update() op de caches SOBillingContact en SOBillingAddress aan te roepen direct nadat u de eigenschappen OverrideContact en OverrideAddress hebt bijgewerkt om de wijzigingen door te voeren. Als dat is gebeurd, kunt u doorgaan en Bill-To Contact- en adresgegevens voor een klantorder opgeven.

public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry>
{
    public PXAction<SOOrder> UpdateBillingAddress;
    [PXButton(CommitChanges = true)]
    [PXUIField(DisplayName = "Update Bill-To Info")]
    protected void updateBillingAddress()
    {
        SOBillingContact contact = Base.Billing_Contact.Current = Base.Billing_Contact.Select();
        if (contact.OverrideContact == true)
        {
            contact.OverrideContact = false;
            Base.Billing_Contact.Update(contact);
        }
        else
        {
            contact.OverrideContact = true;
            contact = Base.Billing_Contact.Update(contact);
            if (contact == null)
            {
                contact = Base.Billing_Contact.Current;
            }

            contact.Phone1 = "+1 (908) 643-0281";
            contact.Email = "[email protected]";
            Base.Billing_Contact.Update(contact);
        }

        SOBillingAddress address = Base.Billing_Address.Current = Base.Billing_Address.Select();
        if (address.OverrideAddress == true)
        {
            address.OverrideAddress = false;
            Base.Billing_Address.Update(address);
        }
        else
        {
            address.OverrideAddress = true;
            address = Base.Billing_Address.Update(address);
            if (address == null)
            {
                address = Base.Billing_Address.Current;
            }

            address.AddressLine1 = "201 Lower Notch Rd";
            address.AddressLine2 = "Office Suite 1936";
            address.City = "Little Falls";
            address.CountryID = "US";
            address = Base.Billing_Address.Update(address);
            address.State = "NJ";
            address.PostalCode = "07425";
            Base.Billing_Address.Update(address);
        }

        Base.Actions.PressSave();
    }
}


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow