我需要根据custtable查询国家/地区名称的简称。
我知道信息在于
LogisticsAddressCountryRegionTranslation.shortname;
LogisticsAddressCountryRegion.countryregionid;
问题是,通过关系,我没有看到一种方法可以链接到custtable。在custtable中曾经有一个countryregionid可以链接回来,但它被改为DEL_countryregionid并且不能再使用它了。 我如何获得这些信息。使用ax 2012
答案 0 :(得分:2)
需要注意的一点是,客户记录可以有多个地址。因此,此答案使用主要邮政地址。这可能不是您的用例。
还有" ShortName"是区域特定的。
static void Job20(Args _args)
{
CustTable custTable;
LogisticsAddressCountryRegionTranslation countryRegionTranslation;
UserInfo userInfo;
LogisticsAddressCountryRegion countryRegion;
LogisticsPostalAddress postalAddress;
select firstOnly custTable;
postalAddress = custTable.postalAddress();
countryRegion = LogisticsAddressCountryRegion::find(postalAddress.CountryRegionId);
select firstonly Language from userInfo where userInfo.Id == curUserId()
join countryRegionTranslation
where countryRegionTranslation.CountryRegionId == countryRegion.CountryRegionId &&
countryRegionTranslation.LanguageId == userInfo.Language;
info(strFmt("Address: %1; ShortName: %2", postalAddress.Address, countryRegionTranslation.ShortName));
}