lunes, 3 de octubre de 2022

Operaciones sobre tablas

//Agregar un registro
nRenglon = TableCount(TABLE_Detalle)
nRenglon++
TableAdd(TABLE_Detalle)
TABLE_Detalle[nRenglon].COL_IdDB_Articulo = DB_Articulo.IdDB_Articulo
TABLE_Detalle[nRenglon].COL_CodBarras = DB_Articulo.CodigoBarra
TABLE_Detalle[nRenglon].COL_Descripcion = DB_Articulo.Descripcion
TABLE_Detalle[nRenglon].COL_Caducidad = EDT_Caducidad
TABLE_Detalle[nRenglon].COL_Lote = EDT_Lote
TABLE_Detalle[nRenglon].COL_PrecMaxPub = EDT_PrecioMaxPublico
TABLE_Detalle[nRenglon].COL_Cantidad = EDT_Cantidad
TABLE_Detalle[nRenglon].COL_ValorUnitario = EDT_ValorUnitario
TABLE_Detalle[nRenglon].COL_Importe = EDT_Importe
TABLE_Detalle[nRenglon].COL_Descuento = EDT_Descuento
TABLE_Detalle[nRenglon].COL_IVAMonto = EDT_IVA
TABLE_Detalle[nRenglon].COL_IVATasa = EDT_IVATasa
TABLE_Detalle[nRenglon].COL_IEPSMonto = EDT_IEPS
TABLE_Detalle[nRenglon].COL_IEPSTasa = EDT_IEPSTasa
TABLE_Detalle[nRenglon].COL_Total = EDT_Total


//Modificar una cantidad 

IF TableSelect(TABLE_Articulos) = -1 RETURN
nPosicion is int
nTotalRenglones is int
cyCantidad is currency
TableSetFocus(TABLE_Articulos)
// Number of rows found in the "TABLE_Product" control
nTotalRenglones = TableCount(TABLE_Articulos)
// Subscript of selected row in the "TABLE_Product" control
nPosicion     = TableSelect(TABLE_Articulos)
cyCantidad    = Open(WIN_Cantidad)
IF cyCantidad > 0 THEN
    TableSelectPlus(TABLE_Articulos, nPosicion)
    //TableDeleteSelect(TABLE_Articulos)
    TABLE_Articulos.COL_Cantidad = cyCantidad
    TABLE_Articulos.COL_Total = cyCantidad * TABLE_Articulos.COL_PU
    LP_Actualiza()
END

//Borrar

IF TableSelect(TABLE_Articulos) = -1 RETURN
nPosicion is int
nTotalRenglones is int
TableSetFocus(TABLE_Articulos)
// Number of rows found in the "TABLE_Product" control
nTotalRenglones = TableCount(TABLE_Articulos)
// Subscript of selected row in the "TABLE_Product" control
nPosicion = TableSelect(TABLE_Articulos)
TableSelectPlus(TABLE_Articulos, nPosicion)
TableDeleteSelect(TABLE_Articulos)
LP_Actualiza()



////moverse hacia abajo
IF TableSelect(TABLE_Articulos) = -1 RETURN
nPosicion is int
nTotalRenglones is int
TableSetFocus(TABLE_Articulos)
// Number of rows found in the "TABLE_Product" control
nTotalRenglones = TableCount(TABLE_Articulos)
// Subscript of selected row in the "TABLE_Product" control
nPosicion = TableSelect(TABLE_Articulos)
IF nPosicion < nTotalRenglones THEN nPosicion++
TableSelectPlus(TABLE_Articulos, nPosicion)



//Moverse hacia arriba

IF TableSelect(TABLE_Articulos) = -1 RETURN
nPosicion is int
nTotalRenglones is int
TableSetFocus(TABLE_Articulos)
// Number of rows found in the "TABLE_Product" control
nTotalRenglones = TableCount(TABLE_Articulos)
// Subscript of selected row in the "TABLE_Product" control
nPosicion = TableSelect(TABLE_Articulos)
IF nPosicion > 1 THEN nPosicion--
TableSelectPlus(TABLE_Articulos, nPosicion)

Imprimir código de barras

 IF iConfigure(COMBO_ListaImpresoras..DisplayedValue) = True THEN
//IF iConfigure("GTP801 Printer") = True THEN
Info("Entré a imprimir")
iCreateFont(1,8,iBold+iItalic,iRoman)
iCreateFont(2,8,iBold,iRoman)
iCreateFont(3,7,iBold,iRoman)
FOR i=1 TO 2// numero de copias a imprimir
//iPreview(i100)
//IFHReadSeek(Factura,Factura,nFactura)THEN

// IMPRIMIMOS LA CABECERA DE LA FACTURA
iPrint(iFont(1)+"FACTURA ")
iPrint(iFont(1)+"FECHA: " + DateSys())
iPrintWord(iFont(1)+"CLIENTE:")
iPrint(" ")
iPrint(iFont(1) + "Domicilio")
iPrint(RepeatString("-",90))
iPrint()

//HExecuteQuery(QRY_Factura,hQueryDefault,nFactura)
//HReadFirst(QRY_Factura)
iPrint(iFont(1)+"Cantidad Articulo Descripción Precio Total")

//WHILENOTHOut(QRY_Factura)
iPrintWord(iFont(1)+ "Cantidad" )
iXPos(7)
iPrintWord(iFont(1)+iXPos(iXPos()+20)+ "Articulo")

iPrintWord(iFont(1)+iXPos(iXPos()+13)+"Descripcion")

iPrintWord(iFont(1)+iXPos(iXPos()+45)+ "Precio")

iPrint(iFont(1)+iXPos(iXPos()+25)+ "Total")
//HReadNext(QRY_Factura)
//END

Try catch end

 // -------------------------------------------------- // Procedure principal que executa uma query com tratamento de exceção // -----------...