Buscar en este blog

jueves, 22 de octubre de 2015

Actualizar información de direcciones en clientes por código X++ en Dynamics Ax 2012

En el post anterior les compartí un código para crear clientes ya sean personas o empresas con su dirección e información de contacto, aquí les comparto cómo actualizar estos datos. Espero les sea de utilidad.

static void JobActualizaClientePersona(Args _args)
{
    CustTable                    custTable;
    NumberSeq                    numberSeq;
    Name                         name = 'Jorge Lopez';
 
    DirParty                        dirParty;
    DirPartyPostalAddressView       dirPartyPostalAddressView;
    DirPartyContactInfoView         dirPartyContactInfo;
    ;
 
    ttsBegin;
 
   try
    {
        custTable = custTable::find( "C000020695"); 
       
        select dirPartyPostalAddressView
        where dirPartyPostalAddressView.Party == custtable.Party
        && dirPartyPostalAddressView.IsPrimary == NoYes::Yes;
       
        //DirParty
        //Crea instancia de la clase DirParty a partir de dirPartyPostalAddressView
        //Actualiza dirección principal
        DirParty = DirParty::constructFromPartyRecId(dirPartyPostalAddressView.Party);
 
        dirPartyPostalAddressView.LocationName      = 'Oficina central ';
        dirPartyPostalAddressView.City              = 'Polanco Chapultepec';
        dirPartyPostalAddressView.Street            = 'Presidente Masarik';
        dirPartyPostalAddressView.StreetNumber      = '25';
        dirPartyPostalAddressView.CountryRegionId   = 'MEX'; //necesita ser un país valido
        dirPartyPostalAddressView.State             = '09' //necesita ser un estado valido
 
        // Llena dirección
        dirParty.createOrUpdatePostalAddress(dirPartyPostalAddressView);
 
        //Actualiza email de información de contacto
        dirPartyContactInfo.clear();
       
        select dirPartyContactInfo
        where dirPartyContactInfo.Party == custtable.Party &&
        dirPartyContactInfo.Type == LogisticsElectronicAddressMethodType::Email;
       
        DirParty = DirParty::constructFromPartyRecId(dirPartyContactInfo.Party);
       
        dirPartyContactInfo.LocationName    = 'Email Jorge Lopez';
        dirPartyContactInfo.Locator         = 'jorge.lopez222@gmail.com';
        dirPartyContactInfo.Type            = LogisticsElectronicAddressMethodType::Email;
        dirPartyContactInfo.IsPrimary       = NoYes::Yes;
 
        dirParty.createOrUpdateContactInfo(dirPartyContactInfo);
       
        //Actualiza telefono de información de contacto
        dirPartyContactInfo.clear();
        select  dirPartyContactInfo
        where dirPartyContactInfo.Party == custtable.Party &&
        dirPartyContactInfo.Type == LogisticsElectronicAddressMethodType::Phone;
       
        DirParty = DirParty::constructFromPartyRecId(dirPartyContactInfo.Party);
       
        dirPartyContactInfo.LocationName    = 'Telefono Jorge';
        dirPartyContactInfo.Locator         = '551291165343';
        dirPartyContactInfo.Type            = LogisticsElectronicAddressMethodType::Phone;
        dirPartyContactInfo.IsPrimary       = NoYes::Yes;
 
        dirParty.createOrUpdateContactInfo(dirPartyContactInfo);
 
        ttsCommit;
       
        info( strFmt("Cliente creado: %1" , custTable.AccountNum));
    }
    catch(Exception::Error)
    {
       ttsAbort;
       throw Exception::Error;
    }

}




Y por cierto, acuérdate de darle click a algún anuncio si el post te sirvió de algo. O comenta si quieres saber sobre algún tema en específico.

No olvides que te puedes unir a la página en Facebook Aprendiendo Dynamics Ax donde únicamente se tratan temas de desarrollo y se busca crear una comunidad de desarrollador@s de Ax en nuestro idioma. 

No hay comentarios.:

Publicar un comentario