Vous êtes sur la page 1sur 7

Retail POS [AX2012] | Cómo añadir un elemento "ComboBox" en un

formulario estándar de Dynamics Ax for Retail POS.

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 haremos 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
​ .​ ​ ​Creación de controles y etiquetas.
2
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.​ C
​ reació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 entre Dynamics AX y POS
mediante sincronización por Jobs pero eso lo veremos en otra ocasión.

● ​Ingresamos a nuestro SQL y ejecutamos el siguiente script 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

● 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.

● 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;

}
}

● 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.

Vous aimerez peut-être aussi