Buscar en este blog

sábado, 4 de julio de 2015

Rellenar o incluir caracteres en cadenas con strRFix en Dynamics Ax 2012

Muchas veces necesitamos incluir en nuestras cadenas de texto ciertos caracteres porque requerimos que nuestra cadena cumpla con un formato especifico. Por ejemplo, si queremos que un folio en el que no usamos secuencias tenga una norma de 6 dígitos, necesitamos que cuando el usuario introduzca el número "1" se transforme en "00001".

Para esto tenemos la función strRFix, que se usa:

static void mascaraFolios(Args _args)
{
    int                             folioSiguiente;
    DimensionValue                  cedisMascara;
    str                             folioMascara,
                                    cedisSalesLine,
                                    folioOriginal, 
                                    folioFinal;
   
    cedisSalesLine = "13" ;
    folioOriginal = "5" ;

    //Modificación para incluir el cedis en el formato del folio
    //Se requieren 3 dígitos para cedis
    cedisMascara = strRFix(cedisSalesLine, 3 '0' );
   
    folioSiguiente = str2int(folioOriginal) + 1;
    folioMascara = strRFix(int2str(folioSiguiente), 6'0');
    folioFinal = cedisMascara + "-" + folioMascara;
   
    info(folioFinal);
}

Y el resultado:


Si quisieras que los ceros los agregara del lado derecho, solo usamos la función strLFix. Por ejemplo:

static void mascaraFolios(Args _args)
{
    int                             folioSiguiente;
    DimensionValue                  cedisMascara;
    str                             folioMascara,
                                    cedisSalesLine,
                                    folioOriginal, 
                                    folioFinal;
   
    cedisSalesLine = "13" ;
    folioOriginal = "5" ;

    //Modificación para incluir el cedis en el formato del folio
    //Se requieren 3 dígitos para cedis
    cedisMascara = strLFix(cedisSalesLine, 3 '0' );
   
    folioSiguiente = str2int(folioOriginal) + 1;
    folioMascara = strLFix(int2str(folioSiguiente), 6'0');
    folioFinal = cedisMascara + "-" + folioMascara;
   
    info(folioFinal);
}

Y el resultado:

Post que podrían interesarte:
Capturar errores del infolog mediante código x++
Crear documentos asociados a un registro por código (DocuRef)
Teclas rápidas en Microsoft Dynamics Ax 2012


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