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 81a9263..cc8727a 100644
Binary files a/B4A/Files/cliente.bal and b/B4A/Files/cliente.bal differ
diff --git a/B4A/MARQUEZ.b4a b/B4A/MARQUEZ.b4a
index cd646de..1adad3d 100644
--- a/B4A/MARQUEZ.b4a
+++ b/B4A/MARQUEZ.b4a
@@ -167,7 +167,7 @@ Library6=byteconverter
Library7=camera
Library8=compressstrings
Library9=contentresolver
-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()
+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