diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas
index 2ad5005..3308ef4 100644
--- a/B4A/B4XMainPage.bas
+++ b/B4A/B4XMainPage.bas
@@ -89,6 +89,21 @@ Sub Class_Globals
Private ET_Add_Monto As EditText
Private p_add_monto As Panel
Dim sDate, sTime As String
+ Private p_validacion As Panel
+ Private b_cancelarcodigo As Button
+ Private b_aceptar As Button
+ Private et_codigo As EditText
+ Private P_CIEGO As Panel
+ Private b_terpc As Button
+ Private B_PC_ENV As Button
+ Private CLV_PICK_CIEGO As CustomListView
+ Private et_buspc As EditText
+ Dim q_buscar As String
+ Dim d As Cursor
+ Private L_PICK_CIEGO As Label
+ Private ET_PICK_CIEGO As EditText
+ Dim a As Cursor
+ Dim f As Cursor
End Sub
Public Sub Initialize
@@ -137,6 +152,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
B4XPages.AddPage("tabulador", tabulador)
checklist.Initialize
B4XPages.AddPage("checklist",checklist)
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD3 (CAT_GP_INICIATIVA TEXT, CAT_GP_TIPOPROD TEXT, CAT_GP_DEV TEXT, CAT_GP_ALMACEN NUMERIC, CAT_GP_ID TEXT, CAT_GP_NOMBRE TEXT, CAT_GP_IMP1 TEXT, CAT_GP_IMP2 TEXT, CAT_GP_PRECIO TEXT, CAT_GP_CLASIF TEXT, CAT_GP_STS TEXT, CAT_GP_TIPO TEXT, CAT_GP_SUBTIPO TEXT, CAT_GP_IMG BLOB)")
+ Subs.agregaColumna("CAT_GUNAPROD3", "CAT_DP_CONVERSION1", "TEXT")
+ Subs.agregaColumna("CAT_GUNAPROD3", "CAT_DP_PRECIO4", "TEXT")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICK_CIEGO (PC_ID_PROD TEXT, PC_NOM_PROD TEXT, PC_CANT TEXT, PC_ALMACEN TEXT, PC_RUTA TEXT, PC_FECHA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TABULADOR_MONEDAS(VEINTE TEXT, DIEZ TEXT, CINCO TEXT, DOS TEXT, PESO TEXT, CENTAVO TEXT, TOTAL TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TABULADOR_BILLETES(MIL TEXT, QUINIENTOS TEXT, DOCIENTOS TEXT, CIEN TEXT, CINCUENTA TEXT, VEINTE TEXT)")
@@ -146,14 +165,20 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS VENTAS (V_FECHA TEXT, V_CLIENTE TEXT, V_CLI_ORIG TEXT, V_PRODID TEXT, V_CANT TEXT, V_RECHAZO INT)")
' Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS CHECKLIST")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CHECADO_CHECK(CHECADO TEXT)")
+ Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PAGARES(TMP_MONTO_PAGARE TEXT, TMP_CLIENTE TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CHECKLIST(USUARIO TEXT, PLACA TEXT, FECHA_CAPTURA TEXT, TARJETA_CIRCULACION TEXT , POLIZA_SEGURO TEXT, LICENCIA_CONDUCIR TEXT, LIMPIA_EXTERNA TEXT, LIMPIA_INTERNA TEXT, TRIANGULO TEXT, GATO TEXT, LLANTA_REFACCION TEXT, CARROCERIA_BUENESTADO TEXT, CARROCERIA_MALESTADO TEXT, CARROCERIA_COMENTARIOS TEXT, LUCES_CORRECTO TEXT, LUCES_INCORRECTO TEXT, LUCES_COMENTARIOS TEXT, CONDICION_PLACAS_CORRECTO TEXT, CONDICION_PLACAS_INCORRECTO TEXT, CONDICION_PLACAS_COMENTARIOS TEXT, CONDICION_LLANTAS_DEL_DER TEXT, CONDICION_LLANTAS_DEL_IZQ TEXT, CONDICION_LLANTAS_TRASERA_DER TEXT, CONDICION_LLANTAS_TRASERA_IZQ TEXT, ACEITE TEXT, ANTICONGELANTE TEXT, FRENOS TEXT, AIRE TEXT, FUGAS TEXT, COMETARIOS_FUGAS TEXT, FOTO1 BLOB, FOTO12 BLOB, FOTO3 BLOB, FOTO4 BLOB)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CHECKLIST2(USUARIO TEXT, PLACA TEXT, FECHA_CAPTURA TEXT, TARJETA_CIRCULACION TEXT, POLIZA_SEGURO TEXT, LICENCIA_CONDUCIR TEXT, LIMPIA_EXTERNA TEXT, LIMPIA_INTERNA TEXT, TRIANGULO TEXT, GATO TEXT, LLANTA_REFACCION TEXT, CARROCERIA TEXT, CARROCERIA_COMENTARIOS TEXT, LUCES TEXT, LUCES_COMENTARIOS TEXT, CONDICION_PLACAS TEXT, CONDICION_PLACAS_COMENTARIOS TEXT, CONDICION_LLANTAS_DEL_DER TEXT, CONDICION_LLANTAS_DEL_IZQ TEXT, CONDICION_LLANTAS_TRASERA_DER TEXT, CONDICION_LLANTAS_TRASERA_IZQ TEXT, ACEITE TEXT, ANTICONGELANTE TEXT, FRENOS TEXT, AIRE TEXT, FUGAS TEXT, COMETARIOS_FUGAS TEXT, FOTO1 BLOB, FOTO12 BLOB, FOTO3 BLOB, FOTO4 BLOB, KILIMETRAJE TEXT, RUTA TEXT)")
Subs.agregaColumna("REPARTO", "REP_PRODREGISTRO", "TEXT")
Subs.agregaColumna("kmt_info", "SECUENCIA", "INT")
+ Subs.agregaColumna("kmt_info", "HORAENT", "TEXT")
Subs.agregaColumna("REPARTO", "REP_PRODID", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_CLIENTEOR", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_CAJAS", "TEXT")
+ Subs.agregaColumna("PEDIDO", "PE_REGALO", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT")
+ Subs.agregaColumna("PEDIDO", "CONSECUTIVO", "TEXT")
+ Subs.agregaColumna("PEDIDO", "FECHA_PREV", "TEXT")
+ Subs.agregaColumna("PEDIDO", "RUTA_REP", "TEXT")
Subs.agregaColumna("REPARTO", "REP_CLI_ORIG", "TEXT")
Subs.agregaColumna("REPARTO", "REP_PRECIO", "TEXT")
Subs.agregaColumna("REPARTO", "REP_RECHAZO", "INTEGER")
@@ -161,6 +186,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("VENTAS", "V_PRECIO", "TEXT")
Subs.agregaColumna("HIST_VENTAS","PLACA","TEXT")
Subs.agregaColumna("HIST_VENTAS","HVD_RECHAZOCANT","TEXT")
+ Subs.agregaColumna("HIST_VENTAS","CONSECUTIVO","TEXT")
+ Subs.agregaColumna("HIST_VENTAS","HVD_RECHAZOCANT","TEXT")
+ Subs.agregaColumna("HIST_VENTAS","ESPROMO","TEXT")
Subs.agregaColumna("HIST_VENTAS","HVD_RECHAZOCANTC","TEXT")
Subs.agregaColumna("HIST_VENTAS","BCAJAS","TEXT")
Subs.agregaColumna("HIST_VENTAS","CANTC","TEXT")
@@ -317,6 +345,98 @@ Sub JobDone(Job As HttpJob)
End If
End If
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "contrasena" Then 'query tag
+ For Each records() As Object In result.Rows
+ Dim CAT_PA_PASS As String = records(result.Columns.Get("CAT_PA_PASS"))
+ If CAT_PA_PASS = et_codigo.Text Then
+ Log(CAT_PA_PASS)
+ p_validacion.Visible = False
+ et_codigo.Text = ""
+
+ Subs.panelVisible(P_CIEGO,0,0)
+
+ Else
+' MsgboxAsync("Contraseña incorrecta","Atención")
+ End If
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag.As(String).IndexOf("PICK_C_") > -1 Then 'query tag
+' Subs.logJobDoneResultados(result)
+ Private id As String= result.Tag
+ id = id.SubString(id.IndexOf("_")+3)
+ For Each records() As Object In result.Rows
+ Dim CUENTA As String = records(result.Columns.Get("CUENTA"))
+ Log(CUENTA)
+ Log(id)
+ If CUENTA = 0 Then
+ c = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO WHERE PC_ID_PROD = ?", Array As String (id))
+ If c.RowCount > 0 Then
+' For i=0 To c.RowCount -1
+ c.Position=0
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "insert_PICKCIEGO_MARQUEZ"
+ cmd.Parameters = Array As Object(c.GetString("PC_ID_PROD"), c.GetString("PC_NOM_PROD"), c.GetString("PC_CANT"), c.GetString("PC_ALMACEN"), c.GetString("PC_RUTA"), c.GetString("PC_FECHA"),"REPARTO")
+ reqManager.ExecuteCommand(cmd , "ins_PC")
+' Next
+ End If
+ c.Close
+ Else if CUENTA > 0 Then
+ c = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO WHERE PC_ID_PROD= ?", Array As String (id))
+ If c.RowCount > 0 Then
+' For i=0 To c.RowCount -1
+ c.Position = 0
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "update_PICKCIEGO_MARQUEZ"
+ Log("FECHA" & c.GetString("PC_FECHA"))
+ cmd.Parameters = Array As Object(c.GetString("PC_CANT"), c.GetString("PC_ID_PROD"), c.GetString("PC_ALMACEN"), c.GetString("PC_RUTA"), c.GetString("PC_FECHA"),"REPARTO")
+ reqManager.ExecuteCommand(cmd, "update_PC")
+' Next
+ End If
+ c.Close
+ End If
+
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "estatus" Then 'query tag
+ For Each records() As Object In result.Rows
+ Dim hvd_estatus As String = records(result.Columns.Get("HVD_ESTATUS"))
+ If hvd_estatus = "Liquidado" Then
+ ' ToastMessageShow("rojo val ok 1 cuantosp." , True)
+ MsgboxAsync("La venta ya fue liquidada","Atención")
+ Else
+ enviarmonto
+ End If
+ Next
+ End If
+ End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "estatus2" Then 'query tag
+ For Each records() As Object In result.Rows
+ Dim hvd_estatus As String = records(result.Columns.Get("HVD_ESTATUS"))
+ If hvd_estatus = "Liquidado" Then
+ ' ToastMessageShow("rojo val ok 1 cuantosp." , True)
+ MsgboxAsync("La venta ya fue liquidada","Atención")
+ Else
+ passaquci
+ End If
+ Next
+ End If
+ End If
+
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "SelectMontoLiq" Then
@@ -346,7 +466,7 @@ Sub JobDone(Job As HttpJob)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_Monto_Liq_MARQUEZrep"
- cmd.Parameters = Array As Object(c.GetString("EML_MONTO"), c.GetString("EML_ALMACEN"), c.GetString("EML_RUTA"), c.GetString("EML_USUARIO"), "PREVENTA", c.GetString("EML_FECHA_PED"))
+ cmd.Parameters = Array As Object(c.GetString("EML_MONTO"), c.GetString("EML_ALMACEN"), f.GetString("RUTAA"), c.GetString("EML_USUARIO"), "REPARTO", c.GetString("EML_FECHA_PED"))
reqManager.ExecuteCommand(cmd , "ins_Mon_Liq")
MsgboxAsync("Monto Enviado", "Atención")
' Next
@@ -360,7 +480,7 @@ Sub JobDone(Job As HttpJob)
c.Position = 0
cmd.Initialize
cmd.Name = "update_MontoCuenta_MARQUEZrep"
- cmd.Parameters = Array As Object(c.GetString("EML_MONTO"), c.GetString("EML_ALMACEN"), c.GetString("EML_RUTA"), c.GetString("EML_USUARIO"),c.GetString("EML_FECHA_PED"),"PREVENTA")
+ cmd.Parameters = Array As Object(c.GetString("EML_MONTO"), c.GetString("EML_ALMACEN"), c.GetString("EML_RUTA"), c.GetString("EML_USUARIO"),c.GetString("EML_FECHA_PED"),"REPARTO")
Log(c.GetString("EML_MONTO")& " " & c.GetString("EML_ALMACEN")& " " & c.GetString("EML_RUTA")& " " & c.GetString("EML_USUARIO"))
reqManager.ExecuteCommand(cmd, "update_MC")
@@ -510,6 +630,21 @@ Private Sub p_add_monto_Click
End Sub
Private Sub B_Aceptar_Monto_Click
+ Private f As Cursor=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
+ f.Position=0
+ Private a As Cursor =Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ a.Position = 0
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_estatus_MARQUEZ"
+ cmd.Parameters = Array As Object(a.GetString("ID_ALMACEN"),f.GetString("RUTAA"))
+ reqManager.ExecuteQuery(cmd , 0, "estatus")
+ f.Close
+ a.Close
+End Sub
+
+Sub enviarmonto
+
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
@@ -546,6 +681,7 @@ Private Sub B_Aceptar_Monto_Click
f.Close
a.Close
+
c = Starter.skmt.ExecQuery("SELECT * FROM ENV_MONTO_LIQ")
If c.RowCount > 0 Then
c.Position = 0
@@ -574,8 +710,291 @@ Private Sub B_Aceptar_Monto_Click
End If
p_add_monto.Visible = False
+
End Sub
Private Sub B_Can_Monto_Click
p_add_monto.Visible = False
+End Sub
+
+Private Sub b_arqueocieego_Click
+ c = Starter.skmt.ExecQuery("SELECT * FROM CAT_GUNAPROD3")
+ If c.RowCount > 0 Then
+ Subs.panelVisible(p_validacion,0,0)
+ Else
+ MsgboxAsync("No hay ruta cargada, favor de cargar día","Atención")
+ End If
+End Sub
+
+Private Sub et_buspc_TextChanged (Old As String, New As String)
+ If New = "" Then
+ CLV_PICK_CIEGO.Clear
+ Else If New.Length >= 3 Then
+ CLV_PICK_CIEGO.Clear
+
+ q_buscar = "%" & et_buspc.Text & "%"
+ Log(q_buscar)
+ c=Starter.skmt.ExecQuery2($"select CAT_GP_NOMBRE, CAT_GP_ID , ifnull(PC_CANT,0) AS PC_CANT FROM CAT_GUNAPROD3 INNER JOIN PICK_CIEGO ON PC_ID_PROD = CAT_GP_ID AND PC_NOM_PROD = CAT_GP_NOMBRE WHERE (CAT_GP_NOMBRE LIKE ? OR CAT_GP_ID LIKE ? ) and CAT_GP_CLASIF <> 'PROMOS'"$, Array As String(q_buscar,q_buscar))
+ If c.RowCount > 0 Then
+
+
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ CLV_PICK_CIEGO.Add(CreateListItem(c.GetString("CAT_GP_ID"), c.GetString("CAT_GP_NOMBRE"), c.GetString("PC_CANT")),i)
+' Log(c.GetString("CAT_GP_ID") & ", " & c.GetString("CAT_GP_NOMBRE") & " ," & c.GetString("PC_CANT"))
+ Next
+ c.Close
+
+ d=Starter.skmt.ExecQuery2($"select CAT_GP_NOMBRE, CAT_GP_ID FROM CAT_GUNAPROD3 WHERE (CAT_GP_NOMBRE LIKE ? OR CAT_GP_ID LIKE ? ) and CAT_GP_CLASIF <> 'PROMOS'AND CAT_GP_ID NOT IN (SELECT PC_ID_PROD FROM PICK_CIEGO)"$, Array As String(q_buscar,q_buscar))
+
+ For i = 0 To d.RowCount - 1
+ d.Position = i
+ CLV_PICK_CIEGO.Add(CreateListItem2(d.GetString("CAT_GP_ID"), d.GetString("CAT_GP_NOMBRE")),i)
+' Log(d.GetString("CAT_GP_ID") & ", " & d.GetString("CAT_GP_NOMBRE"))
+ Next
+ d.Close
+
+ Else If c.RowCount = 0 Then
+ d=Starter.skmt.ExecQuery2($"select CAT_GP_NOMBRE, CAT_GP_ID FROM CAT_GUNAPROD3 WHERE (CAT_GP_NOMBRE LIKE ? OR CAT_GP_ID LIKE ? ) and CAT_GP_CLASIF <> 'PROMOS'"$, Array As String(q_buscar,q_buscar))
+
+ For i = 0 To d.RowCount - 1
+ d.Position = i
+ CLV_PICK_CIEGO.Add(CreateListItem2(d.GetString("CAT_GP_ID"), d.GetString("CAT_GP_NOMBRE")),i)
+' Log(d.GetString("CAT_GP_ID") & ", " & d.GetString("CAT_GP_NOMBRE"))
+ Next
+ d.Close
+ End If
+ End If
+End Sub
+
+Private Sub B_PC_ENV_Click
+ Dim sDate, sTime As String
+ DateTime.DateFormat = "dd/MM/yyyy"
+ DateTime.TimeFormat = "HH:mm:ss"
+ sDate = DateTime.Date(DateTime.Now)
+ sTime = DateTime.Time(DateTime.Now)
+
+
+ For i = 0 To CLV_PICK_CIEGO.Size - 1
+ ' Retrieve the panel and child views for the current item
+ Dim itemPanel As B4XView = CLV_PICK_CIEGO.GetPanel(i)
+ Dim innerPanel As B4XView = itemPanel.GetView(0)
+ Dim editText As B4XView = innerPanel.GetView(1)
+ Dim inputText As String = editText.As(EditText).Text
+
+ ' Check if the input text matches the regex pattern for zeros or if it's empty
+ If Regex.IsMatch("^[0]+$", inputText) Or inputText = "" Then
+ inputText = "0"
+ End If
+
+ ' Retrieve and process the ID label
+ Dim idLabel As B4XView = innerPanel.GetView(0)
+ Dim idText As String = idLabel.As(Label).Text
+ Dim idParts() As String = Regex.Split(CRLF, idText)
+' Log(idParts(1))
+ f=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
+ f.Position=0
+ Log(f.GetString("RUTAA"))
+ a=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ If a.RowCount>0 Then
+ a.Position=0
+ End If
+ Dim k As Cursor = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS")
+ k.Position = 0
+ Dim fechatabulador() As String = Regex.Split(" ", k.GetString("HVD_FECHA"))
+ Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0))
+ Dim fechatabulador3 As String = fechatabulador2(2)&"/"&fechatabulador2(1)&"/"&fechatabulador2(0)
+ k.Close
+ If inputText <> "" Then
+ c = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO where PC_ID_PROD = ?", Array As String (idParts(0)))
+ If c.RowCount = 0 Then
+ ' Insert data into the database
+ Log(f.GetString("RUTAA"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO PICK_CIEGO(PC_ID_PROD, PC_NOM_PROD, PC_CANT, PC_ALMACEN, PC_RUTA, PC_FECHA) VALUES(?,?,?,?,?,?)", Array As String(idParts(0), idParts(1), inputText, a.GetString("ID_ALMACEN"), f.GetString("RUTAA"), fechatabulador3&" "&sTime))
+
+ Else
+ Log(f.GetString("RUTAA"))
+ Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,idParts(0)))
+ End If
+
+ End If
+ f.Close
+ a.Close
+ Log("Processed item " & i)
+ Next
+ et_buspc.Text = ""
+ CLV_PICK_CIEGO.Clear
+End Sub
+
+Private Sub b_terpc_Click
+ Msgbox2Async("Una vez enviada la información no podras hacer modificaciones","Atención","SI","", "",LoadBitmap(File.DirAssets,"alert2.png"), False)
+ Wait For Msgbox_Result (resultado As Int)
+ If resultado = DialogResponse.POSITIVE Then
+ Msgbox2Async("Estas seguro de enviar la información?","Atención","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
+ Wait For Msgbox_Result (resultado As Int)
+ If resultado = DialogResponse.POSITIVE Then
+
+ Dim sDate, sTime As String
+ DateTime.DateFormat = "dd/MM/yyyy"
+ DateTime.TimeFormat = "HH:mm:ss"
+ sDate = DateTime.Date(DateTime.Now)
+ sTime = DateTime.Time(DateTime.Now)
+
+ For i = 0 To CLV_PICK_CIEGO.Size - 1
+ ' Retrieve the panel and child views for the current item
+ Dim itemPanel As B4XView = CLV_PICK_CIEGO.GetPanel(i)
+ Dim innerPanel As B4XView = itemPanel.GetView(0)
+ Dim editText As B4XView = innerPanel.GetView(1)
+ Dim inputText As String = editText.As(EditText).Text
+
+ ' Check if the input text matches the regex pattern for zeros or if it's empty
+ If Regex.IsMatch("^[0]+$", inputText) Or inputText = "" Then
+ inputText = "0"
+ End If
+
+ ' Retrieve and process the ID label
+ Dim idLabel As B4XView = innerPanel.GetView(0)
+ Dim idText As String = idLabel.As(Label).Text
+ Dim idParts() As String = Regex.Split(CRLF, idText)
+' Log(idParts(1))
+ f=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
+ f.Position=0
+ Log(f.GetString("RUTAA"))
+
+ a=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ If a.RowCount>0 Then
+ a.Position=0
+ End If
+ Log(a.GetString("ID_ALMACEN"))
+
+ Dim k As Cursor = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS")
+ k.Position = 0
+ Dim fechatabulador() As String = Regex.Split(" ", k.GetString("HVD_FECHA"))
+ Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0))
+ Dim fechatabulador3 As String = fechatabulador2(2)&"/"&fechatabulador2(1)&"/"&fechatabulador2(0)
+ k.Close
+ If inputText <> "" Then
+ c = Starter.skmt.ExecQuery2("SELECT * FROM PICK_CIEGO where PC_ID_PROD = ?", Array As String (idParts(0)))
+ If c.RowCount = 0 Then
+ ' Insert data into the database
+ Starter.skmt.ExecNonQuery2("INSERT INTO PICK_CIEGO(PC_ID_PROD, PC_NOM_PROD, PC_CANT, PC_ALMACEN, PC_RUTA, PC_FECHA) VALUES(?,?,?,?,?,?)", Array As String(idParts(0), idParts(1), inputText, a.GetString("ID_ALMACEN"), f.GetString("RUTAA"), fechatabulador3&" "&sTime))
+ Else
+ Starter.skmt.ExecNonQuery2("Update PICK_CIEGO set PC_CANT = ? WHERE PC_ID_PROD = ?" , Array As String(inputText ,idParts(0)))
+ End If
+ End If
+ f.Close
+ a.Close
+ Log("Processed item " & i)
+ Next
+ Log("Finished processing all items")
+ P_CIEGO.Visible = False
+ et_buspc.Text = ""
+ CLV_PICK_CIEGO.Clear
+ c = Starter.skmt.ExecQuery("SELECT PC_ID_PROD, PC_ALMACEN, PC_RUTA, PC_FECHA FROM PICK_CIEGO")
+ If c.RowCount > 0 Then
+ For i = 0 To c.RowCount - 1
+ c.Position = i
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_HIST_PICKCIEGO_MARQUEZ" '
+ cmd.Parameters = Array As Object(c.GetString("PC_ID_PROD"), c.GetString("PC_ALMACEN"), c.GetString("PC_RUTA"), c.GetString("PC_FECHA"),"REPARTO")
+ reqManager.ExecuteQuery(cmd , 0, $"PICK_C_${c.GetString("PC_ID_PROD")}"$)
+ Next
+ End If
+ c.close
+ Else
+
+ End If
+ End If
+End Sub
+
+Private Sub P_CIEGO_Click
+
+End Sub
+
+Private Sub b_aceptar_Click
+ Private f As Cursor=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
+ f.Position=0
+ Private a As Cursor =Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ a.Position = 0
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_estatus_MARQUEZ"
+ cmd.Parameters = Array As Object(a.GetString("ID_ALMACEN"),f.GetString("RUTAA"))
+ reqManager.ExecuteQuery(cmd , 0, "estatus2")
+ f.Close
+ a.Close
+' p_validacion.Visible = False
+' et_codigo.Text = ""
+'
+' Subs.panelVisible(P_CIEGO,0,0)
+End Sub
+
+Sub passaquci
+ f=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
+ f.Position=0
+
+ a=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
+ If a.RowCount>0 Then
+ a.Position=0
+ End If
+ Log(a.GetString("ID_ALMACEN"))
+ Log(f.GetString("CAT_CL_RUTA"))
+
+ If et_codigo.Text = "KMTS1" Then
+ p_validacion.Visible = False
+ et_codigo.Text = ""
+ Subs.panelVisible(P_CIEGO,0,0)
+ Else
+ Dim cmd As DBCommand
+ cmd.Initialize
+ cmd.Name = "select_CAT_PASS_ARQUEO_MARQUEZ"
+ cmd.Parameters = Array As Object(f.GetString("CAT_CL_RUTA"),a.GetString("ID_ALMACEN"),"REPARTO")
+ reqManager.ExecuteQuery(cmd , 0, "contrasena")
+ f.Close
+ a.Close
+ End If
+End Sub
+
+Private Sub b_cancelarcodigo_Click
+ p_validacion.Visible = False
+End Sub
+
+Private Sub p_validacion_Click
+
+End Sub
+
+Sub CreateListItem(Id_prod As String, Prod As String,cant As String) As Panel
+ Dim pa As B4XView = xui.CreatePanel("")
+ pa.SetLayoutAnimated(0, 0, 0, 1, 10)
+ pa.LoadLayout("PANEL_PICK_CIEGO")
+ pa.Height = 55dip
+ pa.Width = 298dip
+ 'pa.Width = clv_orden.GetBase.Width
+ L_PICK_CIEGO.Text = Id_prod & CRLF & Prod
+ L_PICK_CIEGO.TextSize = 12
+ L_PICK_CIEGO.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.CENTER_HORIZONTAL)
+ ET_PICK_CIEGO.Text = cant
+ 'cxc.Id_prod = mostrar3
+ 'Log(pa.Width)
+ Return pa
+End Sub
+
+Sub CreateListItem2(Id_prod As String, Prod As String) As Panel
+ Dim pa As B4XView = xui.CreatePanel("")
+ pa.SetLayoutAnimated(0, 0, 0, 1, 10)
+ pa.LoadLayout("PANEL_PICK_CIEGO")
+ pa.Height = 55dip
+ pa.Width = 298dip
+ 'pa.Width = clv_orden.GetBase.Width
+ L_PICK_CIEGO.Text = Id_prod & CRLF & Prod
+ L_PICK_CIEGO.TextSize = 12
+ L_PICK_CIEGO.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.CENTER_HORIZONTAL)
+ 'cxc.Id_prod = mostrar3
+ 'Log(pa.Width)
+ Return pa
+End Sub
+
+Private Sub ImageView1_LongClick
+
End Sub
\ No newline at end of file
diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas
index ea5e00e..05cbf64 100644
--- a/B4A/C_Cliente.bas
+++ b/B4A/C_Cliente.bas
@@ -20,7 +20,7 @@ Sub Class_Globals
Dim TAMANO As Int
Dim ESPACIO As Int
Dim BLANCO As String
-
+ Dim impresoraConectada As Boolean = False
Dim LONGITUD As String
Dim LATITUD As String
Dim NOMBRE As String
@@ -48,7 +48,7 @@ Sub Class_Globals
Dim Tar As Button
Private L_QR As Label
Private BT_QR As Button
-
+ Dim Printer1 As EscPosPrinter
Dim la_comm As Label
Dim la_actdte As Label
Dim la_usuario As Label
@@ -69,6 +69,13 @@ Sub Class_Globals
Private p_principal As Panel
Private B_PASO2 As Button
Private L_CANT As Label
+ Dim errorImpresora As Int = 0
+ Dim banderaimp As Int
+ Private l_credi As Label
+ Private l_pagare As Label
+ Private l_montopag As Label
+ Private l_efectivo As Label
+ Private l_montoefec As Label
End Sub
'You can add more parameters here.
@@ -117,6 +124,7 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
+ banderaimp = 0
Subs.centraPanel(p_principal, Root.Width)
Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
reqManager.Initialize(Me, B4XPages.MainPage.SERVER)
@@ -155,26 +163,32 @@ Sub B4XPage_Appear
L_CANT.Text = cym.Get("cantidad")
l_total.Text = Round2(cym.Get("monto"), 2)
- If CREDITO = "1" Then
- Msgbox("AVISO","SE TIENE QUE IMPRIMIR PAGARÉ") 'ignore
- End If
+' If CREDITO = "1" Then
+' Msgbox("AVISO","SE TIENE QUE IMPRIMIR PAGARÉ") 'ignore
+' End If
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' l_total.Text = cym.Get("monto")
-
- Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
+ Starter.skmt.ExecNonQuery("UPDATE HIST_VENTAS set ESPROMO = 1 where HVD_CODPROMO = HVD_PROID AND HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
+ Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT from HIST_VENTAS where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
- Private cuenta As String = 0
+ Private cuenta0 As String = 0
Private arti As String = 0
If vc.RowCount > 0 Then
For i = 0 To vc.RowCount - 1
vc.Position = i
- Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
+
+
+ cuenta0 = cuenta0 + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT")))
+
+
+
+' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))
- cuenta = cuenta + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*vc.GetString("CAT_GP_PRECIO"))
+' Log(vc.GetString("HVD_CANT") &" - "& vc.GetString("HVD_RECHAZOCANT")&" * "& vc8.GetString("CAT_GP_PRECIO"))
Next
End If
- Log(cuenta)
+' Log(cuenta0)
Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1")
Private Cuenta1 As String = 0
@@ -191,9 +205,9 @@ Sub B4XPage_Appear
End If
Next
End If
- Log(Cuenta1)
+' Log(Cuenta1)
- Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
+ Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_PRONOMBRE,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
Private Cuenta2 As String = 0
Private arti2 As String = 0
If vc4.RowCount > 0 Then
@@ -202,14 +216,14 @@ Sub B4XPage_Appear
vc4.Position = i
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
If vc4.GetString("HVD_RECHAZO") = 0 Then
- Cuenta2 = vc4.GetString("HVD_COSTO_TOT")
- arti2 = vc4.GetString("HVD_CANT")
+ Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT")
+ arti2 = arti2 + vc4.GetString("HVD_CANT")
Else
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
If vc5.RowCount > 0 Then
vc5.Position= 0
- Log(vc5.GetString("CAT_GP_PRECIO"))
- Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO"))
+' Log(vc5.GetString("CAT_GP_PRECIO"))
+ Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*(vc4.GetString("HVD_COSTO_TOT")/vc4.GetString("HVD_CANT")))
arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))
End If
End If
@@ -217,7 +231,7 @@ Sub B4XPage_Appear
Next
End If
- Log(cuenta)
+' Log(arti2)
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
Private Cuenta3 As String = 0
@@ -229,14 +243,60 @@ Sub B4XPage_Appear
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
Next
End If
-
+ Log(cuenta0)
+ Log(Cuenta1)
+ Log(Cuenta2)
+ Log(Cuenta3)
- l_total.Text = cuenta + Cuenta1 + Cuenta2 + Cuenta3
- L_CANT.Text = arti + arti1 +arti2 + arti3
+ l_total.Text = NumberFormat2((cuenta0 + Cuenta1 + Cuenta2 + Cuenta3),0,2,2,True)
+ L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True)
' l_total.Text = cuenta + Cuenta1 + Cuenta2
' L_CANT.Text = arti + arti1 +arti2
+ c = Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
+ If c.RowCount > 0 Then
+ c.Position = 0
+ Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
+ End If
+ If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
+' Log("|" & Starter.MAC_IMPRESORA & "|")
+ Printer1.Initialize(Me, "Printer1")
+
+ If Printer1.IsConnected = False Then
+' Printer1.Connect
+' Log("1")
+ Else
+ Printer1.DisConnect
+ Printer1.Connect
+ Log("2")
+ End If
+
+ Dim pag As Cursor = Starter.skmt.ExecQuery("select * FROM PAGARES WHERE TMP_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
+ If pag.RowCount > 0 Then
+ pag.Position = 0
+ l_credi.Visible = True
+ l_pagare.Visible = True
+ l_montoefec.Visible = True
+ l_efectivo.Visible = True
+ l_montopag.Visible = True
+ l_montopag.Text = pag.GetString("TMP_MONTO_PAGARE")
+ Dim PAGAREMONTO As Float = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3
+ Dim PAGAREMONTO2 As Float = pag.GetString("TMP_MONTO_PAGARE")
+' Log
+ If PAGAREMONTO - PAGAREMONTO2 < 0 Then
+ l_montoefec.Text = 0
+ Else
+ l_montoefec.Text = PAGAREMONTO - PAGAREMONTO2
+ End If
+ Else If pag.RowCount = 0 Then
+ l_credi.Visible = False
+ l_pagare.Visible = False
+ l_montoefec.Visible = False
+ l_efectivo.Visible = False
+ l_montopag.Visible = False
+ End If
+
End Sub
Sub Activity_Pause (UserClosed As Boolean)
@@ -259,6 +319,11 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
Sub gest_Click
+ B_IMP_Click
+ banderaimp = 1
+End Sub
+
+Sub Guardado
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
@@ -285,7 +350,7 @@ Sub gest_Click
Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO"))
- Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa) ")
+ Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) "$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
mandaPendientesreparto
B4XPages.ShowPage("Principal")
@@ -330,127 +395,439 @@ Sub HIST_Click
End Sub
Sub B_IMP_Click
+' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
+' c.Position=0
+' usuario = c.GetString("USUARIO")
+' DateTime.DateFormat = "MM/dd/yyyy"
+' sDate=DateTime.Date(DateTime.Now)
+' sTime=DateTime.Time(DateTime.Now)
+' TAMANO = 0
+' ESPACIO = 21
+' BLANCO = " "
+' CREDITO ="1"
+' If CREDITO = "1" Then
+' DateTime.DateFormat = "MM/dd/yyyy"
+' sDate=DateTime.Date(DateTime.Now)
+' sTime=DateTime.Time(DateTime.Now)
+' printer.Initialize(cmp20.OutputStream)
+' printer.WriteLine("DBC.")
+' printer.WriteLine("RFC: ")
+' printer.WriteLine(sDate)
+' printer.WriteLine(sTime)
+' printer.WriteLine("Tienda: " & La_nombre.Text)
+' s=Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa)")
+' s.Position=0
+' printer.WriteLine("Debo (emos) y pagare (mos) incondicionamelte a la orden de DBC a la cantidad de $" & s.GetString("PC_MONTO") & " PESOS _______________________________________________________________________________________________________________ ")
+' printer.WriteLine("en esta ciudad o en cualquier otra que se requiera de pago, valor recibido a mi entera satisfaccion y que me obligo a cumplir el dia______________________.")
+' printer.WriteLine(" ")
+' printer.WriteLine("Si este pagare no fuera cubiertoa su vencimiento Me (nos) obligo (amos) a pagar intereses moratorios a razon de 3 % mensual")
+' printer.WriteLine(" ")
+' printer.WriteLine(" ")
+' printer.WriteLine(" ")
+' printer.WriteLine(" ")
+' printer.WriteLine(" ")
+' printer.WriteLine(" ")
+' printer.WriteLine(" ")
+' printer.WriteLine("------------------------------")
+' printer.WriteLine(" NOMBRE Y FIRMA ")
+' printer.WriteLine("------------------------------")
+' printer.WriteLine(" ")
+' printer.Flush
+' End If
+
+' printer.Initialize(cmp20.OutputStream)
+' printer.WriteLine("PROFINA")
+' printer.WriteLine("RFC: ")
+' printer.WriteLine("Tel.:")
+' printer.WriteLine(sDate)
+' printer.WriteLine(sTime)
+' printer.WriteLine("Vendedor:" & usuario)
+' printer.WriteLine("Tienda: " & La_nombre.Text)
+' s=Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa)")
+' s.Position=0
+' c=Starter.skmt.ExecQuery("select SUM(PE_CANT) AS PE_CANT, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
+' C.Position=0
+'
+' printer.WriteLine("Total : $" & (s.GetString("PC_MONTO") + c.GetString("PE_COSTO_TOT")))
+' s.Close
+' printer.WriteLine("-----------ENTREGA------------")
+' S=Starter.skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,length(HVD_cant) as L_CANT,HVD_COSTO_TOT,length(HVD_COSTO_TOT) as L_COSTO_TOT from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) ")
+'
+' 's=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
+' If S.RowCount>0 Then
+' For i=0 To S.RowCount -1
+' S.Position=i
+' 'If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
+' ' printer.WriteLine(s.GetString("PE_PRONOMBRE"))
+'
+' 'Else
+'
+' printer.WriteLine(s.GetString("HVD_CANT") & " " & s.GetString("HVD_PRONOMBRE"))
+' TAMANO = s.GetLong("L_CANT") + TAMANO
+' 'TAMANO = s.GetLong("L_COSTOU") + TAMANO
+' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
+'
+' ESPACIO = ESPACIO - TAMANO
+'
+' For E=0 To ESPACIO -1
+' BLANCO = " " & BLANCO
+' Next
+' printer.WriteLine("$" & s.GETSTRING("HVD_COSTO_TOT") )
+' TAMANO = 0
+' ESPACIO = 21
+' BLANCO = " "
+' 'End If
+' Next
+' End If
+' s.Close
+'
+' s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
+' If S.RowCount>0 Then
+' For i=0 To S.RowCount -1
+' S.Position=i
+' 'If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
+' ' printer.WriteLine(s.GetString("PE_PRONOMBRE"))
+'
+' 'Else
+'
+' printer.WriteLine(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE"))
+' TAMANO = s.GetLong("L_CANT") + TAMANO
+' 'TAMANO = s.GetLong("L_COSTOU") + TAMANO
+' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
+'
+' ESPACIO = ESPACIO - TAMANO
+'
+' For E=0 To ESPACIO -1
+' BLANCO = " " & BLANCO
+' Next
+' printer.WriteLine("$" & s.GETSTRING("PE_COSTO_TOT") )
+' TAMANO = 0
+' ESPACIO = 21
+' BLANCO = " "
+' 'End If
+' Next
+' End If
+' s.Close
+' printer.WriteLine("------------------------------")
+' printer.WriteLine("---NO ES UN COMPROBANTE ------")
+' printer.WriteLine("---------FISCAL---------------")
+' printer.WriteLine("---COMPROBANTE DE ENTREGA-----")
+' printer.WriteLine("------------------------------")
+'
+' printer.Flush
+ ' printer.Close
+
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
+ c.Close
+' c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
+' c.Position = 0
+' sucursal = c.GetString("CAT_VA_VALOR")
+' c.Close
+
+ ProgressDialogShow("Imprimiendo, un momento ...")
+ Printer1.DisConnect
+ If Not(Printer1.IsConnected) Then
+' Log("Conectando a impresora ...")
+ Printer1.Connect
+ Private cont As Int = 0
+ Do While Not(impresoraConectada)
+ Sleep(1000)
+' Log("++++++ " & cont)
+ cont = cont + 1
+ If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
+ If cont > 3 Then impresoraConectada = True
+ Loop
+ Sleep(500)
+ impresoraConectada = False
+ Else
+' Log("conectando 2")
+ Printer1.Connect
+ Private cont As Int = 0
+ Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
+ Sleep(1000)
+' Log("****** " & cont)
+ cont = cont + 1
+ If cont = 2 Then Printer1.Connect
+ If cont > 3 Then impresoraConectada = True
+ Loop
+ Sleep(500)
+ impresoraConectada = False
+ End If
+
TAMANO = 0
- ESPACIO = 21
+ ESPACIO = 28
BLANCO = " "
- CREDITO ="1"
- If CREDITO = "1" Then
- DateTime.DateFormat = "MM/dd/yyyy"
- sDate=DateTime.Date(DateTime.Now)
- sTime=DateTime.Time(DateTime.Now)
- printer.Initialize(cmp20.OutputStream)
- printer.WriteLine("DBC.")
- printer.WriteLine("RFC: ")
- printer.WriteLine(sDate)
- printer.WriteLine(sTime)
- printer.WriteLine("Tienda: " & La_nombre.Text)
- s=Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa)")
- s.Position=0
- printer.WriteLine("Debo (emos) y pagare (mos) incondicionamelte a la orden de DBC a la cantidad de $" & s.GetString("PC_MONTO") & " PESOS _______________________________________________________________________________________________________________ ")
- printer.WriteLine("en esta ciudad o en cualquier otra que se requiera de pago, valor recibido a mi entera satisfaccion y que me obligo a cumplir el dia______________________.")
- printer.WriteLine(" ")
- printer.WriteLine("Si este pagare no fuera cubiertoa su vencimiento Me (nos) obligo (amos) a pagar intereses moratorios a razon de 3 % mensual")
- printer.WriteLine(" ")
- printer.WriteLine(" ")
- printer.WriteLine(" ")
- printer.WriteLine(" ")
- printer.WriteLine(" ")
- printer.WriteLine(" ")
- printer.WriteLine(" ")
- printer.WriteLine("------------------------------")
- printer.WriteLine(" NOMBRE Y FIRMA ")
- printer.WriteLine("------------------------------")
- printer.WriteLine(" ")
- printer.Flush
- End If
-
- printer.Initialize(cmp20.OutputStream)
- printer.WriteLine("PROFINA")
- printer.WriteLine("RFC: ")
- printer.WriteLine("Tel.:")
- printer.WriteLine(sDate)
- printer.WriteLine(sTime)
- printer.WriteLine("Vendedor:" & usuario)
- printer.WriteLine("Tienda: " & La_nombre.Text)
- s=Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa)")
- s.Position=0
- c=Starter.skmt.ExecQuery("select SUM(PE_CANT) AS PE_CANT, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
- C.Position=0
+' Dim bmp As Bitmap
+' bmp.InitializeResize(File.DirAssets, "mariana.jpg", 192, 250, True) 'ignore
+' Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
- printer.WriteLine("Total : $" & (s.GetString("PC_MONTO") + c.GetString("PE_COSTO_TOT")))
- s.Close
- printer.WriteLine("-----------ENTREGA------------")
- S=Starter.skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,length(HVD_cant) as L_CANT,HVD_COSTO_TOT,length(HVD_COSTO_TOT) as L_COSTO_TOT from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) ")
+' myimage = Printer1.DitherImage2D(myimage, 128)
+'
+' myimage= Printer1.PackImage(myimage)
+' Printer1.WriteString(CRLF) ' nudge the Printer1 to show the user something is happening
+' Printer1.WriteString(Printer1.REVERSE)
+'
+' Printer1.PrintImage(myimage)
+' Printer1.WriteString(Printer1.UNREVERSE)
+
+' Printer1.Justify = 1
+ 'Printer1.Initialize(cmp20.OutputStream)
+' Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
+ Printer1.WriteString("Marquez Distribuciones" & CRLF)
+' Printer1.WriteString(sucursal & CRLF)
+ Printer1.WriteString(sDate & CRLF)
+ Printer1.WriteString(sTime & CRLF)
+ Printer1.WriteString("Vendedor:" & usuario & CRLF)
+ Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
+ Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
+ Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
+ Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
+' Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
+' Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
+' Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
+ Printer1.WriteString(" " & CRLF)
+ c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
+ If c.RowCount > 0 Then
+ Printer1.WriteString("------------ENTREGA-----------" & CRLF)
+
+' Printer1.WriteString("--------------------------------" & CRLF)
+ Printer1.WriteString("Cant. Precio Importe" & CRLF)
+
+ Printer1.WriteString("------------------------------" & CRLF)
+ ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
+ s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PROID"$)
+ If S.RowCount>0 Then
+ For i=0 To S.RowCount -1
+ S.Position=i
+ Log(s.GetString("HVD_RECHAZO"))
+ If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
+
+
+ If s.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
+
+ Printer1.Justify = 0
+ Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
+
+
+ Dim punit As String = NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
+ TAMANO = punit.Length + TAMANO
+
+' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
+ Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
+ TAMANO = ptot.Length + TAMANO
+
+ ESPACIO = (ESPACIO - TAMANO)/2
+' Log(ESPACIO)
+ For E=0 To ESPACIO -1
+ BLANCO = " " & BLANCO
+ Next
+ Printer1.Justify = 0
+ Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
+ Printer1.Justify = 1
+ Printer1.WriteString( punit & BLANCO)
+ Printer1.Justify = 2
+ Printer1.WriteString( ptot & CRLF )
+ TAMANO = 0
+ ESPACIO = 29
+ BLANCO = " "
+
+ Else If s.GetString("HVD_RECHAZO") = 1 Then
+
+ Printer1.Justify = 0
+ Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
+
+ Private vc5 As Cursor = Starter.skmt.ExecQuery($"select iFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${s.GetString("HVD_PROID")}'"$)
+ vc5.Position = 0
+ Dim punit As String = NumberFormat2((vc5.GetString("CAT_GP_PRECIO")),0,2,2,False)
+ TAMANO = punit.Length + TAMANO
+ vc5.Close
+
+ Private ptot As String = NumberFormat2(( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) * punit ),0,2,2,False)
+ TAMANO = ptot.Length + TAMANO
+
+ ESPACIO = (ESPACIO - TAMANO)/2
+' Log(ESPACIO)
+ For E=0 To ESPACIO -1
+ BLANCO = " " & BLANCO
+ Next
+ Printer1.Justify = 0
+ Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
+ Printer1.Justify = 1
+ Printer1.WriteString( punit & BLANCO)
+ Printer1.Justify = 2
+ Printer1.WriteString(ptot& CRLF )
+ TAMANO = 0
+ ESPACIO = 29
+ BLANCO = " "
+ Printer1.Justify = 0
+ End If
+ End If
+ Next
+ End If
+ End If
+ Printer1.Justify = 0
+ s.Close
+ Printer1.WriteString(" " & CRLF)
+ s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$)
- 's=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
If S.RowCount>0 Then
+ Printer1.WriteString("-------PROMOS ENTREGA--------" & CRLF)
+ Printer1.WriteString("Cant. Precio Importe" & CRLF)
+ Printer1.WriteString("------------------------------" & CRLF)
+
For i=0 To S.RowCount -1
S.Position=i
- 'If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
- ' printer.WriteLine(s.GetString("PE_PRONOMBRE"))
+ If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
- 'Else
+
+ If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
+
+ Printer1.Justify = 0
+ If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
+ Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
+ Else
+ Printer1.WriteString(s.GetString("HVD_PRONOMBRE") & CRLF)
+ End If
+
+
+ Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
+ TAMANO = punit.Length + TAMANO
+
+
+ Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
+ TAMANO = ptot.Length + TAMANO
- printer.WriteLine(s.GetString("HVD_CANT") & " " & s.GetString("HVD_PRONOMBRE"))
- TAMANO = s.GetLong("L_CANT") + TAMANO
- 'TAMANO = s.GetLong("L_COSTOU") + TAMANO
- TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
- ESPACIO = ESPACIO - TAMANO
+ ESPACIO = (ESPACIO - TAMANO)/2
+ Log(ESPACIO)
+ For E=0 To ESPACIO -1
+ BLANCO = " " & BLANCO
+ Next
+ Printer1.Justify = 0
+ Printer1.WriteString( (s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))& BLANCO)
+ Printer1.Justify = 1
+ Printer1.WriteString( punit & BLANCO)
+ Printer1.Justify = 2
+ Printer1.WriteString(ptot & CRLF )
+ TAMANO = 0
+ ESPACIO = 29
+ BLANCO = " "
+ Printer1.Justify = 0
+ Else
+
+ End If
+ End If
+ Next
+ End If
+ Printer1.WriteString(" " & CRLF)
+ s=Starter.skmt.ExecQuery($"select PE_PRONOMBRE, PE_CANT, length(PE_CANT) as L_CANT, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTOU,PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order BY PE_PROID"$)
+
+ If S.RowCount>0 Then
+ Printer1.WriteString("-----------VENTA------------" & CRLF)
+ Printer1.WriteString("Cant. Precio Importe" & CRLF)
+ Printer1.WriteString("------------------------------" & CRLF)
+
+ For i=0 To S.RowCount -1
+ S.Position=i
+
+ Printer1.Justify = 0
+ Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
+
+
+ Dim punit As String =NumberFormat2( (s.GETSTRING("PE_COSTO_TOT")/s.GetString("PE_CANT")),0,2,2,False)
+ TAMANO = punit.Length + TAMANO
+
+ Private ptot As String = NumberFormat2((punit*s.GetString("PE_CANT")),0,2,2,False)
+ TAMANO = ptot.Length + TAMANO
+
+
+ ESPACIO = (ESPACIO - TAMANO)/2
+ Log(ESPACIO)
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
- printer.WriteLine("$" & s.GETSTRING("HVD_COSTO_TOT") )
+ Printer1.Justify = 0
+ Printer1.WriteString( s.GetString("PE_CANT") & BLANCO)
+ Printer1.Justify = 1
+ Printer1.WriteString( punit & BLANCO)
+ Printer1.Justify = 2
+ Printer1.WriteString(ptot & CRLF )
TAMANO = 0
- ESPACIO = 21
+ ESPACIO = 29
BLANCO = " "
- 'End If
+ Printer1.Justify = 0
+
Next
End If
- s.Close
+ Printer1.WriteString(" " & CRLF)
+ Printer1.WriteString("------------------------------" & CRLF)
- s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA"))
- If S.RowCount>0 Then
- For i=0 To S.RowCount -1
- S.Position=i
- 'If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
- ' printer.WriteLine(s.GetString("PE_PRONOMBRE"))
-
- 'Else
-
- printer.WriteLine(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE"))
- TAMANO = s.GetLong("L_CANT") + TAMANO
- 'TAMANO = s.GetLong("L_COSTOU") + TAMANO
- TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
+
+ Printer1.WriteString("Total Articulos: " & L_CANT.Text & CRLF)
+ Printer1.WriteString("Total: $" & l_total.Text)
+
- ESPACIO = ESPACIO - TAMANO
+ Printer1.WriteString(" " & CRLF)
+ Printer1.WriteString("------------------------------" & CRLF)
+' Printer1.WriteString("ENTREGA EN :" & CRLF)
+' Printer1.WriteString(la_Calle.Text & CRLF)
+ Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
+ Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
+ Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
+ Printer1.WriteString("------------------------------" & CRLF)
+ Printer1.WriteString(" " & CRLF)
+ Printer1.WriteString(" " & CRLF)
+ Printer1.WriteString(" " & CRLF)
+ Sleep(1000)
+ Printer1.DisConnect
- For E=0 To ESPACIO -1
- BLANCO = " " & BLANCO
- Next
- printer.WriteLine("$" & s.GETSTRING("PE_COSTO_TOT") )
- TAMANO = 0
- ESPACIO = 21
- BLANCO = " "
- 'End If
- Next
+ ProgressDialogHide
+
+ If banderaimp = 1 Then
+ Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
+ Wait For Msgbox_Result (resultado As Int)
+ If resultado = DialogResponse.POSITIVE Then
+ B_IMP_Click
+ Else
+ Guardado
+ End If
+
+' printer.Flush
+ ' printer.Close
+ Else If banderaimp = 0 Then
+ Msgbox2Async("Deseas imprimir de nuevo el ticket?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
+ Wait For Msgbox_Result (resultado As Int)
+ If resultado = DialogResponse.POSITIVE Then
+ B_IMP_Click
+ End If
+ End If
+End Sub
+
+Sub Printer1_Connected (Success As Boolean)
+' If Logger Then Log("Printer1_Connected")
+ If Success Then
+ ToastMessageShow("Impresora conectada", False)
+ Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.mac_impresora))
+ LogColor("Impresora conectada", Colors.Green)
+' B_IMP2.Enabled = True
+ impresoraConectada = True
+ Else
+' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore
+' ToastMessageShow("Error conectando la impresora", False)
+ LogColor("Error conectando la impresora", Colors.Red)
+ errorImpresora = errorImpresora + 1
+ If errorImpresora > 1 Then
+ Starter.MAC_IMPRESORA = "0"
+ errorImpresora = 0
+ End If
End If
- s.Close
- printer.WriteLine("------------------------------")
- printer.WriteLine("---NO ES UN COMPROBANTE ------")
- printer.WriteLine("---------FISCAL---------------")
- printer.WriteLine("---COMPROBANTE DE ENTREGA-----")
- printer.WriteLine("------------------------------")
-
- printer.Flush
- ' printer.Close
End Sub
Sub Printer_Connected (Success As Boolean)
diff --git a/B4A/C_DetalleVenta.bas b/B4A/C_DetalleVenta.bas
index 891a83c..138d405 100644
--- a/B4A/C_DetalleVenta.bas
+++ b/B4A/C_DetalleVenta.bas
@@ -83,7 +83,7 @@ Sub B4XPage_Appear
Existe = C.GetString("EXISTE")
C.Close
' c=Starter.skmt.ExecQuery("select distinct hist_ventas.hvd_num_registro, HIST_VENTAS.HVD_CLIENTE, HIST_VENTAS.HVD_PRONOMBRE, HIST_VENTAS.HVD_PROID, HIST_VENTAS.HVD_CANT, HIST_VENTAS2.HVD_CANT as HVD_CANT2, HIST_VENTAS.HVD_COSTO_TOT, HIST_VENTAS.HVD_CODPROMO from HIST_VENTAS inner join HIST_VENTAS2 on HIST_VENTAS.HVD_PROID = HIST_VENTAS2.HVD_PROID and HIST_VENTAS.HVD_CLIENTE = HIST_VENTAS2.HVD_CLIENTE WHERE HIST_VENTAS.HVD_CLIENTE IN (Select CUENTA from cuentaa) and HIST_VENTAS.HVD_RECHAZO = 0 order by HIST_VENTAS.HVD_CODPROMO desc, HIST_VENTAS.HVD_PRONOMBRE asc")
- c=Starter.skmt.ExecQuery("select hvd_num_registro, HVD_CLIENTE, HVD_PRONOMBRE, HVD_PROID, HVD_CANT, HVD_COSTO_TOT, HVD_CODPROMO, BCAJAS, CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_rechazo <> 2 and hvd_cant > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
+ c=Starter.skmt.ExecQuery("select hvd_num_registro,CONSECUTIVO, HVD_CLIENTE, HVD_PRONOMBRE, HVD_PROID, HVD_CANT, HVD_COSTO_TOT, HVD_CODPROMO, BCAJAS, CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_rechazo <> 2 and hvd_cant > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
ListView1.Clear
clv_pedido.Clear
Subs.SetDivider(ListView1, Colors.LightGray, 2)
@@ -96,7 +96,7 @@ Sub B4XPage_Appear
For i=0 To c.RowCount -1
c.Position=i
- Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT FROM PEDIDO WHERE PE_PROID = '${c.GetString("HVD_PROID")}' AND PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)"$)
+ Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT FROM PEDIDO WHERE PE_PROID = '${c.GetString("HVD_PROID")}' AND PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
If c4.RowCount > 0 Then
c4.Position = 0
Private cantres As Int = c4.GetString("PE_CANT")
@@ -131,7 +131,7 @@ Sub B4XPage_Appear
End If
' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden.
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
- clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), (c.GetString("HVD_CANT") - c.GetString("HVD_RECHAZOCANT")-cantres), c.GetString("HVD_RECHAZOCANT") , clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente,Subs.traeCliente),i)
+ clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio2(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO"),c.GetString("CONSECUTIVO")), (c.GetString("HVD_CANT") - c.GetString("HVD_RECHAZOCANT")-cantres), c.GetString("HVD_RECHAZOCANT") , clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente,Subs.traeCliente,0,c.GetString("CONSECUTIVO")),i)
' Log(c.GetString("HVD_CODPROMO"))
End If
Else If c.GetString("BCAJAS") = "1" Then
@@ -161,7 +161,7 @@ Sub B4XPage_Appear
End If
' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden.
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
- clv_pedido.Add(CreateListItem2(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), ((c.GetString("HVD_CANT") - c.GetString("HVD_RECHAZOCANT"))), c.GetString("HVD_RECHAZOCANT"), clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente,Subs.traeCliente),i)
+ clv_pedido.Add(CreateListItem2(c.GetString("HVD_PRONOMBRE"), (c.GetString("HVD_COSTO_TOT")/c.GetString("CANTC")), ((c.GetString("HVD_CANT") - c.GetString("HVD_RECHAZOCANT"))), c.GetString("HVD_RECHAZOCANT"), clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente,Subs.traeCliente,0,c.GetString("CONSECUTIVO")),i)
End If
End If
Next
@@ -174,15 +174,23 @@ Sub B4XPage_Appear
For i= 0 To c3.RowCount -1
c3.Position = i
If c3.GetString("PE_BCAJAS") = "1" Then
- clv_pedido.Add(CreateListItem2(c3.GetString("PE_PRONOMBRE"),c3.GetString("PE_COSTOU"), c3.GetString("PE_CANT"), 0 , clv_pedido.AsView.Width, 118dip, bmp, c3.GetString("PE_PROID"), bgColor, textColor, Subs.traeAlmacen,Subs.traeCliente, c3.GetString("PE_CLIENTEOR")),i)
+ Private bgColor, textColor As Int
+ bgColor = Colors.RGB(221, 132, 132)'rosa
+ textColor = Colors.black
+ clv_pedido.Add(CreateListItem2(c3.GetString("PE_PRONOMBRE"),c3.GetString("PE_COSTOU"), c3.GetString("PE_CANT"), 0 , clv_pedido.AsView.Width, 118dip, bmp, c3.GetString("PE_PROID"), bgColor, textColor, Subs.traeAlmacen,Subs.traeCliente, c3.GetString("PE_CLIENTEOR"),1,c3.GetString("CONSECUTIVO")),i)
+ Log("#####################"&c3.GetString("PE_PRONOMBRE")&","& c3.GetString("PE_CANT"))
Else
- clv_pedido.Add(CreateListItem(c3.GetString("PE_PRONOMBRE"),c3.GetString("PE_COSTOU"), c3.GetString("PE_CANT"), 0 , clv_pedido.AsView.Width, 118dip, bmp, c3.GetString("PE_PROID"), bgColor, textColor, Subs.traeAlmacen,Subs.traeCliente, c3.GetString("PE_CLIENTEOR")),i)
+ Private bgColor, textColor As Int
+ bgColor = Colors.RGB(221, 132, 132)'rosa
+ textColor = Colors.black
+ Log("#####################"&c3.GetString("PE_PRONOMBRE")&","& c3.GetString("PE_CANT"))
+ clv_pedido.Add(CreateListItem(c3.GetString("PE_PRONOMBRE"),c3.GetString("PE_COSTOU"), c3.GetString("PE_CANT"), 0 , clv_pedido.AsView.Width, 118dip, bmp, c3.GetString("PE_PROID"), bgColor, textColor, Subs.traeAlmacen,Subs.traeCliente, c3.GetString("PE_CLIENTEOR"),1, c3.GetString("CONSECUTIVO")),i)
End If
Next
End If
- Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
+ Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT,HVD_COSTO_TOT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT from HIST_VENTAS where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
Private Cuenta As String = 0
Private arti As String = 0
@@ -198,11 +206,13 @@ Sub B4XPage_Appear
Else
cantres = 0
End If
- Log(cantres)
-
+' Log(cantres)
+' Log(cantres)
' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT")- cantres)
- Cuenta = Cuenta + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT") - cantres)*vc.GetString("CAT_GP_PRECIO"))
+ Cuenta = Cuenta + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT") - cantres)*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT")))
+' Log(arti)
+' Log(Cuenta)
Next
End If
' Log(Cuenta)
@@ -233,8 +243,8 @@ Sub B4XPage_Appear
vc4.Position = i
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
If vc4.GetString("HVD_RECHAZO") = 0 Then
- Cuenta2 = vc4.GetString("HVD_COSTO_TOT")
- arti2 = vc4.GetString("HVD_CANT")
+ Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT")
+ arti2 = arti2 + vc4.GetString("HVD_CANT")
Else
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
If vc5.RowCount > 0 Then
@@ -248,7 +258,7 @@ Sub B4XPage_Appear
Next
End If
-' Log(Cuenta)
+
@@ -262,10 +272,45 @@ Sub B4XPage_Appear
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
Next
End If
-
- L_TOTAL.Text = Cuenta + Cuenta1 + Cuenta2 + Cuenta3
- L_CANT.Text = arti + arti1 +arti2 + arti3
+ If Cuenta < 0 Then
+ Cuenta = 0
+ End If
+ If Cuenta1 < 0 Then
+ Cuenta = 0
+ End If
+ If Cuenta2 < 0 Then
+ Cuenta = 0
+ End If
+ If Cuenta3 < 0 Then
+ Cuenta = 0
+ End If
+
+ If arti < 0 Then
+ arti = 0
+ End If
+ If arti1 < 0 Then
+ arti = 0
+ End If
+ If arti2 < 0 Then
+ arti = 0
+ End If
+ If arti3 < 0 Then
+ arti = 0
+ End If
+
+ Log(Cuenta&","&Cuenta1&","&Cuenta2&","&Cuenta3)
+ Log(arti&","&arti1&","&arti2&","&arti3)
+ If Cuenta + Cuenta1 + Cuenta2 + Cuenta3 < 0 Then
+ L_TOTAL.Text = 0
+ Else
+ L_TOTAL.Text = NumberFormat2((Cuenta + Cuenta1 + Cuenta2 + Cuenta3),0,2,2,True)
+ End If
+ If arti + arti1 +arti2 + arti3 < 0 Then
+ L_CANT.Text = 0
+ Else
+ L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True)
+ End If
End Sub
@@ -400,7 +445,7 @@ End Sub
'***************** PARA EL MAS/MENOS *************************************
'****************************************************************************
-Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String,clienterecha As String) As Panel
+Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String,clienterecha As String, bandera As String,consecutivo As Int) As Panel
Dim p As B4XView = xui.CreatePanel("")
Private cs As CSBuilder
cs.Initialize
@@ -415,9 +460,9 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
End If
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
' l_pCant.Text = 0
- Log("PRECIO " & Round2(precioU,2)&"| INV "&inv&"| ID "&prodId&"| PROMO "&promo&"| INV2? "&inv2&"| CLIENTE OR NONONO YA NO VA Y UN ESPACIO POR FAVOR "&cliente_original)
- l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha
- et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha
+' Log("PRECIO " & Round2(precioU,2)&"| INV "&inv&"| ID "&prodId&"| PROMO "&promo&"| INV2? "&inv2&"| CLIENTE OR NONONO YA NO VA Y UN ESPACIO POR FAVOR "&cliente_original)
+ l_pCant.Tag = Round2(precioU.Replace(",",""),2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha&"|"&bandera&"|"&consecutivo
+ et_pCant.Tag = Round2(precioU.Replace(",",""),2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha&"|"&bandera&"|"&consecutivo
p_prods.Tag = l_pCant.tag
' Log($"Ponemos la cant en ${inv}"$)
l_pCant.Text = inv
@@ -432,7 +477,7 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
Return p
End Sub
-Sub CreateListItem2(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String,clienterecha As String) As Panel
+Sub CreateListItem2(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String,clienterecha As String, bandera As String,consecutivo As Int) As Panel
Dim p As B4XView = xui.CreatePanel("")
Private cs As CSBuilder
cs.Initialize
@@ -442,13 +487,17 @@ Sub CreateListItem2(Text As String, precioU As String, inv As Int, inv2 As Int,
l_prodX.TextColor = tc
precioU = $"$1.2{precioU}"$
l_prodX.Text = Text&CRLF&"Cant: " & inv2 & " $" & precioU
+'' Log(Text&CRLF&"Cant: " & inv2 & " $" & precioU)
If promo <> "1" And precioU = 0 Then
l_prodX.Text = cs.Color(Colors.RGB(123,0,0)).append(Text&CRLF&"Cant: " & inv2 & " $" & precioU).PopAll
End If
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
' l_pCant.Text = 0
- l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha
- et_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha
+' Log(Round2(precioU,2))
+ precioU.Replace(",","")
+ l_pCantC.Tag = Round2(precioU.Replace(",",""),2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha&"|"&bandera&"|"&consecutivo
+
+ et_pCantC.Tag = Round2(precioU.Replace(",",""),2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha&"|"&bandera&"|"&consecutivo
p_prods.Tag = l_pCantC.tag
' Log($"Ponemos la cant en ${inv}"$)
l_pCantC.Text = NumberFormat2(inv/Subs.traeConversion(prodId),0,0,0,False)
@@ -475,15 +524,47 @@ Sub b_prodMenos_Click
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
Log("LC_TEXT:"&laCant.Text&"|PROMO:"&esteTag.Get(3)&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
+
+ If esteTag.Get(7) = "1" Then
+ If laCant.Text = "" Then laCant.Text = 0
+ laCant.Text = $"$1.0{laCant.Text-1}"$
+ If laCant.Text < 0 Then laCant.Text = 0
+ Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CANT FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ?", Array As String(esteTag.Get(2),esteTag.Get(8)))
+ If c3.RowCount > 0 Then
+ c3.Position = 0
+ If c3.GetString("PE_CANT") > 1 Then
+ Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
+ If c2.RowCount > 0 Then
+ c2.Position = 0
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) and CONSECUTIVO = '${esteTag.Get(8)}'"$)
+ End If
+ Else If c3.GetString("PE_CANT") = 1 Then
+ Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
+ If c2.RowCount > 0 Then
+ c2.Position = 0
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
+ End If
+ End If
+
+
+
+ End If
+ B4XPage_Appear
+ Else
+
If esteTag.Get(5) = esteTag.Get(6) Then
If laCant.Text > 0 Then
If esteTag.Get(3) <> Subs.traeAlmacen Then 'Si es PROMO entonces ...
- Private c2 As Cursor =Starter.skmt.ExecQuery($"select HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_PROID = '${esteTag.Get(2)}' AND HVD_CLIENTE IN (Select CUENTA from cuentaa)"$)
+ Private c2 As Cursor =Starter.skmt.ExecQuery($"select HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_PROID = '${esteTag.Get(2)}' AND HVD_CLIENTE IN (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
c2.Position = 0
If c2.GetString("HVD_RECHAZO") = "0" Then
Log("ES PROMO")
+ Log(esteTag.Get(3))
result = Msgbox2("Si se modifica una promoción, la promoción se rompe y solo quedarán los productos sueltos, ¿seguro que desea continuar?","Modificar Promoción", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then 'Quitamos esta promo
prodsMap.Remove(esteTag.Get(3))
@@ -491,8 +572,10 @@ Sub b_prodMenos_Click
' For i = 0 To c.RowCount -1
' c.Position = i
LogColor(esteTag.Get(3),Colors.Blue)
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT + 1 WHERE HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT + 1 WHERE HVD_PROID = '${esteTag.Get(3)}' and HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT + 1 WHERE HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT + 1 WHERE HVD_PROID = '${esteTag.Get(3)}' and HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT WHERE HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_CANT WHERE HVD_PROID = '${esteTag.Get(3)}' and HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_CODPROMO = '${Subs.traeAlmacen}' WHERE HVD_cliente in (Select CUENTA from cuentaa) AND HVD_CODPROMO = '${esteTag.Get(3)}'"$)
' Next
c.Close
@@ -506,7 +589,7 @@ Sub b_prodMenos_Click
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
B4XPage_Appear
End If
@@ -515,7 +598,7 @@ Sub b_prodMenos_Click
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
B4XPage_Appear
End If
@@ -526,29 +609,30 @@ Sub b_prodMenos_Click
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
' Starter.skmt.ExecNonQuery2("update PEDIDO set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
- Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CANT FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
+ Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CANT FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ?", Array As String(esteTag.Get(2), esteTag.Get(8)))
If c3.RowCount > 0 Then
c3.Position = 0
If c3.GetString("PE_CANT") > 1 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
- Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
Else If c3.GetString("PE_CANT") = 1 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
- Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
End If
End If
B4XPage_Appear
End If
+ End If
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
Log("PU: " & preciou)
' LogColor("estamos aqui mmenos " & laCant.Text& " , " & (preciou * laCant.Text),Colors.Green )
@@ -582,13 +666,17 @@ Sub b_prodMas_Click
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
' Log(esteTag.get(4))
+
+ If esteTag.Get(7) <> "1" Then
+
+
If esteTag.Get(5) = esteTag.Get(6) Then
If laCant.Text + 1 <= maxProds Then
Log($"NuevaCant = ${laCant.Text + 1}"$)
laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
@@ -603,20 +691,20 @@ Sub b_prodMas_Click
Log($"NuevaCant = ${laCant.Text + 1}"$)
laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As String(esteTag.Get(2)))
- c = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_PROID = ? and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
+ c = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_PROID = ? and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ?", Array As String(esteTag.Get(2),esteTag.Get(8)))
If c.RowCount > 0 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
- Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
Else
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
- Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS) VALUES (?,?,?,?,?,?,?,0,0)", Array As String(esteTag.Get(2),c2.GetString("CAT_GP_NOMBRE"),1,esteTag.Get(5),Subs.traeCliente,c2.GetString("CAT_GP_PRECIO"),c2.GetString("CAT_GP_PRECIO")))
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+ Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO) VALUES (?,?,?,?,?,?,?,0,0,?)", Array As String(esteTag.Get(2),c2.GetString("CAT_GP_NOMBRE"),1,esteTag.Get(5),Subs.traeCliente,c2.GetString("CAT_GP_PRECIO"),c2.GetString("CAT_GP_PRECIO"),esteTag.Get(8)))
End If
End If
@@ -630,6 +718,7 @@ Sub b_prodMas_Click
End If
End If
+ End If
' Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
' Log(preciou)
' LogColor("estamos aquii mas " & laCant.Text& " , " & (preciou * laCant.Text) ,Colors.Green )
@@ -846,13 +935,15 @@ Private Sub b_prodMasC_Click
Log(maxProds)
' l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
+ If esteTag.Get(7) <> "1" Then
+
If laCantc.Text + 1 <= maxProds Then
Log($"NuevaCant = ${laCantc.Text + 1}"$)
laCantc.Text = $"$1.0{laCantc.Text + 1}"$
Log(laCantc.Text)
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
' Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
@@ -862,6 +953,7 @@ Private Sub b_prodMasC_Click
' cuentaProds("+")
B4XPage_Appear
End If
+ End If
End Sub
Private Sub b_prodMenosC_Click
@@ -875,7 +967,29 @@ Private Sub b_prodMenosC_Click
' Log(pnl.GetView(2).GetView(0) & "|" & pnl.GetView(2).GetView(1) & "|" & pnl.GetView(2).GetView(2))
Dim esteTag As List = Regex.Split("\|", laCantc.Tag)
Log("LC_TEXT:"&laCantc.Text&"|PROMO:"&esteTag.Get(3)&"|LC_TAG:"&laCantc.Tag&"|ET:"&esteTag)
+ Log(esteTag)
+ If esteTag.Get(7) = "1" Then
+ Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CAJAS, CONSECUTIVO FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(8)))
+ Log(c3.RowCount)
+ Log(esteTag.Get(8))
+ If c3.RowCount > 0 Then
+ Log("AQUI VEMOS SI ACTUALIZAMOS")
+ c3.Position = 0
+ If c3.GetString("PE_CAJAS") > 1 Then
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = (IFNULL(PE_CANT,0)-(1 * '${Subs.traeConversion(esteTag.Get(2))}')), PE_COSTO_TOT= ((IFNULL(PE_CAJAS,0)-1) *'${Subs.traePrecioC(esteTag.Get(2))}'), PE_CAJAS = IFNULL(PE_CAJAS,0) - 1 WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${c3.GetString("CONSECUTIVO")}'"$)
+ Else If c3.GetString("PE_CAJAS") = 1 Then
+ Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${c3.GetString("CONSECUTIVO")}'"$)
+ End If
+ End If
+ Log("entre al if o algo asi ")
+ If laCantc.Text = "" Then laCantc.Text = 0
+ laCantc.Text = laCantc.Text - 1
+ If laCantc.Text < 0 Then laCantc.Text = 0
+ B4XPage_Appear
+
+ Else
+
If esteTag.Get(5) = esteTag.Get(6) Then
@@ -884,7 +998,7 @@ Private Sub b_prodMenosC_Click
If laCantc.Text = "" Then laCantc.Text = 0
laCantc.Text = laCantc.Text - 1
If laCantc.Text < 0 Then laCantc.Text = 0
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = (cat_gp_almacen + (1 * ?)) where cat_gp_id = ?", Array As Object(esteTag.Get(2), Subs.traeConversion(esteTag.Get(2))))
B4XPage_Appear
Else If laCantc.Text = 0 Then
@@ -895,14 +1009,15 @@ Private Sub b_prodMenosC_Click
If laCantc.Text > 0 Then
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
- Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CAJAS FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
+ Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CAJAS FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and CONSECUTIVO = ? ", Array As String(esteTag.Get(2),esteTag.Get(8)))
If c3.RowCount > 0 Then
+ Log("AQUI VEMOS SI ACTUALIZAMOS")
c3.Position = 0
If c3.GetString("PE_CAJAS") > 1 Then
- Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = (IFNULL(PE_CANT,0)-(1 * '${Subs.traeConversion(esteTag.Get(2))}')), PE_COSTO_TOT= ((IFNULL(PE_CAJAS,0)-1) *'${Subs.traePrecioC(esteTag.Get(2))}'), PE_CAJAS = IFNULL(PE_CAJAS,0) - 1 WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = (IFNULL(PE_CANT,0)-(1 * '${Subs.traeConversion(esteTag.Get(2))}')), PE_COSTO_TOT= ((IFNULL(PE_CAJAS,0)-1) *'${Subs.traePrecioC(esteTag.Get(2))}'), PE_CAJAS = IFNULL(PE_CAJAS,0) - 1 WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Else If c3.GetString("PE_CAJAS") = 1 Then
- Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
End If
End If
Log("entre al if o algo asi ")
@@ -915,6 +1030,7 @@ Private Sub b_prodMenosC_Click
End If
+ End If
End If
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
Log("PU: " & preciou)
@@ -925,7 +1041,14 @@ Private Sub l_pCantC_Click
End Sub
Private Sub b_revversar_Click
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0 WHERE HVD_cliente in (Select CUENTA from cuentaa) AND HVD_PROID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA))"$)
- B4XPage_Appear
+ Private c3 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)")
+ If c3.RowCount = 0 Then
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0 WHERE HVD_cliente in (Select CUENTA from cuentaa)"$)
+ B4XPage_Appear
+ Else
+ MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención")
+ End If
+
+
End Sub
diff --git a/B4A/C_Foto.bas b/B4A/C_Foto.bas
index 0dea1d1..acd0486 100644
--- a/B4A/C_Foto.bas
+++ b/B4A/C_Foto.bas
@@ -108,7 +108,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
Next
End If
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, USUARIO, "CERRADO", B4XPages.MainPage.noVenta.COMENTARIO, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, Data))
- Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
B4XPages.ShowPage("Cliente")
End Sub
diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas
index e6ab8da..9b18009 100644
--- a/B4A/C_NoVenta.bas
+++ b/B4A/C_NoVenta.bas
@@ -60,77 +60,85 @@ Sub CANCELA_Click
End Sub
Sub GUARDA_Click
- If r_1.Checked Then
- motivo = "CERRADO"
- Else If r_2.Checked Then
- motivo = "NO PIDIO"
- Else If r_3.Checked Then
- motivo = "CANCELA"
+ If r_1.Checked = False And r_2.Checked = False And r_3.Checked = False And r_4.Checked = False Then
+ MsgboxAsync("Selecciona un motivo de rechazo","Atención")
Else
- motivo = "NO ESTA EL ENCARGADO"
- End If
- If motivo <> "CERRADO" Or motivo = "CERRADO" Then
- DateTime.DateFormat = "MM/dd/yyyy"
- sDate=DateTime.Date(DateTime.Now)
- sTime=DateTime.Time(DateTime.Now)
- c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
- c.Position = 0
- cuenta = c.GetString("CUENTA")
- c=Starter.skmt.ExecQuery("select usuario from usuarioa")
- c.Position = 0
- usuario = c.GetString("USUARIO")
- c.Close
- Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)")
- 'Traemos los productos del pedido.
- c=Starter.skmt.ExecQuery("select HVD_NUM_REGISTRO, HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT, HVD_COSTO_TOT, HVD_FECHA, HVD_PROID, CAT_GP_PRECIO from HIST_VENTAS2 join CAT_GUNAPROD on CAT_GP_ID = HVD_PROID WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PRONOMBRE asc")
- If c.RowCount > 0 Then 'Si hay pedido en HIST_VENTAS ...
+
+ If r_1.Checked Then
+ motivo = "CERRADO"
+ Else If r_2.Checked Then
+ motivo = "NO PIDIO"
+ Else If r_3.Checked Then
+ motivo = "CANCELA"
+ Else
+ motivo = "NO ESTA EL ENCARGADO"
+ End If
+
+ If motivo <> "CERRADO" Or motivo = "CERRADO" Then
+ DateTime.DateFormat = "MM/dd/yyyy"
+ sDate=DateTime.Date(DateTime.Now)
+ sTime=DateTime.Time(DateTime.Now)
+ c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
+ c.Position = 0
+ cuenta = c.GetString("CUENTA")
+ c=Starter.skmt.ExecQuery("select usuario from usuarioa")
+ c.Position = 0
+ usuario = c.GetString("USUARIO")
+ c.Close
+ Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)")
+ 'Traemos los productos del pedido.
+ c=Starter.skmt.ExecQuery("select HVD_NUM_REGISTRO, HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT, HVD_COSTO_TOT, HVD_FECHA, HVD_PROID, CAT_GP_PRECIO from HIST_VENTAS2 join CAT_GUNAPROD on CAT_GP_ID = HVD_PROID WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PRONOMBRE asc")
+ If c.RowCount > 0 Then 'Si hay pedido en HIST_VENTAS ...
- 'Revisamos si se le ha agregado venta al pedido.
- Private esteCliente As String = Subs.traeCliente
- Private rv As Cursor = Starter.skmt.ExecQuery($"select * from REPARTO where REP_CLIENTE = '${esteCliente}' and REP_CLI_ORIG <> '${esteCliente}' and REP_RECHAZO = 0"$)
- If rv.RowCount > 0 Then 'Si tenemos venta en el pedido ...
- For i2=0 To rv.RowCount - 1
- rv.Position = i2
- Log($"Actualizamos REPARTO - cliente=${rv.GetString("REP_CLIENTE")}, cliente orignal=${rv.GetString("REP_CLI_ORIG")}, le agregamos ${rv.GetString("REP_CANT")}"$)
- Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT + ${rv.GetString("REP_CANT")} where REP_RECHAZO = '1' and REP_CLIENTE = '${rv.GetString("REP_CLI_ORIG")}' and REP_CLI_ORIG = '${rv.GetString("REP_CLI_ORIG")}'"$)
+ 'Revisamos si se le ha agregado venta al pedido.
+ Private esteCliente As String = Subs.traeCliente
+ Private rv As Cursor = Starter.skmt.ExecQuery($"select * from REPARTO where REP_CLIENTE = '${esteCliente}' and REP_CLI_ORIG <> '${esteCliente}' and REP_RECHAZO = 0"$)
+ If rv.RowCount > 0 Then 'Si tenemos venta en el pedido ...
+ For i2=0 To rv.RowCount - 1
+ rv.Position = i2
+ Log($"Actualizamos REPARTO - cliente=${rv.GetString("REP_CLIENTE")}, cliente orignal=${rv.GetString("REP_CLI_ORIG")}, le agregamos ${rv.GetString("REP_CANT")}"$)
+ Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT + ${rv.GetString("REP_CANT")} where REP_RECHAZO = '1' and REP_CLIENTE = '${rv.GetString("REP_CLI_ORIG")}' and REP_CLI_ORIG = '${rv.GetString("REP_CLI_ORIG")}'"$)
+ Next
+ End If
+
+ Starter.skmt.ExecNonQuery("delete from reparto where REP_CLIENTE IN (Select CUENTA from cuentaa)")
+ For i=0 To c.RowCount - 1 'Insertamos los productos en REPARTO.
+ c.Position=i
+ Log($"REGISTRO= ${c.GetString("HVD_NUM_REGISTRO")}"$)
+ Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(c.GetString("HVD_CLIENTE"),c.GetString("HVD_PRONOMBRE"),c.GetString("HVD_CANT"),c.GetString("HVD_COSTO_TOT"),c.GetString("HVD_FECHA"), c.GetString("HVD_PROID"), c.GetString("CAT_GP_PRECIO"), c.GetString("HVD_NUM_REGISTRO"), c.GetString("HVD_CLIENTE")))
+ Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(c.GetString("HVD_CLIENTE"),c.GetString("HVD_PRONOMBRE"),0,c.GetString("HVD_COSTO_TOT"),c.GetString("HVD_FECHA"), c.GetString("HVD_PROID"), c.GetString("CAT_GP_PRECIO"), c.GetString("HVD_NUM_REGISTRO"), c.GetString("HVD_CLIENTE")))
+ Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_nombre = ?", Array As Object(c.GetString("HVD_CANT"),c.GetString("HVD_PRONOMBRE")))
Next
End If
-
- Starter.skmt.ExecNonQuery("delete from reparto where REP_CLIENTE IN (Select CUENTA from cuentaa)")
- For i=0 To c.RowCount - 1 'Insertamos los productos en REPARTO.
- c.Position=i
- Log($"REGISTRO= ${c.GetString("HVD_NUM_REGISTRO")}"$)
- Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(c.GetString("HVD_CLIENTE"),c.GetString("HVD_PRONOMBRE"),c.GetString("HVD_CANT"),c.GetString("HVD_COSTO_TOT"),c.GetString("HVD_FECHA"), c.GetString("HVD_PROID"), c.GetString("CAT_GP_PRECIO"), c.GetString("HVD_NUM_REGISTRO"), c.GetString("HVD_CLIENTE")))
- Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(c.GetString("HVD_CLIENTE"),c.GetString("HVD_PRONOMBRE"),0,c.GetString("HVD_COSTO_TOT"),c.GetString("HVD_FECHA"), c.GetString("HVD_PROID"), c.GetString("CAT_GP_PRECIO"), c.GetString("HVD_NUM_REGISTRO"), c.GetString("HVD_CLIENTE")))
- Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_nombre = ?", Array As Object(c.GetString("HVD_CANT"),c.GetString("HVD_PRONOMBRE")))
- Next
- End If
- Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
- Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
- Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
+ Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
+ Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
+ Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
+ Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
+ d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
+ d.Position = 0
+ Dim ruta As String = d.GetString("RUTAA")
+ d.Close
+ d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
+ d.Position = 0
+ Dim rutapre As String = d.GetString("CAT_CL_RUTA")
+ d.Close
+ d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
+ d.Position = 0
+ Dim fechaprev As String = d.GetString("HVD_FECHA")
+ d.Close
+ d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
+ d.Position = 0
+ Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, motivo, e_comm.Text,"NO ENTREGADO"))
- d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
- d.Position = 0
- Dim ruta As String = d.GetString("RUTAA")
- d.Close
- d = Starter.skmt.ExecQuery("SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
- d.Position = 0
- Dim rutapre As String = d.GetString("CAT_CL_RUTA")
- d.Close
- d = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
- d.Position = 0
- Dim fechaprev As String = d.GetString("HVD_FECHA")
- d.Close
- d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
- d.Position = 0
- Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, motivo, e_comm.Text,"NO ENTREGADO"))
- mandaPendientesreparto
- B4XPages.ShowPage("Principal")
- Else
- COMENTARIO = e_comm.Text
+ mandaPendientesreparto
+ B4XPages.ShowPage("Principal")
+ Else
+ COMENTARIO = e_comm.Text
' B4XPages.ShowPage("Foto")
' StartActivity(foto)
+ End If
End If
End Sub
diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas
index 6e1d034..b7bcdbb 100644
--- a/B4A/C_Principal.bas
+++ b/B4A/C_Principal.bas
@@ -370,8 +370,201 @@ Sub B4XPage_Appear
Dim rechMap As Map = Subs.traeRechazados
Dim vendMap As Map = Subs.traeVendidos
l_aLiquidar.Text = entMap.Get("monto") + vendMap.Get("monto")
- l_rechazo.text = rechMap.Get("monto")
- L_MONTOE.Text = entMap.Get("monto") + vendMap.Get("monto")
+
+ Dim cancelrecha As Cursor = Starter.skmt.ExecQuery("SELECT ifnull(HVD_RECHAZOCANT,0), HVD_RECHAZO, CONSECUTIVO FROM HIST_VENTAS")
+ If cancelrecha.RowCount > 0 Then
+ For h54 = 0 To cancelrecha.RowCount - 1
+ cancelrecha.Position = h54
+ Starter.skmt.ExecNonQuery2("Update HIST_VENTAS set HVD_RECHAZO = '0' WHERE CONSECUTIVO = ? and (HVD_RECHAZOCANT = 0 OR HVD_RECHAZOCANT IS NULL)" , Array As String(cancelrecha.GetString("CONSECUTIVO")))
+ Next
+ End If
+ cancelrecha.Close
+
+
+ ''' RECHAZO - VENTA
+ Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' ORDER BY HVD_PROID "$)
+
+ Private rescant As String = 0
+ If r5.RowCount > 0 Then
+ For j4 = 0 To r5.RowCount -1
+ r5.Position = j4
+ Private r6 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}' "$)
+ Dim totalcantped As String
+ If r6.RowCount > 0 Then
+ r6.Position = 0
+ totalcantped = r6.GetString("PE_CANT")
+ Else
+
+ totalcantped = 0
+ End If
+
+ Log(r5.GetString("HVD_RECHAZOCANT") &" - "& totalcantped)
+ rescant = rescant + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*((r5.GetString("HVD_RECHAZOCANT") - totalcantped)))
+' Log(rescant)
+ r6.Close
+ Next
+ End If
+ If rescant = "NaN" Then rescant = 0
+ LogColor(rescant,Colors.Red)
+ r5.Close
+
+
+
+ Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
+
+' Private r5 As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
+
+ Private rescant2 As String = 0
+ If r5.RowCount > 0 Then
+ For j5 = 0 To r5.RowCount -1
+ r5.Position = j5
+ Private r6 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}'"$)
+ r6.Position = 0
+' Log(r6.GetString("PE_CANT"))
+ rescant2 = rescant2 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("CANTC")))*((r5.GetString("HVD_RECHAZOCANT") - r6.GetString("PE_CANT"))/Subs.traeConversion(r5.GetString("HVD_PROID"))))
+ '(456/1)(4-0/0)
+
+ r6.Close
+ Next
+ End If
+ If rescant2 = "NaN" Then rescant2 = 0
+ Log(rescant2)
+ r5.Close
+ '''FIN RECHAZO - VENTA
+
+
+ '''RECHAZO
+ Private r5r As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' "$)
+
+ Private rescantr As String = 0
+ If r5r.RowCount > 0 Then
+ For j4r = 0 To r5r.RowCount -1
+ r5r.Position = j4r
+ Private r6r As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5r.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5r.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5r.GetString("CONSECUTIVO")}' "$)
+ r6r.Position = 0
+' LogColor(r5.GetString("HVD_COSTO_TOT")&" / "& r5.GetString("HVD_CANT")&" * "&r5.GetString("HVD_RECHAZOCANT")&" - "&r6.GetString("PE_CANT"),Colors.Blue)
+' LogColor(r6.GetString("PE_CANT"),Colors.Blue)
+ rescantr = rescantr + ((r5r.GetString("HVD_COSTO_TOT")/(r5r.GetString("HVD_CANT")))*(r5r.GetString("HVD_RECHAZOCANT")))
+ r6r.Close
+ Next
+ End If
+ If rescantr = "NaN" Then rescantr = 0
+' LogColor(rescant,Colors.Red)
+ r5r.Close
+
+ Log(rescantr)
+
+ Private r5r As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
+
+' Private r5 As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
+
+ Private rescant2r As String = 0
+ If r5r.RowCount > 0 Then
+ For j5r = 0 To r5r.RowCount -1
+ r5r.Position = j5r
+ Private r6r As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5r.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5r.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5r.GetString("CONSECUTIVO")}'"$)
+ r6r.Position = 0
+' Log(r6.GetString("PE_CANT"))
+ rescant2r = rescant2r + ((r5r.GetString("HVD_COSTO_TOT")/(r5r.GetString("CANTC")))*((r5r.GetString("HVD_RECHAZOCANT"))/Subs.traeConversion(r5r.GetString("HVD_PROID"))))
+ r6r.Close
+ Next
+ End If
+ If rescant2r = "NaN" Then rescant2r = 0
+' Log(rescant2)
+ r5r.Close
+ Log(rescant2r)
+ Log(rescant2r+rescantr)
+
+ '''' FIN RECHAZO
+
+ '''''
+
+' Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '0' "$)
+' Private rescant3 As Double = 0
+' If r5.RowCount > 0 Then
+' r5.Position = 0
+' rescant3 = r5.GetString("HVD_COSTO_TOT")
+'
+' End If
+' Log(NumberFormat2(rescant3, 0, 2, 2, False))
+' r5.Close
+
+ Private r55 As Cursor = Starter.skmt.ExecQuery($"select HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '0' "$)
+ Private rescant3 As Double
+ If r55.RowCount > 0 Then
+ For r75 = 0 To r55.RowCount -1
+ r55.Position = r75
+ rescant3 = rescant3 + r55.GetString("HVD_COSTO_TOT")
+ rescant3 = NumberFormat2(rescant3, 0, 2, 2, False)
+
+ Next
+ End If
+ Log(rescant3)
+ r55.Close
+
+
+
+
+ Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '1' "$)
+ Private rescant4 As Double
+ If r5.RowCount > 0 Then
+ r5.Position = 0
+ rescant4 = r5.GetString("HVD_COSTO_TOT")
+ End If
+ Log(rescant4)
+ r5.Close
+
+ Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_COSTO_TOT),0) AS PE_COSTO_TOT from PEDIDO "$)
+ Private rescant5 As Double
+ If r5.RowCount > 0 Then
+ r5.Position = 0
+ rescant5 = r5.GetString("PE_COSTO_TOT")
+ End If
+ Log(rescant5)
+ r5.Close
+
+
+
+ '''
+ Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' "$)
+ Private rescant6 As Double
+ If r5.RowCount > 0 Then
+ For j4 = 0 To r5.RowCount -1
+ r5.Position = j4
+ Private r6 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}' "$)
+ r6.Position = 0
+' LogColor(r5.GetString("HVD_COSTO_TOT")&" / "& r5.GetString("HVD_CANT")&" * "&r5.GetString("HVD_RECHAZOCANT")&" - "&r6.GetString("PE_CANT"),Colors.Blue)
+' LogColor(r6.GetString("PE_CANT"),Colors.Blue)
+ rescant6 = rescant6 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*(r5.GetString("HVD_CANT")- r5.GetString("HVD_RECHAZOCANT")))
+' Log(rescant6)
+ r6.Close
+ Next
+ End If
+ If rescant6 = "NaN" Then rescant6 = 0
+ LogColor(rescant6,Colors.Red)
+ r5.Close
+
+ Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
+ Private rescant7 As Double
+ If r5.RowCount > 0 Then
+ For j5 = 0 To r5.RowCount -1
+ r5.Position = j5
+ Private r6 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}'"$)
+ r6.Position = 0
+' Log(r6.GetString("PE_CANT"))
+ rescant7 = rescant7 + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("CANTC")))*((r5.GetString("HVD_CANT") - r5.GetString("HVD_RECHAZOCANT") )/Subs.traeConversion(r5.GetString("HVD_PROID"))))
+ r6.Close
+ Next
+ End If
+ If rescant7 = "NaN" Then rescant7 = 0
+ Log(rescant7)
+ r5.Close
+
+
+ l_rechazo.text = NumberFormat2((rescant + rescant2),0,2,2,False)
+ L_MONTOE.Text = NumberFormat2((rescant3 + rescant4 + rescant5 + rescant6 + rescant7),0,2,2,False)
+
+
B4XPages.MainPage.clientesVisitados = L_MONTOE.Text
B4XPages.MainPage.clientesVenta = l_cuantosc.Text
B4XPages.MainPage.clientesRechazo = l_cuantosn.Text
@@ -394,6 +587,7 @@ Sub B4XPage_Appear
L_MONTOE.Visible = False
End If
+
'checachek
End Sub
@@ -445,14 +639,20 @@ Sub trabajar_Click
End Sub
Sub Subir_Click
-
-
-
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a conexión a Internet", "Revisa tu conexión")
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c.Close
+
+
+ cmd.Initialize
+ cmd.Name = "select_estatus_MARQUEZ"
+ cmd.Parameters = Array As Object(ALMACEN,e_ruta.text)
+ reqManager.ExecuteQuery(cmd , 0, "estatus")
+End Sub
+
+Sub envioinfo
' NOVENTA
c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO FROM NOVENTA")
D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
@@ -485,18 +685,20 @@ Sub Subir_Click
c.Close
End If
' pedido
- c=Starter.skmt.ExecQuery("SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, 1 as PE_DESC FROM PEDIDO")
+ c=Starter.skmt.ExecQuery("SELECT PE_TIPO, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_CLIENTEOR, PE_CAJAS, PE_BCAJAS, CONSECUTIVO, FECHA_PREV, RUTA_REP, PE_REGALO FROM PEDIDO")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
- cmd.Name = "insert_pedido_REPG"
- cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),"0","VENTA")
- reqManager.ExecuteCommand(cmd , "ins_pedido")
+ cmd.Name = "insert_pedido_REP_marquez"
+ cmd.Parameters = Array As Object(c.GetString("PE_TIPO"), c.GetString("PE_RUTA"), c.GetString("PE_CEDIS"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_CLIENTEOR"), c.GetString("PE_CAJAS"), c.GetString("PE_BCAJAS"), c.GetString("CONSECUTIVO"), c.GetString("FECHA_PREV"), c.GetString("RUTA_REP"), c.GetString("PE_REGALO"))
+ reqManager.ExecuteCommand(cmd , "ins_pedido_marquez")
Next
c.Close
End If
+
+
' reqManager.Initialize(Me, "http://187.189.244.154:1787") 'Para el servidor de pruebas.
c = Starter.skmt.ExecQuery("SELECT * from reparto")
If c.RowCount > 0 Then
@@ -563,13 +765,18 @@ Sub Subir_Click
f.Close
End If
- c = Starter.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET FROM HIST_VENTAS")
+ c = Starter.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET, HVD_CANT, CONSECUTIVO FROM HIST_VENTAS")
If c.RowCount > 0 Then
For i=0 To c.RowCount -1
c.Position = i
Private d4 As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("HVD_CLIENTE")}'"$)
d4.Position = 0
+ Private d5 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(Sum(PE_CANT),0) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID = '${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
+ d5.Position = 0
+ Private restacant As String = d5.GetString("PE_CANT")
+ d5.Close
+
Dim fecha1() As String = Regex.Split(" ", c.GetString("HVD_FECHA"))
Dim fecha2() As String = Regex.Split("-", fecha1(0))
Dim fecha3 As String = fecha2(2)&"/"&fecha2(1)&"/"&fecha2(0)
@@ -577,11 +784,23 @@ Sub Subir_Click
Dim hora() As String = Regex.Split("\.", fecha1(1))
Log(hora(0))
- cmd.Initialize
- cmd.Name = "update_HVD_MARQUEZrep"
- cmd.Parameters = Array As Object(c.GetString("HVD_RECHAZOCANT"), c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),ALMACEN,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"))
-' HVD_CANT_RECHAZO_MOVIL = ? where HVD_CLIENTE = ? And HVD_PROID = ? And TRUNC(HVD_FECHA) = TRUNC(to_date((?),DD/MM/YYYY HH24:MI:ss)) AND HVD_RUTA = ? AND HVD_ALMACEN = ? AND HVD_COBA = ? AND HVD_CODPROMO = ? AND HVD_NUM_TICKET = ?
- reqManager.ExecuteCommand(cmd, "update_hvd")
+ Dim sDate, sTime As String
+ DateTime.DateFormat = "dd/MM/yyyy"
+ DateTime.TimeFormat = "HH:mm:ss"
+ sDate = DateTime.Date(DateTime.Now)
+ sTime = DateTime.Time(DateTime.Now)
+ If c.GetString("HVD_RECHAZOCANT") <> "0" Then
+ Log((c.GetString("HVD_RECHAZOCANT")-restacant))
+ cmd.Initialize
+ cmd.Name = "update_HVD_MARQUEZrep"
+ cmd.Parameters = Array As String(c.GetString("HVD_RECHAZOCANT"),sDate& " "& sTime,1, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),ALMACEN,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT"))
+ reqManager.ExecuteCommand(cmd, "update_hvd")
+ Else
+ cmd.Initialize
+ cmd.Name = "update_HVD_MARQUEZrep"
+ cmd.Parameters = Array As String("","","", c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),ALMACEN,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT"))
+ reqManager.ExecuteCommand(cmd, "update_hvd")
+ End If
d4.Close
Next
End If
@@ -619,7 +838,6 @@ Sub Subir_Click
cmd.Name = "insert_drop_rep_marquez"
cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO")
reqManager.ExecuteCommand(cmd , "inst_drop")
-
ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
End Sub
@@ -668,6 +886,7 @@ Sub cargar_Click
If l_ruta.Text = "0" Then '
Log("********************* No hay ruta, BORRAMOS TODO")
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
+ Starter.skmt.ExecNonQuery("delete from cat_gunaprod3")
Starter.skmt.ExecNonQuery("delete from REPARTO")
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS")
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS2")
@@ -690,8 +909,8 @@ Sub cargar_Click
If l_ruta.Text = "0" Then
cmd.Initialize
- cmd.Name = "select_almacen_marquez_re_REPG"
- cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, ALMACEN)
+ cmd.Name = "select_almacen_marquez_re_REPG2"
+ cmd.Parameters = Array As Object(ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "gunaprod")
Log($"Pedimos gunaprod - ${ALMACEN}, ${e_ruta.text}"$)
reqs.Add("gunaprod")
@@ -716,6 +935,16 @@ Sub cargar_Click
cmd.Name = "select_coords_almacen_Marquez"
cmd.Parameters = Array As Object(ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "coords_almacen")
+
+ cmd.Initialize
+ cmd.Name = "select_cat_gunaprod3_MARQUEZ"
+ cmd.Parameters = Array As Object(ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "gunaprod3")
+
+ cmd.Initialize
+ cmd.Name = "select_pagares_marquez"
+ cmd.Parameters = Array As Object(e_ruta.text,ALMACEN)
+ reqManager.ExecuteQuery(cmd , 0, "PAGARES")
' c=Starter.skmt.ExecQuery("SELECT REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA FROM REPARTO")
' If c.RowCount > 0 Then
@@ -817,6 +1046,47 @@ Sub JobDone(Job As HttpJob)
End If
End If
End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "gunaprod3" Then 'query tag
+ If reqs.IndexOf("gunaprod3") > -1 Then
+ reqs.RemoveAt(reqs.IndexOf("gunaprod3"))
+ Log(reqs.Size)
+ End If
+ Starter.skmt.BeginTransaction
+ For Each records() As Object In result.Rows
+ Dim CAT_GP_ID As String = records(result.Columns.Get("CAT_GP_ID"))
+ Dim CAT_GP_NOMBRE As String = records(result.Columns.Get("CAT_GP_NOMBRE"))
+ Dim CAT_GP_IMP1 As String = records(result.Columns.Get("CAT_GP_IMP1"))
+ Dim CAT_GP_IMP2 As String = records(result.Columns.Get("CAT_GP_IMP2"))
+ Dim CAT_GP_PRECIO As String = records(result.Columns.Get("CAT_GP_PRECIO"))
+ Dim CAT_GP_CLASIF As String = records(result.Columns.Get("CAT_GP_CLASIF"))
+ Dim CAT_GP_STS As String = records(result.Columns.Get("CAT_GP_STS"))
+ Dim CAT_GP_TIPO As String = records(result.Columns.Get("CAT_GP_TIPO"))
+ Dim CAT_GP_SUBTIPO As String = records(result.Columns.Get("CAT_GP_SUBTIPO"))
+ Dim CAT_GP_IMG() As Byte = records(result.Columns.Get("CAT_GP_IMG"))
+ Dim CAT_GP_ALMACEN As Int = records(result.Columns.Get("CAT_GP_ALMACEN"))
+ ' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
+ Dim CAT_GP_TIPOPROD As Int = records(result.Columns.Get("CAT_GP_TIPOPROD"))
+ Dim CAT_GP_INICIATIVA As Int = records(result.Columns.Get("CAT_GP_INICIATIVA"))
+ Dim CAT_DP_PRECIO4 As Float = records(result.Columns.Get("CAT_DP_PRECIO4"))
+ Dim CAT_DP_CONVERSION1 As Int = records(result.Columns.Get("CAT_DP_CONVERSION1"))
+' CAT_GP_INICIATIVA = 5
+' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
+ Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD3(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_DP_PRECIO4,CAT_DP_CONVERSION1) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_DP_PRECIO4,CAT_DP_CONVERSION1))
+ Next
+ Starter.skmt.TransactionSuccessful
+ Starter.skmt.EndTransaction
+ Listo2=1
+ If Listo1 = 1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
+ ToastMessageShow("Datos Actualizados." , True)
+ B4XPage_Appear
+ img2.Visible = False
+ EJECUTANDO=0
+ End If
+ End If
+ End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
@@ -930,6 +1200,21 @@ Sub JobDone(Job As HttpJob)
End If
End If
End If
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "estatus" Then 'query tag
+ For Each records() As Object In result.Rows
+ Dim hvd_estatus As String = records(result.Columns.Get("HVD_ESTATUS"))
+ If hvd_estatus = "Liquidado" Then
+ ' ToastMessageShow("rojo val ok 1 cuantosp." , True)
+ MsgboxAsync("La venta ya fue liquidada","Atención")
+ Else
+ envioinfo
+ End If
+ Next
+ End If
+ End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
@@ -965,6 +1250,7 @@ Sub JobDone(Job As HttpJob)
Log(l_ruta.text)
Log($"******** Insertamos HV - ${result.Rows.Size}"$)
Starter.skmt.BeginTransaction
+ Dim consecutivo As Int= 0
For Each records() As Object In result.Rows
Dim HVD_CLIENTE As String = records(result.Columns.Get("HVD_CLIENTE"))
Dim HVD_PRONOMBRE As String = records(result.Columns.Get("HVD_PRONOMBRE"))
@@ -980,17 +1266,17 @@ Sub JobDone(Job As HttpJob)
Dim bcajas As String = records(result.Columns.Get("HVD_BCAJAS"))
Dim cantc As String = records(result.Columns.Get("HVD_CANTC"))
' Log(" ++ insert into HIST_VENTAS: "&HVD_CLIENTE&","&HVD_PRONOMBRE&","&HVD_CANT)
-
+ consecutivo = consecutivo +1
If l_ruta.Text = "0" Then 'Si no hay ruta cargada, guardamos todos los clientes
Log("No hay ruta, guardamos todos")
- Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc))
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC,CONSECUTIVO) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc,consecutivo))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO))
Else 'Si ya hay ruta cargada, solo guardamos los clientes nuevos.
' Log("Hay ruta, guardamos los nuevos")
Private tc As Cursor = Starter.skmt.ExecQuery($"select HVD_CLIENTE from HIST_VENTAS where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PROID = '${HVD_PROID}'"$)
If tc.RowCount = 0 Then
Log($"Guardamos ${HVD_CLIENTE}"$)
- Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc))
+ Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC,CONSECUTIVO) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc,consecutivo))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO))
End If
End If
@@ -1032,6 +1318,20 @@ Sub JobDone(Job As HttpJob)
Next
End If
End If
+
+
+ If Job.JobName = "DBRequest" Then
+ Dim result As DBResult = reqManager.HandleJob(Job)
+ If result.Tag = "PAGARES" Then 'query tag
+ For Each records() As Object In result.Rows
+
+ Dim TMP_MONTO_PAGARE As String = records(result.Columns.Get("TMP_MONTO_PAGARE"))
+ Dim TMP_CLIENTE As String = records(result.Columns.Get("TMP_CLIENTE"))
+' Log(" ++ insert into CAT_VARIABLES: "&Cat_Va_Descripcion&","&Cat_Va_Valor)
+ Starter.skmt.ExecNonQuery2("INSERT INTO PAGARES(TMP_MONTO_PAGARE, TMP_CLIENTE) VALUES (?,?)", Array As Object (TMP_MONTO_PAGARE, TMP_CLIENTE))
+ Next
+ End If
+ End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
@@ -1047,6 +1347,8 @@ Sub JobDone(Job As HttpJob)
Next
End If
End If
+
+
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
@@ -1228,7 +1530,7 @@ Sub connecta_Click
reqManager.ExecuteQuery(cmd , 0, "version")
Dim cmd As DBCommand
cmd.Initialize
- cmd.Name = "select_ruta_re_REPG_marquez"
+ cmd.Name = "select_ruta_re_REPG_marquez5"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, imei)
' Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$)
reqManager.ExecuteQuery(cmd , 0, "ruta")
@@ -1258,6 +1560,7 @@ Sub e_ruta_EnterPressed
RES = Msgbox2("Seguro que desea hacer el cierre todos los datos se borraran?","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If RES = DialogResponse.POSITIVE Then
e_ruta.Text = ""
+ Starter.skmt.ExecNonQuery("delete from PICK_CIEGO")
Starter.skmt.ExecNonQuery("delete from pedido_cliente")
Starter.skmt.ExecNonQuery("delete from CHECADO_CHECK")
Starter.skmt.ExecNonQuery("delete from CHECKLIST2")
@@ -1266,6 +1569,7 @@ Sub e_ruta_EnterPressed
Starter.skmt.ExecNonQuery("delete from clie_act")
Starter.skmt.ExecNonQuery("delete from kmt_info")
Starter.skmt.ExecNonQuery("delete from cat_gunaprod")
+ Starter.skmt.ExecNonQuery("delete from cat_gunaprod3")
Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
Starter.skmt.ExecNonQuery("delete from HIST_VENTAS")
Starter.skmt.ExecNonQuery("delete from REPARTO")
@@ -1313,7 +1617,7 @@ Sub B_CLIEPROD_Click
Panel1.Visible = True
Panel1.BringToFront
Btn_Ubicar_Ru.Visible=False
- c=Starter.skmt.ExecQuery("select HVD_PRONOMBRE, SUM(HVD_CANT) AS HVD_CANT, HVD_RECHAZO from HIST_VENTAS GROUP BY HVD_PRONOMBRE, HVD_RECHAZO ORDER BY HVD_PRONOMBRE")
+ c=Starter.skmt.ExecQuery("select * from kmt_info WHERE gestion <> 0 order by HORAENT")
Subs.SetDivider(ListView1, Colors.LightGray, 2)
ListView1.Clear
Dim label1 As Label
@@ -1328,14 +1632,172 @@ Sub B_CLIEPROD_Click
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
- If c.GetString("HVD_RECHAZO") = "0" Then
- ESTATUS = " "
- ELSE IF c.GetString("HVD_RECHAZO") = "1" Then
- ESTATUS = "RECHAZADO"
- Else
- ESTATUS = "SIN ESTATUS"
- End If
- ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE") , c.GetString("HVD_CANT") & " " & ESTATUS )
+ If c.GetString("gestion") = "2" Then
+ ESTATUS = "ENTREGADO"
+ Log("entrega")
+ ELSE IF c.GetString("gestion") = "3" Then
+ Log("no entrega")
+ ESTATUS = "RECHAZADO"
+ Else
+ ESTATUS = "SIN ESTATUS"
+ End If
+
+
+
+ If ESTATUS = "ENTREGADO" Then
+ Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
+
+ Private cuenta0 As String = 0
+ Private arti As String = 0
+ If vc.RowCount > 0 Then
+ For a = 0 To vc.RowCount - 1
+ vc.Position = a
+' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
+ arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))
+ cuenta0 = cuenta0 + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT")))
+ Next
+ End If
+' Log(cuenta0)
+
+ Private vc2 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 1"$)
+ Private Cuenta1 As String = 0
+ Private arti1 As String = 0
+ If vc2.RowCount > 0 Then
+ For h = 0 To vc2.RowCount - 1
+ vc2.Position = h
+ Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False)
+ Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$)
+ If vc3.RowCount > 0 Then
+ vc3.Position = 0
+ Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu)
+ arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT"))
+ End If
+ Next
+ End If
+' Log(Cuenta1)
+
+ Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
+ Private Cuenta2 As String = 0
+ Private arti2 As String = 0
+ If vc4.RowCount > 0 Then
+
+ For k = 0 To vc4.RowCount - 1
+ vc4.Position = k
+ If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
+ If vc4.GetString("HVD_RECHAZO") = 0 Then
+ Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT")
+ arti2 = arti2 + vc4.GetString("HVD_CANT")
+ Else
+ Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
+ If vc5.RowCount > 0 Then
+ vc5.Position= 0
+' Log(vc5.GetString("CAT_GP_PRECIO"))
+ Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO"))
+ arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))
+ End If
+ End If
+ End If
+
+ Next
+ End If
+' Log(arti2)
+
+ Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
+ Private Cuenta3 As String = 0
+ Private arti3 As String = 0
+ If c4.RowCount > 0 Then
+ For x = 0 To c4.RowCount -1
+ c4.Position = x
+ arti3 = arti3 + c4.GetString("PE_CANT")
+ Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
+ Next
+ End If
+
+
+ Private TOTALMONTO As String = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3
+ Private TOTALcantidad As String = arti + arti1 +arti2 + arti3
+
+ ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO")&" - " &c.GetString("CAT_CL_NOMBRE"), "Articulos :"& TOTALcantidad &" Monto :"& NumberFormat2(TOTALMONTO,0,2,2,True) & " " & ESTATUS )
+ Log("si entre2")
+
+ Else If ESTATUS = "RECHAZADO" Then
+
+ Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO, HVD_COSTO_TOT from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
+
+ Private cuenta0 As String = 0
+ Private arti As String = 0
+ If vc.RowCount > 0 Then
+ For a = 0 To vc.RowCount - 1
+ vc.Position = a
+ Dim preu As Float = NumberFormat2(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"),0,2,2,False)
+' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
+ arti = arti + (vc.GetString("HVD_RECHAZOCANT"))
+ cuenta0 = cuenta0 + ((vc.GetString("HVD_RECHAZOCANT"))*preu)
+ Next
+ End If
+' Log(cuenta0)
+
+ Private vc2 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 1"$)
+ Private Cuenta1 As String = 0
+ Private arti1 As String = 0
+ If vc2.RowCount > 0 Then
+ For h = 0 To vc2.RowCount - 1
+ vc2.Position = h
+ Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False)
+ Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$)
+ If vc3.RowCount > 0 Then
+ vc3.Position = 0
+ Cuenta1 = Cuenta1 + ((vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION"))*preu)
+ arti1 = arti1 + (vc2.GetString("HVD_RECHAZOCANT"))
+ End If
+ Next
+ End If
+' Log(Cuenta1)
+
+ Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
+ Private Cuenta2 As String = 0
+ Private arti2 As String = 0
+ If vc4.RowCount > 0 Then
+
+ For k = 0 To vc4.RowCount - 1
+ vc4.Position = k
+ If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
+ If vc4.GetString("HVD_RECHAZO") = 0 Then
+ Cuenta2 = Cuenta2 + vc4.GetString("HVD_COSTO_TOT")
+ arti2 = arti2 + vc4.GetString("HVD_RECHAZOCANT")
+ Else
+ Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
+ If vc5.RowCount > 0 Then
+ vc5.Position= 0
+' Log(vc5.GetString("CAT_GP_PRECIO"))
+ Cuenta2 = Cuenta2 +(( vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO"))
+ arti2 = arti2 +(vc4.GetString("HVD_RECHAZOCANT"))
+ End If
+ End If
+ End If
+
+ Next
+ End If
+' Log(arti2)
+
+ Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
+ Private Cuenta3 As String = 0
+ Private arti3 As String = 0
+ If c4.RowCount > 0 Then
+ For x = 0 To c4.RowCount -1
+ c4.Position = x
+ arti3 = arti3 + c4.GetString("PE_CANT")
+ Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
+ Next
+ End If
+
+
+ Private TOTALMONTO As String = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3
+ Private TOTALcantidad As String = arti + arti1 +arti2 + arti3
+
+ Log("si entre")
+ ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO")&" - " &c.GetString("CAT_CL_NOMBRE"), "Articulos :"& TOTALcantidad &" Monto :"& NumberFormat2(TOTALMONTO,0,2,2,True) & " " & ESTATUS )
+ End If
Next
End If
@@ -1373,7 +1835,7 @@ End Sub
Sub B_REGRESA_Click
Log("B_REGRESA_Click")
- BUSCA.Visible = True
+ BUSCA.Visible = False
connecta.Visible = True
trabajar.Visible = True
B_CLIEPROD.Visible = True
@@ -1404,4 +1866,15 @@ Private Sub b_check_Click
B4XPages.ShowPage("checklist")
+End Sub
+
+Private Sub ListView1_ItemClick (Position As Int, Value As Object)
+ Log(Value)
+
+ Dim clieasing() As String = Regex.Split(" ", Value)
+ Log(clieasing(0))
+
+ Starter.skmt.ExecNonQuery("delete from CUENTAA")
+ Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(clieasing(0)))
+ B4XPages.ShowPage("Cliente")
End Sub
\ No newline at end of file
diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas
index e11bf36..90ce75c 100644
--- a/B4A/C_Productos.bas
+++ b/B4A/C_Productos.bas
@@ -4,1142 +4,6 @@ ModulesStructureVersion=1
Type=Class
Version=12.2
@EndOfDesignText@
-'Sub Class_Globals
-' Private Root As B4XView 'ignore
-' Private xui As XUI 'ignore
-' Dim g As GPS
-' Dim q_buscar As String
-'
-' Dim c As Cursor
-' Dim c2 As Cursor
-' Dim ListView1 As ListView
-' Dim entro As String
-' Dim lfila As Label
-' Dim marca As String
-' Dim tipo As String
-' Private BUSCA As EditText
-' Dim ya_entro As String
-' Dim bmp As Bitmap
-'
-' Dim c As Cursor
-' Dim e As Cursor
-' Dim f As Cursor
-' Dim h As Cursor
-' Dim CC As Cursor
-' Dim DD As Cursor
-' Dim l_tipo As Label
-' Dim l_sub As Label
-' Dim l_marca As Label
-' Dim l_desc As Label
-' Dim l_precio As Label
-' Dim l_bodega As Label
-' Dim cantidad As EditText
-' Dim guardar As Button
-' Dim Terminar As Button
-' Dim img_prod As ImageView
-' Dim IMG_PASO() As Byte
-' Dim L_PROID As Label
-' Dim clie_id As String
-' Dim sDate,sTime As String
-' Dim usuario As String
-' Dim t_venta As Label
-' Dim PROMO_C As String
-' Dim i_fotol As ImageView
-' Private DESC_PROMO As Button
-' Private nopromo As Button
-' Dim TOT_ART_PROMO As String
-' Dim cambio As String
-' Dim COSTO_TOT As String
-' Dim ALMACEN As String
-' Dim preciosin As String
-' Dim cl_ruta As String
-' Dim d As Cursor
-' Dim TOT_ART_PROMOR As String
-' Dim PROMO_CR As String
-' Dim TOTAL_PROMO As String
-' Dim HCCP_CANT As String
-' Private Panel1 As Panel
-' Dim query As String
-' Private t_precio As Label
-' Private LV_PRECIOS As ListView
-' Private PERFIL As String
-' Private EXISTE_CAMBIO As String
-' Private QUERY2 As String
-' Dim CAMBIOS As String
-' Dim precio2 As String
-' Private B_MENOS As Button
-' Private B_MAS As Button
-' Private p_prods As Panel
-' Private l_prodX As Label
-' Private l_pCant As Label
-' Private et_pCant As EditText
-' Private clv_productos As CustomListView
-' Dim etCantHasFocus As Boolean = False
-' Dim totalProds As Int = 0
-' Dim totalCompra As Int = 0
-' Dim prodsMap As Map
-' Dim prodsListId, prodsList, prodsListCliOrig As List
-' Private l_totProds As Label
-' Private l_total As Label
-' Private b_terminar1 As Button
-' Private p_botonesVenta As Panel
-' Private l_vendido As Label
-'End Sub
-'
-''You can add more parameters here.
-'Public Sub Initialize As Object
-' Return Me
-'End Sub
-'
-''This event will be called once, before the page becomes visible.
-'Private Sub B4XPage_Created (Root1 As B4XView)
-' Root = Root1
-' 'load the layout to Root
-' g.Initialize("GPS")
-' 'Do not forget to load the layout file created with the visual designer. For example:
-' 'Activity.LoadLayout("Layout1")
-' Root.RemoveAllViews
-' Root.LoadLayout("productos")
-' Panel1.Visible= False
-'End Sub
-'
-''You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
-'
-'Sub B4XPage_Appear
-' query = "cat_gunaprod"
-' QUERY2 = "CAT_GUNAPROD"
-' prodsMap.Initialize
-' prodsList.Initialize
-' prodsListId.Initialize
-' prodsListCliOrig.Initialize
-' If ya_entro <> "1" Then
-' 'BUSCA.Text =""
-' 'SE COMENTO LA LINEA DE ARRIBA YA QUE DISPARA EL EVENTO DEL TEXTCHANGE Y PUEDE HACER LENTO EL SISTEMA
-' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
-' entro ="1"
-' ya_entro ="1"
-' c=Starter.skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from " & query & " WHERE CAT_GP_ALMACEN > 0 GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
-'
-' 'ESTO ES PARA NO VER PROCTER
-' 'c=skmt.ExecQuery2("select CAT_GP_CLASIF, count(*) as cuantos from cat_gunaprod where CAT_GP_ALMACEN > 0 and cat_gp_clasif NOT IN (?,?,?,?,?,?,?,?,?,?) group by CAT_GP_CLASIF order by CAT_GP_CLASIF asc", Array As String("PROCTER","PROMOS","TRES MONTES","CAMPARI","CAMPARI-PRO","CLOROX DE MEXICO","MARS","CONAGRA","VERDE VALLE","MEAD JOHNSON"))
-' ListView1.Clear
-' lfila.Text = "MARCA"
-' Dim label1 As Label
-' label1 = ListView1.TwoLinesLayout.Label
-' label1.TextSize = 10
-' label1.TextColor = Colors.Black
-' Dim label2 As Label
-' label2 = ListView1.TwoLinesLayout.SecondLabel
-' label2.TextSize = 10
-' label2.TextColor = Colors.Black
-' If c.RowCount>0 Then
-' For i=0 To c.RowCount -1
-' c.Position=i
-' ' bmp = LoadBitmap(File.DirAssets, "palomita_verde.png")
-' ListView1.AddTwoLines(c.GetString("CAT_GP_CLASIF"),c.GetString("CUANTOS"))
-' Next
-' End If
-' End If
-' clv_productos.GetBase.SetLayoutAnimated(100, 10dip, 140dip, Root.Width - 50, Root.Height * 0.68) 'Cambiamos el tamaño y posición de la lista de productos
-' clv_productos.Base_Resize(clv_productos.GetBase.Width, clv_productos.GetBase.Height) 'Cambiamos el tamaño del panel interno de la lista para que ajuste al nuevo tamaño.
-'' p_botonesVenta.Visible = False
-' p_botonesVenta.Top = clv_productos.AsView.top + clv_productos.AsView.Height
-' llenaProductos(False)
-'End Sub
-'
-'Sub ListView1_ItemClick (Position As Int, Value As Object)
-' If Value = "PROMOS" And B4XPages.MainPage.cliente.cuenta <> "N" Then
-' entro = "3"
-' marca = "PROMOS"
-' tipo = "PROMOS"
-' Else if Value = "PROMOS" And B4XPages.MainPage.cliente.cuenta = "N" Then
-' entro = "5"
-' B4XPages.ShowPage("Cliente")
-' End If
-' If entro = "1" Then
-' marca = Value
-' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
-' c2=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS, CAT_GP_TIPO from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? GROUP BY CAT_GP_TIPO ORDER BY CAT_GP_TIPO ASC", Array As String(Value))
-' ListView1.Clear
-' lfila.text = "TIPO"
-' If c2.RowCount>0 Then
-' For i=0 To c2.RowCount -1
-' c2.Position=i
-' ListView1.AddTwoLines(c2.GetString("CAT_GP_TIPO"),c2.GetString("CUANTOS"))
-' Next
-' End If
-' entro = "3"
-' Else If entro = "2" Then
-' tipo = Value
-' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
-' c2=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS, CAT_GP_SUBTIPO from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? and CAT_GP_TIPO = ? GROUP BY CAT_GP_SUBTIPO ORDER BY CAT_GP_SUBTIPO ASC ", Array As String(marca, Value))
-' ListView1.Clear
-' lfila.text = "SUB-TIPO"
-' If c2.RowCount>0 Then
-' For i=0 To c2.RowCount -1
-' c2.Position=i
-' ListView1.AddTwoLines(c2.GetString("CAT_GP_SUBTIPO"),c2.GetString("CUANTOS"))
-' Next
-' End If
-' entro = "3"
-'
-' Else If entro = "3" Then
-' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
-' c2=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? AND CAT_GP_TIPO = ? ", Array As String(marca, Value))
-' ListView1.Clear
-' lfila.text = "PRODUCTO"
-' Dim ins As InputStream
-' Dim bmp As Bitmap
-' Dim jpeg() As Byte
-' If c2.RowCount>0 Then
-' For i=0 To c2.RowCount -1
-' c2.Position=i
-' jpeg = c2.GetBlob("CAT_GP_IMG")
-' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
-' bmp.Initialize2(ins)
-'
-' ListView1.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO"))
-' Next
-' End If
-' entro = "4"
-' Else If entro = "4" Then
-'
-' Starter.skmt.ExecNonQuery("delete from PROID")
-' Starter.skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(Value))
-' 'StartActivity(pedidos)
-' HACER_PEDIDO
-' End If
-'End Sub
-'
-'Private Sub B4XPage_CloseRequest As ResumableSub
-' ' BACK key pressed
-'' Log("REGRESAMOS, " & "ENTRO=" & entro)
-' ya_entro ="0"
-' If entro = "4" Then
-' entro = "3"
-' B4XPage_Appear
-' Return True
-' Else If entro = "3" Then
-' ' I want to capture the key here so I return True
-' Log("Mostramos Cliente")
-' B4XPages.ShowPage("Cliente")
-' Return False
-' End If
-' B4XPages.ShowPage("Cliente")
-' Return False
-' ' Returning False signals the system to handle the key
-'End Sub
-'
-'Sub BUSCA_TextChanged (Old As String, New As String)
-' q_buscar = "%" & BUSCA.Text & "%"
-' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
-' c=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO,CAT_GP_IMG from " & query & " where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? and CAT_GP_CLASIF <> ? and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_GP_NOMBRE asc", Array As String(q_buscar,"PROMOS"))
-' 'and CAT_GP_CLASIF <> ? group by CAT_GP_CLASIF order by CAT_GP_CLASIF asc", Array As String("PROMOS") )
-'
-' ListView1.Clear
-'
-' Dim ins As InputStream
-' Dim bmp As Bitmap
-' Dim jpeg() As Byte
-' If c.RowCount>0 Then
-' For i=0 To c.RowCount -1
-' c.Position=i
-' jpeg = c.GetBlob("CAT_GP_IMG")
-' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
-' bmp.Initialize2(ins)
-' ListView1.AddTwoLines(c.GetString("CAT_GP_NOMBRE"),"Existencia " & c.GetString("CAT_GP_ALMACEN") & " Precio $" & c.GetString("CAT_GP_PRECIO"))
-' Next
-' End If
-' c.Close
-' entro= "4"
-'End Sub
-'
-'Sub HACER_PEDIDO
-' c=Starter.skmt.ExecQuery("Select SUBSTR(CUENTA,1,1) AS CUENTA from cuentaa")
-' c.Position=0
-' clie_id = c.GetString("CUENTA")
-' c.Close
-' Panel1.Visible= True
-' cambio = "0"
-' cantidad.Text = ""
-' c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
-' C.Position =0
-' ALMACEN = C.GetString("ID_ALMACEN")
-' C.Close
-' i_fotol.Visible = False
-'
-' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
-' c=Starter.skmt.ExecQuery("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV from " & query & " where CAT_GP_NOMBRE In (Select PDESC from PROID)")
-' c.Position=0
-' L_PROID.Text = c.GetString("CAT_GP_ID")
-' l_tipo.Text = c.GetString("CAT_GP_TIPO")
-' l_sub.Text = c.GetString("CAT_GP_SUBTIPO")
-' l_marca.Text = c.GetString("CAT_GP_CLASIF")
-' l_desc.Text = c.GetString("CAT_GP_NOMBRE")
-'
-' If PERFIL = "V-SUPER" Then
-' c2=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '10' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
-' c2.Position=0
-' l_precio.Text = c2.GetString("PRECIO")
-' c2.Close
-' Else
-' l_precio.Text = c.GetDouble("CAT_GP_PRECIO")
-' End If
-' l_bodega.Text = c.GetString("CAT_GP_ALMACEN")
-' IMG_PASO = c.GetBlob("CAT_GP_IMG")
-' PROMO_C = c.GetString("CAT_GP_STS")
-' cambio = c.GetString("CAT_GP_DEV")
-' preciosin = c.GetString("CAT_GP_IMP2")
-' PROMO_CR = c.GetString("CAT_GP_IMP1")
-' precio2 = l_precio.Text
-' If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" Then
-' DESC_PROMO.Visible = True
-' CC=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(c.GetString("CAT_GP_ID")))
-' CC.Position =0
-' If CC.GetString("CUANTOS") = 0 Then
-' l_bodega.Text = "4"
-' Else
-' CC.Close
-' CC=Starter.skmt.ExecQuery2("select CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(c.GetString("CAT_GP_ID")))
-' CC.Position =0
-'
-' DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(c.GetString("CAT_GP_ID")))
-' DD.Position =0
-' If DD.GetString("CUANTOS") = 0 Then
-' HCCP_CANT = 0
-'
-' Else
-' DD.Close
-'
-' DD=Starter.skmt.ExecQuery2("SELECT HCCP_CANT FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(c.GetString("CAT_GP_ID")))
-' DD.Position =0
-' HCCP_CANT = DD.GetString("HCCP_CANT")
-' DD.Close
-' End If
-' TOTAL_PROMO = CC.GetString("CAT_PA_MAXPROMCLIE") - HCCP_CANT
-' If HCCP_CANT = 0 Then
-'
-' l_bodega.Text = CC.GetString("CAT_PA_MAXPROM")
-' Else IF TOTAL_PROMO > CC.GetString("CAT_PA_MAXPROMREC") Then
-' l_bodega.Text = CC.GetString("CAT_PA_MAXPROMREC")
-' Else
-' l_bodega.Text = TOTAL_PROMO
-' End If
-' End If
-' Else
-' DESC_PROMO.Visible = False
-' End If
-'
-' c.Close
-' c=Starter.skmt.ExecQuery("select CASE WHEN pe_costo_tot is null then 0 else sum( pe_costo_tot ) end as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
-' c.Position=0
-' t_venta.Text = c.GetString("TOTAL_CLIE")
-' c.Close
-' ' If t_venta.Text < 100 AND l_tipo.Text = "PROMOS" Then
-' 'Terminar.Visible = False
-' 'guardar.Visible = False
-' 'cantidad.Visible = False
-' 'nopromo.Visible = True
-' 'Else
-' 'cambio = 0
-' Terminar.Visible = True
-' guardar.Visible = True
-' cantidad.Visible = True
-' nopromo.Visible = False
-' 'End If
-'
-'
-' Dim out As OutputStream
-' out = File.OpenOutput(Starter.ruta, "1.jpg", False)
-' out.WriteBytes(IMG_PASO, 0, IMG_PASO.Length)
-' out.Close
-' img_prod.Bitmap = LoadBitmap(Starter.ruta,"1.jpg")
-' TOT_ART_PROMO = "0"
-' TOT_ART_PROMOR = "0"
-' If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And l_bodega.Text = "0" Then
-' Msgbox("ALERTA","EL CLIENTE YA NO PUEDE TENER ESTA PROMOCION") 'ignore
-' Panel1.Visible= False
-' End If
-'
-' If marca <> "PROMOS" Then
-'
-' If PERFIL = "PREVENTA" Then
-'
-' t_precio.Visible = False
-' LV_PRECIOS.Visible = False
-'
-' ELSE IF PERFIL = "V-ESPECIAL" Then
-' c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA IN ('5','6','7','8','10') AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
-' LV_PRECIOS.Clear
-' Dim label1 As Label
-' label1 = LV_PRECIOS.TwoLinesLayout.Label
-' label1.TextSize = 10
-' label1.TextColor = Colors.Black
-' Dim label2 As Label
-' label2 = LV_PRECIOS.TwoLinesLayout.SecondLabel
-' label2.TextSize = 10
-' label2.TextColor = Colors.Black
-'
-' If c.RowCount>0 Then
-' For i=0 To c.RowCount -1
-' c.Position=i
-' LV_PRECIOS.AddTwoLines(c.GetString("NLISTA"),c.GetString("PRECIO"))
-' Next
-' End If
-' ELSE IF PERFIL = "V-MINI" Then
-' t_precio.Visible = False
-' LV_PRECIOS.Visible = False
-'
-' c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '2' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
-' c.Position=0
-' l_precio.Text = c.GetString("PRECIO")
-' c.Close
-' ELSE IF PERFIL = "V-COSTO" Then
-'
-' t_precio.Visible = False
-' LV_PRECIOS.Visible = False
-'
-' c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '9' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
-' c.Position=0
-' l_precio.Text = c.GetString("PRECIO")
-' c.Close
-' ELSE IF PERFIL = "V-SUPER" Then
-'
-' t_precio.Visible = False
-' LV_PRECIOS.Visible = False
-'
-' c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA ='9' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
-' c.Position=0
-' l_precio.Text = c.GetString("PRECIO")
-' c.Close
-' End If
-' End If
-'End Sub
-'
-'Sub guardar_Click
-' If cantidad.Text = "" Then
-' Panel1.Visible= False
-' ELSE If cantidad.Text > l_bodega.Text Then
-' Msgbox("Exede la existencia", "ADVERTENCIA") 'ignore
-' Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then
-' Starter.skmt.ExecNonQuery("delete from PROIDID")
-'
-' Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
-' c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
-' c.Position =0
-' If c.GetString("CUANTOSD") = 0 Then
-' Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore
-' Else
-' c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
-' C.Position =0
-' TOT_ART_PROMO = C.GetString("TOT_ART_PROMO")
-' COSTO_TOT = C.GetString("COSTO_TOT")
-' C.Close
-'
-' c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
-' c.Position =0
-' If c.GetString("CUANTOSD") = 0 Then
-' TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
-' Else
-' c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
-' C.Position =0
-' TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO")
-' End If
-' C.Close
-'
-'
-' PROMO_C = PROMO_C * cantidad.Text
-' PROMO_CR = PROMO_CR * cantidad.Text
-'
-' If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then
-' ' anterior a 29/06/2015
-' 'skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(l_precio.text/(TOT_ART_PROMO/cantidad.Text),l_precio.text/(TOT_ART_PROMO/cantidad.Text)))
-' 'en pe_cedis meto el codigo de promocion para hacer esta validacion.
-' Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text))
-' D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0")
-' If D.RowCount>0 Then
-' For i=0 To D.RowCount -1
-' D.Position=i
-'
-' Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
-'
-' Next
-' End If
-' D.Close
-' D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1")
-' If D.RowCount>0 Then
-' For i=0 To D.RowCount -1
-' D.Position=i
-'
-' Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
-'
-' Next
-' End If
-' D.Close
-' DateTime.DateFormat = "MM/dd/yyyy"
-' sDate=DateTime.Date(DateTime.Now)
-' sTime=DateTime.Time(DateTime.Now)
-'
-' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
-' c.Position=0
-' clie_id = c.GetString("CUENTA")
-' c.Close
-'
-' c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
-' c.Position=0
-' cl_ruta = c.GetString("CAT_CL_RUTA")
-' c.Close
-'
-' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
-' c.Position=0
-' usuario = c.GetString("USUARIO")
-' 'skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object ("COACALCO",cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario))
-' 'para insertar la promo de ades el de regalo en 0
-' e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
-' If e.GetString("CUANTOS") > 0 Then
-' F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
-' 'se coloco el if por la mala promocion.
-' For i=0 To F.RowCount -1
-' F.Position=i
-' h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
-' h.Position=0
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
-' h.Close
-' Next
-' f.Close
-' End If
-' e.Close
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
-' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
-' Else
-' Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore
-' End If
-' End If
-'
-' cantidad.Text = ""
-' Panel1.Visible= False
-' else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then
-' Starter.skmt.ExecNonQuery("delete from PROIDID")
-' Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
-' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
-' c.Position=0
-' clie_id = c.GetString("CUENTA")
-' c.Close
-' DateTime.DateFormat = "MM/dd/yyyy"
-' sDate=DateTime.Date(DateTime.Now)
-' sTime=DateTime.Time(DateTime.Now)
-' c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
-' c.Position=0
-' cl_ruta = c.GetString("CAT_CL_RUTA")
-' c.Close
-' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
-' c.Position=0
-' usuario = c.GetString("USUARIO")
-' 'para insertar la promo de ades el de regalo en 0
-' e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ")
-' e.Position =0
-' If e.GetString("CUANTOS") > 0 Then
-' F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
-' For i =0 To f.RowCount -1
-' F.Position =i
-' h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
-' h.Position=0
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
-' h.Close
-' Next
-' f.Close
-' End If
-' e.Close
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
-' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
-' cantidad.Text = ""
-' c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
-' c.Position=0
-' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
-' Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
-' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
-' Panel1.Visible= False
-' Else
-' DateTime.DateFormat = "MM/dd/yyyy"
-' sDate=DateTime.Date(DateTime.Now)
-' sTime=DateTime.Time(DateTime.Now)
-' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
-' c.Position=0
-' clie_id = c.GetString("CUENTA")
-' c.Close
-' c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
-' c.Position=0
-' cl_ruta = c.GetString("CAT_CL_RUTA")
-' c.Close
-' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
-' c.Position=0
-' usuario = c.GetString("USUARIO")
-'
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,"VENTA",precio2))
-' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
-' c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
-' c.Position=0
-' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
-' Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN")))
-' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
-' Panel1.Visible= False
-' End If
-'End Sub
-'
-'Sub GPS_LocationChanged (Location1 As Location)
-'' lat_gps=Location1.ConvertToSeconds(Location1.Latitude)
-'' lon_gps=Location1.ConvertToSeconds(Location1.Longitude)
-'End Sub
-'
-'Sub Terminar_Click
-' If cantidad.Text = "" Then
-' B4XPages.ShowPage("Cliente")
-' ELSE If cantidad.Text > l_bodega.Text Then
-' Msgbox("Exede la existencia", "ADVERTENCIA") 'ignore
-' Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then
-' Starter.skmt.ExecNonQuery("delete from PROIDID")
-' Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
-' c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
-' c.Position =0
-' If c.GetString("CUANTOSD") = 0 Then
-' Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore
-' Else
-' c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0)")
-' C.Position =0
-' TOT_ART_PROMO = C.GetString("TOT_ART_PROMO")
-' COSTO_TOT = C.GetString("COSTO_TOT")
-' C.Close
-' c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
-' c.Position =0
-' If c.GetString("CUANTOSD") = 0 Then
-' TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA")
-' Else
-' c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1)")
-' C.Position =0
-' TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO")
-' End If
-' C.Close
-' PROMO_C = PROMO_C * cantidad.Text
-' PROMO_CR = PROMO_CR * cantidad.Text
-' If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then
-' 'en pe_cedis meto el codigo de promocion para hacer esta validacion.
-' Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text))
-' D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 0")
-' If D.RowCount>0 Then
-' For i=0 To D.RowCount -1
-' D.Position=i
-' Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
-' Next
-' End If
-' D.Close
-' D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO = 0 AND CAT_DP_TIPO = 1")
-' If D.RowCount>0 Then
-' For i=0 To D.RowCount -1
-' D.Position=i
-' Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CEDIS In (Select PROIDID from PROIDID) AND PE_CLIENTE IN (Select CUENTA from cuentaa) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD")))
-' Next
-' End If
-' D.Close
-' DateTime.DateFormat = "MM/dd/yyyy"
-' sDate=DateTime.Date(DateTime.Now)
-' sTime=DateTime.Time(DateTime.Now)
-'
-' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
-' c.Position=0
-' clie_id = c.GetString("CUENTA")
-' c.Close
-' c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
-' c.Position=0
-' cl_ruta = c.GetString("CAT_CL_RUTA")
-' c.Close
-' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
-' c.Position=0
-' usuario = c.GetString("USUARIO")
-' 'para insertar la promo de ades el de regalo en 0
-' e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
-' e.Position =0
-' If e.GetString("CUANTOS") > 0 Then
-' F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 AND CAT_DP_PRECIO = 0")
-' 'meter el otro
-' F.Position =0
-' h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
-' h.Position=0
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
-' h.Close
-' f.Close
-' End If
-' e.Close
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
-' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
-' Else
-' Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore
-' End If
-' End If
-'
-' cantidad.Text = ""
-' Panel1.Visible= False
-' B4XPages.ShowPage("Cliente")
-' else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then
-' Starter.skmt.ExecNonQuery("delete from PROIDID")
-'
-' Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
-' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
-' c.Position=0
-' clie_id = c.GetString("CUENTA")
-' c.Close
-' DateTime.DateFormat = "MM/dd/yyyy"
-' sDate=DateTime.Date(DateTime.Now)
-' sTime=DateTime.Time(DateTime.Now)
-'
-' c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
-' c.Position=0
-' cl_ruta = c.GetString("CAT_CL_RUTA")
-' c.Close
-'
-' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
-' c.Position=0
-' usuario = c.GetString("USUARIO")
-' 'para insertar la promo de ades el de regalo en 0
-' e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ")
-' e.Position =0
-' If e.GetString("CUANTOS") > 0 Then
-' F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)")
-' For i =0 To f.RowCount -1
-' F.Position =i
-' h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD")))
-' h.Position=0
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
-' h.Close
-' Next
-' f.Close
-' End If
-' e.Close
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,"VENTA",precio2))
-' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
-' cantidad.Text = ""
-' c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
-' c.Position=0
-' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
-' Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, ALMACEN,cl_ruta, c.GetString("TOTAL_CLIE_SIN")))
-' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
-' B4XPages.ShowPage("Cliente")
-' Else
-' DateTime.DateFormat = "MM/dd/yyyy"
-' sDate=DateTime.Date(DateTime.Now)
-' sTime=DateTime.Time(DateTime.Now)
-' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
-' c.Position=0
-' clie_id = c.GetString("CUENTA")
-' c.Close
-' c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
-' c.Position=0
-' cl_ruta = c.GetString("CAT_CL_RUTA")
-' c.Close
-'
-' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
-' c.Position=0
-' usuario = c.GetString("USUARIO")
-'
-' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,"VENTA",precio2))
-' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
-' Panel1.Visible= False
-' B4XPages.ShowPage("Cliente")
-' End If
-'End Sub
-'
-'Sub i_fotol_Click
-' i_fotol.Visible = False
-'
-'End Sub
-'
-'Sub DESC_PROMO_Click 'BORRAR
-'' Starter.skmt.ExecNonQuery("delete from PROIDID")
-'' Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text))
-'' B4XPages.ShowPage("Detalle_Promo")
-'End Sub
-'
-'Sub nopromo_Click 'BORRAR
-'' c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CAMBIOS"))
-'' c.Position =0
-'' CAMBIOS = c.GetString("CAT_VA_VALOR")
-'' c.Close
-'' If CAMBIOS = "1" Then
-'' c=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa) and HR_PROID = '" & L_PROID.Text & "'")
-'' c.Position =0
-'' EXISTE_CAMBIO = c.GetString("CUANTOS")
-'' c.Close
-'' If EXISTE_CAMBIO = 0 Then
-'' EXISTE_CAMBIO = 0
-'' Else
-'' c=Starter.skmt.ExecQuery("select SUM(HR_CANT) AS CUANTOS from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa) and HR_PROID = '" & L_PROID.Text & "'")
-'' c.Position =0
-'' EXISTE_CAMBIO = c.GetString("CUANTOS")
-'' c.Close
-'' End If
-'' If EXISTE_CAMBIO = 0 Then
-'' Msgbox("NO SE VENDIO ESTE PRODUCTO, NO SE PUEDE CAMBIAR","ALERTA") 'ignore
-'' ELSE If cantidad.Text = "" Then
-'' Msgbox("Cantidad no puede ser 0","Cantidad") 'ignore
-'' Else If cantidad.Text > EXISTE_CAMBIO Then
-'' Msgbox("Exede la existencia", "ADVERTENCIA") 'ignore
-'' Else
-'' DateTime.DateFormat = "MM/dd/yyyy"
-'' sDate=DateTime.Date(DateTime.Now)
-'' sTime=DateTime.Time(DateTime.Now)
-'' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
-'' c.Position=0
-'' clie_id = c.GetString("CUENTA")
-'' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
-'' c.Position=0
-'' usuario = c.GetString("USUARIO")
-'' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR",0,0, cantidad.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,"VENTA",precio2))
-'' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
-'' cantidad.Text = ""
-'' Panel1.Visible= False
-'' End If
-'' Else
-'' If cantidad.Text > 15 Then
-'' Msgbox("Exede la existencia", "ADVERTENCIA") 'ignore
-'' Else
-'' DateTime.DateFormat = "MM/dd/yyyy"
-'' sDate=DateTime.Date(DateTime.Now)
-'' sTime=DateTime.Time(DateTime.Now)
-'' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
-'' c.Position=0
-'' clie_id = c.GetString("CUENTA")
-'' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
-'' c.Position=0
-'' usuario = c.GetString("USUARIO")
-''
-'' Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR",0,0, cantidad.text,"CAMBIO" & l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,"VENTA",precio2))
-'' Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text))
-'' cantidad.Text = ""
-'' Panel1.Visible= False
-'' End If
-'' End If
-'End Sub
-'
-'Sub LV_PRECIOS_ItemClick (Position As Int, Value As Object) 'BORRAR
-'' c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = " & "'" & Value &"' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC")
-'' c.Position=0
-'' l_precio.Text = c.GetString("PRECIO")
-'' c.Close
-'End Sub
-'
-''****************************************************************************
-''***************** PARA EL MAS/MENOS *************************************
-''****************************************************************************
-'
-'Sub B_MENOS_Click
-' If cantidad.Text = "" Then
-' cantidad.Text = ""
-' Else IF cantidad.Text > 0 Then
-' cantidad.Text = cantidad.Text -1
-' End If
-'End Sub
-'
-'Sub B_MAS_Click
-' If cantidad.Text = "" Then
-' cantidad.Text = 1
-' Else
-' cantidad.Text = cantidad.Text + 1
-' End If
-'End Sub
-'
-'Sub llenaProductos(limpiar As Boolean)
-' If limpiar Then clv_productos.Clear
-' Private c2 As Cursor
-'' c2 = Starter.skmt.ExecQuery("select REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_PRECIO, REP_PRODID from REPARTO where REP_RECHAZO = 1 and REP_CANT <> '0'")
-' c2 = Starter.skmt.ExecQuery("Select rep_cliente As cliente, rep_prodid As prodid, rep_pronombre As nombre, rep_precio As precio, rep_cant As cantidad, rep_prodregistro as registro, 'r' as f from reparto where REP_RECHAZO = 1 And REP_CANT > 0 order by REP_PRODID")
-'' Private cv As Cursor = Starter.skmt.ExecQuery("Select v_cliente_orig As cliente, V_PRODID As prodid, V_PRODNOMBRE As nombre, V_PRECIO As precio, v_cantidad As cantidad, v_prodregistro as registro, 'v' as f from ventas where V_CLIENTE in (select cuenta from cuentaa)")
-'
-' Private bgColor, textColor As Int
-' bgColor = Colors.RGB(177, 200, 249)'azul
-' clv_productos.Clear : Log("limpiamos productos")
-' If c2.RowCount > 0 And clv_productos.Size <> c2.RowCount Then
-' Log("****** TRAEMOS RECHAZOS DESDE REPARTO")
-' For i=0 To c2.RowCount -1
-' c2.Position=i
-' Private inv, inv2 As Int
-' If c2.GetString("f") = "r" Then
-' inv = c2.GetString("cantidad")
-' inv2 = 0
-' Else
-' inv = 0
-' inv2 = c2.GetString("cantidad")
-' End If
-'' LogColor($"${c2.GetString("nombre")}, ${c2.GetString("precio")}, ${inv}, ${inv2}, ${c2.GetString("cliente")}"$, Colors.Blue)
-' textColor = Colors.Black
-' clv_productos.Add(CreateListItem(c2.GetString("nombre"), Subs.traePrecio(c2.GetString("prodid"), SubS.traeAlmacen), inv, inv2, c2.GetString("cliente"), clv_productos.AsView.Width, 50dip, bmp, c2.GetString("prodid"), bgColor, textColor), c2.GetString("nombre"))
-' Next
-' End If
-'' If cv.RowCount > 0 Then
-'' Log("******+ VENTAS")
-'' For i=0 To cv.RowCount -1
-'' cv.Position=i
-'' Private inv, inv2 As Int
-'' If cv.GetString("f") = "r" Then
-'' inv = cv.GetString("cantidad")
-'' inv2 = 0
-'' Else
-'' inv = 0
-'' inv2 = cv.GetString("cantidad")
-'' End If
-'' LogColor($"${cv.GetString("nombre")}, ${cv.GetString("precio")}, ${inv}, ${inv2}, ${cv.GetString("cliente")}"$, Colors.red)
-'' textColor = Colors.Black
-'' clv_productos.Add(CreateListItem(cv.GetString("nombre"), cv.GetString("precio"), inv, inv2, cv.GetString("cliente"), clv_productos.AsView.Width, 50dip, bmp, cv.GetString("prodid"), bgColor, textColor), cv.GetString("nombre"))
-'' Next
-'' End If
-'' ponProdsEnCero
-' c2.Close
-'End Sub
-'
-'Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, cliente As String, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int) As Panel
-' Dim p As B4XView = xui.CreatePanel("")
-' p.SetLayoutAnimated(0, 0, 0, Width, Height)
-' p.LoadLayout("prodItem")
-'' Log($"***************** PROD=${prodId}, INV2=${inv2}, INV=${inv}"$)
-' If inv2 <> "0" Then l_vendido.Visible = True
-'' Log($"***************** PROD=${prodId}, INV2=${inv2}, INV=${inv}"$)
-' p_prods.Color = bc
-' l_prodX.TextColor = tc
-' l_prodX.Text = Text&CRLF&"# " & inv & " $ " & precioU
-' l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
-' l_vendido.Tag = precioU&"|"&inv&"|"&prodId&"|"&inv2&"|"&cliente
-' p_prods.Tag = precioU&"|"&inv&"|"&prodId&"|"&inv2&"|"&cliente
-' l_pCant.Tag = precioU&"|"&inv&"|"&prodId&"|"&cliente
-' et_pCant.Tag = precioU&"|"&inv&"|"&prodId&"|"&cliente
-'' l_pCant.Text = 0
-'' et_pCant.Text = inv2
-' et_pCant.BringToFront
-'' i_prod.Bitmap = img
-' Return p
-'End Sub
-'
-'Sub p_prods_Click
-' Log(Sender.As(Panel).tag)
-'End Sub
-'
-'Sub b_prodMenos_Click
-' etCantHasFocus = False
-' LogColor("b_prodMenos_Click", Colors.Magenta)
-' Dim index As Int = clv_productos.GetItemFromView(Sender)
-' Dim pnl0 As B4XView = clv_productos.GetPanel(index)
-' Dim pnl As B4XView = pnl0.GetView(0)
-' Dim laCant As B4XView = pnl.GetView(2).GetView(3)
-'' Log(pnl.GetView(2).GetView(0) & "|" & pnl.GetView(2).GetView(1) & "|" & pnl.GetView(2).GetView(2))
-'' Log($"precio|stock:${laCant.tag}"$)
-' If laCant.Text = "" Then laCant.Text = 0
-' laCant.Text = $"$1.0{laCant.Text-1}"$
-' If laCant.Text < 0 Then laCant.Text = 0
-'
-' Dim esteTag As List = Regex.Split("\|", laCant.Tag)
-' Log($"ACTUALIZAMOS REPARTO"$)
-' Private precio As String = Subs.traePrecio(esteTag.Get(2), Subs.traeAlmacen)
-' Private prodId As String = esteTag.Get(2)
-' Private clienteOriginal As String = esteTag.get(3)
-' Starter.skmt.ExecNonQuery2("update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = 0, HVD_COSTO_TOT = '0' WHERE HVD_PROID = ? and HVD_CLIENTE in (Select CUENTA from cuentaa)", Array As String(prodId))
-' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
-' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
-'' Log($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
-'' Log($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
-' Starter.skmt.ExecNonQuery($"update reparto set REP_COSTO_TOT = REP_CANT * ${precio}, REP_PRECIO = '${precio}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_PRODID = '${prodId}'"$)
-'
-'' Dim chk As B4XView = pnl.GetView(2)
-' cuentaProds
-'End Sub
-'
-'Sub b_prodMas_Click
-' etCantHasFocus = False
-' LogColor("b_prodMas_Click", Colors.Magenta)
-' Dim index As Int = clv_productos.GetItemFromView(Sender)
-' Dim pnl0 As B4XView = clv_productos.GetPanel(index)
-' Dim pnl As B4XView = pnl0.GetView(0)
-' Dim laCant As B4XView = pnl.GetView(2).GetView(3)
-'' Log(pnl.GetView(2).GetView(1).text&"|"&pnl.GetView(2).GetView(2)&"|"&pnl.GetView(2).GetView(4).text)
-' Log($"precio|stock:${laCant.tag}"$)
-' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
-' Dim esteTag As List = Regex.Split("\|", laCant.Tag)
-' Log("LC_TEXT:"&laCant.Text&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
-' If laCant.Text = "" Then laCant.Text = 0
-' If laCant.Text + 1 <= esteTag.get(1) Then
-' laCant.Text = $"$1.0{laCant.Text+1}"$
-' LogColor("XXXXXXXXX " & esteTag, Colors.Green)
-' Private precio As String = Subs.traePrecio(esteTag.Get(2), Subs.traeAlmacen)
-'
-' Private rv As Cursor = Starter.skmt.ExecQuery($"select count(*) as hayVenta from REPARTO where REP_PRODID = '${esteTag.Get(2)}' and REP_CLIENTE in (Select cuenta from cuentaa) and REP_CLI_ORIG = '${esteTag.Get(3)}'"$)
-' rv.Position = 0
-' If rv.GetString("hayVenta") = 0 Then
-' Log("Insertamos en REPARTO")
-' Private cp As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_PROID = '${esteTag.Get(2)}' and HVD_CLIENTE = '${esteTag.get(3)}'"$)
-' If cp.RowCount > 0 Then
-' cp.Position = 0
-' Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(Subs.traeCliente, cp.GetString("HVD_PRONOMBRE"), 0, cp.GetString("HVD_COSTO_TOT"), Subs.fechaKMT(DateTime.now), cp.GetString("HVD_PROID"), precio, 50, esteTag.get(3)))
-' Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(Subs.traeCliente, cp.GetString("HVD_PRONOMBRE"), laCant.text, cp.GetString("HVD_COSTO_TOT"), Subs.fechaKMT(DateTime.now), cp.GetString("HVD_PROID"), precio, 50, esteTag.get(3)))
-' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1, REP_PRECIO = '${precio}', REP_COSTO_TOT = ((REP_CANT - 1) * REP_PRECIO) where REP_CLIENTE = '${esteTag.get(3)}' and REP_CLI_ORIG = '${esteTag.get(3)}' and REP_RECHAZO = 1 and REP_PRODID = '${esteTag.Get(2)}'"$)
-' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_nombre = ?", Array As Object(laCant.Text, cp.GetString("HVD_PRONOMBRE")))
-' End If
-' Else
-'' Log($"update reparto set REP_CANT = REP_CANT - 1, REP_PRECIO = '${precio}', REP_COSTO_TOT = '0' where REP_CLIENTE = '${esteTag.get(3)}' and REP_CLI_ORIG = '${esteTag.get(3)}' and REP_RECHAZO = 1 and REP_PRODID = '${esteTag.Get(2)}'"$)
-'' Log($"update reparto set REP_CANT = REP_CANT + 1, REP_PRECIO = '${precio}', REP_COSTO_TOT = '0' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteTag.get(3)}' and REP_RECHAZO = 0 and REP_PRODID = '${esteTag.Get(2)}'"$)
-' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1, REP_PRECIO = '${precio}', REP_COSTO_TOT = '0' where REP_CLIENTE = '${esteTag.get(3)}' and REP_CLI_ORIG = '${esteTag.get(3)}' and REP_RECHAZO = 1 and REP_PRODID = '${esteTag.Get(2)}'"$)
-' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT + 1, REP_PRECIO = '${precio}', REP_COSTO_TOT = '0' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteTag.get(3)}' and REP_RECHAZO = 0 and REP_PRODID = '${esteTag.Get(2)}'"$)
-' Starter.skmt.ExecNonQuery($"update reparto set REP_COSTO_TOT = REP_CANT * ${precio} where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteTag.get(3)}' and REP_RECHAZO = 1 and REP_PRODID = '${esteTag.Get(2)}'"$)
-' End If
-' cuentaProds
-' End If
-'' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
-'End Sub
-'
-'Private Sub et_pCant_TextChanged (Old As String, New As String)
-'' LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta)
-' If Not(Old = "0" And New = "") And etCantHasFocus Then cuentaProds
-'End Sub
-'
-'Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
-'' LogColor($"focus changed=${HasFocus}"$, Colors.Magenta)
-' etCantHasFocus = HasFocus
-' cuentaProds
-'End Sub
-'
-'Sub cuentaProds
-'' Log("CUENTAPRODS")
-' totalProds = 0
-' totalCompra = 0
-' For i = 0 To clv_productos.GetSize - 1
-' Private p0 As B4XView = clv_productos.GetPanel(i)
-' Private p As B4XView = p0.GetView(0)
-'' Log($"${p.GetView(2).GetView(0)}, ${p.GetView(2).GetView(1)}, ${p.GetView(2).GetView(2)}, ${p.GetView(2).GetView(3)}"$)
-' Private cant1 As B4XView = p.GetView(2).GetView(3)
-' If cant1.Text = "" Then cant1.Text = 0
-' totalProds = totalProds + cant1.Text
-' Private esteTag As List = Regex.Split("\|", cant1.Tag)
-'' Log(esteTag)
-' Private prodId As String = esteTag.Get(2)
-' Private m As Map
-'' Log($"CANTIDAD = ${cant1.text}"$)
-' If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1)
-' If cant1.Text > 0 Then 'Lo agregamos al mapa
-'' Log(esteTag.Get(2) & "|" & cant1.Text)
-' Log("Cant > 0")
-' totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
-' Log($"${esteTag.Get(2)}, Cant: ${cant1.Text}, Suma: ${esteTag.get(0) * cant1.text}"$)
-' m=CreateMap("cant":cant1.Text, "precio":esteTag.get(0), "cli_ori":esteTag.get(3))
-' prodsMap.Put(esteTag.Get(2), m)
-' prodsListId.Add(esteTag.Get(2))
-' prodsListCliOrig.Add(esteTag.get(3))
-' prodsList.Add(m)
-' Else 'Si la cantidad es CERO lo quitamos del mapa.
-'' Log($"QUITAMOS EL PRODS POR CERO : ${esteTag.Get(2)}, ${esteTag.Get(3)}"$)
-'' Log($"${esteTag.Get(2)}, Cant: ${cant1.Text}, Suma: ${esteTag.get(0) * cant1.text}"$)
-' prodsMap.Remove(esteTag.Get(2))
-' Private indice As Int = -1
-'' For q=0 To prodsList.Size-1
-'' If prodsListId.Get(q) = esteTag.Get(2) And prodsListCliOrig = esteTag.Get(3) Then
-''' prodsList.RemoveAt(q)
-'' indice = q
-'' prodsListId.RemoveAt(q)
-'' prodsListCliOrig.RemoveAt(q)
-'' End If
-'' Next
-' If indice > -1 Then prodsList.RemoveAt(indice)
-'' prodsList.Get(0)
-' End If
-' l_total.Visible = True
-' l_totProds.Visible = True
-' l_total.Text = $"Total: $$1.2{totalCompra}"$
-' l_totProds.text = $"Prods: ${totalProds}"$
-' Next
-'' LogColor($"prodsmap=${prodsMap}"$, Colors.blue)
-'' LogColor($"prodsListID=${prodsListId} ${CRLF}prodsList=${prodsList} ${CRLF}prodsListCliOrig=${prodsListCliOrig}"$, Colors.Magenta)
-' p_botonesVenta.Visible = True
-' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
-'End Sub
-'
-'Private Sub b_terminar1_Click
-' Log("b_terminar1_Click")
-'' cuentaProds
-'' Private p1 As Map
-'' Log(Subs.fechaKMT(DateTime.Now))
-'' For Each p As String In prodsMap.Keys
-'' p1 = prodsMap.Get(p)
-'' Log(p & "|" & p1)
-'' Private pn As String = Subs.traeNombre(p)
-'' LogColor($"---------------- prodsMap= ${prodsMap}"$, Colors.Magenta)
-'' Log($"Guardamos ${p}-${pn}, cant=${p1.Get("cant")}, precio=${p1.Get("precio")}"$)
-'' Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT - ${p1.Get("cant")} where REP_PRODID = '${p}' and REP_RECHAZO = 1 and REP_CLIENTE = '${p1.Get("cli_ori")}' and REP_CLI_ORIG = '${p1.Get("cli_ori")}'"$)
-'' Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT + ${p1.Get("cant")} where REP_PRODID = '${p}' and REP_RECHAZO = 0 and REP_CLIENTE in (select cuenta from cuentaa) and REP_CLI_ORIG = '${p1.Get("cli_ori")}'"$)
-'' Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD set CAT_GP_ALMACEN = CAT_GP_ALMACEN - ${p1.Get("cant")} where CAT_GP_ID = '${p}'"$)
-''
-'' Private rv As Cursor = Starter.skmt.ExecQuery($"select count(*) as hayVenta from REPARTO where REP_PRODID = '${p}' and REP_CLIENTE in (Select cuenta from cuentaa)"$)
-'' rv.Position = 0
-'' Log($"+++++++++++++++ PRODSMAP = ${p1}"$)
-'' If rv.GetString("hayVenta") = 0 Then
-'' Log("Insertamos en REPARTO")
-'' Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?,?) ", Array As String(Subs.traeCliente, pn, 0, p1.Get("cant") * p1.Get("precio"), Subs.fechaKMT(DateTime.now), p, p1.Get("precio"), 50, p1.Get("cli_ori")))
-'' Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_PRODREGISTRO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?,?) ", Array As String(Subs.traeCliente, pn, p1.Get("cant"), p1.Get("cant") * p1.Get("precio"), Subs.fechaKMT(DateTime.now), p, p1.Get("precio"), 50, p1.Get("cli_ori")))
-'' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_nombre = ?", Array As Object(p1.Get("cant"), pn))
-'' End If
-'' Next
-' ya_entro = "0" : Log("ya_entro=1")
-''' lv_promos.Visible = False
-'' clv_productos.AsView.Visible = False
-'' lv_catalogos.Visible = True
-'' Log("Terminar")
-''' clv_productos.Clear
-'' ponProdsEnCero
-' prodsMap.Initialize
-' B4XPages.ShowPage("Cliente")
-'End Sub
-'
-'Private Sub p_prods_LongClick
-' Log($"${Sender.As(Panel).tag}"$)
-' Private esteTag As List = Regex.Split("\|", Sender.As(Panel).Tag)
-' Log($"|${esteTag.Get(3)}|"$)
-' If esteTag.Get(3) <> "0" Then
-' Log("VENDIDO")
-' borraProdVenta(esteTag.Get(2))
-' Else
-' Log("NO VENDIDO")
-' End If
-'End Sub
-'
-'Private Sub l_vendido_LongClick
-' Log($"${Sender.As(Label).tag}"$)
-' Private esteTag As List = Regex.Split("\|", Sender.As(Label).Tag)
-' Log($"|${esteTag.Get(3)}|"$)
-' If esteTag.Get(3) <> "0" Then
-' Log("VENDIDO")
-' borraProdVenta(esteTag.Get(2))
-' Else
-' Log("NO VENDIDO")
-' End If
-'End Sub
-'
-'Sub borraProdVenta(prodId)
-' Private cant As Int = 0
-' Private cliOrig As String = ""
-' Private RES As String = Msgbox2("Seguro que desea borrar este producto?","Borrar", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
-' If RES = DialogResponse.POSITIVE Then
-'' Private rr As Cursor = Starter.skmt.ExecQuery($"select REP_CANT from REPARTO where REP_PRODID = '${prodId}' and REP_RECHAZO = 0 and REP_CLIENTE in (select CUENTA from CUENTAA)"$)
-' LogColor($"Buscamos - ${prodId}, ${cant}"$, Colors.Blue)
-' Private rr As Cursor = Starter.skmt.ExecQuery($"select * from VENTAS where V_CLIENTE in (select CUENTA from CUENTAA) and V_PRODID = '${prodId}'"$)
-' Log($"ID=${prodId}, RC=${rr.RowCount}"$)
-' If rr.RowCount > 0 Then 'Si hay producto con venta en VENTAS ...
-' rr.Position = 0
-' cant = rr.GetInt("V_CANTIDAD")
-' cliOrig = rr.GetString("V_CLIENTE_ORIG")
-' LogColor($"Hay prod con venta en VENTAS - ${prodId}, ${cant}"$, Colors.Blue)
-' Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${cant} where CAT_GP_ID = '${prodId}'"$)
-' End If
-' Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT + ${cant} where REP_RECHAZO = 1 and REP_PRODID = '${prodId}' and REP_CLIENTE = '${cliOrig}'"$)
-' Starter.skmt.ExecNonQuery($"update REPARTO set REP_CANT = REP_CANT - ${cant} where REP_RECHAZO = 0 and REP_PRODID = '${prodId}' and REP_CLIENTE = '${cliOrig}'"$)
-' Starter.skmt.ExecNonQuery($"delete from VENTAS where V_PRODID = '${prodId}' and V_CLIENTE_ORIG = '${cliOrig}' and V_CLIENTE in (select CUENTA from CUENTAA)"$)
-' B4XPages.ShowPage("Cliente")
-' End If
-'End Sub
-
-
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
@@ -1230,6 +94,8 @@ Sub B4XPage_Appear
Existe = C.GetString("EXISTE")
C.Close
' c=Starter.skmt.ExecQuery("select distinct hist_ventas.hvd_num_registro, HIST_VENTAS.HVD_CLIENTE, HIST_VENTAS.HVD_PRONOMBRE, HIST_VENTAS.HVD_PROID, HIST_VENTAS.HVD_CANT, HIST_VENTAS2.HVD_CANT as HVD_CANT2, HIST_VENTAS.HVD_COSTO_TOT, HIST_VENTAS.HVD_CODPROMO from HIST_VENTAS inner join HIST_VENTAS2 on HIST_VENTAS.HVD_PROID = HIST_VENTAS2.HVD_PROID and HIST_VENTAS.HVD_CLIENTE = HIST_VENTAS2.HVD_CLIENTE WHERE HIST_VENTAS.HVD_CLIENTE IN (Select CUENTA from cuentaa) and HIST_VENTAS.HVD_RECHAZO = 0 order by HIST_VENTAS.HVD_CODPROMO desc, HIST_VENTAS.HVD_PRONOMBRE asc")
+
+
c=Starter.skmt.ExecQuery("select * from HIST_VENTAS WHERE hvd_rechazo <> 2 and HVD_RECHAZOCANT > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
' Private c2 As Cursor=Starter.skmt.ExecQuery("select from PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
@@ -1244,152 +110,254 @@ Sub B4XPage_Appear
For i=0 To c.RowCount -1
c.Position=i
+' Log(c.GetString("HVD_PROID"))
If c.GetString("BCAJAS") = "0" Then
- Log("AQUI1")
- If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
- 'Traemos cantidad de hvd2
- Private oc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT from HIST_VENTAS2 WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_proid = '${c.GetString("HVD_PROID")}' and HVD_NUM_REGISTRO = '${c.GetString("HVD_NUM_REGISTRO")}'"$)
- Private cant2 As Int = 0
- If oc.RowCount > 0 Then
- oc.Position = 0
- cant2 = oc.GetString("HVD_CANT")
- End If
- oc.Close
- Dim label1 As Label
- label1 = ListView1.TwoLinesLayout.Label
- label1.TextSize = 12
- label1.TextColor = Colors.black
- Dim Label2 As Label
- Label2 = ListView1.TwoLinesLayout.SecondLabel
- Label2.TextSize = 12
- Label2.TextColor = Colors.black
- Private bgColor, textColor As Int
- bgColor = Colors.RGB(177, 200, 249)'azul
- textColor = Colors.black
- If c.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
+' Log("AQUI1")
+' If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
+' 'Traemos cantidad de hvd2
+' Private oc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT from HIST_VENTAS2 WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_proid = '${c.GetString("HVD_PROID")}' and HVD_NUM_REGISTRO = '${c.GetString("HVD_NUM_REGISTRO")}'"$)
+' Private cant2 As Int = 0
+' If oc.RowCount > 0 Then
+' oc.Position = 0
+' cant2 = oc.GetString("HVD_CANT")
+' End If
+' oc.Close
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 12
+ label1.TextColor = Colors.black
+ Dim Label2 As Label
+ Label2 = ListView1.TwoLinesLayout.SecondLabel
+ Label2.TextSize = 12
+ Label2.TextColor = Colors.black
+ Private bgColor, textColor As Int
+ bgColor = Colors.RGB(177, 200, 249)'azul
+ textColor = Colors.black
+ If c.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
' bgColor = Colors.RGB(255, 212, 163) 'naranja
- bgColor = Colors.White
- End If
+ bgColor = Colors.White
+ End If
' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden.
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
- Private c2 As Cursor=Starter.skmt.ExecQuery($"select IFNULL(PE_CANT,0) AS PE_CANT from PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
+
+ 'aqui selecciono lo que esta en pedido del cliente actual
+ Private c2 As Cursor=Starter.skmt.ExecQuery($"select IFNULL(PE_CANT,0) AS PE_CANT, CONSECUTIVO, PE_BCAJAS from PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_PROID ='${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
+
+ 'aqui veo cuanto se ha vendido del rechazo del cliente original en el hist_ventas
+ Private d5 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(Sum(PE_CANT),0) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID = '${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
+ d5.Position = 0
+ Private restacant As String = d5.GetString("PE_CANT")
+ d5.Close
+
+ If (c.GetString("HVD_RECHAZOCANT")-restacant) <> "0" Then
If c2.RowCount > 0 Then
c2.Position = 0
- clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), c2.GetString("PE_CANT"), c.GetString("HVD_RECHAZOCANT") , clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE")),i)
- Else
- clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), 0, c.GetString("HVD_RECHAZOCANT") , clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE")),i)
+ Private c3 As Cursor=Starter.skmt.ExecQuery($"select Ifnull(sum(PE_CANT),0) AS PE_CANT from PEDIDO WHERE PE_CLIENTE NOT IN (SELECT CUENTA FROM CUENTAA) AND PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID ='${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
+ Private resta As String = 0
+
+ If c3.RowCount > 0 Then
+' For i = 0 To c3.RowCount - 1
+ c3.Position = 0
+ resta = c3.GetString("PE_CANT")
+' Next
+ Else
+ resta = 0
+ End If
+
+ Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${c.GetString("HVD_PROID")}'"$)
+ If preciocat.RowCount > 0 Then
+ preciocat.Position = 0
+ Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO")
+ End If
+ preciocat.Close
+ Log(c.GetString("HVD_CODPROMO"))
+ Log(Subs.traeAlmacen)
+
+
+ If c.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
+ clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio2(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO"),c.GetString("CONSECUTIVO")), c2.GetString("PE_CANT"), c.GetString("HVD_RECHAZOCANT")-c2.GetString("PE_CANT") -resta, clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE"),c.GetString("CONSECUTIVO")),i)
+ Else
+ Log("aqui arriba")
+ clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), preciofull, c2.GetString("PE_CANT"), c.GetString("HVD_RECHAZOCANT")-c2.GetString("PE_CANT") -resta, clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE"),c.GetString("CONSECUTIVO")),i)
+ End If
+' clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio2(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO"),c.GetString("CONSECUTIVO")), c2.GetString("PE_CANT"), c.GetString("HVD_RECHAZOCANT")-c2.GetString("PE_CANT") -resta, clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE"),c.GetString("CONSECUTIVO")),i)
+' Log("ENTRE A PEDIDO")
+ Else iF c2.RowCount = 0 Then
+ Private c3 As Cursor=Starter.skmt.ExecQuery($"select Ifnull(sum(PE_CANT),0) AS PE_CANT from PEDIDO WHERE PE_CLIENTE NOT IN (SELECT CUENTA FROM CUENTAA) AND PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID ='${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
+ Private resta As String = 0
+
+ If c3.RowCount > 0 Then
+' For i = 0 To c3.RowCount - 1
+ c3.Position = 0
+ resta = c3.GetString("PE_CANT")
+' Next
+ Else
+ resta = 0
+
+ End If
+
+ Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${c.GetString("HVD_PROID")}'"$)
+ If preciocat.RowCount > 0 Then
+ preciocat.Position = 0
+ Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO")
+ End If
+ preciocat.Close
+ Log(c.GetString("HVD_CODPROMO"))
+ Log(Subs.traeAlmacen)
+
+ If c.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
+ clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio2(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO"),c.GetString("CONSECUTIVO")), 0, c.GetString("HVD_RECHAZOCANT") -resta, clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE"),c.GetString("CONSECUTIVO")),i)
+ Else
+ Log("aqui abajo")
+ clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), preciofull, 0, c.GetString("HVD_RECHAZOCANT") -resta, clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE"),c.GetString("CONSECUTIVO")),i)
+
+ End If
+' clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio2(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO"),c.GetString("CONSECUTIVO")), 0, c.GetString("HVD_RECHAZOCANT") -resta, clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE"),c.GetString("CONSECUTIVO")),i)
+' Log("ENTRE A HIST")
End If
- c2.Close
-' Log(c.GetString("HVD_CODPROMO"))
End If
+ c2.Close
+' Log(c.GetString("HVD_CODPROMO"))
+' End If
Else If c.GetString("BCAJAS") = "1" Then
Log("AQUI1")
- If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
- 'Traemos cantidad de hvd2
- Private oc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT from HIST_VENTAS2 WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_proid = '${c.GetString("HVD_PROID")}' and HVD_NUM_REGISTRO = '${c.GetString("HVD_NUM_REGISTRO")}'"$)
- Private cant2 As Int = 0
- If oc.RowCount > 0 Then
- oc.Position = 0
- cant2 = oc.GetString("HVD_CANT")
- End If
- oc.Close
- Dim label1 As Label
- label1 = ListView1.TwoLinesLayout.Label
- label1.TextSize = 12
- label1.TextColor = Colors.black
- Dim Label2 As Label
- Label2 = ListView1.TwoLinesLayout.SecondLabel
- Label2.TextSize = 12
- Label2.TextColor = Colors.black
- Private bgColor, textColor As Int
- bgColor = Colors.RGB(177, 200, 249)'azul
- textColor = Colors.black
- If c.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
+' If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
+ 'Traemos cantidad de hvd2
+ Private oc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT from HIST_VENTAS2 WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_proid = '${c.GetString("HVD_PROID")}' and HVD_NUM_REGISTRO = '${c.GetString("HVD_NUM_REGISTRO")}'"$)
+ Private cant2 As Int = 0
+ If oc.RowCount > 0 Then
+ oc.Position = 0
+ cant2 = oc.GetString("HVD_CANT")
+ End If
+ oc.Close
+ Dim label1 As Label
+ label1 = ListView1.TwoLinesLayout.Label
+ label1.TextSize = 12
+ label1.TextColor = Colors.black
+ Dim Label2 As Label
+ Label2 = ListView1.TwoLinesLayout.SecondLabel
+ Label2.TextSize = 12
+ Label2.TextColor = Colors.black
+ Private bgColor, textColor As Int
+ bgColor = Colors.RGB(177, 200, 249)'azul
+ textColor = Colors.black
+ If c.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
' bgColor = Colors.RGB(255, 212, 163) 'naranja
- bgColor = Colors.White
- End If
+ bgColor = Colors.White
+ End If
' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden.
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
- Private c2 As Cursor=Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
+ Private c2 As Cursor=Starter.skmt.ExecQuery($"select * from PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
+
+ Private d5 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(Sum(PE_CANT),0) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID = '${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
+ d5.Position = 0
+ Private restacant As String = d5.GetString("PE_CANT")
+ d5.Close
+
+ If (c.GetString("HVD_RECHAZOCANT")-restacant) <> "0" Then
If c2.RowCount > 0 Then
c2.Position = 0
Log("SI ENTRO A PONER CAJAS BIEN ")
Log(c2.GetString("PE_CAJAS"))
- clv_pedido.Add(CreateListItem2(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), c2.GetString("PE_CANT"), c.GetString("HVD_RECHAZOCANT") , clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE")),i)
+ Private c3 As Cursor=Starter.skmt.ExecQuery($"select Ifnull(sum(PE_CANT),0) AS PE_CANT from PEDIDO WHERE PE_CLIENTE NOT IN (SELECT CUENTA FROM CUENTAA) AND PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID ='${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
+ Private resta As String = 0
+
+ If c3.RowCount > 0 Then
+' For i = 0 To c3.RowCount - 1
+ c3.Position = 0
+ resta = c3.GetString("PE_CANT")
+' Next
+ Else
+ resta = 0
+ End If
+ clv_pedido.Add(CreateListItem2(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), c2.GetString("PE_CANT"), c.GetString("HVD_RECHAZOCANT")- c2.GetString("PE_CANT")-resta, clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE"),c.GetString("CONSECUTIVO")),i)
Else
Log("NO ENTRO A PONER CAJAS BIEN ")
+ Private c3 As Cursor=Starter.skmt.ExecQuery($"select Ifnull(sum(PE_CANT),0) AS PE_CANT from PEDIDO WHERE PE_CLIENTE NOT IN (SELECT CUENTA FROM CUENTAA) AND PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID ='${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
+ Private resta As String = 0
+
+ If c3.RowCount > 0 Then
+' For i = 0 To c3.RowCount - 1
+ c3.Position = 0
+ resta = c3.GetString("PE_CANT")
+' Next
+ Else
+ resta = 0
+ End If
+ Private puc As String = c.GetString("HVD_COSTO_TOT")/c.GetString("CANTC")
' clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), 0, c.GetString("HVD_RECHAZOCANT") , clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE")),i)
- clv_pedido.Add(CreateListItem2(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), 0, c.GetString("HVD_RECHAZOCANT"), clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE")),i)
+ clv_pedido.Add(CreateListItem2(c.GetString("HVD_PRONOMBRE"), puc, 0, ((c.GetString("HVD_RECHAZOCANT")-resta)/Subs.traeConversion(c.GetString("HVD_PROID"))), clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),c.GetString("HVD_CLIENTE"),c.GetString("CONSECUTIVO")),i)
End If
- c2.Close
End If
+ c2.Close
+' End If
End If
Next
' cuentaProds("")
End If
- Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
-
- Private Cuenta As String = 0
- Private arti As String = 0
- If vc.RowCount > 0 Then
- For i = 0 To vc.RowCount - 1
- vc.Position = i
-' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
- arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))
- Cuenta = Cuenta + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*vc.GetString("CAT_GP_PRECIO"))
- Next
- End If
-' Log(Cuenta)
-
- Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1")
- Private Cuenta1 As String = 0
- Private arti1 As String = 0
- If vc2.RowCount > 0 Then
- For i = 0 To vc2.RowCount - 1
- vc2.Position = i
- Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False)
- Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$)
- If vc3.RowCount > 0 Then
- vc3.Position = 0
- Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu)
- arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT"))
- End If
- Next
- End If
-' Log(Cuenta1)
-
- Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
- Private Cuenta2 As String = 0
- Private arti2 As String = 0
- If vc4.RowCount > 0 Then
-
- For i = 0 To vc4.RowCount - 1
- vc4.Position = i
- If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
- If vc4.GetString("HVD_RECHAZO") = 0 Then
- Cuenta2 = vc4.GetString("HVD_COSTO_TOT")
- arti2 = vc4.GetString("HVD_CANT")
- Else
- Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
- If vc5.RowCount > 0 Then
- vc5.Position= 0
-' Log(vc5.GetString("CAT_GP_PRECIO"))
- Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO"))
- arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))
- End If
- End If
- End If
-
- Next
- End If
-' Log(Cuenta)
-
- L_TOTAL.Text = Cuenta + Cuenta1 + Cuenta2
- L_CANT.Text = arti + arti1 +arti2
+' Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
+'
+' Private Cuenta As String = 0
+' Private arti As String = 0
+' If vc.RowCount > 0 Then
+' For i = 0 To vc.RowCount - 1
+' vc.Position = i
+'' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
+' arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))
+' Cuenta = Cuenta + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*vc.GetString("CAT_GP_PRECIO"))
+' Next
+' End If
+'' Log(Cuenta)
+'
+' Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1")
+' Private Cuenta1 As String = 0
+' Private arti1 As String = 0
+' If vc2.RowCount > 0 Then
+' For i = 0 To vc2.RowCount - 1
+' vc2.Position = i
+' Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False)
+' Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$)
+' If vc3.RowCount > 0 Then
+' vc3.Position = 0
+' Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu)
+' arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT"))
+' End If
+' Next
+' End If
+'' Log(Cuenta1)
+'
+' Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
+' Private Cuenta2 As String = 0
+' Private arti2 As String = 0
+' If vc4.RowCount > 0 Then
+'
+' For i = 0 To vc4.RowCount - 1
+' vc4.Position = i
+' If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
+' If vc4.GetString("HVD_RECHAZO") = 0 Then
+' Cuenta2 = vc4.GetString("HVD_COSTO_TOT")
+' arti2 = vc4.GetString("HVD_CANT")
+' Else
+' Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
+' If vc5.RowCount > 0 Then
+' vc5.Position= 0
+'' Log(vc5.GetString("CAT_GP_PRECIO"))
+' Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO"))
+' arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))
+' End If
+' End If
+' End If
+'
+' Next
+' End If
+'' Log(Cuenta)
+'
+' L_TOTAL.Text = Cuenta + Cuenta1 + Cuenta2
+' L_CANT.Text = arti + arti1 +arti2
End Sub
@@ -1524,7 +492,7 @@ End Sub
'***************** PARA EL MAS/MENOS *************************************
'****************************************************************************
-Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String) As Panel
+Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String,consecutivo As Int) As Panel
Dim p As B4XView = xui.CreatePanel("")
Private cs As CSBuilder
cs.Initialize
@@ -1539,9 +507,9 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
End If
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
' l_pCant.Text = 0
- Log("PRECIO " & Round2(precioU,2)&"| INV "&inv&"| ID "&prodId&"| PROMO "&promo&"| INV2? "&inv2&"| CLIENTE OR NONONO YA NO VA Y UN ESPACIO POR FAVOR "&cliente_original)
- l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
- et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
+' Log("PRECIO " & Round2(precioU,2)&"| INV "&inv&"| ID "&prodId&"| PROMO "&promo&"| INV2? "&inv2&"| CLIENTE OR NONONO YA NO VA Y UN ESPACIO POR FAVOR "&cliente_original)
+ l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&consecutivo
+ et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&consecutivo
p_prods.Tag = l_pCant.tag
' Log($"Ponemos la cant en ${inv}"$)
l_pCant.Text = inv
@@ -1556,7 +524,7 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
Return p
End Sub
-Sub CreateListItem2(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String) As Panel
+Sub CreateListItem2(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String,consecutivo As Int) As Panel
Dim p As B4XView = xui.CreatePanel("")
Private cs As CSBuilder
cs.Initialize
@@ -1571,8 +539,8 @@ Sub CreateListItem2(Text As String, precioU As String, inv As Int, inv2 As Int,
End If
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
' l_pCant.Text = 0
- l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
- et_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
+ l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&consecutivo
+ et_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&consecutivo
p_prods.Tag = l_pCantC.tag
' Log($"Ponemos la cant en ${inv}"$)
l_pCantC.Text = NumberFormat2(inv/Subs.traeConversion(prodId),0,0,0,False)
@@ -1637,11 +605,11 @@ Sub b_prodMenos_Click
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
' Starter.skmt.ExecNonQuery2("update PEDIDO set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
- Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CANT FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
+ Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CANT FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(6)))
If c3.RowCount > 0 Then
c3.Position = 0
If c3.GetString("PE_CANT") > 1 Then
@@ -1649,7 +617,7 @@ Sub b_prodMenos_Click
If c2.RowCount > 0 Then
c2.Position = 0
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
- Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
End If
Else If c3.GetString("PE_CANT") = 1 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
@@ -1657,7 +625,7 @@ Sub b_prodMenos_Click
c2.Position = 0
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
' Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
- Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
End If
End If
@@ -1683,6 +651,11 @@ End Sub
Sub b_prodMas_Click
etCantHasFocus = False
+ Dim sDate, sTime As String
+ DateTime.DateFormat = "dd/MM/yyyy"
+ DateTime.TimeFormat = "HH:mm:ss"
+ sDate = DateTime.Date(DateTime.Now)
+ sTime = DateTime.Time(DateTime.Now)
' Log("etCantHasFocus=" & etCantHasFocus)
LogColor("b_prodMas_Click", Colors.Magenta)
Dim index As Int = clv_pedido.GetItemFromView(Sender)
@@ -1699,36 +672,80 @@ Sub b_prodMas_Click
Private maxProds = esteTag.Get(1) + esteTag.Get(4) 'Prods disponibles + prods comprados
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
-' Log(esteTag.get(4))
-
- If laCant.Text + 1 <= maxProds Then
- Log($"NuevaCant = ${laCant.Text + 1}"$)
- laCant.Text = $"$1.0{laCant.Text + 1}"$
- Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As String(esteTag.Get(2)))
- c = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_PROID = ? and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
- If c.RowCount > 0 Then
- Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
- If c2.RowCount > 0 Then
- c2.Position = 0
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
- Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Log(esteTag.get(4))
+ If esteTag.Get(4) = "0" Then
+
+ Else
+ If laCant.Text + 1 <= maxProds Then
+ Log($"NuevaCant = ${laCant.Text + 1}"$)
+ laCant.Text = $"$1.0{laCant.Text + 1}"$
+ Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As String(esteTag.Get(2)))
+ c = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_PROID = ? and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(6)))
+ If c.RowCount > 0 Then
+ Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM HIST_VENTAS WHERE HVD_PROID = ? AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(6)))
+ If c2.RowCount > 0 Then
+ c2.Position = 0
+
+ Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${c2.GetString("HVD_PROID")}'"$)
+ If preciocat.RowCount > 0 Then
+ preciocat.Position = 0
+ Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO")
+ End If
+ preciocat.Close
+
+ If c2.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
+ Private pup As String = c2.GetString("HVD_COSTO_TOT")/c2.GetString("HVD_CANT")
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+1)*'${pup}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
+ Else
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+1)*'${preciofull}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
+ End If
+
+ End If
+ Else
+ Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM HIST_VENTAS WHERE HVD_PROID = ? AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(6)))
+ If c2.RowCount > 0 Then
+ c2.Position = 0
+
+ Dim preciocat As Cursor = Starter.skmt.ExecQuery($"select IFNULL(CAT_GP_PRECIO,0) AS CAT_GP_PRECIO from CAT_GUNAPROD WHERE CAT_GP_ID = '${c2.GetString("HVD_PROID")}'"$)
+ If preciocat.RowCount > 0 Then
+ preciocat.Position = 0
+ Dim preciofull As String = preciocat.GetString("CAT_GP_PRECIO")
+ End If
+ preciocat.Close
+
+ Dim precioreg As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, HVD_CANT from HIST_VENTAS WHERE HVD_PROID = '${c2.GetString("HVD_PROID")}' AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
+ If precioreg.RowCount > 0 Then
+ precioreg.Position = 0
+ Dim precioregalo As String = precioreg.GetString("HVD_COSTO_TOT")/precioreg.GetString("HVD_CANT")
+ If precioregalo < 1 Then
+ Dim esregalo As String = 1
+ Else
+ Dim esregalo As String = 0
+ End If
+ End If
+ precioreg.Close
+
+ If c2.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
+ Private pup As String = c2.GetString("HVD_COSTO_TOT")/c2.GetString("HVD_CANT")
+
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+ Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(esteTag.Get(2),c2.GetString("HVD_PRONOMBRE"),1,esteTag.Get(5),Subs.traeCliente,pup,pup,esteTag.Get(6),Subs.traerUTAPREV,"PREVENTA",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,esregalo))
+ Else
+ Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,0,0,?,?,?,?,?,?,?,?,?)", Array As String(esteTag.Get(2),c2.GetString("HVD_PRONOMBRE"),1,esteTag.Get(5),Subs.traeCliente,preciofull,preciofull,esteTag.Get(6),Subs.traerUTAPREV,"PREVENTA",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,esregalo))
+ End If
+
+ End If
End If
- Else
- Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
- If c2.RowCount > 0 Then
- c2.Position = 0
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
- Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS) VALUES (?,?,?,?,?,?,?,0,0)", Array As String(esteTag.Get(2),c2.GetString("CAT_GP_NOMBRE"),1,esteTag.Get(5),Subs.traeCliente,c2.GetString("CAT_GP_PRECIO"),c2.GetString("CAT_GP_PRECIO")))
- End If
- End If
- Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
+ Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' cuentaProds("+")
- B4XPage_Appear
+ B4XPage_Appear
+ End If
End If
' Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
' Log(preciou)
@@ -1770,33 +787,42 @@ Private Sub b_prodMasC_Click
Log(maxProds)
' l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
-
- If laCantc.Text + 1 <= maxProds Then
- Log($"NuevaCant = ${laCantc.Text + 1}"$)
- laCantc.Text = NumberFormat2((laCantc.Text + 1),0,0,0,False)
+ Log(esteTag.Get(4))
+ If esteTag.Get(4) = "0" Then
- Log(laCantc.Text)
-' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
+ Else
+ If laCantc.Text + 1 <= maxProds Then
+ Log($"NuevaCant = ${laCantc.Text + 1}"$)
+ laCantc.Text = NumberFormat2((laCantc.Text + 1),0,0,0,False)
- c = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_PROID = ? and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
- If c.RowCount > 0 Then
- Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
- If c2.RowCount > 0 Then
- c2.Position = 0
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT =(IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) ) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
- Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = (IFNULL(PE_CANT,0)+(1 * '${Subs.traeConversion(esteTag.Get(2))}')), PE_COSTO_TOT= (IFNULL(PE_CAJAS,0)+1)*'${Subs.traePrecioC(esteTag.Get(2))}', PE_CAJAS= IFNULL(PE_CAJAS,0) + 1 WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
- B4XPage_Appear
- End If
- Else
- Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
- If c2.RowCount > 0 Then
- c2.Position = 0
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
- Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS) VALUES (?,?,?,?,?,?,?,1,1)", Array As String(esteTag.Get(2),c2.GetString("CAT_GP_NOMBRE"),Subs.traeConversion(esteTag.Get(2)),esteTag.Get(5),Subs.traeCliente,Subs.traePrecioC(esteTag.Get(2)),Subs.traePrecioC(esteTag.Get(2))))
- B4XPage_Appear
+ Log(laCantc.Text)
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
+
+ c = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_PROID = ? and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(6)))
+ If c.RowCount > 0 Then
+ Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM HIST_VENTAS WHERE HVD_PROID = ? AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(6)))
+ If c2.RowCount > 0 Then
+ c2.Position = 0
+ Private puc As String = c2.GetString("HVD_COSTO_TOT")/c2.GetString("CANTC")
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT =(IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) ) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = (IFNULL(PE_CANT,0)+(1 * '${Subs.traeConversion(esteTag.Get(2))}')), PE_COSTO_TOT= (IFNULL(PE_CAJAS,0)+1)*'${puc}', PE_CAJAS= IFNULL(PE_CAJAS,0) + 1 WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
+ B4XPage_Appear
+ Log("aqui2")
+ End If
+ Else
+ Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM HIST_VENTAS WHERE HVD_PROID = ? AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(6)))
+ If c2.RowCount > 0 Then
+ c2.Position = 0
+ Private puc As String = c2.GetString("HVD_COSTO_TOT")/c2.GetString("CANTC")
+ Log(puc)
+
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+ Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO,PE_RUTA, PE_TIPO,PE_CEDIS,PE_FECHA,PE_USUARIO,FECHA_PREV,RUTA_REP,PE_REGALO) VALUES (?,?,?,?,?,?,?,1,1,?,?,?,?,?,?,?,?,?)", Array As String(esteTag.Get(2),c2.GetString("HVD_PRONOMBRE"),Subs.traeConversion(esteTag.Get(2)),esteTag.Get(5),Subs.traeCliente,puc,puc,esteTag.Get(6),Subs.traerUTAPREV,"PREVENTA",Subs.traeAlmacen, sDate & " " & sTime, Subs.traeUsuario,Subs.traefECHAPREV, Subs.traeRutaReparto,0))
+ B4XPage_Appear
+ End If
End If
+
End If
-
End If
End Sub
@@ -1811,16 +837,19 @@ Private Sub b_prodMenosC_Click
' Log(pnl.GetView(2).GetView(0) & "|" & pnl.GetView(2).GetView(1) & "|" & pnl.GetView(2).GetView(2))
Dim esteTag As List = Regex.Split("\|", laCantc.Tag)
Log("LC_TEXT:"&laCantc.Text&"|PROMO:"&esteTag.Get(3)&"|LC_TAG:"&laCantc.Tag&"|ET:"&esteTag)
+
+
+
If laCantc.Text > 0 Then
- Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
- Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CAJAS FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
+' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
+ Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CAJAS FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = ? ", Array As String(esteTag.Get(2), esteTag.Get(6)))
If c3.RowCount > 0 Then
c3.Position = 0
If c3.GetString("PE_CAJAS") > 1 Then
- Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = (IFNULL(PE_CANT,0)-(1 * '${Subs.traeConversion(esteTag.Get(2))}')), PE_COSTO_TOT= ((IFNULL(PE_CAJAS,0)-1) *'${Subs.traePrecioC(esteTag.Get(2))}'), PE_CAJAS = IFNULL(PE_CAJAS,0) - 1 WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = (IFNULL(PE_CANT,0)-(1 * '${Subs.traeConversion(esteTag.Get(2))}')), PE_COSTO_TOT= ((IFNULL(PE_CAJAS,0)-1) *'${Subs.traePrecioC(esteTag.Get(2))}'), PE_CAJAS = IFNULL(PE_CAJAS,0) - 1 WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
Else If c3.GetString("PE_CAJAS") = 1 Then
- Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
+ Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(6)}'"$)
End If
End If
Log("entre al if o algo asi ")
@@ -1832,6 +861,7 @@ Private Sub b_prodMenosC_Click
Else If laCantc.Text = 0 Then
End If
+
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
Log("PU: " & preciou)
End Sub
diff --git a/B4A/EscPosPrinter.bas b/B4A/EscPosPrinter.bas
new file mode 100644
index 0000000..f0a9536
--- /dev/null
+++ b/B4A/EscPosPrinter.bas
@@ -0,0 +1,1158 @@
+B4A=true
+Group=Default Group
+ModulesStructureVersion=1
+Type=Class
+Version=9.3
+@EndOfDesignText@
+#IgnoreWarnings: 9
+' 9 = unused variable
+
+Sub Class_Globals
+ ' 1.0 Initial version
+ ' 2.0 Added FeedPaper, changed many WriteString(.." & Chr(number)) instances to WriteBytes(params)
+ ' This is to avoid Unicode code page transformations on some numbers > 32
+ ' Added PrintAndFeedPaper, setRelativePrintPosn,
+ ' Added user defined characters, DefineCustomCharacter, DeleteCustomCharacter and setUseCustomCharacters
+ ' Addedhelper methods CreateCustomCharacter, CreateLine, CreateBox and CreateCircle
+ Private Version As Double = 2.0 ' Printer class version
+
+ Type AnImage(Width As Int, Height As Int, Data() As Byte)
+
+ Private EventName As String 'ignore
+ Private CallBack As Object 'ignore
+
+ Private Serial1 As Serial
+ Private Astream As AsyncStreams
+ Private Connected As Boolean
+ Private ConnectedError As String
+
+ Dim ESC As String = Chr(27)
+ Dim FS As String = Chr(28)
+ Dim GS As String = Chr(29)
+
+ 'Bold and underline don't work well in reversed text
+ Dim UNREVERSE As String = GS & "B" & Chr(0)
+ Dim REVERSE As String = GS & "B" & Chr(1)
+
+ ' Character orientation. Print upside down from right margin
+ Dim UNINVERT As String = ESC & "{0"
+ Dim INVERT As String = ESC & "{1"
+
+ ' Character rotation clockwise. Not much use without also reversing the printed character sequence
+ Dim UNROTATE As String = ESC & "V0"
+ Dim ROTATE As String = ESC & "V1"
+
+ ' Horizontal tab
+ Dim HT As String = Chr(9)
+
+ ' Character underline
+ Dim ULINE0 As String = ESC & "-0"
+ Dim ULINE1 As String = ESC & "-1"
+ Dim ULINE2 As String = ESC & "-2"
+
+ ' Character emphasis
+ Dim BOLD As String = ESC & "E1"
+ Dim NOBOLD As String = ESC & "E0"
+
+ ' Character height and width
+ Dim SINGLE As String = GS & "!" & Chr(0x00)
+ Dim HIGH As String = GS & "!" & Chr(0x01)
+ Dim WIDE As String = GS & "!" & Chr(0x10)
+ Dim HIGHWIDE As String = GS & "!" & Chr(0x11)
+
+ ' Default settings
+ Private LEFTJUSTIFY As String = ESC & "a0"
+ Private LINEDEFAULT As String = ESC & "2"
+ Private LINSET0 As String = ESC & "$" & Chr(0x0) & Chr(0x0)
+ Private LMARGIN0 As String = GS & "L" & Chr(0x0) & Chr(0x0)
+ Private WIDTH0 As String = GS & "W" & Chr(0xff) & Chr(0xff)
+ Private CHARSPACING0 As String = ESC & " " & Chr(0)
+ Private CHARFONT0 As String = ESC & "M" & Chr(0)
+ Dim DEFAULTS As String = CHARSPACING0 & CHARFONT0 & LMARGIN0 & WIDTH0 & LINSET0 & LINEDEFAULT & LEFTJUSTIFY _
+ & UNINVERT & UNROTATE & UNREVERSE & NOBOLD & ULINE0
+
+End Sub
+
+'**********
+'PUBLIC API
+'**********
+
+'Initialize the object with the parent and event name
+Public Sub Initialize(vCallback As Object, vEventName As String)
+ EventName = vEventName
+ CallBack = vCallback
+ Serial1.Initialize("Serial1")
+ Connected = False
+ ConnectedError = ""
+End Sub
+
+' Returns any error raised by the last attempt to connect a printer
+Public Sub ConnectedErrorMsg As String
+ Return ConnectedError
+End Sub
+
+' Returns whether a printer is connected or not
+Public Sub IsConnected As Boolean
+ Return Connected
+End Sub
+
+' Returns whether Bluetooth is on or off
+Public Sub IsBluetoothOn As Boolean
+ Return Serial1.IsEnabled
+End Sub
+
+' Ask the user to connect to a printer and return whether she tried or not
+' If True then a subsequent Connected event will indicate success or failure
+Public Sub Connect As Boolean
+ 'leos
+' Serial1.Connect("88:6B:0F:3E:53:9E")
+' Return True
+ Try
+ If Starter.MAC_IMPRESORA = "0" Then
+ Dim PairedDevices As Map
+ PairedDevices = Serial1.GetPairedDevices
+ Dim l As List
+ l.Initialize
+ Log("aqui 1")
+ For i = 0 To PairedDevices.Size - 1
+ l.Add(PairedDevices.GetKeyAt(i))
+ Log("aqui 2")
+ DisConnect
+ Next
+ Dim Res As Int
+ Res = InputList(l, "Choose a printer", -1) 'show list with paired devices 'ignore
+ If Res <> DialogResponse.CANCEL Then
+ Serial1.Connect(PairedDevices.Get(l.Get(Res))) 'convert the name to mac address
+ 'Msgbox(PairedDevices.Get(l.Get(Res)),"mac")
+ Starter.mac_impresora = PairedDevices.Get(l.Get(Res))
+ Return True
+ DisConnect
+ Log("aqui 3")
+ End If
+ Log("aqui 4")
+ Return False
+ Else
+ Serial1.Connect(Starter.mac_impresora)
+ ' Starter.mac_impresora = colonia.MAC_IMPRESORA
+ Return True
+ DisConnect
+ Log("aqui 5")
+ End If
+ Catch
+ Log(LastException)
+ Return False
+ End Try
+End Sub
+
+
+' Disconnect the printer
+Public Sub DisConnect
+ Serial1.Disconnect
+ Connected = False
+End Sub
+
+' Reset the printer to the power on state
+Public Sub Reset
+ WriteString(ESC & "@")
+End Sub
+
+'--------------
+' Text Commands
+'--------------
+
+' Print any outstanding characters then feed the paper the specified number of units of 0.125mm
+' This is similar to changing LineSpacing before sending CRLF but this has a one off effect
+' A full character height is always fed even if units = 0. Units defines the excess over this minimum
+Public Sub PrintAndFeedPaper(units As Int)
+ WriteString(ESC & "J")
+ Dim params(1) As Byte
+ params(0) = units
+ WriteBytes(params)
+End Sub
+
+' Set the distance between characters
+Public Sub setCharacterSpacing(spacing As Int)
+ WriteString(ESC & " ")
+ Dim params(1) As Byte
+ params(0) = spacing
+ WriteBytes(params)
+End Sub
+
+' Set the left inset of the next line to be printed
+' Automatically resets to 0 for the following line
+' inset is specified in units of 0.125mm
+Public Sub setLeftInset(inset As Int)
+ Dim dh As Int = inset / 256
+ Dim dl As Int = inset - dh
+ WriteString(ESC & "$" & Chr(dl) & Chr(dh))
+ Dim params(2) As Byte
+ params(0) = dl
+ params(1) = dh
+ WriteBytes(params)
+End Sub
+
+' Set the left margin of the print area, must be the first item on a new line
+' margin is specified in units of 0.125mm
+' This affects barcodes as well as text
+Public Sub setLeftMargin(margin As Int)
+ Dim dh As Int = margin / 256
+ Dim dl As Int = margin - dh
+ WriteString(GS & "L")
+ Dim params(2) As Byte
+ params(0) = dl
+ params(1) = dh
+ WriteBytes(params)
+End Sub
+
+' Set the width of the print area, must be the first item on a new line
+' margin is specified in units of 0.125mm
+' This affects barcodes as well as text
+' This appears to function more like a right margin than a print area width when used with LeftMargin
+Public Sub setPrintWidth(width As Int)
+ Dim dh As Int = width / 256
+ Dim dl As Int = width - dh
+ WriteString(GS & "W")
+ Dim params(2) As Byte
+ params(0) = dl
+ params(1) = dh
+ WriteBytes(params)
+End Sub
+
+' Set the distance between lines in increments of 0.125mm
+' If spacing is < 0 then the default of 30 is set
+Public Sub setLineSpacing(spacing As Int)
+ If spacing < 0 Then
+ WriteString(ESC & "2")
+ Else
+ WriteString(ESC & "3")
+ Dim params(1) As Byte
+ params(0) = spacing
+ WriteBytes(params)
+ End If
+End Sub
+
+' Set the line content justification, must be the first item on a new line
+' 0 left, 1 centre, 2 right
+Public Sub setJustify(justify As Int)
+ WriteString(ESC & "a" & Chr(justify + 48))
+End Sub
+
+' Set the codepage of the printer
+' You need to look at the printer documentation to establish which codepages are supported
+Public Sub setCodePage(codepage As Int)
+ WriteString(ESC & "t")
+ Dim params(1) As Byte
+ params(0) = codepage
+ WriteBytes(params)
+End Sub
+
+' Select the size of the font for printing text. 0 = Font A (12 x 24), 1 = Font B (9 x 17)
+' For font B you may want to set the line spacing to a lower value than the default of 30
+' This affects only the size of printed characters. The code page determines the actual character set
+' On my printer setting UseCustomCharacters = while Font B is selected crashes the printer and turns it off
+Public Sub setCharacterFont(font As Int)
+ WriteString(ESC & "M" & Chr(Bit.And(1,font)))
+End Sub
+
+' Set the positions of the horizontal tabs
+' Each tab is specified as a number of character widths from the beginning of the line
+' There may be up to 32 tab positions specified each of size up to 255 characters
+' The printer default is that no tabs are defined
+Public Sub setTabPositions(tabs() As Int)
+ WriteString(ESC & "D")
+ Dim data(tabs.Length+1) As Byte
+ For i = 0 To tabs.Length - 1
+ data(i) = tabs(i)
+ Next
+ data(tabs.Length) = 0
+ WriteBytes(data)
+End Sub
+
+' Set print position relative to the current position using horizontal units of 0.125mm
+' relposn can be negative
+' Unless I have misundertood this doesn't work as documented on my printer
+' It only seems take effect at the beginning of a line as a one off effect
+Public Sub setRelativePrintPosn(relposn As Int)
+ Dim dh As Int = relposn / 256
+ Dim dl As Int = relposn - dh
+ WriteString(ESC & "\")
+ Dim params(2) As Byte
+ params(0) = dl
+ params(1) = dh
+ WriteBytes(params)
+End Sub
+
+' Send the contents of an array of bytes to the printer
+' Remember that if the printer is expecting text the bytes will be printed as characters in the current code page
+Public Sub WriteBytes(data() As Byte)
+ If Connected Then
+ Astream.Write(data)
+ End If
+End Sub
+
+' Send the string to the printer in IBM437 encoding which is the original PC DOS codepage
+' This is usually the default codepage for a printer and is CodePage = 0
+' Beware of using WriteString with Chr() to send numeric values as they may be affected by Unicode to codepage translations
+' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenation with other string data
+Public Sub WriteString(data As String)
+ WriteString2(data, "IBM437")
+End Sub
+
+' Send the string to the printer in the specified encoding
+' You also need to set the printer to a matching encoding using the CodePage property
+' Beware of using WriteString2 with Chr() to send numeric values as they may be affected by codepage substitutions
+' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenatipon with other string data
+Public Sub WriteString2(data As String, encoding As String)
+ Try
+ If Connected Then
+ Astream.Write(data.GetBytes(encoding))
+ End If
+ Catch
+ Log("Printer error : " & LastException.Message)
+ AStream_Error
+ End Try
+End Sub
+
+'-----------------------------------------
+' User defined character commands commands
+'-----------------------------------------
+
+' Delete the specified user defined character mode
+' This command deletes the pattern defined for the specified code in the font selected by ESC !
+' If the code is subsequently printed in custom character mode the present code page character is printed instead
+Public Sub DeleteCustomCharacter(charcode As Int)
+ WriteString(ESC & "?")
+ Dim params(1) As Byte
+ params(0) = charcode
+ WriteBytes(params)
+End Sub
+
+' Enable the user defined character mode if custom is True, revert to normal if custom is False
+' If a custom character has not been defined for a given character code then the default character for the present font is printed
+' FontA and FontB have separate definitions for custom characters
+' On my printer setting UseCustomCharacters = while Font B is selected crashes the printer and turns it off
+' Therefore the cuatom character routines have not been tested on ont B
+Public Sub setUseCustomCharacters(custom As Boolean)
+ If custom Then
+ WriteString(ESC & "%1")
+ Else
+ WriteString(ESC & "%0")
+ End If
+End Sub
+
+' Define a user defined character
+' The allowable character code range is the 95 characters) from ASCII code 32 (0x20) to 126 (0x7E)
+' Characters can be defined in either font A (12*24) or font B (9*17) as selected by present setting of CharacterFont
+' The programmer must ensure that the correct font size definition is used for the present setting of CharacterFont
+' The user-defined character definition is cleared when Reset is invoked or the printer is turned off
+' The vertical and horizontal printed resolution is approximaely 180dpi
+' Characters are always defined by sets of three bytes in the vertical direction and up to 9 or 12 sets horizontally
+' Each byte defines a vertical line of 8 dots. The MSB of each byte is the highest image pixel, the LSB is the lowest
+' Byte(0+n) defines the topmost third of the vertical line, Byte(1+n) is below and Byte(2+n) is the lowest
+' Set a bit to 1 to print a dot or 0 to not print a dot
+' If the lines to the right of the character are blank then there set of three bytes can be omiited from the byte array
+' When the user-defined characters are defined in font B (9*17) only the most significant bit of the 3rd byte of data is used
+' charcode defines the character code for the character being defined
+' bitdata is a Byte array containing the character definitiopn as described above.
+' If the length of bitdata is not a multiple of 3 the definition is ignored and a value of -1 returned
+Public Sub DefineCustomCharacter(charcode As Int, bitdata() As Byte) As Int
+ Dim excess As Int = bitdata.Length Mod 3
+ If excess <> 0 Then Return -1
+ Dim size As Int = bitdata.Length / 3
+ WriteString(ESC & "&")
+ Dim params(4) As Byte
+ params(0) = 3
+ params(1) = charcode
+ params(2) = charcode
+ params(3) = size
+ WriteBytes(params)
+ WriteBytes(bitdata)
+ Return 0
+End Sub
+
+' The third triangle point is hacked into spare bits keeping the generated Int human readable i hex for other shapes
+' The shape array contains the character shapes and characterfont is 0 for a 12*24 character andd 1 for a 9*17 character
+' Returns a Byte(36) for characterfont = 0 and a Byte(27) for characterfont = 1
+' The returned array can be directly passed to DefineCustomCharacter
+' To define a custom character requires specifying up to 288 data points
+' This is a lot of data and in most cases it is mainly white space
+' This method takes a character definition that defines only the shapes in the character that are to be printed black
+' It will be easier use the outputs from CreateLine, CreateTriangle, CreateBox and CreateCircle rather then building the actual Int values
+' Each shape is defined by a single Int value containing four parameters in hex format plugs some single bit flags
+' Taking the representation of the Int as eight hex characters numbered from the MS end as 0x01234567
+' 0 contains the shape to draw. 0 = Line, 1 = Box, 2 = Circle, 3 = Triangle
+' 1 contains a value between 0 and 0xF. This is either an X coordinate or for a circle the radius
+' 2 and 3 contain a value between 0 and 0x1F. This is either a Y coordinate or for a circle the quadrants to draw
+' 4 contains a value between 0 and 0xF. This is 0 for an empty shope or 1 for a filled shape
+' 5 contains a value between 0 and 0xF. This is an X coordinate
+' 5 and 6 contain a value between 0 and 0x1F. This is a Y coordinate
+' The coordinate 0,0 is at the top left of the character
+' Line
+' One point of the vector is contained in the top part of the Int and the other in the bottom half
+' To define a single point place its coordinates as both sr=start and end of a line
+' Box
+' The two X,Y coordinates specify the top left and bottom right corners of the box
+' Circle
+' The left X parameter is now the radius of the circle, the left Y is the quadrants to be drawn
+' The right X and Y parameters are the centre of the circle'
+' The quadrants to draw are bit ORed together, UpperRight = 0x1, LowerRight = 0x2, LowerLeft = 0x4, Upper Left = 0x8
+' Triangle
+' The left X and Y parameters are now one point of the triangle, the right X and Y parameters another point
+' The third triangle point is hacked into spare bits keeping the generated Int human readable in hex for the other shapes
+' The bit allocations of a shape are as follows. f = fill as 0 or 1, s = shape as 0 to 7, xn as 0 to 15, yn as 0 to 31
+' Shape 0 = line, 1 = box, 2 = triangle, 3 = circle, 4 to 7 = unused
+' fsss xxxx -yyy yyyy xxxx xxxx yyyy yyyy
+' 0000 220 0000 2222 1111 2221 1111
+' x0 y2 y0 x2 x1 y2 y1
+' The shape array contains the character shapes and characterfont is 0 for a 12*24 character andd 1 for a 9*17 character
+' Returns a Byte(36) for characterfont = 0 and a Byte(27) for characterfont = 1
+' The returned array can be directly passed to DefineCustomCharacter
+Public Sub CreateCustomCharacter(shapes() As Int, characterfont As Int) As Byte()
+ Dim masks(8) As Byte
+ masks(0) = 0x80
+ masks(1) = 0x40
+ masks(2) = 0x20
+ masks(3) = 0x10
+ masks(4) = 0x08
+ masks(5) = 0x04
+ masks(6) = 0x02
+ masks(7) = 0x01
+ ' rather than try to catch errors whenever we access this array we Dim it to the maximum possible values of X and Y
+ ' then copy the top left of it to the final character definition array of the correct size
+ Dim points(16,32) As Byte
+ ' initialise the character to all white
+ For x = 0 To 15
+ For y = 0 To 31
+ points(x,y) = 0
+ Next
+ Next
+ Dim size As Int = 12
+ If characterfont = 1 Then size = 9
+ Dim charbyes(size * 3) As Byte
+ For c = 0 To charbyes.Length - 1
+ charbyes(c) = 0
+ Next
+ ' set the points array from the shapes provided
+ For i = 0 To shapes.Length -1
+ Dim fill As Int = Bit.UnsignedShiftRight(Bit.And(0x80000000, shapes(i)), 31)
+ Dim shape As Int = Bit.UnsignedShiftRight(Bit.And(0x70000000, shapes(i)), 28)
+ Dim x0 As Int = Bit.UnsignedShiftRight(Bit.And(0x0f000000, shapes(i)), 24)
+ Dim y0 As Int = Bit.UnsignedShiftRight(Bit.And(0x001f0000, shapes(i)), 16)
+ Dim x1 As Int = Bit.UnsignedShiftRight(Bit.And(0x00000f00, shapes(i)), 8)
+ Dim y1 As Int = Bit.And(0x0000001f, shapes(i))
+ Dim x2 As Int = Bit.UnsignedShiftRight(Bit.And(0x0000f000, shapes(i)), 12)
+ Dim y2 As Int = Bit.UnsignedShiftRight(Bit.And(0x00e00000, shapes(i)), 18) + Bit.UnsignedShiftRight(Bit.And(0x000000e0, shapes(i)), 5)
+ ' The bit allocations of a shape are as follows. f = fill as 0 or 1, s = shape as 0 to 7, xn as 0 to 15, yn as 0 to 31
+ ' Shape 0 = line, 1 = box, 2 = triangle, 3 = circle, 4 to 7 = unused
+ ' fsss xxxx -yyy yyyy xxxx xxxx yyyy yyyy
+ ' 0000 220 0000 2222 1111 2221 1111
+ ' x0 y2 y0 x2 x1 y2 y1
+ Dim logmsg As String = ": Fill=" & fill & " : Points " & x0 & "," & y0 & " " & x1 & "," & y1 & " " & x2 & "," & y2
+ If shape = 3 Then
+ Log("Triangle " & logmsg)
+ PlotTriangle(x0, y0, x1, y1, x2, y2, points, fill)
+ else If shape = 2 Then
+ Log("Circle " & logmsg)
+ PlotCircle(x0, y0, x1, y1, points, fill)
+ Else If shape = 1 Then
+ Log("Box " & logmsg)
+ PlotBox(x0, y0, x1, y1, points, fill)
+ Else
+ Log("Line " & logmsg)
+ PlotLine(x0, y0, x1, y1, points)
+ End If
+ ' map the points array onto the character definition array
+ For x = 0 To size -1 ' 9 or 12 horizontal bytes
+ For y = 0 To 2 ' 3 vertical bytes
+ Dim bits As Byte = 0
+ For b = 0 To 7 ' 8 vertical bits
+ If points(x, y*8+b) <> 0 Then
+ bits = Bit.Or(bits, masks(b))
+ End If
+ Next
+ charbyes(x*3+y) = bits
+ Next
+ Next
+ Next
+ Return charbyes
+End Sub
+
+' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array
+' Create the value to draw a line in a custom character
+' The line starts at X0,Y0 and ends at X1,Y1
+Public Sub CreateLine(x0 As Int, y0 As Int, x1 As Int, y1 As Int) As Int
+ Dim line As Int = 0
+ line = line + Bit.ShiftLeft(Bit.And(0xf,x0), 24)
+ line = line + Bit.ShiftLeft(Bit.And(0x1f,y0), 16)
+ line = line + Bit.ShiftLeft(Bit.And(0xf,x1), 8)
+ line = line + Bit.And(0x1f,y1)
+ Return line
+End Sub
+
+' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array
+' Create the value to draw a circle in a custom character
+' The circle is centred on X1,Y1 and the quadrants to draw are bit ORed together
+' UpperRight = 0x1, LowerRight = 0x2, LowerLeft = 0x4, Upper Left = 0x8
+Public Sub CreateCircle(radius As Int, quadrants As Int, x1 As Int, y1 As Int, fill As Boolean) As Int
+ Dim circle As Int = 0x20000000
+ If fill Then circle = circle + 0x80000000
+ circle = circle + Bit.ShiftLeft(radius, 24)
+ circle = circle + Bit.ShiftLeft(quadrants, 16)
+ circle = circle + Bit.ShiftLeft(x1, 8)
+ circle = circle + y1
+ Return circle
+End Sub
+
+
+' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array
+' Create the value to draw a triangle in a custom character
+' The triangles corners are at X0,Y0 X1,Y1 and X2,Y2
+Public Sub CreateTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, fill As Boolean) As Int
+ Dim triangle As Int = 0x30000000
+ If fill Then triangle = triangle + 0x80000000
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x0), 24)
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0x1f,y0), 16)
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x1), 8)
+ triangle = triangle + Bit.And(0x1f,y1)
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x2), 12) ' extra X
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0x7,y2), 5) ' extra Y lsbits * 3
+ triangle = triangle + Bit.ShiftLeft(Bit.And(0x18,y2), 18) ' extra Y msbits * 2
+ Return triangle
+End Sub
+
+' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array
+' Create the value to draw a box in a custom character
+' The box top left start is X0,Y0 and bottom right is X1,Y1
+Public Sub CreateBox(x0 As Int, y0 As Int, x1 As Int, y1 As Int, fill As Boolean) As Int
+ Dim box As Int = 0x10000000
+ If fill Then box = box + 0x80000000
+ box = box + Bit.ShiftLeft(Bit.And(0xf,x0), 24)
+ box = box + Bit.ShiftLeft(Bit.And(0x1f,y0), 16)
+ box = box + Bit.ShiftLeft(Bit.And(0xf,x1), 8)
+ box = box + Bit.And(0x1f,y1)
+ Return box
+End Sub
+
+'-----------------------------------------
+' Private custom character drawing methods
+'-----------------------------------------
+
+Private Sub PlotTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, points(,) As Byte, Fill As Int)
+ ' This is a pretty crude algorithm, but it is simple, works and it isn't invoked often
+ PlotLine(x0, y0, x1, y1, points)
+ PlotLine(x1, y1, x2, y2, points)
+ PlotLine(x2, y2, x0, y0, points)
+ If Fill > 0 Then
+ FillTriangle(x0, y0, x1, y1, x2, y2, points)
+ End If
+End Sub
+
+Private Sub FillTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, points(,) As Byte)
+ ' first sort the three vertices by y-coordinate ascending so v0 Is the topmost vertice */
+ Dim tx, ty As Int
+ If y0 > y1 Then
+ tx = x0 : ty = y0
+ x0 = x1 : y0 = y1
+ x1 = tx : y1 = ty
+ End If
+ If y0 > y2 Then
+ tx = x0 : ty = y0
+ x0 = x2 : y0 = y2
+ x2 = tx : y2 = ty
+ End If
+ If y1 > y2 Then
+ tx = x1 : ty = y1
+ x1 = x2 : y1 = y2
+ x2 = tx : y2 = ty
+ End If
+
+ Dim dx0, dx1, dx2 As Double
+ Dim x3, x4, y3, y4 As Double
+ Dim inc As Int
+
+ If y1 - y0 > 0 Then dx0=(x1-x0)/(y1-y0) Else dx0=0
+ If y2 - y0 > 0 Then dx1=(x2-x0)/(y2-y0) Else dx1=0
+ If y2 - y1 > 0 Then dx2=(x2-x1)/(y2-y1) Else dx2=0
+ x3 = x0 : x4 = x0
+ y3 = y0 : y4 = y0
+ If dx0 > dx1 Then
+ While
+ Do While y3 <= y1
+ If x3 > x4 Then inc = -1 Else inc = 1
+ For x = x3 To x4 Step inc
+ points(x, y3) = 1
+ Next
+ y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx1 : x4 = x4 + dx0
+ Loop
+ x4=x1
+ y4=y1
+ Do While y3 <= y2
+ If x3 > x4 Then inc = -1 Else inc = 1
+ For x = x3 To x4 Step inc
+ points(x ,y3) = 1
+ Next
+ y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx1 : x4 = x4 + dx2
+ Loop
+ Else
+ While
+ Do While y3 <= y1
+ If x3 > x4 Then inc = -1 Else inc = 1
+ For x = x3 To x4 Step inc
+ points(x, y3) = 1
+ Next
+ y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx0 : x4 = x4 +dx1
+ Loop
+ x3=x1
+ y3=y1
+ Do While y3<=y2
+ If x3 > x4 Then inc = -1 Else inc = 1
+ For x = x3 To x4 Step inc
+ points(x, y3) = 1
+ Next
+ y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx2 : x4 = x4 + dx1
+ Loop
+ End If
+End Sub
+
+Private Sub PlotBox(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte, Fill As Int)
+ ' This is a pretty crude algorithm, but it is simple, works and itsn't invoked often
+ PlotLine(x0, y0, x0, y1, points)
+ PlotLine(x0, y0, x1, y0, points)
+ PlotLine(x1, y0, x1, y1, points)
+ PlotLine(x0, y1, x1, y1, points)
+ If Fill > 0 Then
+ For x = x0 To x1
+ PlotLine(x, y0, x, y1, points)
+ Next
+ End If
+End Sub
+
+
+Private Sub PlotCircle(radius As Int, quadrants As Int, x1 As Int, y1 As Int, points(,) As Byte, fill As Int)
+ ' This is a pretty crude algorithm, but it is simple, works and itsn't invoked often
+ Dim mask As Int = 1
+ For q = 3 To 0 Step -1
+ If Bit.And(quadrants, mask) <> 0 Then
+ For i = q*90 To q*90+90 Step 1
+ Dim x,y As Double
+ x = x1 - SinD(i)*radius
+ y = y1 - CosD(i)*radius
+ If fill > 0 Then
+ PlotLine(x1, y1, x, y, points)
+ Else
+ points(Round(x), Round(y)) = 1
+ End If
+ Next
+ End If
+ mask = Bit.ShiftLeft(mask, 1)
+ Next
+End Sub
+
+' Bresenham's line algorithm - see Wikipedia
+Private Sub PlotLine(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte )
+ If Abs(y1 - y0) < Abs(x1 - x0) Then
+ If x0 > x1 Then
+ PlotLineLow(x1, y1, x0, y0, points)
+ Else
+ PlotLineLow(x0, y0, x1, y1, points)
+ End If
+ Else
+ If y0 > y1 Then
+ PlotLineHigh(x1, y1, x0, y0, points)
+ Else
+ PlotLineHigh(x0, y0, x1, y1, points)
+ End If
+ End If
+End Sub
+
+Private Sub PlotLineHigh(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte )
+ Dim dx As Int = x1 - x0
+ Dim dy As Int = y1 - y0
+ Dim xi As Int = 1
+ If dx < 0 Then
+ xi = -1
+ dx = -dx
+ End If
+ Dim D As Int = 2*dx - dy
+ Dim x As Int = x0
+ For y = y0 To y1
+ points(x,y) = 1
+ If D > 0 Then
+ x = x + xi
+ D = D - 2*dy
+ End If
+ D = D + 2*dx
+ Next
+End Sub
+
+Private Sub PlotLineLow(x0 As Int, y0 As Int, x1 As Int,y1 As Int, points(,) As Byte )
+ Dim dx As Int = x1 - x0
+ Dim dy As Int = y1 - y0
+ Dim yi As Int = 1
+ If dy < 0 Then
+ yi = -1
+ dy = -dy
+ End If
+ Dim D As Int = 2*dy - dx
+ Dim y As Int = y0
+ For x = x0 To x1
+ points(x,y) = 1
+ If D > 0 Then
+ y = y + yi
+ D = D - 2*dx
+ End If
+ D = D + 2*dy
+ Next
+End Sub
+
+
+'-------------------
+' Image commands
+'-------------------
+' There are two different image printing options with different pixel formats.
+' PrintImage prints an entire image at once with a maximum size of 576x512
+' PrintImage2 prints a slice of an image with a height of 8 or 24 and a maximum width of 576
+' One or other may look better on your particular printer
+
+' Printer support method for pre-processing images to print
+' Convert the bitmap supplied to an array of pixel values representing the luminance value of each original pixel
+Sub ImageToBWIMage(bmp As Bitmap) As AnImage
+ Dim BC As BitmapCreator 'ignore
+ Dim W As Int = bmp.Width
+ Dim H As Int = bmp.Height
+ Dim pixels(W * H) As Byte
+
+ For y = 0 To H - 1
+ For x = 0 To W - 1
+ Dim j As Int = bmp.GetPixel(x, y)
+ ' convert color to approximate luminance value
+ Dim col As ARGBColor
+ BC.ColorToARGB(j, col )
+ Dim lum As Int = col.r * 0.2 + col.b*0.1 + col.g*0.7
+ If lum> 255 Then lum = 255
+ ' save the pixel luminance
+ pixels(y*W + x) = lum
+ Next
+ Next
+ Dim ret As AnImage
+ ret.Width = bmp.Width
+ ret.Height = bmp.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+' Printer support method for pre-processing images to print
+' Convert the array of luminance values to an array of 0s and 1s according to the threshold value
+Sub ThresholdImage(img As AnImage, threshold As Int) As AnImage 'ignore
+ Dim pixels(img.Data.Length) As Byte
+ For i = 0 To pixels.Length - 1
+ Dim lum As Int = Bit.And(img.Data(i), 0xff) ' bytes are signed values
+ If lum < threshold Then
+ lum = 1
+ Else
+ lum = 0
+ End If
+ pixels(i) = lum
+ Next
+ Dim ret As AnImage
+ ret.Width = img.Width
+ ret.Height = img.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+' Printer support method for pre-processing images to print
+' Convert the array of luminance values to a dithered array of 0s and 1s according to the threshold value
+' The dithering algorithm is the simplest one-dimensional error diffusion algorithm
+' Normally threshold should be 128 but some images may look better with a little more or less.
+' This algorithm tends to produce vertical lines. DitherImage2D will probably look far better
+Sub DitherImage1D(img As AnImage, threshold As Int) As AnImage 'ignore
+ Dim pixels(img.Data.Length) As Byte
+ Dim error As Int
+ For y = 0 To img.Height - 1
+ error = 0 ' reset on each new line
+ For x = 0 To img.Width - 1
+ Dim lum As Int = Bit.And(img.Data(y*img.Width + x), 0xff) ' bytes are signed values
+ lum = lum + error
+ If lum < threshold Then
+ error = lum
+ lum = 1
+ Else
+ error = lum - 255
+ lum = 0
+ End If
+ pixels(y*img.Width + x) = lum
+ Next
+ Next
+ Dim ret As AnImage
+ ret.Width = img.Width
+ ret.Height = img.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+
+' Printer support method for pre-processing images to print
+' Convert the array of luminance values to a dithered array of 0s and 1s according to the threshold value
+' The dithering algorithm is the simplest two-dimensional error diffusion algorithm
+' Normally threshold should be 128 but some images may look better with a little more or less.
+' Anything more sophisticated might be overkill considering the image quality of most thermal printers
+Sub DitherImage2D(img As AnImage, threshold As Int) As AnImage
+ Dim pixels(img.Data.Length) As Byte
+ Dim xerror As Int
+ Dim yerrors(img.Width) As Int
+ For i = 0 To yerrors.Length -1
+ yerrors(0) = 0
+ Next
+ For y = 0 To img.Height - 1
+ xerror = 0 ' reset on each new line
+ For x = 0 To img.Width - 1
+ Dim lum As Int = Bit.And(img.Data(y*img.Width + x), 0xff) ' bytes are signed values
+ lum = lum + xerror + yerrors(x)
+ If lum < threshold Then
+ xerror = lum/2
+ yerrors(x) = xerror
+ lum = 1
+ Else
+ xerror = (lum - 255)/2
+ yerrors(x) = xerror
+ lum = 0
+ End If
+ pixels(y*img.Width + x) = lum
+ Next
+ Next
+ Dim ret As AnImage
+ ret.Width = img.Width
+ ret.Height = img.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+
+' GS v0 printing
+'---------------
+
+' Prints the given image at the specified height and width using the "GS v" command
+' Image data is supplied as bytes each containing 8 bits of horizontal image data
+' The top left of the image is Byte(0) and the bottom right is Byte(width*height-1)
+' MSB of the byte is the leftmost image pixel, the LSB is the rightmost
+' Maximum width is 72 bytes (576 bits), Maximum height is 512 bytes
+' The printed pixels are square
+' Returns status 0 : OK, -1 : too wide, -2 : too high, -3 : array too small
+' The printer can take a long time to process the data and start printing
+Public Sub PrintImage(img As AnImage) As Int
+ ' max width = 72 ' 72mm/576 bits wide
+ ' max height = 512 ' 64mm/512 bits high
+ If img.width > 72 Then Return -1
+ If img.height > 512 Then Return -2
+ If img.data.Length < img.width * img.height Then Return -3
+ Dim xh As Int = img.width / 256
+ Dim xl As Int = img.width - xh * 256
+ Dim yh As Int = img.height / 256
+ Dim yl As Int = img.height - yh * 256
+ Dim params(5) As Byte
+ params(0) = 0 '
+ params(1) = xl
+ params(2) = xh
+ params(3) = yl
+ params(4) = yh
+ WriteString(GS & "v0")
+ WriteBytes(params)
+ WriteBytes(img.data)
+ WriteString(CRLF)
+ Return 0
+End Sub
+
+' Printer support method for pre-processing images to print by PrintImage
+' Takes an array of image pixels and packs it for use with PrintImage
+' Each byte in the imagedata array is a single pixel valued zero or non-zero for white and black
+' The returned array is 8 x smaller and packs 8 horizontal black or white pixels into each byte
+' If the horizontal size of the image is not a multiple of 8 it will be truncated so that it is.
+Public Sub PackImage(imagedata As AnImage) As AnImage
+ Dim xbytes As Int = imagedata.width/8
+ Dim pixels(xbytes * imagedata.height) As Byte
+ Dim masks(8) As Byte
+ masks(0) = 0x80
+ masks(1) = 0x40
+ masks(2) = 0x20
+ masks(3) = 0x10
+ masks(4) = 0x08
+ masks(5) = 0x04
+ masks(6) = 0x02
+ masks(7) = 0x01
+ Dim index As Int = 0
+ For y = 0 To imagedata.Height - 1
+ For x = 0 To xbytes - 1
+ Dim xbyte As Byte = 0
+ For b = 0 To 7
+ ' get a pixel
+ Dim pix As Byte = imagedata.Data(index)
+ If pix <> 0 Then
+ xbyte = xbyte + masks(b)
+ End If
+ index = index + 1
+ Next
+ pixels(y*xbytes + x) = xbyte
+ Next
+ Next
+ Dim ret As AnImage
+ ret.Width = xbytes
+ ret.Height = imagedata.Height
+ ret.Data = pixels
+ Return ret
+End Sub
+
+
+' ESC * printing
+'---------------
+
+' Prints the given image slice at the specified height and width using the "ESC *" command
+' Image data is supplied as bytes each containing 8 bits of vertical image data
+' Pixels are not square, the width:height ratio varies with density and line height
+' Returns status 0 = OK, -1 = too wide, -2 = too high, -3 = wrong array length
+' Line spacing needs to be set to 0 if printing consecutive slices
+' The printed pixels are not square, the ratio varies with the highdensity and dots24 parameter settings
+' The highdensity parameter chooses high or low horizontal bit density when printed
+' The dots24 parameter chooses 8 or 24 bit data slice height when printed
+' Not(highdensity)
+' Maximum width is 288 bits. Horizontal dpi is approximately 90
+' MSB of each byte is the highest image pixel, the LSB is the lowest
+' highdensity
+' Maximum width is 576 bits. Horizontal dpi is approximately 180
+' Not(dots24)
+' Vertical printed height is 8 bits at approximately 60dpi
+' One byte in the data Array represents one vertical line when printed
+' Array size is the same as the width
+' MSB of each byte is the highest image pixel, the LSB is the lowest
+' dots24
+' Vertical printed height is 24 bits at approximately 180dpi
+' Three consecutive bytes in the data array represent one vertical 24bit line when printed
+' Array size is 3 times the width
+' Byte(n+0) is the highest, byte (n+2) us the lowest
+' MSB of each byte is the highest image pixel, the LSB is the lowest
+Public Sub PrintImage2(width As Int, data() As Byte, highdensity As Boolean, dotds24 As Boolean) As Int
+ Dim d As String = Chr(0)
+ If Not(highdensity) And Not(dotds24 ) Then
+ d = Chr(0)
+ If width > 288 Then Return -1
+ If data.Length <> width Then Return -3
+ Else If highdensity And Not(dotds24) Then
+ d = Chr(1)
+ If width > 576 Then Return -1
+ If data.Length <> width Then Return -3
+ Else If Not(highdensity) And dotds24 Then
+ d = Chr(32)
+ If width > 288 Then Return -1
+ If data.Length <> width*3 Then Return -3
+ Else ' highdensity And dotds24
+ d = Chr(33)
+ If width > 576 Then Return -1
+ If data.Length <> width*3 Then Return -3
+ End If
+ Dim xh As Int = width / 256
+ Dim xl As Int = width - xh * 256
+ Dim params(2) As Byte
+ params(0) = xl
+ params(1) = xh
+ WriteString(ESC & "*" & d)
+ WriteBytes(params)
+ WriteBytes(data)
+ WriteString(CRLF)
+ Return 0
+End Sub
+
+' Printer support method for pre-processing images to print by PrintImage2
+' Takes an array of image pixels and packs one slice of it for use with PrintImage2
+' Each byte in the imagedata array is a single pixel valued zero or non-zero for white and black
+' The returned array packs 8 vertical black or white pixels into each byte
+' If dots24 is True then the slice is 24 pixels high otherwise it is 8 pixels high
+Public Sub PackImageSlice(img As AnImage, slice As Int, dots24 As Boolean) As Byte()
+ Dim bytes As Int = img.width
+ If dots24 Then
+ Dim pixels(bytes * 3) As Byte
+ Dim slicestart As Int = slice * bytes * 8 * 3
+ Else
+ Dim pixels(bytes) As Byte
+ Dim slicestart As Int = slice * bytes * 8
+ End If
+
+ Dim masks(8) As Byte
+ masks(0) = 0x80
+ masks(1) = 0x40
+ masks(2) = 0x20
+ masks(3) = 0x10
+ masks(4) = 0x08
+ masks(5) = 0x04
+ masks(6) = 0x02
+ masks(7) = 0x01
+ ' You could compress this into a single code block but I left it as two to make it more obvious what's happening
+ If dots24 Then
+ For x = 0 To bytes - 1
+ For s = 0 To 2
+ Dim xbyte As Byte = 0
+ For b = 0 To 7
+ ' get a pixel
+ Dim pix As Byte = img.Data(slicestart + ((b + s*8) * bytes) + x)
+ If pix <> 0 Then
+ xbyte = xbyte + masks(b)
+ End If
+ Next
+ pixels(x*3+s) = xbyte
+ Next
+ Next
+ Else
+ For x = 0 To bytes - 1
+ Dim xbyte As Byte = 0
+ For b = 0 To 7
+ ' get a pixel
+ Dim pix As Byte = img.Data(slicestart + (b * bytes) + x)
+ If pix <> 0 Then
+ xbyte = xbyte + masks(b)
+ End If
+ Next
+ pixels(x) = xbyte
+ Next
+ End If
+ Return pixels
+End Sub
+
+'----------------
+'Barcode commands
+'----------------
+
+' Set the height of a 2D bar code as number of dots vertically, 1 to 255
+' Automatically resets to the default after printing the barcode
+Public Sub setBarCodeHeight(height As Int)
+ WriteString(GS & "h")
+ Dim params(1) As Byte
+ params(0) = height
+ WriteBytes(params)
+End Sub
+
+' Set the left inset of a 2D barcode, 0 to 255
+' This does not reset on receipt of RESET
+Public Sub setBarCodeLeft(left As Int)
+ WriteString(GS & "x")
+ Dim params(1) As Byte
+ params(0) = left
+ WriteBytes(params)
+End Sub
+
+' Set the width of each bar in a 2D barcode. width value is 2 to 6, default is 3
+' 2 = 0.250, 3 - 0.375, 4 = 0.560, 5 = 0.625, 6 = 0.75
+' Resets to default after printing the barcode
+Public Sub setBarCodeWidth(width As Int)
+ WriteString(GS & "w")
+ Dim params(1) As Byte
+ params(0) = width
+ WriteBytes(params)
+End Sub
+
+'Selects the printing position of HRI (Human Readable Interpretation) characters when printing a 2D bar code.
+'0 Not printed, 1 Above the bar code, 2 Below the bar code, 3 Both above And below the bar code
+' Automatically resets to the default of 0 after printing the barcode
+' The docs say this can be Chr(0, 1 2 or 3) or "0" "1" "2" or "3" but the numeric characters don't work
+Public Sub setHriPosn(posn As Int)
+ WriteString(GS & "H")
+ Dim params(1) As Byte
+ params(0) = posn
+ WriteBytes(params)
+End Sub
+
+'Selects the font for HRI (Human Readable Interpretation) characters when printing a 2D bar code.
+'0 Font A (12 x 24), 1 Font B (9 x 17)
+' Automatically resets to the default of 0 after printing the barcode
+' The docs say this can be Chr(0 or 1) or "0" or "1" but the numeric characters don't work
+Public Sub setHriFont(font As Int)
+ WriteString(GS & "f" & Chr(font))
+End Sub
+
+' If given invalid data no barcode is printed, only strange characters
+' CODABAR needs any of A,B,C or D at the start and end of the barcode. Some decoders may not like them anywhere else
+' Bartype Code Number of characters Permitted values
+' A | UPC-A | 11 or 12 characters | 0 to 9 | The 12th printed character is always the check digit
+' B | UPC-E | 6 characters | 0 to 9 | The 12th printed character is always the check digit
+' C | EAN13 | 12 or 13 characters | 0 to 9 | The 12th printed character is always the check digit
+' D | EAN8 | 7 or 8 characters | 0 to 9 | The 8th printed character is always the check digit
+' E | CODE39 | 1 or more characters | 0 to 9, A to Z, Space $ % + - . /
+' F | ITF | 1 or more characters | 0 to 9 | even number of characters only
+' G | CODABAR| 3 to 255 characters | 0 to 9, A to D, $ + - . / : | needs any of A,B,C or D at the start and end
+' H | CODE93 | 1 to 255 characters | Same as CODE39
+' I | CODE128| 2 to 255 characters | entire 7 bit ASCII set
+Public Sub WriteBarCode(bartype As String, data As String)
+ Dim databytes() As Byte = data.GetBytes("ASCII")
+ Dim dlow As Int = databytes.Length
+ Log("Barcode " & bartype & ", Size " & dlow & ", " & data)
+ WriteString(GS & "k" & bartype.ToUpperCase.CharAt(0))
+ Dim params(1) As Byte
+ params(0) = dlow
+ WriteBytes(params)
+ WriteBytes(databytes)
+End Sub
+
+' On my printer QR codes don't seem to be able to be decoded and on high ECs look obviously wrong :(
+' size is 1 to 40, 0 is auto-size. Successive versions increase module size by 4 each side
+' size = 1 is 21x21, 2 = 25x25 ... size 40 = 177x177
+' EC is error correction level, "L"(7%) or "M"(15%) or "Q"(25%) or "H"(30%)
+' scale is 1 to 8, 1 is smallest, 8 is largest
+Public Sub WriteQRCode(size As Int, EC As String, scale As Int, data As String)
+ Dim databytes() As Byte = data.GetBytes("ISO-8859-1")
+ Dim dhigh As Int = databytes.Length / 256
+ Dim dlow As Int = databytes.Length - dhigh*256
+ Log("QR Code : Size " & size & ", EC " & EC & ", Scale " & scale & ", Size " & dlow & " " & dhigh & " : Data = " & data)
+ Dim params(3) As Byte
+ params(0) = scale
+ params(1) = dlow
+ params(2) = dhigh
+ WriteString(ESC & "Z" & Chr(size) & EC.ToUpperCase.CharAt(0))
+ WriteBytes(params)
+ WriteBytes(databytes)
+End Sub
+
+
+'****************
+' PRIVATE METHODS
+'****************
+
+'-----------------------
+' Internal Serial Events
+'-----------------------
+
+Private Sub Serial1_Connected (Success As Boolean)
+ If Success Then
+ Astream.Initialize(Serial1.InputStream, Serial1.OutputStream, "astream")
+ Connected = True
+ ConnectedError = ""
+ Serial1.Listen
+ Else
+ Connected = False
+ ConnectedError = LastException.Message
+ End If
+ If SubExists(CallBack, EventName & "_Connected") Then
+ CallSub2(CallBack, EventName & "_Connected", Success)
+ End If
+End Sub
+
+'----------------------------
+' Internal AsyncStream Events
+'----------------------------
+
+Private Sub AStream_NewData (Buffer() As Byte)
+ If SubExists(CallBack, EventName & "_NewData") Then
+ CallSub2(CallBack, EventName & "_NewData", Buffer)
+ End If
+ Log("Data " & Buffer(0))
+End Sub
+
+Private Sub AStream_Error
+ If SubExists(CallBack, EventName & "_Error") Then
+ CallSub(CallBack, EventName & "_Error")
+ End If
+End Sub
+
+Private Sub AStream_Terminated
+ Connected = False
+ If SubExists(CallBack, EventName & "_Terminated") Then
+ CallSub(CallBack, EventName & "_Terminated")
+ End If
+End Sub
diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal
index 8806a17..313307c 100644
Binary files a/B4A/Files/cliente.bal and b/B4A/Files/cliente.bal differ
diff --git a/B4A/Files/login.bal b/B4A/Files/login.bal
index dfbf0cb..6a6c35c 100644
Binary files a/B4A/Files/login.bal and b/B4A/Files/login.bal differ
diff --git a/B4A/Files/panel_pick_ciego.bal b/B4A/Files/panel_pick_ciego.bal
new file mode 100644
index 0000000..ca5109d
Binary files /dev/null and b/B4A/Files/panel_pick_ciego.bal differ
diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal
index 443fffc..90551a4 100644
Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ
diff --git a/B4A/Marquez_Reparto.b4a b/B4A/Marquez_Reparto.b4a
index 7b0988f..0b8cadd 100644
--- a/B4A/Marquez_Reparto.b4a
+++ b/B4A/Marquez_Reparto.b4a
@@ -506,20 +506,21 @@ File1451=mariana.jpg
File1452=mariana_logo_192x192.jpg
File1453=no_venta.bal
File1454=nuevocliente.bal
-File1455=pedido.bal
-File1456=planfia_logo.png
-File1457=planfia_logo_old.png
-File1458=planfia_logo_old2.png
-File1459=principal.bal
+File1455=panel_pick_ciego.bal
+File1456=pedido.bal
+File1457=planfia_logo.png
+File1458=planfia_logo_old.png
+File1459=planfia_logo_old2.png
File146=118marker-rojo.png
-File1460=proditem.bal
-File1461=proditem2.bal
-File1462=productos.bal
-File1463=profina.jpg
-File1464=PROFINA.png
-File1465=sync.png
-File1466=tabulador.bal
-File1467=telefonos.bal
+File1460=principal.bal
+File1461=proditem.bal
+File1462=proditem2.bal
+File1463=productos.bal
+File1464=profina.jpg
+File1465=PROFINA.png
+File1466=sync.png
+File1467=tabulador.bal
+File1468=telefonos.bal
File147=118marker-verde.png
File148=119maker-azul.png
File149=119maker-azul1.png
@@ -1987,6 +1988,7 @@ FileGroup1464=Default Group
FileGroup1465=Default Group
FileGroup1466=Default Group
FileGroup1467=Default Group
+FileGroup1468=Default Group
FileGroup147=Default Group
FileGroup148=Default Group
FileGroup149=Default Group
@@ -2961,7 +2963,7 @@ Library6=compressstrings
Library7=core
Library8=fileprovider
Library9=fusedlocationprovider
-ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddManifestText()~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~'AddManifestText()~\n~'AddManifestText()~\n~'AddManifestText() 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~AddManifestText()~\n~'/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~'CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~~\n~'Si al cargar un mapa de google mande este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText()~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(~\n~ ~\n~ )~\n~ AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE)~\n~ SetApplicationAttribute(android:allowBackup, "false")~\n~ ~\n~ ~\n~ AddManifestText(~\n~ )~\n~ AddPermission(android.permission.READ_EXTERNAL_STORAGE)
+ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~'AddManifestText(~\n~'~\n~')~\n~'SetApplicationAttribute(android:icon, "@drawable/icon")~\n~'SetApplicationAttribute(android:label, "$LABEL$")~\n~'CreateResourceFromFile(Macro, Themes.LightTheme)~\n~''End of default text.~\n~'~\n~'''''' CAMBIA LA CLAVE API~\n~'AddApplicationText(~\n~'~\n~' ~\n~')~\n~'~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~'SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~'AddManifestText()~\n~'AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~''AddManifestText()~\n~''AddManifestText()~\n~''AddManifestText() 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~'AddManifestText()~\n~''/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~''CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~'SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~''/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~'~\n~''Si al cargar un mapa de google mande este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~'AddApplicationText()~\n~'~\n~''/////////////////////// App Updating ////////////////~\n~' AddManifestText(~\n~' )~\n~' AddApplicationText(~\n~' ~\n~' ~\n~' ~\n~' )~\n~' CreateResource(xml, provider_paths,~\n~' ~\n~' ~\n~' ~\n~' ~\n~' ~\n~' )~\n~'AddManifestText()~\n~'AddManifestText()~\n~'AddManifestText()~\n~'AddManifestText()~\n~'~\n~'AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~'AddPermission(android.permission.INTERNET)~\n~'AddPermission(android.permission.INSTALL_PACKAGES)~\n~'AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.READ_PHONE_STATE)~\n~'AddPermission(android.permission.WAKE_LOCK)~\n~'CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~' ~\n~'SetApplicationAttribute(android:largeHeap, "true")~\n~'~\n~'AddManifestText(~\n~' ~\n~' )~\n~' AddPermission(android.permission.MANAGE_EXTERNAL_STORAGE)~\n~' SetApplicationAttribute(android:allowBackup, "false")~\n~' ~\n~' ~\n~' AddManifestText(~\n~' )~\n~' AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~' CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~' CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~ SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~AddManifestText(~\n~ )~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(~\n~ )~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~)~\n~CreateResource(xml, provider_paths,~\n~~\n~ ~\n~ ~\n~ ~\n~~\n~)~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~AddManifestText()~\n~AddApplicationText(~\n~~\n~ ~\n~ )~\n~AddPermission(android.permission.BLUETOOTH_ADVERTISE)~\n~AddPermission(android.permission.BLUETOOTH_CONNECT)~\n~AddPermission(android.permission.BLUETOOTH_SCAN)~\n~AddManifestText()
Module1=appUpdater
Module10=C_Foto
Module11=C_Historico
@@ -2977,29 +2979,30 @@ Module2=B4XMainPage
Module20=C_UpdateAvailable
Module21=CameraExClass
Module22=DBRequestManager
-Module23=foto
-Module24=ManageExternalStorage
-Module25=MAPA_CLIENTE
-Module26=MAPA_RUTAS
-Module27=Starter
-Module28=Subs
-Module29=Tracker
+Module23=EscPosPrinter
+Module24=foto
+Module25=ManageExternalStorage
+Module26=MAPA_CLIENTE
+Module27=MAPA_RUTAS
+Module28=Starter
+Module29=Subs
Module3=BatteryUtilities
+Module30=Tracker
Module4=C_Buscar
Module5=C_Cheklist
Module6=C_Cliente
Module7=C_Clientes
Module8=C_Detalle_Promo
Module9=C_DetalleVenta
-NumberOfFiles=1467
+NumberOfFiles=1468
NumberOfLibraries=27
-NumberOfModules=29
+NumberOfModules=30
Version=12.8
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Marquez Reparto
#VersionCode: 1
- #VersionName: 4.08.17
+ #VersionName: 4.11.28
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
diff --git a/B4A/Marquez_Reparto.b4a.meta b/B4A/Marquez_Reparto.b4a.meta
index 57a31e3..801868d 100644
--- a/B4A/Marquez_Reparto.b4a.meta
+++ b/B4A/Marquez_Reparto.b4a.meta
@@ -22,6 +22,7 @@ ModuleBookmarks27=
ModuleBookmarks28=
ModuleBookmarks29=
ModuleBookmarks3=
+ModuleBookmarks30=
ModuleBookmarks4=
ModuleBookmarks5=
ModuleBookmarks6=
@@ -52,6 +53,7 @@ ModuleBreakpoints27=
ModuleBreakpoints28=
ModuleBreakpoints29=
ModuleBreakpoints3=
+ModuleBreakpoints30=
ModuleBreakpoints4=
ModuleBreakpoints5=
ModuleBreakpoints6=
@@ -66,8 +68,8 @@ ModuleClosedNodes12=
ModuleClosedNodes13=
ModuleClosedNodes14=
ModuleClosedNodes15=
-ModuleClosedNodes16=1
-ModuleClosedNodes17=8,9,16,17,18,19,20,21
+ModuleClosedNodes16=
+ModuleClosedNodes17=9,16,17,18,19,20,21
ModuleClosedNodes18=
ModuleClosedNodes19=
ModuleClosedNodes2=
@@ -77,17 +79,18 @@ ModuleClosedNodes22=
ModuleClosedNodes23=
ModuleClosedNodes24=
ModuleClosedNodes25=
-ModuleClosedNodes26=3
-ModuleClosedNodes27=
+ModuleClosedNodes26=
+ModuleClosedNodes27=3
ModuleClosedNodes28=
ModuleClosedNodes29=
ModuleClosedNodes3=
+ModuleClosedNodes30=
ModuleClosedNodes4=
ModuleClosedNodes5=
ModuleClosedNodes6=
-ModuleClosedNodes7=1,2,3,6,7,8,9,10,13,15,16
+ModuleClosedNodes7=2,3,7,8,9,10,13,15,16
ModuleClosedNodes8=
-ModuleClosedNodes9=5,6,7,8,9,13,14,15,16,17,20
-NavigationStack=Diseñador Visual,no_venta.bal,-100,1,Diseñador Visual,nuevocliente.bal,-100,2,Diseñador Visual,pedido.bal,-100,1,Diseñador Visual,principal.bal,-100,3,Diseñador Visual,proditem.bal,-100,1,Diseñador Visual,productos.bal,-100,5,Diseñador Visual,tabulador.bal,-100,1,Diseñador Visual,telefonos.bal,-100,1,B4XMainPage,B_Aceptar_Monto_Click,516,0,B4XMainPage,B4XPage_Created,165,0,Starter,Process_Globals,29,0
+ModuleClosedNodes9=5,6,7,8,9,15,16,20
+NavigationStack=C_Cliente,B4XPage_Appear,120,0,C_DetalleVenta,CreateListItem2,491,6,C_DetalleVenta,CreateListItem,458,0,C_Principal,B4XPage_Appear,418,0,B4XMainPage,b_arqueocieego_Click,718,0,B4XMainPage,enviarmonto,699,0,B4XMainPage,b_aceptar_Click,915,0,B4XMainPage,B_Aceptar_Monto_Click,634,0,B4XMainPage,b_CargarMonto_Click,618,0,B4XMainPage,JobDone,384,0
SelectedBuild=0
-VisibleModules=27,2,16,7,26,28,5,17,6,9
+VisibleModules=28,2,16,7,27,29,5,17,6,9
diff --git a/B4A/Starter.bas b/B4A/Starter.bas
index cab2fd3..afbc18c 100644
--- a/B4A/Starter.bas
+++ b/B4A/Starter.bas
@@ -27,6 +27,7 @@ Sub Process_Globals
Dim trackerActividad As String = "501231235959"
Dim pushServiceActividad As String = "501231235959"
'Para los Logs
+ Dim MAC_IMPRESORA As String
Private logs As StringBuilder
Private logcat As LogCat
Public SharedFolder As String 'Para actualizar apk
diff --git a/B4A/Subs.bas b/B4A/Subs.bas
index 915a4e0..54a5a6d 100644
--- a/B4A/Subs.bas
+++ b/B4A/Subs.bas
@@ -613,6 +613,7 @@ End Sub
'Trae el precio del ID dado, desde CAT_GUNAPROD o HIST_VENTAS, dependiendo de si es promoción o no.
Sub traePrecio(id As String, quePromo As String) As String
Private pu As String = "0"
+' Log(id & ", "& quePromo)
If quePromo = traeAlmacen Then
Private idc As Cursor = kmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${id}'"$)
If idc.RowCount > 0 Then
@@ -625,13 +626,46 @@ Sub traePrecio(id As String, quePromo As String) As String
Private pc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT, HVD_COSTO_TOT from HIST_VENTAS2 where HVD_CLIENTE in (select cuenta from cuentaa) and HVD_PROID = '${id}' and HVD_CODPROMO = '${quePromo}'"$)
If pc.RowCount > 0 Then
pc.Position = 0
+' Log(pc.GetString("HVD_COSTO_TOT")&", "& pc.GetString("HVD_CANT"))
If pc.GetString("HVD_COSTO_TOT")<> Null And pc.GetString("HVD_CANT") <> Null Then
pu = pc.GetString("HVD_COSTO_TOT") / pc.GetString("HVD_CANT")
End If
End If
+' Log("x cosa")
pc.Close
End If
+' Log(pu)
Return pu
+
+End Sub
+
+'Trae el precio del ID dado, desde CAT_GUNAPROD o HIST_VENTAS, dependiendo de si es promoción o no.
+Sub traePrecio2(id As String, quePromo As String, consecutivo As String) As String
+ Private pu As String = "0"
+' Log(id & ", "& quePromo)
+ If quePromo = traeAlmacen Then
+ Private idc As Cursor = kmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${id}'"$)
+ If idc.RowCount > 0 Then
+ idc.Position=0
+ If idc.RowCount > 0 And IsNumber(idc.GetString("CAT_GP_PRECIO")) Then pu = idc.GetString("CAT_GP_PRECIO")
+' Log("id=" & id & "|p=" & x & "|" & idc.GetString("CAT_GP_PRECIO"))
+ End If
+ idc.Close
+ Else 'Si es una promo, entonces sacamos el costo total del producto en la promo de HIST_VENTAS2 y lo dividimos entre la cantidad.
+ Private pc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT, HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) and HVD_PROID = '${id}' and HVD_CODPROMO = '${quePromo}' AND CONSECUTIVO = '${consecutivo}'"$)
+ If pc.RowCount > 0 Then
+ pc.Position = 0
+' Log(pc.GetString("HVD_COSTO_TOT")&", "& pc.GetString("HVD_CANT"))
+ If pc.GetString("HVD_COSTO_TOT")<> Null And pc.GetString("HVD_CANT") <> Null Then
+ pu = pc.GetString("HVD_COSTO_TOT") / pc.GetString("HVD_CANT")
+ End If
+ End If
+' Log("x cosa")
+ pc.Close
+ End If
+' Log(pu)
+ Return pu
+
End Sub
'Trae el precio del ID dado, desde CAT_GUNAPROD o HIST_VENTAS, dependiendo de si es promoción o no Y CAJAS.
@@ -934,4 +968,40 @@ Sub traeAlmacen As String 'ignore
a = C.GetString("ID_ALMACEN")
c.Close
Return a
+End Sub
+
+Sub traeUsuario As String 'ignore
+ Private c As Cursor
+ Private a As String
+ c = Starter.skmt.ExecQuery("select USUARIO from USUARIOA")
+ c.Position = 0
+ a = C.GetString("USUARIO")
+ c.Close
+ Return a
+End Sub
+
+
+Sub traefECHAPREV As String 'ignore
+ Private c As Cursor
+ Private a As String
+ c = Starter.skmt.ExecQuery("select HVD_FECHA from HIST_VENTAS where HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
+ c.Position = 0
+ Dim fecha() As String = Regex.Split(" ", c.GetString("HVD_FECHA"))
+ Dim fecha2() As String = Regex.Split("-", fecha(0))
+ Dim fecha3 As String = fecha2(2)&"/"&fecha2(1)&"/"&fecha2(0)
+ Log(fecha3)
+ Dim hora() As String = Regex.Split("\.", fecha(1))
+ a = fecha3 & " " & hora(0)
+ c.Close
+ Return a
+End Sub
+
+Sub traerUTAPREV As String 'ignore
+ Private c As Cursor
+ Private a As String
+ c = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
+ c.Position = 0
+ a = C.GetString("CAT_CL_RUTA")
+ c.Close
+ Return a
End Sub
\ No newline at end of file
diff --git a/B4A/foto.bas b/B4A/foto.bas
index ffcbe29..95bd3c8 100644
--- a/B4A/foto.bas
+++ b/B4A/foto.bas
@@ -128,7 +128,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, USUARIO, "CERRADO", B4XPages.MainPage.noVenta.COMENTARIO, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, Data))
- Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
+ Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
B4XPages.ShowPage("Principal")