viernes, 13 de enero de 2017

Rellenar con 0 un texto en AX2012

AX2012 nos proporciona una manera fácil de añadir caracteres extra a una cadena de texto. Imaginemos que necesitamos representar una secuencia FV-#### dentro de AX. Necesitamos entonces incrementar un contador para después almacenarlo o mostrarlo con un formato tipo "FV-0001", "FV-0002" etc. Será necesario entonces rellenar el contador con ceros.

Podemos utilizar los métodos strRFix () y strLFix () para lograr esto.

    
// ------------------------------------------------(c) 2017 Last
// System: Microsoft Dynamics AX 2013 R3 CU12
// Description:     JOB de ejemplo para rellenar con 0
// Creator:         Juan Ruiz Romero
// Creation date:   13.01.2017
// -----------------------------------------------------------------
// -----------------------------------------------------------------
static void testRellenar0(Args _args)
{
    int i = 1;
    str cadena;
    str resultado;
    
    /*Creamos un string, de longitud 4, con el valor de i y rellenamos con 0*/    
    cadena = strRFix(int2str(i), 4, "0");
    resultado = strFmt("FV-%1", cadena);    
    info(resultado);
    
    cadena = strLFix(int2str(i), 4, "0");
    resultado = strFmt("FV-%1", cadena);    
    info(resultado);
}

Esto llenará resultado con FV-0001. Si usamos strLFix en lugar de strRFix, se rellenará con 0 a la derecha, dando como resultado FV-1000.