Caros,
Um amigo (Everaldo) me pediu ajuda, ele reportou a seguinte situação:

“Tenho o cadastro do cliente importado, no entanto, eu nos endereços, eu só importei o CEP, porque eu quero que o endereço seja baseado na minha nova tabela de CEPs que já se encontra no AX!”

Para isso, eu juntei uns pedações de código que estavam dentro do próprio AX e a solução ficou assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
static void updateAddressFromCeps(Args _args)
{
  CustTable       custTable;
  AddressZipCode  zipCode;
  ;
 
  ttsbegin;
  while select forUpdate custTable
  {
    zipCode                      = AddressZipCode::find(custTable.ZipCode);
    custTable.ZipCode            = zipCode.ZipCode;
    custTable.City               = zipCode.City;
    custTable.County             = zipCode.County;
    custTable.State              = zipCode.State;
    custTable.CountryRegionId    = zipCode.CountryRegionId;
 
    if (BrazilParameters::isEnabled())
    {
      if (zipCode.StreetName)
      {
        custTable.Street             = zipCode.StreetName;
        if (zipCode.AddressNumber)
        {
          custTable.AddressNumber      = zipCode.AddressNumber;
          if (zipCode.AddressComplement)
          {
              custTable.AddressComplement  = zipCode.AddressComplement;
          }
        }
      }
      if (zipCode.DistrictName)
      {
        custTable.DistrictName       = zipCode.DistrictName;
        custTable.Street             = zipCode.StreetName;
      }
    }
    custTable.update();
  }
  ttscommit;
}

Caso queira mudar de cliente para fornecedor, mude apenas de custtable para vendtable.

Mande você também sua duvida, talvez ela seja o proximo post no blog.

[]s
Pichler