Bir proje için ax 2012’de koddan “iş ilişkisi” (smmBusRelTable) oluşturmam gerekti. Aşağıda verdiğim örnek kod ile bu işlemi kolaylıkla yapabilirsiniz.
Kodda sırasıyla:
- Önce İş ilişkisi için gerekli party’yi oluşturuyoruz. (DirPerson yada DirOrganization)
- Bu party’den türeyen bir iş ilişkisi (smmBusRelTable) yaratıyoruz.
- Oluşturduğumuz iş ilişkisi için varsa adres ve iletişim bilgilerini giriyoruz. (LogisticsPostalAddress, LogisticsElectronicAddress)
// Güven Şahin - guvensahin.com
public static smmBusRelTable createBusRelTable(
boolean _isPerson,
str _firstName,
str _lastName,
str _fullName,
str _phone,
str _email,
str _state,
str _address)
{
smmBusRelTable smmBusRelTable;
DirParty dirParty;
DirPartyPostalAddressView dirPartyPostalAddressView;
DirPartyContactInfoView dirPartyContactInfo;
DirOrganization dirOrganization;
DirPerson dirPerson;
DirPersonName dirPersonName;
;
ttsBegin;
smmBusRelTable.clear();
smmBusRelTable.initValue();
smmBusRelTable.BusRelAccount = NumberSeq::newGetNum(smmParameters::numRefBusRelAccount()).num();
smmBusRelTable.BusRelTypeId = "İş İlişkisi";
if (_isPerson)
{
_fullName = _firstName + " " + _lastName;
dirPerson.clear();
dirPerson.initValue();
dirPerson.Name = _fullName;
dirPerson.NameAlias = _fullName;
dirPerson.NameSequence = DirNameSequence::find('FirstLast').RecId;
dirPerson.insert();
dirPersonName.clear();
dirPersonName.initValue();
dirPersonName.Person = dirPerson.RecId;
dirPersonName.FirstName = _firstName;
dirPersonName.LastName = _lastName;
dirPersonName.ValidFrom = DateTimeUtil::minValue();
dirPersonName.ValidTo = DateTimeUtil::maxValue();
dirPersonName.insert();
smmBusRelTable.Party = dirPerson.RecId;
}
else
{
dirOrganization.initValue();
dirOrganization.Name = _fullName;
dirOrganization.insert();
smmBusRelTable.Party = dirOrganization.RecId;
}
dirParty = DirParty::constructFromCommon(smmBusRelTable);
dirParty.parmName(_fullName);
dirParty.parmNameAlias(_fullName);
dirPartyPostalAddressView.clear();
dirPartyPostalAddressView.LocationName = 'B2B Adres';
dirPartyPostalAddressView.CountryRegionId = 'TUR';
dirPartyPostalAddressView.State = _state;
dirPartyPostalAddressView.Street = _address;
dirParty.createOrUpdatePostalAddress(dirPartyPostalAddressView);
// phone
if (_phone)
{
dirPartyContactInfo.clear();
dirPartyContactInfo.Locator =_phone;
dirPartyContactInfo.Type = LogisticsElectronicAddressMethodType::Phone;
dirPartyContactInfo.IsPrimary = NoYes::Yes;
dirParty.createOrUpdateContactInfo(dirPartyContactInfo);
}
// email
if (_email)
{
dirPartyContactInfo.clear();
dirPartyContactInfo.Locator =_email;
dirPartyContactInfo.Type = LogisticsElectronicAddressMethodType::Email;
dirPartyContactInfo.IsPrimary = NoYes::Yes;
dirParty.createOrUpdateContactInfo(dirPartyContactInfo);
}
smmBusRelTable.insert();
ttsCommit;
return smmBusRelTable;
}