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; }
