From 8c9fb021f79c3d800acd8e6e7852dec424506bbd Mon Sep 17 00:00:00 2001 From: IsR0d Date: Wed, 30 Apr 2025 16:19:11 -0600 Subject: [PATCH] Version: 5.04.28 Se modifico el boton de guardar ya que necesitavamos revisar que la preventa a credito no fuera menor a $1000.00 pesos. Se modifico la rutina de impresion de Preventa, ahora imprime ambos tickets, si encuentra credito o contado, la venta sigue igual. Se modifico el Apper de Principal para que evalue si la preventa a credito ya esta correcta en caso que no, se borra y se genero una nueva rutina de borrado la cual solo borra preventa_credito. --- B4A/B4XMainPage.bas | 4 +- B4A/C_Cliente.bas | 1066 +++++++++++++++++++---------------------- B4A/C_Clientes.bas | 7 - B4A/C_NoVenta.bas | 11 +- B4A/C_Nota.bas | 332 +++++++++---- B4A/C_Principal.bas | 109 ++++- B4A/C_Productos.bas | 597 +++++++++++++++++------ B4A/C_TicketsDia.bas | 2 +- B4A/Files/cliente.bal | Bin 39063 -> 39735 bytes B4A/MARQUEZ.b4a | 6 +- B4A/MARQUEZ.b4a.meta | 4 +- B4A/Subs.bas | 141 +++++- 12 files changed, 1428 insertions(+), 851 deletions(-) diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index f90de51..ff375a2 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -195,6 +195,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICKCIEGO_HECHO(HECHO TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD2 (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)") 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)") + skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD4 (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, CAT_DP_CONVERSION1 TEXT, CAT_DP_PRECIO4 TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_STAY_STORE (HSS_CODIGO TEXT, HSS_IN TEXT, HSS_OUT TEXT, HSS_TOT TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_STAY_OUT (HSO_INI TEXT, HSO_FIN TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS INVENT_X_ENVIAR (ALMACEN TEXT, PROID TEXT, CANTIDAD TEXT)") @@ -228,7 +229,6 @@ Private Sub B4XPage_Created (Root1 As B4XView) Subs.agregaColumna("CAT_GUNAPROD2", "CAT_DP_PRECIO4", "TEXT") Subs.agregaColumna("CLIENTES_NUEVOS", "CN_SOLICITA", "TEXT") Subs.agregaColumna("ABONOSP", "DIA_VENCIMIENTO", "TEXT") - Subs.agregaColumna("CLIENTES_NUEVOS", "CN_COLONIA", "TEXT") Subs.agregaColumna("CLIENTES_NUEVOS", "CN_TELEFONO", "TEXT") c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ") @@ -950,7 +950,7 @@ 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 + Else If New.Length >= 3 Then CLV_PICK_CIEGO.Clear q_buscar = "%" & et_buspc.Text & "%" diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 891d893..3fe3f00 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -15,7 +15,7 @@ Sub Class_Globals Dim reqManager As DBRequestManager Dim cmd As DBCommand Dim ime As IME - + Dim credito_diponible As String Dim g As GPS Dim ruta As String Dim skmt As SQL @@ -164,6 +164,7 @@ Sub Class_Globals Dim k1,k2,k3 As String Private b_ubicar As Button + Private b_venta_credito As Button End Sub 'You can add more parameters here. @@ -430,58 +431,68 @@ Sub B4XPage_Appear 'SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) - Private credi2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM KMT_INFO2 INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + Private credi2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE, Ifnull(CAT_CL_LIMITECREDITO,0) As CAT_CL_LIMITECREDITO FROM KMT_INFO LEFT JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE, Ifnull(CAT_CL_LIMITECREDITO,0) As CAT_CL_LIMITECREDITO FROM KMT_INFO2 LEFT JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + Log(credi2.RowCount) If credi2.RowCount > 0 Then credi2.Position = 0 + credito_diponible = credi2.GetString ("CAT_CL_LIMITECREDITO") + Log(credi2.GetString ("CAT_CL_BCREDITO")) If credi2.GetString ("CAT_CL_BCREDITO") = "1" Then - Log(2) - Private credi3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO2 INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If credi3.RowCount > 0 Then - credi3.Position = 0 - - Dim total As String = 0 - For i = 0 To credi2.RowCount - 1 - credi2.Position = i - - - Log(credi2.GetString("SALDO_PENDIENTE")) - total = total + credi2.GetString("SALDO_PENDIENTE") - Log(total) - Next - - - - If NumberFormat2(total,1,2,2,False) <> NumberFormat2(credi3.GetString ("a_abono"),1,2,2,False) Then - MsgboxAsync("La venta sera en efectivo porque el pago del pagare es menor al total de la deuda.","Atención") - Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then + Log(credi2.GetString("SALDO_PENDIENTE")) + If credi2.GetString("SALDO_PENDIENTE") > 0 Then + + Private credi3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO2 INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If credi3.RowCount > 0 Then + credi3.Position = 0 + Dim total As String = 0 + For i = 0 To credi2.RowCount - 1 + credi2.Position = i + Log(credi2.GetString("SALDO_PENDIENTE")) + total = total + credi2.GetString("SALDO_PENDIENTE") + Log(total) + Next + If NumberFormat2(total,1,2,2,False) <> NumberFormat2(credi3.GetString ("a_abono"),1,2,2,False) Then + MsgboxAsync("La venta sera en efectivo porque el pago del pagare es menor al total de la deuda.","Atención") + b_venta_credito.Visible = False + Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then + Log("AQUI ESTOY SI VISIBLE BOTON") + b_venta_credito.Visible = True + End If + Else + MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención") + b_venta_credito.Visible = False End If - Else - MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención") + credi3.Close + Else If credi2.GetString("SALDO_PENDIENTE") = 0 Then + b_venta_credito.Visible = True End If - credi3.Close + Else Log(1) - Private credi3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO2 INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If credi3.RowCount > 0 Then - credi3.Position = 0 + b_venta_credito.Visible = False + If credi2.GetString("SALDO_PENDIENTE") > 0 Then + Private credi3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO2 INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + If credi3.RowCount > 0 Then + credi3.Position = 0 - Dim total As String = 0 - For i = 0 To credi2.RowCount - 1 - credi2.Position = i - - - Log(credi2.GetString("SALDO_PENDIENTE")) - total = total + credi2.GetString("SALDO_PENDIENTE") - Log(total) - Next - If NumberFormat2(total,1,2,2,False) <> NumberFormat2(credi3.GetString ("a_abono"),1,2,2,False) Then - MsgboxAsync("La venta sera en efectivo porque el pago del pagare es menor al total de la deuda.","Atención") - Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then + Dim total As String = 0 + For i = 0 To credi2.RowCount - 1 + credi2.Position = i + Log(credi2.GetString("SALDO_PENDIENTE")) + total = total + credi2.GetString("SALDO_PENDIENTE") + Log(total) + Next + If NumberFormat2(total,1,2,2,False) <> NumberFormat2(credi3.GetString ("a_abono"),1,2,2,False) Then + MsgboxAsync("La venta sera en efectivo porque el pago del pagare es menor al total de la deuda.","Atención") + Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then + End If + Else + MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención") End If - Else - MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención") + credi3.Close + Else If credi2.GetString("SALDO_PENDIENTE") = 0 Then +' b_venta_credito.Visible = False End If - credi3.Close End If End If credi2.Close @@ -492,7 +503,7 @@ Sub B4XPage_Appear gest.Text = "Recarga" B4XPages.MainPage.recarga = "1" Else - gest.Text = "Pre-venta" + gest.Text = "Pre-Venta a Contado" B4XPages.MainPage.recarga = "0" End If LogColor(B4XPages.MainPage.recarga,Colors.Blue) @@ -544,7 +555,7 @@ Sub gest_Click Else If la_cuenta.Text = "1" Then B4XPages.MainPage.tipo_venta = "RECARGA" Else - B4XPages.MainPage.tipo_venta = "PREVENTA" + B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO" End If 'Buscamos en el historial de cuestionarios si el cliente ya tiene cuestionario contestado. @@ -579,6 +590,17 @@ Sub gest_Click B4XPages.ShowPage("productos") End Sub +Private Sub b_venta_credito_Click + If la_cuenta.Text = "0" Then + B4XPages.MainPage.tipo_venta = "ABORDO" + Else If la_cuenta.Text = "1" Then + B4XPages.MainPage.tipo_venta = "RECARGA" + Else + B4XPages.MainPage.tipo_venta = "PREVENTA_CREDITO" + End If + B4XPages.ShowPage("productos") +End Sub + Sub Tels_Click B4XPages.ShowPage("NoVenta") End Sub @@ -640,106 +662,136 @@ Sub DATOS_Click End Sub Sub Guardar_Click - - c = B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_FOLIO = ?", Array As String("PREVENTA")) + c = B4XPages.MainPage.skmt.ExecQuery2("Select COUNT(Case WHEN PE_FOLIO = 'PREVENTA_CONTADO' THEN 1 END) AS CUANTOS_CONTADO,COUNT(Case WHEN PE_FOLIO = 'PREVENTA_CREDITO' THEN 1 END) AS CUANTOS_CREDITO FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And (PE_FOLIO = ? OR PE_FOLIO = ?)", Array As String("PREVENTA_CONTADO", "PREVENTA_CREDITO")) c.Position = 0 - If c.GetString("CUANTOS") > 0 Then - If la_cuenta.Text <> 0 Then - Credi = B4XPages.MainPage.skmt.ExecQuery("Select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP) UNION Select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info2 Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP)") - 'INNER JOIN KMT_INFO2 ON CAT_CL_CODIGO = CL_CUENTA - If Credi.RowCount > 0 Then - Credi.Position = 0 - If Credi.GetString("CAT_CL_BCREDITO") = "1" Then - - If l_total.Text <> "null" Then - If pre_act <> Starter.pre_viejo Then - - Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - p_credito.Visible = True - Dim limitcred As Cursor - limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info2 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - limitcred.Position = 0 - l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") - If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then - et_montoacredito.Text = limitcred.GetString("CAT_CL_LIMITECREDITO") - Else - et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito - End If - limitcred.Close - Else - GuardaVenta - End If - - - - Else If pre_act = Starter.pre_viejo Then - GuardaVenta - End If - Else If l_total.Text = "null" Then - GuardaVenta - End If - - - Else If Credi.GetString("CAT_CL_BCREDITO") = "0" Then - GuardaVenta - End If - Else - Private credi2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_BCREDITO, a_abono, SALDO_PENDIENTE FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_BCREDITO, a_abono, SALDO_PENDIENTE FROM KMT_INFO2 INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If credi2.RowCount > 0 Then - credi2.Position = 0 - - Dim total As String = 0 - For i = 0 To credi2.RowCount - 1 - credi2.Position = i - - - Log(credi2.GetString("SALDO_PENDIENTE")) - total = total + credi2.GetString("SALDO_PENDIENTE") - Log(total) - Next - - If credi2.GetString ("CAT_CL_BCREDITO") = "1" And credi2.GetString ("a_abono")=total Then - If l_total.Text <> "null" Then - If pre_act <> Starter.pre_viejo Then - Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) - Wait For Msgbox_Result (resultado As Int) - If resultado = DialogResponse.POSITIVE Then - p_credito.Visible = True - Dim limitcred As Cursor - limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info2 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - limitcred.Position = 0 - l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") - If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then - et_montoacredito.Text = limitcred.GetString("CAT_CL_LIMITECREDITO") - Else - et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito - End If - limitcred.Close - Else - GuardaVenta - End If - Else If pre_act = Starter.pre_viejo Then - GuardaVenta - End If - Else If l_total.Text = "null" Then - GuardaVenta - End If - Else - GuardaVenta - End If - Else - GuardaVenta - End If - End If -' Credi.Close - Else If la_cuenta.Text = 0 Then +' If c.GetString("CUANTOS_CONTADO") > 0 Or c.GetString("CUANTOS_CREDITO") > 0 Then + Log("Esto es Contado<<<<<<<<<<<<<: " & c.GetString("CUANTOS_CONTADO")) + Log("Esto es Credito<<<<<<<<<<<<<: " & c.GetString("CUANTOS_CREDITO")) + + '----------------------- + If c.GetString("CUANTOS_CREDITO") = 0 Then GuardaVenta + Else If c.GetString("CUANTOS_CREDITO") > 0 Then + Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + fg.Position = 0 + Dim costo As String = fg.GetString("COSTO") + + If costo > 0 And costo < 1000 Then + Msgbox2Async($"¿Desea continuar?${CRLF}Si acepta, el pedido a crédito se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png"),False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + Subs.borraPedidoCredito + GuardaVenta +' End If + End If + Else If costo >= 1000 Then + Dim cPagares As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) As REGISTRADO FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + cPagares.Position = 0 + If cPagares.GetString("REGISTRADO") = 0 Then + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA, PA_FECHA, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE) VALUES(?,?,?,?,?,?,?) ", Array As Object (ALMACEN, LA_RUTA, (sDate &" "& sTime),(sDate &" "& sTime), costo, usuario, la_cuenta.Text)) + Log("Aqui inserto: " & "Almacen: " & ALMACEN & "Ruta " & LA_RUTA & "Fecha: " & (sDate &" "& sTime) & "Captura: " & (sDate &" "& sTime) & "Monto: " & costo & "Usuario: " & usuario & "Cliente: " & la_cuenta.Text & "<<<<<<<<<<<<<<<<<<<<<") + GuardaVenta + p_credito.Visible = False + Else + B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PAGARES set PA_FECHA = ?, PA_CAPTURA = ?, PA_MONTO = ? where PA_CLIENTE In (select cuenta from cuentaa)", Array As Object ((sDate &" "& sTime),(sDate &" "& sTime), et_montoacredito.Text)) + Log("Aqui actualizo: " & "Almacen: " & ALMACEN & "Ruta " & LA_RUTA & "Fecha: " & (sDate &" "& sTime) & "Captura: " & (sDate &" "& sTime) & "Monto: " & costo & "Usuario: " & usuario & "Cliente: " & la_cuenta.Text & "<<<<<<<<<<<<<<<<<<<<<") + GuardaVenta + p_credito.Visible = False + End If + cPagares.Close + GuardaVenta + End If + fg.Close End If - Else If c.GetString("CUANTOS") = 0 Then - GuardaVenta - End If +' End If + c.Close + '----------------------- + +' If la_cuenta.Text <> 0 Then +' Credi = B4XPages.MainPage.skmt.ExecQuery("Select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP) UNION Select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info2 Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP)") +' 'INNER JOIN KMT_INFO2 ON CAT_CL_CODIGO = CL_CUENTA +' If Credi.RowCount > 0 Then +' Credi.Position = 0 +' If Credi.GetString("CAT_CL_BCREDITO") = "1" Then +' If l_total.Text <> "null" Then +' If pre_act <> Starter.pre_viejo Then +' Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) +' Wait For Msgbox_Result (resultado As Int) +' If resultado = DialogResponse.POSITIVE Then +' p_credito.Visible = True +' Dim limitcred As Cursor +' limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info2 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") +' limitcred.Position = 0 +' l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") +' If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then +' et_montoacredito.Text = limitcred.GetString("CAT_CL_LIMITECREDITO") +' Else +' et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito +' End If +' limitcred.Close +' Else +' GuardaVenta +' End If +' Else If pre_act = Starter.pre_viejo Then +' GuardaVenta +' End If +' Else If l_total.Text = "null" Then +' GuardaVenta +' End If +' Else If Credi.GetString("CAT_CL_BCREDITO") = "0" Then +' GuardaVenta +' End If +' Else +' Private credi2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_BCREDITO, a_abono, SALDO_PENDIENTE FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_BCREDITO, a_abono, SALDO_PENDIENTE FROM KMT_INFO2 INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") +' If credi2.RowCount > 0 Then +' credi2.Position = 0 +' Dim total As String = 0 +' For i = 0 To credi2.RowCount - 1 +' credi2.Position = i +' Log(credi2.GetString("SALDO_PENDIENTE")) +' total = total + credi2.GetString("SALDO_PENDIENTE") +' Log(total) +' Next +' If credi2.GetString ("CAT_CL_BCREDITO") = "1" And credi2.GetString ("a_abono")=total Then +' If l_total.Text <> "null" Then +' If pre_act <> Starter.pre_viejo Then +' Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) +' Wait For Msgbox_Result (resultado As Int) +' If resultado = DialogResponse.POSITIVE Then +' p_credito.Visible = True +' Dim limitcred As Cursor +' limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info2 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") +' limitcred.Position = 0 +' l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") +' If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then +' et_montoacredito.Text = limitcred.GetString("CAT_CL_LIMITECREDITO") +' Else +' et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito +' End If +' limitcred.Close +' Else +' GuardaVenta +' End If +' Else If pre_act = Starter.pre_viejo Then +' GuardaVenta +' End If +' Else If l_total.Text = "null" Then +' GuardaVenta +' End If +' Else +' GuardaVenta +' End If +' Else +' GuardaVenta +' End If +' End If +'' Credi.Close +' Else If la_cuenta.Text = 0 Then +' GuardaVenta +' End If +' Else If c.GetString("CUANTOS") = 0 Then +' GuardaVenta +' End If ' c.Close End Sub @@ -767,11 +819,13 @@ Private Sub b_acred_Click If c.GetString("REGISTRADO") = 0 Then ' MsgboxAsync("SI ENTRAMOS 3","Atención") B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA, PA_FECHA, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE) VALUES(?,?,?,?,?,?,?) ", Array As Object (ALMACEN, LA_RUTA, (sDate &" "& sTime),(sDate &" "& sTime), et_montoacredito.Text, usuario, la_cuenta.Text)) + Log("Inserto: " &" Almacen: "& ALMACEN &" Ruta: "& LA_RUTA &" Fecha: "& (sDate &" "& sTime) &"Captura: "&(sDate &" "& sTime) &" Monto: "& et_montoacredito.Text &" Usuario: "& usuario &" Cliente: "& la_cuenta.Text) GuardaVenta p_credito.Visible = False Else ' MsgboxAsync("SI ENTRAMOS4","Atención") B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PAGARES set PA_FECHA = ?, PA_CAPTURA = ?, PA_MONTO = ? where PA_CLIENTE In (select cuenta from cuentaa)", Array As Object ((sDate &" "& sTime),(sDate &" "& sTime), et_montoacredito.Text)) + Log("Actualizo: " &" Almacen: "& ALMACEN &" Ruta: "& LA_RUTA &" Fecha: "& (sDate &" "& sTime) &"Captura: "&(sDate &" "& sTime) &" Monto: "& et_montoacredito.Text &" Usuario: "& usuario &" Cliente: "& la_cuenta.Text) GuardaVenta p_credito.Visible = False End If @@ -786,11 +840,13 @@ Private Sub b_acred_Click If c.GetString("REGISTRADO") = 0 Then ' MsgboxAsync("SI ENTRAMOS","Atención") B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PAGARES (PA_ALMACEN, PA_RUTA, PA_FECHA, PA_CAPTURA, PA_MONTO, PA_USUARIO, PA_CLIENTE) VALUES(?,?,?,?,?,?,?) ", Array As Object (ALMACEN, LA_RUTA, (sDate &" "& sTime),(sDate &" "& sTime), et_montoacredito.Text, usuario, la_cuenta.Text)) + Log("Aqui hay informacion variada e inserte: " & (sDate &" "& sTime) & (sDate &" "& sTime) & (et_montoacredito.Text) & "<<<<<<<<<<<<<<<<<<<<<") GuardaVenta p_credito.Visible = False Else ' MsgboxAsync("SI ENTRAMOS 2","Atención") B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE PAGARES set PA_FECHA = ?, PA_CAPTURA = ?, PA_MONTO = ? where PA_CLIENTE In (select cuenta from cuentaa)", Array As Object ((sDate &" "& sTime),(sDate &" "& sTime), et_montoacredito.Text)) + Log("Aqui hay informacion variada y acualice: " & (sDate &" "& sTime) & (sDate &" "& sTime) & (et_montoacredito.Text) & "<<<<<<<<<<<<<<<<<<<<<") GuardaVenta p_credito.Visible = False End If @@ -820,7 +876,6 @@ Sub GuardaVenta Else GUADAVENTA2 End If - End If End Sub @@ -1026,27 +1081,66 @@ Sub b_mapa_Click End Sub Sub B_IMP_Click - - c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String("VENTA")) + ' Primero verificamos si hay una VENTA regular + c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String("VENTA")) + If c.RowCount > 0 Then + ' Si hay venta regular, la imprimimos imprime_venta - t1.Initialize("T1", 5000) ' 1000 = 1 second + t1.Initialize("T1", 5000) ' 5 segundos de espera t1.Enabled = True - Else If c.RowCount = 0 Then - s = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String("PREVENTA")) + Else + ' Si no hay venta regular, verificamos preventas + s = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE (PE_FOLIO = ? OR PE_FOLIO = ?) AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String("PREVENTA_CONTADO", "PREVENTA_CREDITO")) + If s.RowCount > 0 Then + ' Si hay preventas, las imprimimos inmediatamente imprime_preventa + Else + ' Si no hay nada que imprimir, mostramos mensaje + Msgbox("No hay registros de venta o preventa para imprimir", "Aviso") End If End If - + c.Close + If s <> Null Then s.Close End Sub -Sub t1_tick - s = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String("PREVENTA")) +Sub T1_Tick + ' Este timer se ejecuta después de imprimir una venta regular + ' para verificar si hay preventas pendientes + s = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE (PE_FOLIO = ? OR PE_FOLIO = ?) AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String("PREVENTA_CONTADO", "PREVENTA_CREDITO")) + If s.RowCount > 0 Then imprime_preventa End If + + ' Desactivamos el timer siempre t1.Enabled = False + If s <> Null Then s.Close +End Sub + +Sub TraeVendedor As String + Private pv As Cursor + Private Preventa As String = "" + pv = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'nom_usuario'") + If pv.RowCount > 0 Then + pv.Position = 0 + Preventa = pv.GetString("CAT_VA_VALOR") + End If + pv.Close + Return Preventa +End Sub + +Sub TraeNumVendedor As String + Private np As Cursor + Private Tel_Preventa As String = "" + np = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'TELEFONO'") + If np.RowCount > 0 Then + np.Position = 0 + Tel_Preventa = np.GetString("CAT_VA_VALOR") + End If + np.Close + Return Tel_Preventa End Sub Sub imprime_preventa @@ -1057,11 +1151,9 @@ Sub imprime_preventa 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 - + + Public Const eLINEFEED As String = "" & Chr(0x0D) & Chr(0x0A) + ProgressDialogShow("Imprimiendo, un momento ...") Printer1.DisConnect If Not(Printer1.IsConnected) Then @@ -1072,7 +1164,7 @@ Sub imprime_preventa Sleep(1000) Log("++++++ " & cont) cont = cont + 1 - If cont = 2 Then Printer1.Connect 'Tratamos de reconectar + If cont = 2 Then Printer1.Connect If cont > 3 Then impresoraConectada = True Loop Sleep(500) @@ -1091,250 +1183,103 @@ Sub imprime_preventa Sleep(500) impresoraConectada = False End If - + TAMANO = 0 ESPACIO = 22 BLANCO = " " -' Dim bmp As Bitmap -' bmp.InitializeResize(File.DirAssets, "mariana.jpg", 192, 250, True) 'ignore -' Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) - -' myimage = Printer1.DitherImage2D(myimage, 128) -' -' myimage= Printer1.PackImage(myimage) -' Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening -' Printer1.WriteString(Printer1.REVERSE) -' -' Printer1.PrintImage(myimage) -' Printer1.WriteString(Printer1.UNREVERSE) - -' Printer1.Justify = 1 - 'printer.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 = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA")) - - Dim siesacredi As Cursor = skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - If siesacredi.RowCount > 0 Then - Printer1.WriteString("------PREVENTA A CREDITO------" & CRLF) - End If - - If c.RowCount > 0 Then - Printer1.WriteString("-----------PREVENTA-----------" & 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=skmt.ExecQuery2("select PE_BCAJAS,PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA")) - 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 - Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) - - Else - - If s.GetString("PE_BCAJAS") = 0 Then - - - Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) -' TAMANO = s.GetLong("L_CANT") + TAMANO -' If s.GetLong("L_COSTOU") = 1 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 4 -' Else If s.GetLong("L_COSTOU") = 2 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 3 -' Else If s.GetLong("L_COSTOU") = 3 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 2 -' Else If s.GetLong("L_COSTOU") = 4 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 1 -' Else -' TAMANO = s.GetLong("L_COSTOU") + TAMANO -' End If -' -' If s.GetLong("L_COSTO_TOT") = 1 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 4 -' Else If s.GetLong("L_COSTO_TOT") = 2 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 3 -' Else If s.GetLong("L_COSTO_TOT") = 3 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 2 -' Else If s.GetLong("L_COSTO_TOT") = 4 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 1 -' Else -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO -' End If -' -' ESPACIO = ESPACIO - TAMANO -' -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -' Printer1.Justify = 0 -' Printer1.WriteString( s.GETSTRING("PE_CANT")& BLANCO) -' Printer1.Justify = 1 -' Printer1.WriteString(s.GETSTRING("PE_COSTOU")& BLANCO) -' Printer1.Justify = 2 -' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & CRLF ) - k1 = NumberFormat(s.GETSTRING("PE_COSTOU"),0,2) - k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) - - TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length - ESPACIO = 30 - BLANCO = " " - ESPACIO = ESPACIO - TAMANO - ESPACIO = ESPACIO / 2 - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next - - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) - - TAMANO = 0 - ESPACIO = 30 - BLANCO = " " -' Printer1.Justify = 0 + + Printer1.WriteString("Marquez Distribuciones" & eLINEFEED) + Printer1.WriteString(sDate & eLINEFEED) + Printer1.WriteString(sTime & eLINEFEED) + Printer1.WriteString("Vendedor: " & TraeVendedor & eLINEFEED) + Printer1.WriteString("Numero de Vendedor: " & TraeNumVendedor & eLINEFEED) + Printer1.WriteString("Tienda: " & La_nombre.Text & eLINEFEED) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & eLINEFEED) + Printer1.WriteString("Calle: " & la_Calle.Text & eLINEFEED) + Printer1.WriteString("Colonia: " & la_col.Text & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + + Dim tipos_preventa As List + tipos_preventa.Initialize + tipos_preventa.Add("PREVENTA_CREDITO") + tipos_preventa.Add("PREVENTA_CONTADO") + + For Each tipo As String In tipos_preventa + c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?", Array As String(tipo)) + + If c.RowCount > 0 Then + 'Encabezados + Dim siesacredi As Cursor = skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + Printer1.WriteString("------" & tipo & "------" & eLINEFEED) + Printer1.WriteString("Cant. Precio Importe" & eLINEFEED) + Printer1.WriteString("------------------------------" & eLINEFEED) + + 'No son promos + s=skmt.ExecQuery2("select PE_BCAJAS,PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String(tipo, Subs.traeAlmacen)) + + 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 + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & eLINEFEED) Else - Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) -' TAMANO = s.GetLong("L_CANT") + TAMANO -' If s.GetLong("L_COSTOU") = 1 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 4 -' Else If s.GetLong("L_COSTOU") = 2 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 3 -' Else If s.GetLong("L_COSTOU") = 3 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 2 -' Else If s.GetLong("L_COSTOU") = 4 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 1 -' Else -' TAMANO = s.GetLong("L_COSTOU") + TAMANO -' End If -' -' If s.GetLong("L_COSTO_TOT") = 1 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 4 -' Else If s.GetLong("L_COSTO_TOT") = 2 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 3 -' Else If s.GetLong("L_COSTO_TOT") = 3 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 2 -' Else If s.GetLong("L_COSTO_TOT") = 4 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 1 -' Else -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO -' End If -' -' ESPACIO = ESPACIO - TAMANO -' -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -' Printer1.Justify = 0 -' Printer1.Justify = 0 -' Printer1.WriteString( s.GETSTRING("PE_CANT")& BLANCO) -' Printer1.Justify = 1 -' Printer1.WriteString((s.GETSTRING("PE_COSTOU")/s.GETSTRING("PE_CANT"))& BLANCO) -' Printer1.Justify = 2 -' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & CRLF ) -' TAMANO = 0 -' ESPACIO = 22 -' BLANCO = " " - - - k1 = NumberFormat((s.GETSTRING("PE_COSTO_TOT")/s.GETSTRING("PE_CANT")),0,2) - k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) - - TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length - ESPACIO = 30 - BLANCO = " " - ESPACIO = ESPACIO - TAMANO - ESPACIO = ESPACIO / 2 - For E=0 To ESPACIO -1 - BLANCO = " " & BLANCO - Next + If s.GetString("PE_BCAJAS") = 0 Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & eLINEFEED) + k1 = NumberFormat(s.GETSTRING("PE_COSTOU"),0,2) + k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) + + TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length + ESPACIO = 30 + BLANCO = " " + ESPACIO = ESPACIO - TAMANO + ESPACIO = ESPACIO / 2 + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& eLINEFEED) + TAMANO = 0 + ESPACIO = 30 + BLANCO = " " + Else + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & eLINEFEED) + k1 = NumberFormat((s.GETSTRING("PE_COSTO_TOT")/s.GETSTRING("PE_CANT")),0,2) + k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) + + TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length + ESPACIO = 30 + BLANCO = " " + ESPACIO = ESPACIO - TAMANO + ESPACIO = ESPACIO / 2 + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next - TAMANO = 0 - ESPACIO = 30 - BLANCO = " " -' Printer1.Justify = 0 - - + Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& eLINEFEED) + TAMANO = 0 + ESPACIO = 30 + BLANCO = " " + End If End If - End If - Next - End If -' Printer1.Justify = 0 - s.Close - Printer1.WriteString(" " & CRLF) - s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA")) - If s.RowCount>0 Then - Printer1.WriteString("-------PROMOS PREVENTA--------" & 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 - Printer1.WriteString("* "& s.GetString("PE_PRONOMBRE") & CRLF) - Log("promo") - Else -' TAMANO = 0 - Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) -' TAMANO = s.GetLong("L_CANT") + TAMANO -' If s.GetLong("L_COSTOU") = 1 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 3 -' Else If s.GetLong("L_COSTOU") = 2 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 3 -' Else If s.GetLong("L_COSTOU") = 3 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 2 -' Else If s.GetLong("L_COSTOU") = 4 Then -' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 1 -' Else -' TAMANO = s.GetLong("L_COSTOU") + TAMANO -' End If -' -' If s.GetLong("L_COSTO_TOT") = 1 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 3 -' Else If s.GetLong("L_COSTO_TOT") = 2 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 3 -' Else If s.GetLong("L_COSTO_TOT") = 3 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 2 -' Else If s.GetLong("L_COSTO_TOT") = 4 Then -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO + 1 -' Else -' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO -' End If -' -' ESPACIO = ESPACIO - TAMANO -' -' For E=0 To ESPACIO -1 -' BLANCO = " " & BLANCO -' Next -'' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF ) -' Printer1.Justify = 0 -' Printer1.WriteString( s.GETSTRING("PE_CANT")& BLANCO) -' Printer1.Justify = 1 -' Printer1.WriteString(s.GETSTRING("PE_COSTOU")& BLANCO) -' Printer1.Justify = 2 -' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & CRLF ) -' TAMANO = 0 -' ESPACIO = 22 -' BLANCO = " " - + Next + End If + s.Close + + 'Son promos + Printer1.WriteString(" " & eLINEFEED) + s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, PE_COSTOU, PE_CANT * PE_COSTOU AS PE_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String(tipo, Subs.traeAlmacen)) + + If s.RowCount>0 Then + Printer1.WriteString("---PRODUCTOS EN PROMOCION---" & eLINEFEED) + Printer1.WriteString("Cant. Precio Importe" & eLINEFEED) + Printer1.WriteString("------------------------------" & eLINEFEED) + + For i=0 To S.RowCount -1 + s.Position=i k1 = NumberFormat(s.GETSTRING("PE_COSTOU"),0,2) k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) - - TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length + + TAMANO = s.GetString("PE_CANT").Length + k1.Length + k2.Length ESPACIO = 30 BLANCO = " " ESPACIO = ESPACIO - TAMANO @@ -1343,83 +1288,62 @@ Sub imprime_preventa BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & eLINEFEED) + Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2 & eLINEFEED) + Next + Printer1.WriteString(" " & eLINEFEED) + End If + s.Close + + 'Totales por tipo de preventa + s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String(tipo)) + s.Position =0 + Printer1.WriteString("Total " & tipo.ToLowerCase & ": $" & NumberFormat(s.GetString("TOTAL"),0,2) & eLINEFEED) + s.Close + + c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String(tipo)) + C.Position=0 + Printer1.WriteString("Total art. " & tipo.ToLowerCase & ": " & NumberFormat(c.GetString("PC_NOART"),0,0) & eLINEFEED) + c.Close + + 'Información adicional para crédito + If tipo = "PREVENTA_CREDITO" Then + Dim siesacredi As Cursor = skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") + If siesacredi.RowCount > 0 Then + siesacredi.Position = 0 + Dim monto As String = siesacredi.GetString("PA_MONTO") + If monto = Null Or monto = "" Then monto = "0" + Printer1.WriteString("Total a credito: $" & NumberFormat(monto, 0, 2) & eLINEFEED) + + s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String(tipo)) + s.Position =0 + Dim total As Double = IIf(s.GetString("TOTAL") = Null Or s.GetString("TOTAL") = "", 0, s.GetString("TOTAL")) + Dim paMonto As Double = IIf(siesacredi.GetString("PA_MONTO") = Null Or siesacredi.GetString("PA_MONTO") = "", 0, siesacredi.GetString("PA_MONTO")) - TAMANO = 0 - ESPACIO = 30 - BLANCO = " " -' Printer1.Justify = 0 + If total > paMonto Then + Printer1.WriteString("Total a contado: $" & NumberFormat((s.GetString("TOTAL")-siesacredi.GetString("PA_MONTO")),0,2) & eLINEFEED) + End If + s.Close End If - Next - Printer1.WriteString(" " & CRLF) + End If + + Printer1.WriteString(" " & eLINEFEED) End If - s.Close -' Printer1.Justify = 0 - s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA")) - s.Position =0 - ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then - ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) - ' End If - Printer1.WriteString("Total preventa: $" & NumberFormat( s.GetString("TOTAL"),0,2) & CRLF) - s.Close - c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String("PREVENTA")) - C.Position=0 - Printer1.WriteString("Total art. preventa: " &NumberFormat( c.GetString("PC_NOART"),0,0) & CRLF) - - c.Close - -' Printer1.WriteString(" " & CRLF) - End If - - Dim siesacredi As Cursor = skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") - If siesacredi.RowCount > 0 Then - siesacredi.Position = 0 - Printer1.WriteString("Total a credito: $" & NumberFormat( siesacredi.GetString("PA_MONTO"),0,2) & CRLF) - s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA")) - s.Position =0 - ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then - ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) - ' End If -' Printer1.WriteString("Total preventa: $" & NumberFormat( s.GetString("TOTAL"),0,2) & CRLF) - If s.GetString("TOTAL") > siesacredi.GetString("PA_MONTO") Then - Printer1.WriteString("Total a contado: $" & NumberFormat( (s.GetString("TOTAL")-siesacredi.GetString("PA_MONTO")),0,2) & CRLF) - End If - - s.Close - End If - -' Printer1.WriteString(" " & CRLF) -' Printer1.WriteString("------------------------------" & CRLF) -' -' s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") -' s.Position =0 -' ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then -' ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) -' ' End If -' Printer1.WriteString("Total: $" & s.GetString("TOTAL") & CRLF) -' s.Close -' c= skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") -' C.Position=0 -' Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & CRLF) -' c.Close - - 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) + Next + + Printer1.WriteString("------------------------------" & eLINEFEED) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & eLINEFEED) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & eLINEFEED) + Printer1.WriteString("--------INFORMATIVO-----------" & eLINEFEED) + Printer1.WriteString("------------------------------" & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) Sleep(1000) Printer1.DisConnect - + ProgressDialogHide - - + 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 @@ -1427,9 +1351,6 @@ Sub imprime_preventa Else GUADAVENTA2 End If - -' printer.Flush - ' printer.Close End Sub Sub imprime_venta @@ -1444,6 +1365,8 @@ Sub imprime_venta ' c.Position = 0 ' sucursal = c.GetString("CAT_VA_VALOR") ' c.Close + + Public Const eLINEFEED As String = "" & Chr(0x0D) & Chr(0x0A) ProgressDialogShow("Imprimiendo, un momento ...") Printer1.DisConnect @@ -1485,7 +1408,7 @@ Sub imprime_venta ' myimage = Printer1.DitherImage2D(myimage, 128) ' ' myimage= Printer1.PackImage(myimage) -' Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening +' Printer1.WriteString(eLINEFEED) ' nudge the printer to show the user something is happening ' Printer1.WriteString(Printer1.REVERSE) ' ' Printer1.PrintImage(myimage) @@ -1493,42 +1416,43 @@ Sub imprime_venta ' Printer1.Justify = 1 'printer.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) +' Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & eLINEFEED) + Printer1.WriteString("Marquez Distribuciones" & eLINEFEED) +' Printer1.WriteString(sucursal & eLINEFEED) + Printer1.WriteString(sDate & eLINEFEED) + Printer1.WriteString(sTime & eLINEFEED) + Printer1.WriteString("Vendedor: " & TraeVendedor & eLINEFEED) + Printer1.WriteString("Numero de Vendedor: " & TraeNumVendedor & eLINEFEED) + Printer1.WriteString("Tienda: " & La_nombre.Text & eLINEFEED) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & eLINEFEED) + Printer1.WriteString("Calle: " & la_Calle.Text & eLINEFEED) + Printer1.WriteString("Colonia: " & la_col.Text & eLINEFEED) +' Printer1.WriteString("C.P.: " & la_cp.Text & eLINEFEED) +' Printer1.WriteString("Entre calle1: " & l_entre1.Text & eLINEFEED) +' Printer1.WriteString("Entre Calle2: " & l_entre2.Text & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("VENTA")) If c.RowCount > 0 Then - Printer1.WriteString("-----------VENTA-----------" & CRLF) + Printer1.WriteString("-----------VENTA-----------" & eLINEFEED) -' Printer1.WriteString("--------------------------------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) +' Printer1.WriteString("--------------------------------" & eLINEFEED) + Printer1.WriteString("Cant. Precio Importe" & eLINEFEED) - Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("------------------------------" & eLINEFEED) ' 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=skmt.ExecQuery2("select PE_BCAJAS, PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", 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 - Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & eLINEFEED) Else If s.GetString("PE_BCAJAS") = 0 Then - Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & eLINEFEED) ' TAMANO = s.GetLong("L_CANT") + TAMANO ' If s.GetLong("L_COSTOU") = 1 Then ' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 4 @@ -1564,7 +1488,7 @@ Sub imprime_venta ' Printer1.Justify = 1 ' Printer1.WriteString(s.GETSTRING("PE_COSTOU")& BLANCO) ' Printer1.Justify = 2 -' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & CRLF ) +' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & eLINEFEED ) k1 = NumberFormat(s.GETSTRING("PE_COSTOU"),0,2) k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) @@ -1578,14 +1502,14 @@ Sub imprime_venta BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& eLINEFEED ) TAMANO = 0 ESPACIO = 30 BLANCO = " " ' Printer1.Justify = 0 Else - Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & eLINEFEED) ' TAMANO = s.GetLong("L_CANT") + TAMANO ' If s.GetLong("L_COSTOU") = 1 Then ' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 4 @@ -1622,7 +1546,7 @@ Sub imprime_venta ' Printer1.Justify = 1 ' Printer1.WriteString((s.GETSTRING("PE_COSTOU")/s.GETSTRING("PE_CANT"))& BLANCO) ' Printer1.Justify = 2 -' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & CRLF ) +' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & eLINEFEED ) ' TAMANO = 0 ' ESPACIO = 22 ' BLANCO = " " @@ -1641,7 +1565,7 @@ Sub imprime_venta BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& eLINEFEED ) TAMANO = 0 ESPACIO = 30 @@ -1653,20 +1577,20 @@ Sub imprime_venta End If ' Printer1.Justify = 0 s.Close - Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & eLINEFEED) s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("VENTA")) If S.RowCount>0 Then - Printer1.WriteString("-------PROMOS VENTA--------" & CRLF) - Printer1.WriteString("Cant. Precio Importe" & CRLF) - Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("-------PROMOS VENTA--------" & eLINEFEED) + Printer1.WriteString("Cant. Precio Importe" & eLINEFEED) + Printer1.WriteString("------------------------------" & eLINEFEED) For i=0 To S.RowCount -1 s.Position=i If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then - Printer1.WriteString("* "& s.GetString("PE_PRONOMBRE") & CRLF) + Printer1.WriteString("* "& s.GetString("PE_PRONOMBRE") & eLINEFEED) Log("promo") Else ' TAMANO = 0 - Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & eLINEFEED) ' TAMANO = s.GetLong("L_CANT") + TAMANO ' If s.GetLong("L_COSTOU") = 1 Then ' TAMANO = s.GetLong("L_COSTOU") + TAMANO + 3 @@ -1697,13 +1621,13 @@ Sub imprime_venta ' For E=0 To ESPACIO -1 ' BLANCO = " " & BLANCO ' Next - '' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF ) + '' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & eLINEFEED ) ' Printer1.Justify = 0 ' Printer1.WriteString( s.GETSTRING("PE_CANT")& BLANCO) ' Printer1.Justify = 1 ' Printer1.WriteString(s.GETSTRING("PE_COSTOU")& BLANCO) ' Printer1.Justify = 2 -' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & CRLF ) +' Printer1.WriteString(s.GETSTRING("PE_COSTO_TOT") & eLINEFEED ) ' TAMANO = 0 ' ESPACIO = 22 ' BLANCO = " " @@ -1720,7 +1644,7 @@ Sub imprime_venta BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& eLINEFEED ) TAMANO = 0 ESPACIO = 30 @@ -1728,7 +1652,7 @@ Sub imprime_venta ' Printer1.Justify = 0 End If Next - Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & eLINEFEED) End If s.Close ' Printer1.Justify = 0 @@ -1737,50 +1661,50 @@ Sub imprime_venta ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) ' End If - Printer1.WriteString("Total venta: $" & NumberFormat( s.GetString("TOTAL"),0,2) & CRLF) + Printer1.WriteString("Total venta: $" & NumberFormat( s.GetString("TOTAL"),0,2) & eLINEFEED) s.Close c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String("VENTA")) C.Position=0 - Printer1.WriteString("Total art. venta: " &NumberFormat( c.GetString("PC_NOART"),0,0) & CRLF) + Printer1.WriteString("Total art. venta: " &NumberFormat( c.GetString("PC_NOART"),0,0) & eLINEFEED) c.Close -' Printer1.WriteString(" " & CRLF) +' Printer1.WriteString(" " & eLINEFEED) End If -' Printer1.WriteString(" " & CRLF) -' Printer1.WriteString("------------------------------" & CRLF) +' Printer1.WriteString(" " & eLINEFEED) +' Printer1.WriteString("------------------------------" & eLINEFEED) ' ' s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") ' s.Position =0 ' ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then ' ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) ' ' End If -' Printer1.WriteString("Total: $" & s.GetString("TOTAL") & CRLF) +' Printer1.WriteString("Total: $" & s.GetString("TOTAL") & eLINEFEED) ' s.Close ' c= skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") ' C.Position=0 -' Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & CRLF) +' Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & eLINEFEED) ' c.Close - 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) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString("------------------------------" & eLINEFEED) +' Printer1.WriteString("ENTREGA EN :" & eLINEFEED) +' Printer1.WriteString(la_Calle.Text & eLINEFEED) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & eLINEFEED) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & eLINEFEED) + Printer1.WriteString("--------INFORMATIVO-----------" & eLINEFEED) + Printer1.WriteString("------------------------------" & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) Sleep(1000) Printer1.DisConnect ProgressDialogHide - s = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String("PREVENTA")) + s = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE (PE_FOLIO = ? OR PE_FOLIO = ?) AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String("PREVENTA_CREDITO", "PREVENTA_CONTADO")) If s.RowCount = 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) @@ -2637,6 +2561,8 @@ Sub imprime_pagare sTime=DateTime.Time(DateTime.Now) c.Close + Public Const eLINEFEED As String = "" & Chr(0x0D) & Chr(0x0A) + ProgressDialogShow("Imprimiendo, un momento ...") Printer1.DisConnect If Not(Printer1.IsConnected) Then @@ -2671,16 +2597,16 @@ Sub imprime_pagare ESPACIO = 22 BLANCO = " " - 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(" " & CRLF) + Printer1.WriteString("Marquez Distribuciones" & eLINEFEED) +' Printer1.WriteString(sucursal & eLINEFEED) + Printer1.WriteString(sDate & eLINEFEED) + Printer1.WriteString(sTime & eLINEFEED) + Printer1.WriteString("Vendedor:" & usuario & eLINEFEED) + Printer1.WriteString("Tienda: " & La_nombre.Text & eLINEFEED) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & eLINEFEED) + Printer1.WriteString("Calle: " & la_Calle.Text & eLINEFEED) + Printer1.WriteString("Colonia: " & la_col.Text & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) Dim notaabono As String Dim saldopendiente As String c = Starter.skmt.ExecQuery("SELECT NOTA, DIA_VENCIMIENTO, SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)") @@ -2703,34 +2629,34 @@ Sub imprime_pagare ' End If Log(notaabono) Log(et_abono.Text) - Printer1.WriteString("Comprobante de pago del pagare" & CRLF) + Printer1.WriteString("Comprobante de pago del pagare" & eLINEFEED) - Printer1.WriteString("Folio: " & notaabono & CRLF) + Printer1.WriteString("Folio: " & notaabono & eLINEFEED) - Printer1.WriteString("Monto deuda: " & (NumberFormat(saldopendiente,0,2)) & CRLF) + Printer1.WriteString("Monto deuda: " & (NumberFormat(saldopendiente,0,2)) & eLINEFEED) - Printer1.WriteString("Monto abono: " & (NumberFormat(et_abono.Text,0,2)) & CRLF) + Printer1.WriteString("Monto abono: " & (NumberFormat(et_abono.Text,0,2)) & eLINEFEED) - Printer1.WriteString("Restante: " &(NumberFormat(saldopendiente-et_abono.Text,0,2)) & CRLF) + Printer1.WriteString("Restante: " &(NumberFormat(saldopendiente-et_abono.Text,0,2)) & eLINEFEED) - Printer1.WriteString("Fecha Abono: " & sDate & CRLF) + Printer1.WriteString("Fecha Abono: " & sDate & eLINEFEED) - Printer1.WriteString("Fecha vencimiento: " & fechatabulador3 & CRLF) + Printer1.WriteString("Fecha vencimiento: " & fechatabulador3 & eLINEFEED) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) - Printer1.WriteString("------------------------------" & CRLF) - Printer1.WriteString("-------------FIRMA------------" & CRLF) + Printer1.WriteString("------------------------------" & eLINEFEED) + Printer1.WriteString("-------------FIRMA------------" & eLINEFEED) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) - Printer1.WriteString(" " & CRLF) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) + Printer1.WriteString(" " & eLINEFEED) Sleep(1000) Printer1.DisConnect @@ -2741,26 +2667,29 @@ Sub imprime_pagare Wait For Msgbox_Result (resultado As Int) If resultado = DialogResponse.POSITIVE Then imprime_pagare - Else - h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA") - h.Position = 0 - Log(h.GetString("CUENTA")) - j = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) - j.position = 0 - If j.RowCount = 0 Then - p_abono.Visible = False + Else + h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA") + h.Position = 0 + Log(h.GetString("CUENTA")) + + j = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(h.GetString("CUENTA"))) + j.position = 0 + If j.RowCount = 0 Then + p_abono.Visible = False - skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) - ToastMessageShow("Abono guardado", False) - et_abono.Text = "" - Else - p_abono.Visible = False + skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) + ToastMessageShow("Abono guardado", False) + et_abono.Text = "" + B4XPage_Appear + Else + p_abono.Visible = False ' skmt.ExecNonQuery($"INSERT INTO ABONOS(a_usuario, a_ruta, a_cliente, a_abono, a_fecha) VALUES ('${Subs.traeUsuarioDeBD}', '${Subs.traeRuta(Subs.traeCliente)}', '${Subs.traeCliente}' ,'${et_abono.text}', '${Subs.fechaKMT(DateTime.now)}')"$) - skmt.ExecNonQuery($"UPDATE ABONOS set a_abono = '${et_abono.text}' where a_usuario = '${Subs.traeUsuarioDeBD}' and a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' and a_cliente In (select cuenta from cuentaa)"$) - ToastMessageShow("Abono guardado", False) - et_abono.Text = "" - End If + skmt.ExecNonQuery($"UPDATE ABONOS set a_abono = '${et_abono.text}' where a_usuario = '${Subs.traeUsuarioDeBD}' and a_ruta = '${Subs.traeRuta(Subs.traeCliente)}' and a_cliente In (select cuenta from cuentaa)"$) + ToastMessageShow("Abono guardado", False) + et_abono.Text = "" + B4XPage_Appear + End If End If @@ -2774,4 +2703,5 @@ End Sub Private Sub b_ubicar_Click StartActivity(MAPA_CLIENTE) -End Sub \ No newline at end of file +End Sub + diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas index e2b1058..292b913 100644 --- a/B4A/C_Clientes.bas +++ b/B4A/C_Clientes.bas @@ -7,7 +7,6 @@ Version=11.5 Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore - ' Dim skmt As SQL Dim c As Cursor Dim c2 As Cursor @@ -24,7 +23,6 @@ Sub Class_Globals ' Dim sc As Zxing_scanner Dim CODIGO As String Dim STIME As String - Dim ruta As String Dim q_buscar As String Private p_clientes As Panel @@ -91,7 +89,6 @@ Sub B4XPage_Appear cxc.Visible = True End If - d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("CAT_CL_CODIGO")}'"$) ' LogColor(d.RowCount,Colors.Blue) If d.RowCount > 0 Then @@ -217,7 +214,6 @@ Sub BUSCA_TextChanged (Old As String, New As String) cxc.Visible = True End If - d = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info WHERE CAT_CL_CODIGO = '${c2.GetString("CAT_CL_CODIGO")}'"$) ' LogColor(d.RowCount,Colors.Blue) If d.RowCount > 0 Then @@ -234,7 +230,6 @@ Sub BUSCA_TextChanged (Old As String, New As String) End If Next - If c2.RowCount>0 Then For i=0 To c2.RowCount -1 c2.Position=i @@ -283,7 +278,6 @@ Sub BUSCA_TextChanged (Old As String, New As String) End If Next - If c2.RowCount>0 Then For i=0 To c2.RowCount -1 c2.Position=i @@ -400,7 +394,6 @@ Private Sub p_datosclie_Click B4XPages.ShowPage("Cliente") End If - ' Log(Sender.As(Panel).tag) End Sub diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index 8eabb78..a5ce851 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -99,15 +99,20 @@ Sub GUARDA_Click For i=0 To c.RowCount -1 c.Position=i B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Subs.borraPedidoClienteActual Next End If ' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") ' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") - - B4XPages.MainPage.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)) - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Dim cRevisa As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT distinct NV_CLIENTE FROM NOVENTA WHERE NV_CLIENTE = '${cuenta}'"$) + If cRevisa.RowCount > 0 Then + cRevisa.Position = 0 + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Else + B4XPages.MainPage.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)) + End If DateTime.TimeFormat = "HHmmss" sTime=DateTime.Time(DateTime.Now) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime)) diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index ddd9e6d..f38fd65 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -62,73 +62,111 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear + ' Verificar si el GPS está encendido If Not(Starter.gps.GPSEnabled) Then ToastMessageShow("Es necesario tener el GPS encendido", True) StartActivity(Starter.gps.LocationSettingsIntent) End If - c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") - C.Position =0 - almacen = C.GetString("ID_ALMACEN") - C.Close - L_CANT.Text ="" - L_TOTAL.Text="" - c=B4XPages.MainPage.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)") - C.Position=0 - Existe = C.GetString("EXISTE") - C.Close - c=B4XPages.MainPage.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_PRONOMBRE") + + ' Obtener el ID del almacén + c = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + If c.RowCount > 0 Then + c.Position = 0 + almacen = c.GetString("ID_ALMACEN") + End If + c.Close + + ' Limpiar los campos de cantidad y total + L_CANT.Text = "" + L_TOTAL.Text = "" + + ' Verificar si existen pedidos para el cliente + c = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS EXISTE FROM pedido_cliente WHERE pc_cliente IN (SELECT CUENTA FROM cuentaa)") + If c.RowCount > 0 Then + c.Position = 0 + Existe = c.GetString("EXISTE") + End If + c.Close + + ' Obtener los pedidos del cliente + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM cuentaa) ORDER BY PE_CEDIS, PE_PRONOMBRE") ListView1.Clear vamoaver.Initialize Private cs As CSBuilder - If c.RowCount>0 Then - For i=0 To c.RowCount -1 + + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 cs.Initialize - c.Position=i + c.Position = i Dim label1 As Label label1 = ListView1.TwoLinesLayout.Label label1.TextSize = 15 - label1.TextColor = Colors.Black - label1.color = Colors.White - Private textColor As Int = Colors.black - If c.GetString("PE_FOLIO") = "VENTA" Then - textColor = Colors.RGB(48,3,195) - Else If c.GetString("PE_FOLIO") = "PREVENTA" Or c.GetString("PE_FOLIO") = "ABORDO" Or c.GetString("PE_FOLIO") = "RECARGA" Then - textColor = Colors.RGB(166,0,0) + label1.TextColor = Colors.Black + label1.Color = Colors.White + + Private textColor As Int = Colors.Black + Dim folio As String = c.GetString("PE_FOLIO") + + ' Asignar colores según el tipo de folio + If folio = "VENTA" Then + textColor = Colors.RGB(48, 3, 195) + Else If folio = "PREVENTA_CONTADO" Or folio = "ABORDO" Or folio = "RECARGA" Then + textColor = Colors.RGB(166, 0, 0) + Else If folio = "PREVENTA_CREDITO" Then + textColor = Colors.RGB(0, 128, 0) End If - If Not(IsNumber(c.GetString("PE_CEDIS"))) And c.GetString("PE_FOLIO") = "VENTA" Then - textColor = Colors.RGB(154,131,231) 'Si es promo, cambiamos el color del texto. - Else If Not(IsNumber(c.GetString("PE_CEDIS"))) And c.GetString("PE_FOLIO") = "PREVENTA" Then - textColor = Colors.RGB(255,111,111) 'Si es promo, cambiamos el color del texto. + + ' Cambiar el color si es una promoción + If Not(IsNumber(c.GetString("PE_CEDIS"))) And folio = "VENTA" Then + textColor = Colors.RGB(154, 131, 231) + Else If Not(IsNumber(c.GetString("PE_CEDIS"))) And folio = "PREVENTA_CONTADO" Then + textColor = Colors.RGB(255, 111, 111) + Else If Not(IsNumber(c.GetString("PE_CEDIS"))) And folio = "PREVENTA_CREDITO" Then + textColor = Colors.RGB(120,178,108) End If + Dim label2 As Label label2 = ListView1.TwoLinesLayout.SecondLabel label2.TextSize = 10 label2.TextColor = Colors.Blue - ListView1.AddTwoLines(cs.Color(textColor).append(c.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO")) - folio = c.GetString("PE_FOLIO") - vamoaver.Add(c.GetString("PE_FOLIO")) + + ' Agregar el ítem a la lista +' ListView1.AddTwoLines(cs.Color(textColor).append(c.GetString("PE_PRONOMBRE")).pop, "Cantidad #" & c.GetString("PE_CANT") & " SubTotal $" & c.GetString("PE_COSTO_TOT") & " Folio " & folio ) + ListView1.AddSingleLine(cs.Color(textColor).Size(12).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(8).Color(Colors.Blue).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll) + + vamoaver.Add(folio) Next End If + Log($"EXISTE: ${Existe}"$) -' If Existe <> 0 Then -' c=B4XPages.MainPage.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") - c = B4XPages.MainPage.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) ") + + ' Calcular la cantidad total y el monto total + c = B4XPages.MainPage.skmt.ExecQuery("SELECT IFNULL(SUM(IFNULL(PE_CANT,0)),0) AS PC_NOART, SUM(IFNULL(PE_COSTO_TOT,0)) AS PC_MONTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)") If c.RowCount > 0 Then - C.Position = 0 + c.Position = 0 Log($"registros: ${c.RowCount}, arts: ${c.GetString("PC_NOART")}, monto:${c.GetString("PC_MONTO")}"$) L_CANT.Text = c.GetString("PC_NOART") L_TOTAL.Text = c.GetString("PC_MONTO") If L_CANT.Text = Null Or L_CANT.Text = "null" Or L_CANT.Text = "" Then L_CANT.Text = "0" If L_TOTAL.Text = Null Or L_TOTAL.Text = "null" Or L_TOTAL.Text = "" Then L_TOTAL.Text = "0" c.Close - c=B4XPages.MainPage.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") - c.Position=0 - DESC = c.GetString("DESCUENTO") - b_desc.Visible = False + + ' Obtener el descuento total + c = B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM cuentaa)") + If c.RowCount > 0 Then + c.Position = 0 + DESC = c.GetString("DESCUENTO") + b_desc.Visible = False + End If + c.Close End If -' End If -' If Subs.pedidoGuardado Then borra.Enabled = False Else borra.Enabled = True + ' Habilitar o deshabilitar el botón de borrar + If Subs.pedidoGuardado Then + borra.Enabled = False + Else + borra.Enabled = True + End If End Sub Sub Activity_Pause (UserClosed As Boolean) @@ -152,36 +190,147 @@ Private Sub B4XPage_CloseRequest As ResumableSub End Sub Sub borra_Click -' If folio <> "" Then - result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore - If result = DialogResponse.POSITIVE Then -' c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") -' If c.RowCount>0 Then -' For i=0 To c.RowCount -1 -' c.Position=i -' B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) -' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) + Log("Entre al btn borrar") + result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") + Log($"select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa)"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) + Next + End If + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + B4XPage_Appear + End If +End Sub + +'Sub ListView1_ItemLongClick (Position As Int, Value As Object) +' Log(Value) +'' If Not(Subs.pedidoGuardado) Then +' result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore +' If result = DialogResponse.POSITIVE Then +' c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO,PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) +' c.Position=0 +' Log(vamoaver.Get(Position)) +' If vamoaver.Get(Position) = "VENTA" Then +' Log("CAT_GUNAPROD2") +' Log(Position) +' Log(Value) +' Starter.tabla = "CAT_GUNAPROD2" +' Else +' Log("CAT_GUNAPROD") +' Log(Position) +' Log(Value) +' Starter.tabla = "CAT_GUNAPROD" +' End If +'' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) +' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) +' c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) +' c2.Position=0 +' Log(c2.GetString("CUANTOS")) +' If c2.GetString("CUANTOS") > 0 Then +' +' j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?) and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String(Value)) +' Log(j3.RowCount) +' If j3.RowCount > 0 Then +' Log("estoy aqui") +' For i = 0 To j3.RowCount -1 +' Log("aqui tronare?") +' j3.Position = i +' +' If vamoaver.get(Position) = "VENTA" Then +' Log("Entre aqui?") +' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) +'' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) +' Log("Aqui borro pedido 1") +' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis <> ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Subs.traeAlmacen, c.GetString("PE_FOLIO"))) +' Else +' Log("Esto es Folio: " & vamoaver.get(Position) & "Esto es cedis: " & Subs.traeAlmacen) +' B4XPages.MainPage.skmt.ExecNonQuery($"update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) +' B4XPages.MainPage.skmt.ExecNonQuery($"update cat_gunaprod4 set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) +' Log("Aqui borro pedido 2") +' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis <> ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Subs.traeAlmacen, c.GetString("PE_FOLIO"))) +' End If ' Next ' End If -' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") -' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") +' j3.Close +' Else +' Log("Esto no es una promo") +' If vamoaver.get(Position) = "VENTA" Then +' Log("Esto no es una promo") +' B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD2 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) +' Log("Aqui borro pedido 3") +' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis = ? and pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Subs.traeAlmacen, Value, vamoaver.Get(Position))) +' Else +' Log("Esto no es una promo") +' Log("Esto es Folio: " & vamoaver.get(Position) & "Esto es cedis: " & Subs.traeAlmacen & "Esto es nombre: " & Value) +' B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) +' B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) +' Log("Aqui borro pedido 4") +' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis = ? and pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Subs.traeAlmacen, Value, vamoaver.Get(Position))) +' End If +'' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) +'' B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) +' End If +' c.Close +' c2.Close +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") +' c.Position=0 +' clie_id = c.GetString("CUENTA") +' c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") +' c.Position=0 +' usuario = c.GetString("USUARIO") +' c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") +' c.Position=0 +' If c.GetString("CUANTOS") > 0 Then +' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") +' B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) 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)) ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - Subs.borraPedidoClienteActual - B4XPage_Appear - B4XPages.MainPage.productos.clv_prods_ll.Clear - End If -' Else -' Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore +' Else +' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") +' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") +' End If +' B4XPage_Appear ' End If -End Sub +'' Else +'' ToastMessageShow("Pedido guardado, NO se puede editar.",False) +'' End If +'End Sub Sub ListView1_ItemLongClick (Position As Int, Value As Object) Log(Value) -' If Not(Subs.pedidoGuardado) Then + Private X() As String = Regex.Split(" ", Value) + Private nom As String = "" + For i = 0 To X.Length -1 + If X(i).Contains(CRLF) Then + End If + If Not(X(i).Contains(CRLF)) Then + nom = nom & " " & X(i) + Else + Exit + End If + Next + nom = nom.Trim + Log(nom) + Private cedis As String = X(X.Length-1) + Log(cedis) result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If result = DialogResponse.POSITIVE Then - c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) - c.Position=0 + Log("|" &nom & "|") + Log("|" & cedis & "|") + Log("|" & Subs.traeCliente & "|") + Private y As Cursor =B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = '${nom.TRIM}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = '${cedis}' "$) + Log($"select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = '${nom}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = '${cedis}' "$) + Log(y.RowCount) + y.Position=0 Log(vamoaver.Get(Position)) If vamoaver.Get(Position) = "VENTA" Then Log("CAT_GUNAPROD2") @@ -194,30 +343,45 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) Log(Value) Starter.tabla = "CAT_GUNAPROD" End If -' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) - c2.Position=0 - Log(c2.GetString("CUANTOS")) - If c2.GetString("CUANTOS") > 0 Then - j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?)",Array As String(Value)) - Log(j3.RowCount) - If j3.RowCount > 0 Then - Log("estoy aqui") - For i = 0 To j3.RowCount -1 - Log("aqui tronare?") - j3.Position = i - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) - Next - End If - j3.Close - Else - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) + + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,y.GetString("PE_PROID"),y.GetString("PE_CANT")* -1)) + Log(cedis) + Log(Subs.traeAlmacen) + If cedis <> Subs.traeAlmacen Then + j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_CEDIS = ?)",Array As String(nom,cedis)) + Log(j3.RowCount) + If j3.RowCount > 0 Then + Log("Soy promo") + For j = 0 To j3.RowCount -1 + Log("aqui tronare?") + + j3.Position = j + Log(j3.GetString("PE_CANT")) + Log($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + '${j3.GetString("PE_CANT")}' where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + If vamoaver.Get(Position) = "PREVENTA_CREDITO" Then + Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO"))) + Else + Starter.skmt.ExecNonQuery($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO"))) + + End If + Next End If - c.Close - c2.Close + j3.Close + Else + Log(y.GetString("PE_CANT")) + Log(y.Getstring("PE_PROID")) + Log("Esto no es promo") + If vamoaver.Get(Position) = "PREVENTA_CREDITO" Then + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen + ${y.GetString("PE_CANT")} where cat_gp_id = '${y.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position))) + Else + B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${y.GetString("PE_CANT")} where cat_gp_id = '${y.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position))) + End If + End If + y.Close DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) @@ -239,9 +403,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) End If B4XPage_Appear End If -' Else -' ToastMessageShow("Pedido guardado, NO se puede editar.",False) -' End If + End Sub Sub b_desc_Click diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index e9ee6d9..6c4bbdb 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -571,7 +571,28 @@ Sub B4XPage_Appear ' Log(d.GetString("CAT_GP_NOMBRE")) ' Next ' d.Close + '----------------------------- + Dim fg As Cursor = Starter.skmt.ExecQuery("SELECT IFNULL(SUM(CASE WHEN PE_FOLIO = 'PREVENTA_CREDITO' THEN PE_COSTO_TOT ELSE 0 END), 0) AS COSTO_CRED, IFNULL(SUM(CASE WHEN PE_FOLIO = 'PREVENTA_CONTADO' THEN PE_COSTO_TOT ELSE 0 END), 0) AS COSTO_CONTADO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO IN ('PREVENTA_CREDITO', 'PREVENTA_CONTADO')") + + fg.Position = 0 + Dim COSTO_CRED As Double = fg.GetDouble("COSTO_CRED") + Dim COSTO_CONTADO As Double = fg.GetDouble("COSTO_CONTADO") + + Log("Costo Crédito: " & COSTO_CRED & "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") + Log("Costo Contado: " & COSTO_CONTADO & "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") + + If COSTO_CRED > 0 And COSTO_CRED < 1000 Then + Msgbox2Async($"Se ha detectado venta a crédito menor a $1000 pesos. ¿Desea borrarla?"$, "Venta Mínima de Crédito", "Sí", "", "", LoadBitmap(File.DirAssets, "alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + Subs.borraPedidoCredito + End If + End If + + fg.Close + + '----------------------------- End Sub Sub Subir_Click @@ -768,14 +789,18 @@ Sub Subir_Click c.Position = i Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_pedido2_MARQUEZ" 'CON TOTALES INCLUIDOS + cmd.Name = "insert_pedido4_MARQUEZ" 'CON TOTALES INCLUIDOS Log(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")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN) - 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS")) + If c.GetString("PE_FOLIO") = "PREVENTA_CONTADO" Then + 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"), 0) + Else If c.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then + 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"PREVENTA",c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),1) + Else If c.GetString("PE_FOLIO") = "ABORDO" Then + 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"ABORDO",c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),0) + Else + 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"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),"VENTA",c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),0) + End If reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) -' Log($">>>> INS_PEDIDO= ${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")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$) -' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS -' 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"),c.GetString("PE_FOLIO")) -' reqManager.ExecuteCommand(cmd , "ins_pedido") Next End If c.Close @@ -1005,6 +1030,7 @@ Sub cargar_Click B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod") B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod2") B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod3") + B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod4") B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") B4XPages.MainPage.skmt.ExecNonQuery("delete from telefonos") B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_VENTAS") @@ -1119,6 +1145,16 @@ Sub cargar_Click cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos") + cmd.Initialize + cmd.Name = "select_nom_user_MARQUEZ" + cmd.Parameters = Array As Object(usuario) + reqManager.ExecuteQuery(cmd , 0, "nom_user") + + cmd.Initialize + cmd.Name = "select_telefono_MARQUEZ" + cmd.Parameters = Array As Object(usuario) + reqManager.ExecuteQuery(cmd , 0, "telefono") + ' cmd.Initialize ' cmd.Name = "select_HIST_MARCAS_CUOTAS_INTMEX" @@ -1642,14 +1678,16 @@ Sub JobDone(Job As HttpJob) 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_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)) - B4XPages.MainPage.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_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)) +' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD4(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) 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)) + Dim CAT_GP_NOMBRE As String = CAT_GP_NOMBRE.Trim + B4XPages.MainPage.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_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)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD4(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 Listo2=1 If PB2.Progress = 0 Then @@ -1693,7 +1731,8 @@ Sub JobDone(Job As HttpJob) 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)) - B4XPages.MainPage.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)) + Dim CAT_GP_NOMBRE As String = CAT_GP_NOMBRE.Trim + B4XPages.MainPage.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 End If End If @@ -1723,8 +1762,9 @@ Sub JobDone(Job As HttpJob) Dim CAT_DP_CONVERSION1 As Int = records(RESULT.Columns.Get("CAT_DP_CONVERSION1")) ' CAT_GP_INICIATIVA = 5 + Dim CAT_GP_NOMBRE As String = CAT_GP_NOMBRE.Trim ' 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)) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(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)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(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 Listo2=1 If PB2.Progress = 0 Then @@ -1766,8 +1806,10 @@ Sub JobDone(Job As HttpJob) CAT_GP_ALMACEN = 60 End If ' Log("XXXXXXX gunaprodp XXXXXXXXX " & CAT_GP_ID & "|" & CAT_GP_IMP1 & "|" & CAT_GP_IMP2) - B4XPages.MainPage.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_TIPOPROD) 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)) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(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) 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)) + Dim CAT_GP_NOMBRE As String = CAT_GP_NOMBRE.Trim + B4XPages.MainPage.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_TIPOPROD) 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)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(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) 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)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD4(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) 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)) Next If PB2.Progress = 0 Then PB2.Progress = 30 @@ -1810,8 +1852,10 @@ Sub JobDone(Job As HttpJob) Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) Log("XXXXXXXX gunaprodps XXXXXXXX " & records(RESULT.Columns.Get("CAT_GP_ID")) & "|" & records(RESULT.Columns.Get("CAT_GP_IMP1"))) - B4XPages.MainPage.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_TIPOPROD) 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)) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(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) 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)) + Dim CAT_GP_NOMBRE As String = CAT_GP_NOMBRE.Trim + B4XPages.MainPage.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_TIPOPROD) 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)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(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) 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)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD4(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) 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)) Next If PB2.Progress = 0 Then PB2.Progress = 30 @@ -2122,6 +2166,37 @@ 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 = "telefono" Then 'query tag + + For Each records() As Object In RESULT.Rows + Dim TELEFONO As String = "" + + If RESULT.Columns.Get("CAT_LO_IDTELEFONO") <> Null Then + Dim index As Int = RESULT.Columns.Get("CAT_LO_IDTELEFONO") + If records(index) <> Null Then + TELEFONO = records(index) + End If + End If + + If TELEFONO <> "" Then + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As Object("TELEFONO")) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object("TELEFONO", TELEFONO)) + End If + Next + End If + End If + + If resultado.Tag = "nom_user" Then + For Each records() As Object In resultado.Rows + Dim nombre_user As String = records(resultado.Columns.Get("CAT_LO_NOMBRE")) + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As Object ("nom_usuario")) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("nom_usuario", nombre_user)) + Next + End If + Job.Release End Sub @@ -2234,6 +2309,7 @@ Sub e_ruta_EnterPressed B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod") B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod2") B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod3") + B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod4") B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_VENTAS") B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_VERIFICACION") @@ -2422,6 +2498,7 @@ Sub B_OK_PAS_Click B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod") B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod2") B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod3") + B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod4") B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") B4XPages.MainPage.skmt.ExecNonQuery("delete from telefonos") B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_VENTAS") @@ -2861,8 +2938,6 @@ Private Sub p_mandaInfo_Click End Sub - - Private Sub iv_abordo_Click Starter.skmt.ExecNonQuery("delete from CUENTAA") Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 72f274b..c57761c 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -143,12 +143,19 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear - If B4XPages.MainPage.tipo_venta = "PREVENTA" Or B4XPages.MainPage.tipo_venta = "ABORDO" Then + Log(B4XPages.MainPage.tipo_venta) + If B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO" Or B4XPages.MainPage.tipo_venta = "ABORDO" Then Starter.tabla = "CAT_GUNAPROD" + Log("1") Else If B4XPages.MainPage.tipo_venta = "VENTA" Then Starter.tabla = "CAT_GUNAPROD2" + Log(2) Else If B4XPages.MainPage.tipo_venta = "RECARGA" Then - Starter.tabla = "CAT_GUNAPROD3" + Starter.tabla = "CAT_GUNAPROD" + Log(3) + Else If B4XPages.MainPage.tipo_venta = "PREVENTA_CREDITO" Then + Starter.tabla = "CAT_GUNAPROD4" + Log(4) End If Log(Starter.tabla) clienteId = Subs.traeCliente @@ -200,12 +207,18 @@ Sub B4XPage_Appear Private hayPromos As Boolean = False If c2.RowCount > 0 Then Log("Esto es un conteo --->"&c2.RowCount) 'Isaac - For i=0 To c2.RowCount -1 + For i = 0 To c2.RowCount - 1 c2.Position = i - Log("Esto es i----->"& i)'Isaac + Log("Esto es i----->" & i) 'Isaac Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) - If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. - hayPromos = True + + ' Verificar si tm es null antes de acceder a sus valores + If tm <> Null Then + If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. + hayPromos = True + End If + Else + Log("El Map devuelto por procesaPromocion es null") End If Next If hayPromos Then lv_catalogos.AddSingleLine("PROMOS") @@ -250,9 +263,6 @@ Sub B4XPage_Appear PCLV.B4XSeekBar1.mBase.Height=clv_prods_ll.AsView.Height PCLV.pnlOverlay.Height = clv_prods_ll.AsView.Height PCLV.B4XSeekBar1.Update - - - End Sub Sub PCLV_AddProds @@ -292,17 +302,20 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) label14.TextColor = Colors.Black lfila.text = "PROMOS" - - ' c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Starter.tabla} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )"$, Array As String(Value, Value, Value)) c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Starter.tabla} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )"$, Array As String(Value, Value)) ' Log($"res:${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$) If c2.RowCount > 0 Then - For i=0 To c2.RowCount -1 - c2.Position=i + For i = 0 To c2.RowCount - 1 + c2.Position = i Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) - If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. - lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) + + If tm <> Null Then + If tm.Get("status") = "ok" Then + lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"), "# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) + End If + Else + Log("El Map devuelto por procesaPromocion es null para el producto: " & c2.GetString("CAT_GP_NOMBRE")) End If Next Else @@ -664,55 +677,124 @@ Sub b_prodMas_Click ' Log((Subs.totalPedido - precio > 1)) ' Log((Subs.totalPedido)) ' Log(precio) + Log(B4XPages.MainPage.tipo_venta) + Log(B4XPages.MainPage.cliente.credito_diponible) LogColor(laCant.Text,Colors.Red) - If Subs.traeinventario(id) > 0 And (laCant.Text <= (laCant.Text + Subs.traeinventario(id))) Then 'And (Subs.totalPedido - precio > 1) + If B4XPages.MainPage.tipo_venta = "PREVENTA_CREDITO" Then + + Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + fg.Position = 0 + + If fg.GetString("COSTO") + precio <= B4XPages.MainPage.cliente.credito_diponible Then + + If Subs.traeinventario(id) > 0 And (laCant.Text <= (laCant.Text + Subs.traeinventario(id))) Then 'And (Subs.totalPedido - precio > 1) ' Log(clv_prods_ll.GetValue(index).As(Map)) - clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - 1)) - inv = inv - 1 + clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - 1)) + inv = inv - 1 ' laCant.Text = $"$1.0{laCant.Text+1}"$ - laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False) + laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False) ' Log(clv_prods_ll.GetValue(index).As(Map)) - End If - Private nombreX As String = Subs.traeProdNombre(id) + End If + Private nombreX As String = Subs.traeProdNombre(id) ' Subs.actualizaProducto(Subs.traeAlmacen, laCant.text, id, clienteId) - If laCant.Text > 0 Then - panelcajas.Visible = False - Else If laCant.Text = 0 Then - panelcajas.Visible = True - End If + If laCant.Text > 0 Then + panelcajas.Visible = False + Else If laCant.Text = 0 Then + panelcajas.Visible = True + End If - LogColor(laCant.Text,Colors.Red) + LogColor(laCant.Text,Colors.Red) ' If laCant2.IsInitialized Then ' totalcajasmaspiezas = laCant.Text + laCant2.Text ' Else ' totalcajasmaspiezas = laCant.Text ' End If - Subs.actualizaProducto(Subs.traeAlmacen, precio, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) - cuentaProds + + + Subs.actualizaProducto(Subs.traeAlmacen, precio, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) + cuentaProds ' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" - If o.RowCount > 0 Then - o.Position = 0 - invActualizado = o.GetString("CAT_GP_ALMACEN") - End If - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas As Int = 0 - Log("cajas a 0") - Else - Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If - If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall + If 1 = 1 Then + Private cs As CSBuilder + cs.Initialize + Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) + Private invActualizado As String = "0" + If o.RowCount > 0 Then + o.Position = 0 + invActualizado = o.GetString("CAT_GP_ALMACEN") + End If + If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then + Private maxcajas As Int = 0 + Log("cajas a 0") + Else + Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") + Log("cajas no a 0") + End If + If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall ' Log(lProdX.Text) - End If - invTotal = totalcajasmaspiezas + Subs.traeinventario(id) + End If + invTotal = totalcajasmaspiezas + Subs.traeinventario(id) ' LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red) + Else + MsgboxAsync("No se puede meter mas venta a credito por que supera el limite del credito","Atencion") + End If + Else + + If Subs.traeinventario(id) > 0 And (laCant.Text <= (laCant.Text + Subs.traeinventario(id))) Then 'And (Subs.totalPedido - precio > 1) +' Log(clv_prods_ll.GetValue(index).As(Map)) + clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - 1)) + inv = inv - 1 +' laCant.Text = $"$1.0{laCant.Text+1}"$ + laCant.Text = NumberFormat2((laCant.Text + 1), 1, 0, 0, False) +' Log(clv_prods_ll.GetValue(index).As(Map)) + End If + Private nombreX As String = Subs.traeProdNombre(id) +' Subs.actualizaProducto(Subs.traeAlmacen, laCant.text, id, clienteId) + + If laCant.Text > 0 Then + panelcajas.Visible = False + Else If laCant.Text = 0 Then + panelcajas.Visible = True + End If + + LogColor(laCant.Text,Colors.Red) +' If laCant2.IsInitialized Then +' totalcajasmaspiezas = laCant.Text + laCant2.Text +' Else +' totalcajasmaspiezas = laCant.Text +' End If + + + Subs.actualizaProducto(Subs.traeAlmacen, precio, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) + cuentaProds +' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) + If 1 = 1 Then + Private cs As CSBuilder + cs.Initialize + Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) + Private invActualizado As String = "0" + If o.RowCount > 0 Then + o.Position = 0 + invActualizado = o.GetString("CAT_GP_ALMACEN") + End If + If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then + Private maxcajas As Int = 0 + Log("cajas a 0") + Else + Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") + Log("cajas no a 0") + End If + If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall +' Log(lProdX.Text) + End If + invTotal = totalcajasmaspiezas + Subs.traeinventario(id) +' LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red) + + End If + + End Sub Private Sub et_pCant_FocusChanged (HasFocus As Boolean) @@ -757,7 +839,6 @@ Private Sub et_pCant_TextChanged (Old As String, New As String) Dim panelcajas As B4XView = pnl.GetView(3) Dim panelpiezas As B4XView = pnl.GetView(2) - If(New = "" Or New = Null Or New = "-") Then New = 0 ' If New < 0 Then New = 0 If(New > invTotal) Then @@ -766,6 +847,7 @@ Private Sub et_pCant_TextChanged (Old As String, New As String) ' Log($"inventario=${inv}"$) If New = "" Then New = 0 + If Old = "" Or Old = Null Then New = 0 If laCant.Text = "" Then laCant.Text = 0 LogColor(laCant.Text,Colors.Red) @@ -775,17 +857,35 @@ Private Sub et_pCant_TextChanged (Old As String, New As String) panelcajas.Visible = True End If + Log(Old) + + If Old <> "" Then + + Log("--------------->Credito Disponible: "&B4XPages.MainPage.cliente.credito_diponible) + If B4XPages.MainPage.tipo_venta = "PREVENTA_CREDITO" Then + + Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + fg.Position = 0 + If Old = "" Or Old = Null Then New = 0 + Log(precio &" * "&Old) + + + + Log(fg.GetString("COSTO") +(precio*New)) + If fg.GetString("COSTO") +((precio*New)-(precio*Old)) <= B4XPages.MainPage.cliente.credito_diponible Then + + ' If laCant2.IsInitialized Then ' totalcajasmaspiezas = laCant.Text + laCant2.Text ' Else ' totalcajasmaspiezas = laCant.Text ' End If - If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then - Log("actualizamos producto") - Subs.actualizaProducto(Subs.traeAlmacen, precio, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) - cuentaProds - End If + If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then + Log("actualizamos producto") + Subs.actualizaProducto(Subs.traeAlmacen, precio, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) + cuentaProds + End If ' If New <> "" And New.SubString2(0,0) = "0" Then ' New.SubString(1) @@ -797,37 +897,82 @@ Private Sub et_pCant_TextChanged (Old As String, New As String) ' Log(laCant.Text) ' End If - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" + If 1 = 1 Then + Private cs As CSBuilder + cs.Initialize + Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) + Private invActualizado As String = "0" ' If o.RowCount > 0 Then - o.Position = 0 - invActualizado = Subs.traeinventario(id) - Log(Subs.traeinventario(id)) + o.Position = 0 + invActualizado = Subs.traeinventario(id) + Log(Subs.traeinventario(id)) ' End If - If New = "" Then New = 0 - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas As Int = 0 - Log("cajas a 0") - Else - Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If - lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & (Subs.traeinventario(id))).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall - - If New > 0 Then - panelcajas.Visible = False - Else If New = 0 Then - If maxcajas = 0 Then - panelcajas.Visible = False + If New = "" Then New = 0 + If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then + Private maxcajas As Int = 0 + Log("cajas a 0") + Else + Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") + Log("cajas no a 0") + End If + lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & (Subs.traeinventario(id))).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall + End If Else - panelcajas.Visible = True + laCant.Text = 0 + MsgboxAsync("No se puede meter mas venta a credito por que supera el limite del credito","Atencion") + End If + Else +' If laCant2.IsInitialized Then +' totalcajasmaspiezas = laCant.Text + laCant2.Text +' Else +' totalcajasmaspiezas = laCant.Text +' End If + If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then + Log("actualizamos producto") + Subs.actualizaProducto(Subs.traeAlmacen, precio, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0) + cuentaProds + End If + +' If New <> "" And New.SubString2(0,0) = "0" Then +' New.SubString(1) +' End If +' If New <> "" And New.SubString(1) <> "" Then +' Log(New.SubString(1)) +' New = New.SubString(1) +' laCant.Text = New.SubString(1) +' Log(laCant.Text) +' End If + If 1 = 1 Then + Private cs As CSBuilder + cs.Initialize + Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) + Private invActualizado As String = "0" +' If o.RowCount > 0 Then + o.Position = 0 + invActualizado = Subs.traeinventario(id) + Log(Subs.traeinventario(id)) +' End If + If New = "" Then New = 0 + If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then + Private maxcajas As Int = 0 + Log("cajas a 0") + Else + Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") + Log("cajas no a 0") + End If + lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & (Subs.traeinventario(id))).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas}"$).Popall End If End If - + End If + If New > 0 Then + panelcajas.Visible = False + Else If New = 0 Then + If maxcajas = 0 Then + panelcajas.Visible = False + Else + panelcajas.Visible = True + End If End If End If End Sub @@ -874,20 +1019,26 @@ Sub b_terminar1_Click If c_prods.GetString("PE_FOLIO") = "VENTA" Then textColor = Colors.RGB(48,3,195) - Else If c_prods.GetString("PE_FOLIO") = "PREVENTA" Or c_prods.GetString("PE_FOLIO") = "ABORDO" Or c_prods.GetString("PE_FOLIO") = "RECARGA" Then + Else If c_prods.GetString("PE_FOLIO") = "PREVENTA_CONTADO" Or c_prods.GetString("PE_FOLIO") = "ABORDO" Or c_prods.GetString("PE_FOLIO") = "RECARGA" Then textColor = Colors.RGB(166,0,0) + Else If folio = "PREVENTA_CREDITO" Then + textColor = Colors.RGB(0, 128, 0) End If - If Not(IsNumber(c_prods.GetString("PE_CEDIS"))) And c_prods.GetString("PE_FOLIO") = "VENTA" Then - textColor = Colors.RGB(154,131,231) 'Si es promo, cambiamos el color del texto. - Else If Not(IsNumber(c_prods.GetString("PE_CEDIS"))) And c_prods.GetString("PE_FOLIO") = "PREVENTA" Then - textColor = Colors.RGB(255,111,111) 'Si es promo, cambiamos el color del texto. - End If + + If Not(IsNumber(c_prods.GetString("PE_CEDIS"))) And folio = "VENTA" Then + textColor = Colors.RGB(154,131,231) + Else If Not(IsNumber(c_prods.GetString("PE_CEDIS"))) And folio = "PREVENTA_CONTADO" Then + textColor = Colors.RGB(255,111,111) + Else If Not(IsNumber(c_prods.GetString("PE_CEDIS"))) And folio = "PREVENTA_CREDITO" Then + textColor = Colors.RGB(120,178,108) + End If Dim label2 As Label label2 = lv_prodsPedido.TwoLinesLayout.SecondLabel label2.TextSize = 10 label2.TextColor = Colors.Blue - lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& c_prods.GetString("PE_COSTO_TOT")& " Folio "& c_prods.GetString("PE_FOLIO")) +' lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& c_prods.GetString("PE_COSTO_TOT")& " Folio "& c_prods.GetString("PE_FOLIO")) + lv_prodsPedido.AddSingleLine(cs.Color(textColor).Size(12).append(c_prods.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(8).Color(Colors.Blue).Append("Cantidad #"& c_prods.GetString("PE_CANT")).Append(" SubTotal $"& c_prods.GetString("PE_COSTO_TOT")).Append(" " & c_prods.GetString("PE_FOLIO")& " " &c_prods.GetString("PE_CEDIS")).PopAll) vamoaver.Add(c_prods.GetString("PE_FOLIO")) folio = c_prods.GetString("PE_FOLIO") Next @@ -907,8 +1058,24 @@ Sub b_terminar1_Click p_vistaPreviaTrans.Height = Root.Height Subs.centraPanel(p_vistaPrevia, Root.Width) ' If Subs.pedidoGuardado Then b_rechazar.Enabled = False Else b_rechazar.Enabled = True - p_vistaPrevia.Visible=True - p_vistaPreviaTrans.Visible=True + + Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + fg.Position = 0 + Dim costo As String = fg.GetString("COSTO") + If costo > 0 And costo < 1000 And fg.GetString("PE_FOLIO") = "PREVENTA_CREDITO" Then + result = Msgbox2($"¿Desea continuar?${CRLF}Si acepta, el pedido se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) + If result = DialogResponse.POSITIVE Then + Subs.borraPedidoCredito +' B4XPages.MainPage.promos.promosMap.Initialize + B4XPages.ShowPage("Cliente") + Else + lv_catalogos.Visible = True + End If + Else + p_vistaPrevia.Visible=True + p_vistaPreviaTrans.Visible=True + End If + fg.Close End Sub Private Sub b_continuar_Click @@ -932,6 +1099,22 @@ Private Sub b_continuar_Click Dim m As Map = Subs.traeTotalesClienteActual prodsPedidoActual = m.Get("productos") montoPedidoActual = m.Get("monto") + + Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + fg.Position = 0 + Dim costo As String = fg.GetString("COSTO") + + If costo > 0 And costo < 1000 Then + result = Msgbox2($"¿Desea continuar?${CRLF}Si acepta, el pedido se borrará (mínimo $1,000).${CRLF}Si cancela, podrá seguir agregando productos."$,"Venta Minima de Credito", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) + If result = DialogResponse.POSITIVE Then + Subs.borraPedidoCredito + B4XPages.MainPage.promos.promosMap.Initialize + B4XPages.ShowPage("Cliente") + Else + lv_catalogos.Visible = True + End If + End If + fg.Close End Sub Private Sub l_prodX_LongClick @@ -1031,11 +1214,28 @@ End Sub Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) Private sDate,sTime, clie_id, usuario As String + Log(Value) + Private X() As String = Regex.Split(" ", Value) +' Log(X.Length) + Private nom As String = "" + For i = 0 To X.Length -1 + If X(i).Contains(CRLF) Then + End If + If Not(X(i).Contains(CRLF)) Then + nom = nom & " " & X(i) + Else + Exit + End If + Next + nom = nom.Trim + Log(nom) + Private cedis As String = X(X.Length-1) + Log(cedis) ' If Not(Subs.pedidoGuardado) Then result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If result = DialogResponse.POSITIVE Then - c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) - c.Position=0 + c =B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ? ", Array As String(nom, cedis)) + c.Position = 0 Log(vamoaver.Get(Position)) If vamoaver.Get(Position) = "VENTA" Then Log("CAT_GUNAPROD2") @@ -1048,30 +1248,46 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) Log(Value) Starter.tabla = "CAT_GUNAPROD" End If + Log(Subs.traeAlmacen) ' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) ' Log(c.GetString("PE_CANT")) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) - c2.Position=0 - If c2.GetString("CUANTOS") > 0 Then - j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?)",Array As String(Value)) - Log(j3.RowCount) - If j3.RowCount > 0 Then - Log("estoy aqui") - For i = 0 To j3.RowCount -1 - Log("aqui tronare?") - j3.Position = i - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) - Next - End If - j3.Close +' c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value)) +' c2.Position=0 + If cedis <> Subs.traeAlmacen Then + j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_CEDIS = ?)",Array As String(nom,cedis)) + Log(j3.RowCount) + If j3.RowCount > 0 Then + Log("Soy promo") + For j = 0 To j3.RowCount -1 + Log("aqui tronare?") + + j3.Position = j + Log(j3.GetString("PE_CANT")) + Log($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + '${j3.GetString("PE_CANT")}' where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + If vamoaver.Get(Position) = "PREVENTA_CREDITO" Then + Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO"))) + Else + Starter.skmt.ExecNonQuery($"update ${Starter.tabla} set CAT_GP_ALMACEN = CAT_GP_ALMACEN + ${j3.GetString("PE_CANT")} where CAT_GP_ID = '${j3.GetString("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"delete from pedido where pe_cedis= '${cedis}' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = '${j3.GetString("PE_FOLIO")}' AND PE_PROID = '${j3.GetString("PE_PROID")}'"$)', Array As Object(cedis, c.GetString("PE_FOLIO"))) + End If + Next + End If + j3.Close + Else + Log(c.GetString("PE_CANT")) + Log(c.Getstring("PE_PROID")) + If vamoaver.Get(Position) = "PREVENTA_CREDITO" Then + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position))) Else B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(nom, cedis, vamoaver.Get(Position))) End If + End If c.Close - c2.Close +' c2.Close DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) @@ -1090,6 +1306,7 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") Private h As Cursor = B4XPages.MainPage.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") + Log($"select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )"$) h.Position=0 l_cant.Text = h.GetString("PC_NOART") l_total2.Text = h.GetString("PC_MONTO") @@ -1479,27 +1696,37 @@ Sub b_prodMasc_Click ' Log("inventario "&Subs.traeinventario(id)) ' Log((Subs.totalPedido - precio > 1)) ' Log((Subs.totalPedido)) + + Log(B4XPages.MainPage.tipo_venta) + Log("--------------->Credito Disponible: "&B4XPages.MainPage.cliente.credito_diponible) + Log(preciocaja) ' Log(precio) - Log(Subs.traeinventario(id)) - Log((laCant2.Text * conversion) + conversion) - Log((laCant2.Text *conversion)+ Subs.traeinventario(id)) - If Subs.traeinventario(id) > 0 And ((laCant2.Text * conversion) + conversion <= ((laCant2.Text *conversion)+ Subs.traeinventario(id))) Then 'And (Subs.totalPedido - precio > 1) + If B4XPages.MainPage.tipo_venta = "PREVENTA_CREDITO" Then + + Dim fg As Cursor = Starter.skmt.ExecQuery("Select Ifnull(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + fg.Position = 0 + If fg.GetString("COSTO") + preciocaja <= B4XPages.MainPage.cliente.credito_diponible Then + + Log(Subs.traeinventario(id)) + Log((laCant2.Text * conversion) + conversion) + Log((laCant2.Text *conversion)+ Subs.traeinventario(id)) + If Subs.traeinventario(id) > 0 And ((laCant2.Text * conversion) + conversion <= ((laCant2.Text *conversion)+ Subs.traeinventario(id))) Then 'And (Subs.totalPedido - precio > 1) ' Log(clv_prods_ll.GetValue(index).As(Map)) - clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - conversion)) - inv = inv - conversion + clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - conversion)) + inv = inv - conversion ' laCant.Text = $"$1.0{laCant.Text+1}"$ - laCant2.Text = NumberFormat2((laCant2.Text + 1), 1, 0, 0, False) + laCant2.Text = NumberFormat2((laCant2.Text + 1), 1, 0, 0, False) ' Log(clv_prods_ll.GetValue(index).As(Map)) - Log("cuando entro aqui?") - End If - Private nombreX As String = Subs.traeProdNombre(id) + Log("cuando entro aqui?") + End If + Private nombreX As String = Subs.traeProdNombre(id) ' Subs.actualizaProducto(Subs.traeAlmacen, laCant.text, id, clienteId) - Log((laCant2.Text * conversion)) - If laCant2.Text > 0 Then - panelpiezas.Visible = False - Else If laCant2.Text = 0 Then - panelpiezas.Visible = True - End If + Log((laCant2.Text * conversion)) + If laCant2.Text > 0 Then + panelpiezas.Visible = False + Else If laCant2.Text = 0 Then + panelpiezas.Visible = True + End If ' LogColor(laCant.Text,Colors.Red) ' If laCant.IsInitialized Then @@ -1509,30 +1736,95 @@ Sub b_prodMasc_Click ' End If ' Subs.actualizaProducto(Subs.traeAlmacen,preciocaja,(laCant2.Text * conversion), Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,laCant2.Text,1) - Subs.actualizaProducto2(Subs.traeAlmacen,preciocaja,(laCant2.Text * conversion), Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,laCant2.Text,1) - cuentaProds + Subs.actualizaProducto2(Subs.traeAlmacen,preciocaja,(laCant2.Text * conversion), Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,laCant2.Text,1) + cuentaProds ' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) - If 1 = 1 Then - Private cs As CSBuilder - cs.Initialize - Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) - Private invActualizado As String = "0" - If o.RowCount > 0 Then - o.Position = 0 - invActualizado = o.GetString("CAT_GP_ALMACEN") - End If - If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then - Private maxcajas2 As Int = 0 - Log("cajas a 0") - Else - Private maxcajas2 As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") - Log("cajas no a 0") - End If - If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas2}"$).Popall + If 1 = 1 Then + Private cs As CSBuilder + cs.Initialize + Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) + Private invActualizado As String = "0" + If o.RowCount > 0 Then + o.Position = 0 + invActualizado = o.GetString("CAT_GP_ALMACEN") + End If + If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then + Private maxcajas2 As Int = 0 + Log("cajas a 0") + Else + Private maxcajas2 As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") + Log("cajas no a 0") + End If + If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas2}"$).Popall ' Log(lProdX.Text) - End If - invTotal = totalcajasmaspiezas + Subs.traeinventario(id) + End If + invTotal = totalcajasmaspiezas + Subs.traeinventario(id) ' LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red) + + + Else + MsgboxAsync("No se puede meter mas venta a credito por que supera el limite del credito","Atencion") + End If + + Else + + Log(Subs.traeinventario(id)) + Log((laCant2.Text * conversion) + conversion) + Log((laCant2.Text *conversion)+ Subs.traeinventario(id)) + If Subs.traeinventario(id) > 0 And ((laCant2.Text * conversion) + conversion <= ((laCant2.Text *conversion)+ Subs.traeinventario(id))) Then 'And (Subs.totalPedido - precio > 1) +' Log(clv_prods_ll.GetValue(index).As(Map)) + clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - conversion)) + inv = inv - conversion +' laCant.Text = $"$1.0{laCant.Text+1}"$ + laCant2.Text = NumberFormat2((laCant2.Text + 1), 1, 0, 0, False) +' Log(clv_prods_ll.GetValue(index).As(Map)) + Log("cuando entro aqui?") + End If + Private nombreX As String = Subs.traeProdNombre(id) +' Subs.actualizaProducto(Subs.traeAlmacen, laCant.text, id, clienteId) + Log((laCant2.Text * conversion)) + If laCant2.Text > 0 Then + panelpiezas.Visible = False + Else If laCant2.Text = 0 Then + panelpiezas.Visible = True + End If + +' LogColor(laCant.Text,Colors.Red) +' If laCant.IsInitialized Then +' totalcajasmaspiezas = laCant.Text + laCant2.Text +' Else +' totalcajasmaspiezas = laCant2.Text +' End If + +' Subs.actualizaProducto(Subs.traeAlmacen,preciocaja,(laCant2.Text * conversion), Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,laCant2.Text,1) + Subs.actualizaProducto2(Subs.traeAlmacen,preciocaja,(laCant2.Text * conversion), Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,laCant2.Text,1) + cuentaProds +' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) + If 1 = 1 Then + Private cs As CSBuilder + cs.Initialize + Private o As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_ID = '${id}'"$) + Private invActualizado As String = "0" + If o.RowCount > 0 Then + o.Position = 0 + invActualizado = o.GetString("CAT_GP_ALMACEN") + End If + If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then + Private maxcajas2 As Int = 0 + Log("cajas a 0") + Else + Private maxcajas2 As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion") + Log("cajas no a 0") + End If + If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(precio, 1, 2, 2, False)}${CRLF}Max. Cajas: ${maxcajas2}"$).Popall +' Log(lProdX.Text) + End If + invTotal = totalcajasmaspiezas + Subs.traeinventario(id) +' LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red) + + End If + + End Sub @@ -1595,6 +1887,19 @@ Private Sub et_pCantc_TextChanged (Old As String, New As String) Log("ponemos en 0") End If + Log("--------------->Credito Disponible: "&B4XPages.MainPage.cliente.credito_diponible) + + Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS COSTO FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + fg.Position = 0 + If Old = "" Or Old = Null Then New = 0 + Log(preciocaja &" * "&Old) + + Log((fg.GetString("COSTO") + (preciocaja*New)) & " Monto Actual<-------") + If fg.GetString("COSTO") +((preciocaja*New)) > B4XPages.MainPage.cliente.credito_diponible Then + laCant2.Text = 0 + MsgboxAsync("No se puede meter mas venta a credito por que supera el limite del credito","Atencion") + End If + ' Log($"inventario=${inv}"$) Log("inventario total despues de max "& invTotal) @@ -1618,7 +1923,7 @@ Private Sub et_pCantc_TextChanged (Old As String, New As String) If Not(Old = "0" And New = "") And laCant2.Text <> Null And laCant2.Text <> "" And etCantHasFocus Then If invTotal - (laCant2.Text * conversion) >= 0 Then - LogColor("validacion inventariio " & (invTotal - (laCant2.Text * conversion)), Colors.Blue) + LogColor("validacion inventariio " & (invTotal - (laCant2.Text * conversion)), Colors.Blue) Log("actualizamos producto") Subs.actualizaProducto2(Subs.traeAlmacen, preciocaja,(laCant2.Text * conversion), Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,laCant2.Text,1) cuentaProds @@ -1653,6 +1958,8 @@ Private Sub et_pCantc_TextChanged (Old As String, New As String) ' End If If New = "" Then New = 0 + Log(clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float)&" Precio caja") + Log(clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int)& " Conversion" ) If clv_prods_ll.GetValue(index).As(Map).Get("precio_caja").As(Float) = 0 Or clv_prods_ll.GetValue(index).As(Map).Get("conversion").As(Int) = 1 Then Private maxcajas2 As Int = 0 Log("cajas a 0") diff --git a/B4A/C_TicketsDia.bas b/B4A/C_TicketsDia.bas index de27694..1ccb039 100644 --- a/B4A/C_TicketsDia.bas +++ b/B4A/C_TicketsDia.bas @@ -63,7 +63,7 @@ Sub B4XPage_Appear If c.RowCount>0 Then For i=0 To c.RowCount -1 c.Position=i - Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}' AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)"$) + Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select IFNULL(sum(IFNULL(PE_CANT,0)),0) as PC_NOART from PEDIDO where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}' AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)"$) If x.RowCount > 0 Then x.Position = 0 ' Log(x.GetString("PC_NOART")) diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 81a9263ad8d816e4a1a6e2b02bb7225c426df78f..cc8727ae7ee8b33474a630f7724d45467f87802f 100644 GIT binary patch delta 990 zcmZwG%P(V590%}oE}itY>Yb3OM-9fKYKo%Xk9rP9r{is^iY|1aA&rHF#?n%L#KQa! z6S)a{GMPx2gcU0*dw+u8#pNqz@y+@C?(f|9Is1po@sVOP2_c45AuK$GcWhT#X^e%? zdSoRY4lS-lmX_nO!`r(g>8C%*e@#i;O{Q&=-Sv_6Sn+7*i!%bYm(^7_*Cw zqdb;yN;#i7W#Dpl1*ekZ1XqDw;A-#}u=~{sQS(}eT5uiM1Fi=*fE&SHa1*#0-16we z)7!K{qYc~+?f`d!yTILGAGinH3-06lzkJeu@Bnxa{1rR|9tMwqzp;&9Jj(WSzH0LJkd4#Odd5-(7s5ETVH5bzf78^QZVDU6jA#!3r(1a%6CFJa6kT3Z=A zG#0*qot01ECyIW>Kl|I6$zGYgztd%JbvC0A!fzJBg5&n81^TxPOi%ZtSEL1675eUj47%4BU4$*l8A7KX zm2WVryvwW3I~_WcRMCJ#CA}Wy%h{z#4dvRTSv$(zNUKHSXTpWeR;eC5A+~\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() +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~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()~\n~~\n~ Module1=appUpdater Module10=C_NoVenta Module11=C_NuevoCliente @@ -202,12 +202,12 @@ Module9=C_Nota NumberOfFiles=67 NumberOfLibraries=33 NumberOfModules=31 -Version=13 +Version=13.1 @EndOfDesignText@ #Region Project Attributes #ApplicationLabel: Marquez #VersionCode: 1 - #VersionName: 5.01.10 + #VersionName: 5.04.28 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/MARQUEZ.b4a.meta b/B4A/MARQUEZ.b4a.meta index 27fe3ad..e93612d 100644 --- a/B4A/MARQUEZ.b4a.meta +++ b/B4A/MARQUEZ.b4a.meta @@ -94,6 +94,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Principal,b_tabulador_Click,2864,0,C_Principal,B4XPage_Created,229,0,C_Principal,B4XPage_Appear,423,5,Diseñador Visual,principal.bal,-100,6,C_Principal,cargar_Click,1199,0,C_Promos,Class_Globals,0,0,C_Promos,muestraPromo,84,0,C_Cliente,imprime_preventa,1246,0,C_Cliente,imprime_venta,1625,0,C_Principal,Subir_Click,866,6 +NavigationStack=C_Cliente,calc_ean_checksum,1069,0,C_Principal,B4XPage_Appear,582,0,Subs,borraPedidoCredito,1528,0,C_Cliente,TraeVendedor,1115,0,C_Cliente,B4XPage_Appear,428,0,C_Cliente,TraeNumVendedor,1138,0,C_Cliente,imprime_venta,1575,0,C_Cliente,GUADAVENTA2,959,0,C_Cliente,Guardar_Click,657,0,C_Cliente,imprime_preventa,1145,6,B4XMainPage,B4XPage_Appear,330,0 SelectedBuild=0 -VisibleModules=1,2,13,4,7,8,9,10,14,30,15 +VisibleModules=1,2,13,4,5,7,8,9,10,14,30,19 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 2d4ae60..a29312c 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -669,13 +669,14 @@ End Sub 'Regresa el almacen actual de la base de datos. Sub traeAlmacen As String 'ignore - Private c As Cursor - Private a As String - c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") - c.Position = 0 - a = C.GetString("ID_ALMACEN") - c.Close - Return a + Private c2 As Cursor + Private b As String + c2=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + Log(c2.RowCount) + c2.Position = 0 + b = c2.GetString("ID_ALMACEN") + Log("Esto es almacen !!!!!!! " &c2.GetString("ID_ALMACEN") & " Esto es almacen !!!!!!!") + Return b End Sub 'Regresa el nombre del producto desde CAT_GUNAPROD @@ -790,7 +791,12 @@ Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String, ' LogColor("guardaProducto: "&prodId&", cant="&cant, Colors.Magenta) Private c As Cursor B4XPages.MainPage.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_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?) ", Array As Object (cedis, (cant * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta,cantc,bcajas)) - B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) + If B4XPages.MainPage.tipo_venta = "VENTA" Then + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) + Else + B4XPages.MainPage.skmt.ExecNonQuery2($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) + End If c=B4XPages.MainPage.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 B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") @@ -798,17 +804,24 @@ Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String, End Sub Sub actualizaProducto(cedis As String, costoU As String, cant As Int, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String, cantc As String, bcajas As String) + Log("Entramos a actualiza producto") Private c As Cursor=B4XPages.MainPage.skmt.ExecQuery($"select * from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' AND PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) ' Log($"ROWCOUNT: ${c.RowCount}, ${cant}"$) LogColor($"actualizaProducto, c=${clienteId}, p=${prodId}, nombre=${nombre}, cant=${cant}, cedis=${cedis}, tipo=${tipoVenta}"$, Colors.Magenta) - If c.RowCount > 0 Then + Log("----->1<--------------") c.Position=0 Private antCant As Int = 0 If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT") Private difCant As Int = cant - antCant B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${(cant*c.GetString("PE_COSTOU"))}, PE_CANTC = ${cantc}, PE_BCAJAS = ${bcajas} where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' AND PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + If B4XPages.MainPage.tipo_venta = "VENTA" Then + B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + Else + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + End If + ' Log($"CANT=${cant}"$) If cant = 0 Then Log("BORRAMOS PROD") @@ -818,6 +831,7 @@ Sub actualizaProducto(cedis As String, costoU As String, cant As Int, nombre As If pe.GetString("cuantosPedidos") = 0 Then B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") End If Else + Log("----->2<--------------") 'INSERTAMOS If cant <> 0 Then guardaProductoSinGestion(cedis, costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta,cantc,bcajas) End If @@ -828,7 +842,12 @@ Sub guardaProductoSinGestion2(cedis As String, costoU As String, cant As String, ' LogColor("guardaProducto: "&prodId&", cant="&cant, Colors.Magenta) Private c As Cursor B4XPages.MainPage.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_FOLIO,PE_ENVIO_OK,PE_CANTC,PE_BCAJAS) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0,?,?) ", Array As Object (cedis, (cantc * costoU), costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta,cantc,bcajas)) - B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) + If B4XPages.MainPage.tipo_venta = "VENTA" Then + B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) + Else + B4XPages.MainPage.skmt.ExecNonQuery2($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) + B4XPages.MainPage.skmt.ExecNonQuery2($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? "$, Array As Object(cant, prodId)) + End If c=B4XPages.MainPage.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 B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") @@ -846,7 +865,13 @@ Sub actualizaProducto2(cedis As String, costoU As String, cant As Int, nombre As If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT") Private difCant As Int = cant - antCant B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${(cantc*c.GetString("PE_COSTOU"))}, PE_CANTC = ${cantc}, PE_BCAJAS = ${bcajas} where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' AND PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) +' B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + If B4XPages.MainPage.tipo_venta = "VENTA" Then + B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + Else + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) + End If ' Log($"CANT=${cant}"$) If cant = 0 Then Log("BORRAMOS PROD") @@ -862,6 +887,8 @@ Sub actualizaProducto2(cedis As String, costoU As String, cant As Int, nombre As c.Close End Sub + + Sub traeTotalCliente As Double Private sumaTotal As Double Private cursorprueba As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select PE_COSTO_TOT from pedido where PE_CLIENTE <> 0 ") @@ -1149,6 +1176,33 @@ Sub traeMaxPromos(pm As Map) As Int If pm.Get("historico") = "1" Then maxPromos.Add(pm.Get("maxRecurrente")) 'Si hay historico, agregamos maxRecurrente maxPromos.Add(pm.Get("maxPromos")) 'Agregamos maxPromos maxPromos.Add(pm.Get("maxXcliente")) 'Agregamos maxXcliente + + Dim precioPromo As Float + 'Traemos el precio de la promo. + Dim cGp As Cursor = Starter.skmt.ExecQuery($"SELECT ifnull(CAT_GP_PRECIO,0) as CAT_GP_PRECIO FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${pm.get("id")}'"$) + If cGp.RowCount > 0 Then + cGp.Position = 0 + precioPromo = cGp.GetString("CAT_GP_PRECIO") + End If + Dim creditoOtorgado As Float = B4XPages.MainPage.cliente.credito_diponible + Dim totalActual As Float = 0 + Dim maxPromosXCreditoDisponible As Int + 'Traemos el total del pedido actual. + Dim fg As Cursor = Starter.skmt.ExecQuery("Select IFNULL(sum(PE_COSTO_TOT),0) AS TOT_ACTUAL FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + fg.Position = 0 + totalActual = fg.GetString("TOT_ACTUAL") + 'Calculamos el credito que tenemos disponible. + Dim creditoDisponible As Float = creditoOtorgado - totalActual + 'Calculamos las promos disponibles deacuerdo a lo que nos alcanza con el credito disponible. + maxPromosXCreditoDisponible = creditoDisponible / precioPromo + Log("Maximo de promos disponibles: " & maxPromosXCreditoDisponible) + Log((fg.GetString("TOT_ACTUAL")) & " Monto Actual<-------") + If fg.GetString("TOT_ACTUAL") + precioPromo > creditoOtorgado Then + maxPromosXCreditoDisponible = 0 + End If + maxPromos.Add(maxPromosXCreditoDisponible.As(String)) 'Agregamos Maxpromos X Credito Disponible + + maxPromos.Sort(True) ' Log($"|${pm.Get("id").As(String).trim}|${traeCliente.Trim}|"$) @@ -1444,13 +1498,30 @@ Sub borraPedidoClienteActual As String ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") ' Return 1 Private thisC As Cursor -' Private tablaProds As String = "cat_gunaprod2" - thisC=Starter.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_FOLIO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") +' Private tablaProds As String = "cat_gunaprod4" + thisC=Starter.skmt.ExecQuery("select PE_PRONOMBRE, PE_PROID, PE_CANT, PE_FOLIO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") If thisC.RowCount>0 Then For i=0 To thisC.RowCount -1 thisC.Position = i ' Log(thisC.GetString("PE_TIPO") & "|" & traeTablaProds(thisC.GetString("PE_TIPO"))) - Starter.skmt.ExecNonQuery($"update ${traeTablaProds(thisC.GetString("PE_FOLIO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) + +' If thisC.GetString("PE_FOLIO") = "VENTA" Then +' Starter.skmt.ExecNonQuery($"update ${traeTablaProds(thisC.GetString("PE_FOLIO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) +' Else +' Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) +' Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) +' +' End If + + If thisC.GetString("PE_FOLIO") = "VENTA" Then + B4XPages.MainPage.skmt.ExecNonQuery($"update ${traeTablaProds(thisC.GetString("PE_FOLIO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String(thisC.GetString("PE_PRONOMBRE"), thisC.GetString("PE_FOLIO"))) + Else + Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) + Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD4 set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String(thisC.GetString("PE_PRONOMBRE"), thisC.GetString("PE_FOLIO"))) + End If + LogColor($"update ${traeTablaProds(thisC.GetString("PE_FOLIO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$, Colors.red) ' Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1)) Next @@ -1461,14 +1532,48 @@ Sub borraPedidoClienteActual As String Return 1 End Sub +Sub borraPedidoCredito As String + Dim cPedidos As Cursor + cPedidos = Starter.skmt.ExecQuery("SELECT PE_PROID, PE_CANT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + + If cPedidos.RowCount > 0 Then + For i = 0 To cPedidos.RowCount - 1 + cPedidos.Position = i + Dim productoId As String = cPedidos.GetString("PE_PROID") + Dim cantidad As Int = cPedidos.GetInt("PE_CANT") + + Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_ALMACEN = CAT_GP_ALMACEN + ? WHERE CAT_GP_ID = ?", Array As String(cantidad, productoId)) + Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD4 SET CAT_GP_ALMACEN = CAT_GP_ALMACEN + ? WHERE CAT_GP_ID = ?", Array As String(cantidad, productoId)) + + Next + End If + cPedidos.Close + + Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND PE_FOLIO = 'PREVENTA_CREDITO'") + + Log("Pedidos a crédito borrados correctamente.") + Return "1" + + Dim pCli As Cursor = Starter.skmt.ExecQuery("select PE_CLIENTE, PE_FECHA, PE_CEDIS, 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)") + If pCli.RowCount > 0 Then + pCli.Position = 0 + B4XPages.MainPage.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 String(pCli.GetString("PE_CLIENTE"), pCli.GetString("PE_FECHA"), pCli.GetString("PE_USUARIO"), pCli.GetString("CANT_CLIE"), pCli.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps, pCli.GetString("PE_CEDIS"), pCli.GetString("TOTAL_CLIE_SIN"))) + Else + Starter.skmt.ExecNonQuery("UPDATE KMT_INFO SET GESTION = 0 WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") + End If +End Sub + Sub traeTablaProds(tipoventa As String) As String Private tablaProds As String = "cat_gunaprod2" - If tipoventa = "ABORDO" Or tipoventa = "PREVENTA" Then + + If tipoventa = "ABORDO" Or tipoventa = "PREVENTA_CONTADO" Then tablaProds = "cat_gunaprod" - Else if tipoventa = "RECARGA" Then + Else If tipoventa = "RECARGA" Then tablaProds = "cat_gunaprod3" + Else If tipoventa = "PREVENTA_CREDITO" Then + tablaProds = "cat_gunaprod4" End If - + LogColor($"Tipo= ${tipoventa}, tabla=${tablaProds}"$, Colors.RGB(200,136,0)) Return tablaProds End Sub