Navegando por
Etiqueta: X++

Asignar campo con valores predeterminados

Asignar campo con valores predeterminados

El título es entendible para cumplir con el objetivo. Ahora bien, no es tan simple desde el punto de vista del proceso para lograr dicho objetivo.  Básicamente, para lograrlo debemos agregar el campo necesario en el método initValue() de la tabla en cuestión. Debe ser el método de tabla para que se replique en todos los objetos que utilizan dicho campo. En este ejemplo, modificaremos el campo InclTax de tipo NoYes a marcarlo siempre (True por defecto). En la tabla…

Leer más Leer más

[AX 2012 R3 – How To] Agregar elementos a un contenedor

[AX 2012 R3 – How To] Agregar elementos a un contenedor

En Microsoft Dynamics AX un contenedor (container) se refiere a un vector (array). A diferencia de otros lenguajes, como C# por ejemplo, el vector acepta múltiple tipos de datos dentro de él, al mismo tiempo. El siguiente código demuestra cómo agregar los elementos a un contenedor: int numero = 1;str cadena = “hola”;long largo = 15684965;container contenedor;contenedor += numero;contenedor += cadena;contenedor += largo;// Imprimimos “hola”info(strfmt(“Vamos a saludar: %1”, conPeek(contenedor, 2))); De esta manera los elementos fueron agregados al vector (contenedor).

[AX 2012 R3 – How To] Obtener dimensión desde cuenta de proveedor

[AX 2012 R3 – How To] Obtener dimensión desde cuenta de proveedor

Cuando trabajamos con diario de facturas, en ocasiones, es necesario obtener la dimensión para la cuenta del proveedor y asignar el número de cuenta (AccountNum) como dimensión. Es por ello, que la siguiente línea de código puede ayudarnos a realizar esa tarea: DimensionDynamicAccount cuentaDinamica;RecId recLedgerDimension, codProv = 50123657;AccountNum numeroCuenta;// Obtenemos el número de cuenta del proveedoraccountNum = VendTable::findRecId(codProv).AccountNum;// Obtenemos la cuenta del proveedor. Si no existe el AX lo crea. Es decir, siempre retorna un valorrecLedgerDimension = DimensionStorage::getDynamicAccount(accountNum, LedgerJournalACType::Vend);// recLedgerDimension…

Leer más Leer más

[AX 2012 R3 – How To] Crear dimensiones desde un container

[AX 2012 R3 – How To] Crear dimensiones desde un container

En ocasiones no tenemos definidas las dimensiones en AX de manera directa, pero lo obtenemos de otras fuentes externas. Entonces, debemos crear un contenedor donde adicionamos los valores necesarios para convertirlos en una dimensión (generalmente hablamos de LedgerDimension). Para lograr nuestro objetivo debemos escribir las siguientes líneas de código: container offsetDim;RecId recIdResult;// Primero el valor a mostrar (Display Value).// Luego la cuenta principal (Main account, generalmente el mismo que Display Value)// Cantidad de dimensiones (número entero)// Dimensiones separadas por comas:…

Leer más Leer más

[AX 2012 R3 – How To] Convertir un tipo genérico a un tipo específico

[AX 2012 R3 – How To] Convertir un tipo genérico a un tipo específico

Muchas veces tenemos la necesidad de utilizar una variable genérica al momento de colocarlo como parámetro de manera que al utilizarlo podamos convertirlo al tipo de dato necesario para la ejecución de la aplicación/rutina con la que estamos trabajando. En esta entrada voy a poner como ejemplo el uso de tablas para poder realizar una determinada acción. En este caso, vamos a recibir como parámetro el tipo de dato Common y dentro del método vamos a convertir en la tabla…

Leer más Leer más

[AX 2012 R3 – How To] Crear un diario de factura con X++

[AX 2012 R3 – How To] Crear un diario de factura con X++

En esta entrada mostraré cómo crear un diario de factura con X++, no es muy complicado pero debemos tener en cuenta una cierta cantidad de puntos para poder hacerlo de manera correcta. El código incluye comentarios. Creación del diario de facturas desde X++ public boolean createVendorInvoiceService(){ int i; LedgerJournalCheckPost jourCheckPost; LedgerJournalTable jourTable; AxLedgerJournalTable header = new AxLedgerJournalTable(); AxLedgerJournalTrans trans; container offsetDim, offsetDimAccount; // Esta es la entrada contra la cuenta del proveedor. DimensionAttributeValueCombination davc; //Tabla con personalizaciones de campos ServiceParameters…

Leer más Leer más