2017-01-30 11 views
1

Мне нужно запросить короткое имя страны, основанное на custtable.как найти краткое название страны от custtable

Я знаю, что информация находится в

LogisticsAddressCountryRegionTranslation.shortname; 
LogisticsAddressCountryRegion.countryregionid; 

проблемы, проходя через отношения я не вижу способ связать обратно CustTable. Раньше существовал countryregionid в custtable, который привязывался бы назад, но он был изменен на DEL_countryregionid и больше не может его использовать. Как я могу получить эту информацию. Использование топора 2012

ответ

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