poniedziałek, 14 maja 2012

Tworzenie odbiorcy i adresów z kodu - wersja uproszczona

Przykład wykorzystania klas AxBC do tworzenia odbiorcy oraz różnych typów adresów.
  
static void SBR_CreateCustomer(Args _args)
{
    AxCustTable axCustTable;
    AxAddress   axAddress;
    ;

    axCustTable = AxCustTable::construct();
    axCustTable.parmAccountNum('TEST_SBR');
    axCustTable.parmName('customer name');
    axCustTable.parmCustGroup('10');

    axCustTable.parmEmail('administrator@server.com');
    axCustTable.parmPhone('+49543333222');

    // Adres podstawowy - Primary address
    axCustTable.parmCity('Langenbach');
    axCustTable.parmCountryRegionId('DE');
    axCustTable.parmStreet('Alfred-Kühne-Straße 3');

    axCustTable.save();

    // Adres dostawy - współdzielony (Shared)
    axAddress = AxAddress::construct();
    axAddress.parmIsPrimary(false);
    axAddress.parmAddrRecId(DirPartyTable::find(axCustTable.currentRecord().PartyId).RecId);
    axAddress.parmAddrTableId(tablenum(DirPartyTable));
    axAddress.parmtype(AddressType::Delivery);
    axAddress.parmName('Adres dostawy');
    axAddress.parmCountryRegionId('DE');
    axAddress.parmCity('Berlin');
    axAddress.parmStreet('Rochstraße 7');
    axAddress.save();

    // Adres prywatny
    axAddress = AxAddress::construct();
    axAddress.parmIsPrimary(false);
    axAddress.parmAddrRecId(axCustTable.currentRecord().RecId);
    axAddress.parmAddrTableId(axCustTable.currentRecord().TableId);
    axAddress.parmtype(AddressType::Business);
    axAddress.parmName('Adres kontaktowy');
    axAddress.parmCountryRegionId('DE');
    axAddress.parmCity('Berlin');
    axAddress.parmStreet('Rochstraße 7');
    axAddress.save();
}