desde el form ventas espera una entrada de datos, puede ser un precio (ejemplo $25.00) ya que el articulo no tiene codigo EAN13, una suma de producto que ya a sido ingresado (Ejemplo 1+ , +5) se suma esa cantidad al articulo precedente que ya a sido impreso ( supongamos que el cliente ya compro una lata de cerveza y quiere llevar 5 mas) .
un articulo que tiene codigo EAN13 y se encuentra en la DBF , toma ese registro se lee el precio y demas datos y se envia a la impresora.
Code: Select all
cVcheck := GTIN_CHECK2(SUBSTR(Ventas.Text_1.Value,1,12))
If cVcheck = RIGHT( Ventas.Text_1.Value , 1 )
DBselectarea("Productos")
Productos->( DBGOTOP() )
IF Productos->(DBSEEK(Ventas.Text_1.Value))
cXPL := SUBSTR(Productos->XPL,1,10)
nprecio := Productos->P_Publico
cPrecio :=alltrim( STR( nprecio, 8, 2 ) )
If lQueregistro
Ventas.Text_2.Value := cXPL
Ventas.Text_3.Value := nprecio
Ventas.Text_1.Setfocus
lQueregistro := .F.
Else
IF Ventas.Articulos.ItemCount == 0
s := "@" + Se + "T" + Se + "T"
nVentasError := CallDll32 ( "MandaPaqueteFiscal" , "WINFIS32.DLL" , nHandler, s )
alerror(nVentasError)
Endif
Ventas.Articulos.AddItem ( { .t. , ;
1 , ;
Productos->Codigo , ;
Productos->SCS , ;
nprecio , ;
nprecio } )
/*---------------------------------------------------------------------------*
* venta de articùlos str( nprecio,8,2 ) */
s := "B" + Se + cXPL + Se + "1.0" + Se + cPrecio + Se + "21.0" + Se ;
+ "M" + Se + "0.0" + Se + '0' + Se + "T"
nVentasError := CallDll32 ( "MandaPaqueteFiscal" , "WINFIS32.DLL" ,nHandler, s )
alerror(nVentasError)
*---------------------------------------------------------------------------*