martes, 21 de junio de 2016

Retail POS [AX2012] | Como crear nuevos campos para los recibos del POS



Hola a Tod@s

Este artículo le mostrare cómo agregar uno o más campos al recibo que se emite desde el Punto de venta POS, desde su creación hasta su configuración. 
En este ejemplo el requerimiento nos dice añadir dos campos informativos uno en la cabecera y otro en el final del recibo, a continuación indicamos como se realiza esto.

1. Creación de campos personalizados

Al igual que los campos personalizados para hasta diseño, campos de recibos se definen en la Sede de la forma de campos personalizados (Comercial> Configuración> POS> Perfiles> Campos personalizados). 
Para nuestro ejemplo vamos a crear dos campos: Número de serie y Numero Autorización.





Tener en cuenta:
a. Los campos que se crean están disponibles en las tres secciones del diseñador formato de recibo: Cabecera, líneas, y pie de página. 
b. El ID de texto de título es un identificador único para el texto que se va a mostrar en el propio diseñador formato de recibo.
c. El ID todavía se almacena en la tabla RetailLanguageText.

Vamos a añadir la etiqueta y valores directo en la tabla RetailLanguageText, en el AOT.  Abrimos un nuevo espacio de trabajo de desarrollador y Diccionario de Datos> Tablas> RetailLanguageText. 




2. Agregar los campos personalizados al recibo de POS

Se pueden añadir a cualquier formato de recibo, vamos a Comercial > Configuración> POS> formatos de recibos y hacer clic en el Diseñador botón para cualquier formato de recibo:


Si los campos y las etiquetas se han creado correctamente, usted debería ser capaz de encontrar fácilmente en la lista de campos para cualquiera de las tres secciones:


Agregamos al diseño

Guardamos y posteriormente Ejecutar el job A-1090 o el trabajo N-1090 para sincronizar el nuevo recibo a su base de datos de punto de venta.

3. Conecta los campos personalizados en el Código de POS

Esta parte es sencialla la estructura que posee es una gran sentencia switch donde se llama para devolver el valor del campo.

La lógica interna en POS es

PROYECTO: Printing
CLASE: FormModulation.cs 
METODOS:
 GetInfoFromTransaction ()  -> valores para los campos de encabezado y pie de página
GetInfoFromSaleLineItem () ->valores para las líneas

Aquí está la instrucción switch para GetInfoFromTransaction () :




Para nuestro caso vamos a poner ambos campos NoAutorizacion y NoSerie, en esta sección puesto son campos de cabecera y pie, tener en cuenta que deben escribirse en mayúsculas los campos en el case.

 case "NOAUTORIZACION" :  
            return "ABCDE00001";   
 case "NOSERIE" :  
            return "S0000001";  

4. Realizamos la copia de la DLL generada en la ruda de Dynamics AX

Copiamos de la ruta: C:\Users\Admin\Documents\Retail SDK\POS Plug-ins\Services\Printing\bin\Debug

Pegamos Dll ruta: C:\Program Files (x86)\Microsoft Dynamics AX\60\ Services 



Si todo esta correcto seremos capaces de observar los campos en nuestra boleta




No hay comentarios:

Publicar un comentario