miércoles, 20 de enero de 2016

Retail POS [AX2012] | Como añadir un elemento "ComboBox" en un formulario estándar de Dynamics Ax for Retail POS.


Hola a tod@s


En esta ocasión vamos a ver un tema de Dynamics Ax 2012 Retail POS  realizaremos la personalización de un formulario estándar del POS. Esta acción será llevada a cabo en el formulario de pagos con tarjeta de crédito ubicada en el área de pago.


El formulario estándar luce de la siguiente manera.


Lo que aremos es crear un combo de opciones de "Tipos de Bando" y esa información la tomaremos de una tabla nueva configurada en nuestra base de datos SQL, a continuación les explicamos cómo realizarlo:

1.       Vamos a la solución de “Servicios  y abrimos el proyecto EFT / creditCards /          frmCreditCardDialog.cs à Damos clic derecho abrir diseño



      2.    Creación de controles y etiquetas.
Realizamos la creación de los objetos con el cuadro de herramientas ,no olvidemos dar el nombre del control para reconocerlo en nuestro caso “cmbBoxBanck



    3.     Creación de nuestra fuente de datos.

En este caso vamos a realizar la creación de nuestra tabla directo en SQL en la base de datos de nuestra tienda. Se puede realizar la configuración conjunta entr Dynamics Ax y POS mediante sincronización por Pjobs pero eso lo veremos en otra ocasión.

a.       Ingresamos a nuestro SQL y ejecutamos el siguiente scrip para crear una tabla.

 USE [AXRETAILBD]--NameDB  
 GO  
 CREATE TABLE [dbo].[NasivRETAILSTOREBANKTYPETABLE](  
      [BankId] [nvarchar](50) NULL,  
      [Name] [nvarchar](50) NOT NULL,  
      [storeId] [nvarchar](10) NULL,  
      [DataAreaId] [nvarchar](4) NULL  
 ) ON [PRIMARY]  
 GO  


b.       Refrescamos la BD y procedemos a ingresar datos a la tabla



4.       Programación de nuestro combobox

Ahora lo que realizaremos es en nuestro formulario la configuración del comboBox mediante la fuente de datos en SQL. Para esto nos vamos al código fuente del form.


a.       Creamos un método dentro del formulario que retornara un tipo de dato “DataSet” este retorna los datos de la tabla en forma temporal, esto lo realizaremos consultando a la base de datos a nuestra tabla creada anteriormente .


 
//PSilva: CRUD de la tabla de bancos
private DataSet fillBank()  
   {  
     SqlConnection connection = LSRetailPosis.Settings.ApplicationSettings.Database.LocalConnection;  
     DataSet Table = new DataSet();  
     System.Data.SqlClient.SqlCommand comm = new System.Data.SqlClient.SqlCommand();  
     try  
     {  
       if (connection.State == ConnectionState.Closed)  
       {  
         connection.Open();  
       }  
       if (connection.State == ConnectionState.Open)  
       {  
         try  
         {  
           SqlDataAdapter da = new SqlDataAdapter(" SELECT BankId, Name FROM NasivRETAILSTOREBANKTYPETABLE where storeId ='" + LSRetailPosis.Settings.ApplicationSettings.Terminal.StoreId + "' and DataAreaId = '" + LSRetailPosis.Settings.ApplicationSettings.Database.DATAAREAID + "'", connection);  
           da.Fill(Table, "NasivRETAILSTOREBANKTYPETABLE");  
           return Table;  
         }  
         catch (Exception ex)  
         {  
           connection.Close();  
           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);  
           return Table;  
         }  
       }  
     }  


b.       Vamos al método “OnLoad” del formulario en este método colocamos el siguiente código haciendo el llamado a nuestro método que retorna nuestro DataSource.

Código:

 //cmbBank.sn  
     try  
     {  
       DataSet dscmbBoxBank = new DataSet();  
       dscmbBoxBank = fillBank();  
       cmbBoxBank.DataSource = dscmbBoxBank.Tables[0].DefaultView;  
       cmbBoxBank.DisplayMember = "Name";  
       cmbBoxBank.ValueMember = "BankId";  
     }  
     catch (Exception ex) { };  
     //cmbBank.end  



       5.       Luego de terminar nuestra programación realizamos la compilación del proyecto y cambio de DLL es decir:




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

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





Finalmente en nuestro combo se verán las opciones configuradas en nuestra tabla de datos.

  



Espero les sea de gran ayuda no duden en preguntar !

By NASIV




No hay comentarios:

Publicar un comentario