This commit is contained in:
Javier
2026-01-15 08:47:44 -06:00
parent e3614c5fcf
commit 86c0d1f273
5 changed files with 180 additions and 16 deletions

View File

@@ -316,6 +316,12 @@ Sub B4XPage_Appear
If vc.RowCount > 0 Then
For i = 0 To vc.RowCount - 1
vc.Position = i
LogColor(cuenta0,Colors.Red)
LogColor(vc.GetString("HVD_PROID"),Colors.Blue)
LogColor("------------"&((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT"))),Colors.Red)
cuenta0 = cuenta0 + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*(vc.GetString("HVD_COSTO_TOT")/vc.GetString("HVD_CANT")))
' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))
@@ -375,10 +381,10 @@ Sub B4XPage_Appear
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
Next
End If
' Log(cuenta0)
' Log(Cuenta1)
' Log(Cuenta2)
' Log(Cuenta3)
Log(cuenta0)
Log(Cuenta1)
Log(Cuenta2)
Log(Cuenta3)
l_total.Text = NumberFormat2((cuenta0 + Cuenta1 + Cuenta2 + Cuenta3),0,2,2,True)
L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True)
' l_total.Text = cuenta + Cuenta1 + Cuenta2
@@ -631,6 +637,93 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
'Sub gest_Click
' Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
' x2.Position = 0
' If x2.GetString("gestion") = 2 Then
' Msgbox2Async("Ya se gestiono el cliente, no se pueden hacer modificaciones","Atención","","","Ok",LoadBitmap(File.DirAssets,"alert2.png"),False)
' Wait For Msgbox_Result (Result As Int)
' If Result= DialogResponse.NEGATIVE Then
' B4XPages.ShowPage("Principal")
' End If
' Else
' If (Subs.traeAlmacen = 92 Or Subs.traeAlmacen = 94) Then
'
' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
' k.Position = 0
' Log(k.GetString("CUENTA"))
' Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
' cliecred.Position = 0
'
' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
' y.position = 0
' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
' u.Position = 0
' If u.RowCount > 0 Then
' If u.GetString("SALDO_PENDIENTE") <> 0 Then
' If y.GetString("a_abono") > 0 Then
' If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") - y.GetString("a_abono") + l_total.Text.Replace(",","")) Then
' checacredito
' Else
' Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1
' Log("aqui")
'' MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
'
' Msgbox2Async("Para poder hacer una entrega se necesita liberar" & NumberFormat2(creditofaltante,0,2,2,False) & " de credito.","Atención","","Hacer pago","Cancelar",LoadBitmap(File.DirAssets,"alert2.png"),False)
' Wait For Msgbox_Result (Result As Int)
' If Result= DialogResponse.CANCEL Then
' checacredito
' End If
'
' End If
'' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA'
'' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= (u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")) Then
' checacredito
' Else
' Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",",""))) * -1
'
' MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
' End If
' Else If u.GetString("SALDO_PENDIENTE") = 0 Then
' checacredito
' End If
' Else
' checacredito
' End If
'
' Else
' Dim k As Cursor = Starter.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
' k.Position = 0
' Log(k.GetString("CUENTA"))
' Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
' y.position = 0
' Dim u As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(SALDO_PENDIENTE),0) AS SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ?", Array As String(k.GetString("CUENTA")))
' u.Position = 0
' If u.RowCount > 0 Then
' If u.GetString("SALDO_PENDIENTE") <> 0 Then
' If y.RowCount > 0 Then
' Log(NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) &" = " & NumberFormat2(y.GetDouble("a_abono"),0,2,2,False))
' If NumberFormat2(u.GetDouble("SALDO_PENDIENTE"),0,2,2,False) = NumberFormat2(y.GetDouble("a_abono"),0,2,2,False) Then
' checacredito
' Else
' Log("aqui")
' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
' End If
' Else
' Log("aqui")
' MsgboxAsync("Para poder hacer una entrega se necesita liquidar el(los) pagare(s)","Atención")
' End If
' Else If u.GetString("SALDO_PENDIENTE") = 0 Then
' checacredito
' End If
' Else
' checacredito
' End If
' End If
' End If
'End Sub
Sub gest_Click
Dim x2 As Cursor =Starter.skmt.ExecQuery("SELECT gestion FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x2.Position = 0
@@ -647,7 +740,7 @@ Sub gest_Click
k.Position = 0
Log(k.GetString("CUENTA"))
Dim cliecred As Cursor = Starter.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO from kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
cliecred.Position = 0
cliecred.Position = 0
Dim y As Cursor = Starter.skmt.ExecQuery2("SELECT IFNULL(SUM(a_abono),0) AS a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
y.position = 0
@@ -712,8 +805,64 @@ Sub gest_Click
End Sub
Sub checacredito
If l_total.Text = ".00" And (L_CANT.Text = 1 OR L_CANT.Text = 2) Then
If l_total.Text = ".00" And (L_CANT.Text = 1 Or L_CANT.Text = 2) Then
Guardado
Else If l_total.Text = ".00" And L_CANT.Text > 2 Then
Log("Aqui")
Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagacheca.RowCount > 0 Then
esPagoACreditoGuardamosPagare
Else
Dim x1 As Cursor =Starter.skmt.ExecQuery("SELECT IFNULL(CAT_CL_LIMITECREDITO,0) AS CAT_CL_LIMITECREDITO FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
x1.Position = 0
limite_credito = 0
If CREDITO = 1 And x1.GetString("CAT_CL_LIMITECREDITO") <> 0 Then '''' se debe de cambiar a si acepta o no credito, aparte de tener la bandera a credito
If Subs.traeAlmacen = 81 Then
Log(12)
escreditoono = 1
limite_credito = x1.GetString("CAT_CL_LIMITECREDITO")
If l_total.Text <> ".00" Then
esPagoACreditoGuardamosPagare
Else If l_total.Text = ".00" And L_CANT.Text > 2 Then
esPagoACreditoGuardamosPagare
End If
Else
Msgbox2Async("EL CLIENTE TIENE CREDITO DISPONIBLE, UNA VEZ SELECCIONADA UNA OPCION NO SE PODRA MODIFICAR!!!!!","Forma de pago","","Credito","Efectivo",LoadBitmap(File.DirAssets,"alert2.png"),False)
Wait For Msgbox_Result (Result As Int)
If Result= DialogResponse.POSITIVE Then
Log(1)
Else If Result = DialogResponse.NEGATIVE Then
escreditoono = 0
Log(2)
Tipoentrega = "CONTADO"
B_IMP_Click
banderaimp = 1
Else If Result = DialogResponse.CANCEL Then
Log(12)
escreditoono = 1
limite_credito = x1.GetString("CAT_CL_LIMITECREDITO")
esPagoACreditoGuardamosPagare
Log(3)
End If
End If
Else
Log(4)
escreditoono = 0
B_IMP_Click
banderaimp = 1
End If
End If
Else
Dim pagacheca As Cursor = Starter.skmt.ExecQuery("SELECT * FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
@@ -1078,7 +1227,7 @@ Sub HIST_Click
B4XPages.ShowPage("DetalleVenta")
Else
Dim creditofaltante As Float = (cliecred.GetString("CAT_CL_LIMITECREDITO") - ( u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","")- y.GetString("a_abono"))) * -1
B4XPages.ShowPage("DetalleVenta")
MsgboxAsync($"Para poder hacer una entrega se necesita liberar '${creditofaltante}' de credito."$,"Atención")
End If
' Else If cliecred.GetString("CAT_CL_LIMITECREDITO") >= u.GetString("SALDO_PENDIENTE") + l_total.Text.Replace(",","") Then 'AQUI VAMOS A VALIDAR SI EL CREDITO ALCANZA'
@@ -1266,7 +1415,7 @@ Sub B_IMP_Click
If c.RowCount > 0 Then
' 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. ''CAT_TIPO_BONIFICACIONES
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO' or HVD_CODPROMO <> 'MI RETO') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 order by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'CONECTADOS') AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and (HVD_CODPROMO <> 'MIRETO' or HVD_CODPROMO <> 'SOCIOBAT' or HVD_CODPROMO <> 'CONECTADOS') AND HVD_CODPROMO = '${Subs.traeAlmacen}' AND (HVD_COSTO_TOT/HVD_CANT) > 0.01 GROUP by HVD_PROID"$)
If S.RowCount>0 Then
Printer1.WriteString("-------ENTREGA A "& Tipoentrega &"------" & CRLF)
@@ -1335,7 +1484,7 @@ Sub B_IMP_Click
' s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND HVD_RECHAZO = 0 AND HVD_CODPROMO <> '${Subs.traeAlmacen}' order by HVD_CODPROMO, ESPROMO DESC, HVD_PROID"$)
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, sum(HVD_CANT) as HVD_CANT, length(HVD_CANT) as L_CANT, sum(HVD_COSTO_TOT) as HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID,SUM(IFNULL(HVD_RECHAZOCANT,0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) AND ((HVD_COSTO_TOT/HVD_CANT) = 0.01 or (HVD_COSTO_TOT/HVD_CANT) = 0) and HVD_CODPROMO <> HVD_PROID AND HVD_CODPROMO NOT IN ('SOCIOBAT','MIRETO','CONECTADOS') and HVD_PRONOMBRE <> 'Cobranza Pendiente' GROUP by HVD_PROID"$)
s=Starter.skmt.ExecQuery($"SELECT HVD_CODPROMO, HVD_PRONOMBRE, SUM(HVD_CANT) AS HVD_CANT, LENGTH(SUM(HVD_CANT)) AS L_CANT, SUM(HVD_COSTO_TOT) AS HVD_COSTO_TOT, LENGTH(SUM(HVD_COSTO_TOT)) AS L_COSTOU, HVD_PROID, SUM(IFNULL(HVD_RECHAZOCANT, 0)) AS HVD_RECHAZOCANT, SUM(HVD_RECHAZO) AS HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM cuentaa) AND HVD_CODPROMO <> HVD_PROID AND HVD_CODPROMO NOT IN ('SOCIOBAT', 'MIRETO', 'CONECTADOS') AND HVD_PRONOMBRE <> 'Cobranza Pendiente' AND HVD_CODPROMO <> '${Subs.traeAlmacen}' GROUP BY HVD_PROID, HVD_CODPROMO"$)
If S.RowCount>0 Then

View File

@@ -606,9 +606,20 @@ Sub b_prodMenos_Click
B4XPage_Appear
End If
Else
If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
' If laCant.Text = "" Then laCant.Text = 0
' laCant.Text = NumberFormat2(($"$1.0{laCant.Text-1}"$),0,0,0,False)
If laCant.Text = "" Then laCant.Text = 0
' Realizamos la resta de forma segura
Dim valorActual As Double = laCant.Text
Dim resultado As Double = valorActual - 1
If resultado < 0 Then resultado = 0
' Asignamos al Label/EditText sin comas de miles
laCant.Text = NumberFormat2(resultado, 1, 0, 0, False)
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + (1*'${minimoadesc}'), BCAJAS = 0, CANTC = 0 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))

View File

@@ -1087,7 +1087,11 @@ Sub cargar_Click
Dim fecha3() As String = Regex.Split("/",fecha2(0))
DateTime.DateFormat = "yyyyMMdd"
DateTime.TimeFormat = ""
Dim dia As String = fecha3(2)&fecha3(0)&fecha3(1)
If fecha3(2).Length > 4 Then
Dim dia As String = fecha3(2).SubString2(0,5)&fecha3(0)&fecha3(1)
Else
Dim dia As String = fecha3(2)&fecha3(0)&fecha3(1)
End If
Log(dia)
Dim dia2 As String = DateTime.Date(DateTime.Now)
Log(dia & " , " & dia2)
@@ -1598,7 +1602,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO))
Else 'Si ya hay ruta cargada, solo guardamos los clientes nuevos.
' Log("Hay ruta, guardamos los nuevos")
Private tc As Cursor = Starter.skmt.ExecQuery($"select HVD_CLIENTE from HIST_VENTAS where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PROID = '${HVD_PROID}' AND HVD_CANT = '${HVD_CANT}' AND HVD_CODPROMO = '${HVD_CODPROMO}'"$)
Private tc As Cursor = Starter.skmt.ExecQuery($"select HVD_CLIENTE from HIST_VENTAS where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PROID = '${HVD_PROID}' AND HVD_CANT = '${HVD_CANT}' AND HVD_CODPROMO = '${HVD_CODPROMO}' AND HVD_COSTO_TOT = '${HVD_COSTO_TOT}' "$)
If tc.RowCount = 0 Then
' Log($"Guardamos ${HVD_CLIENTE}"$)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, BCAJAS,CANTC,CONSECUTIVO,BCAJAS_OR,CANTC_OR) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, bcajas,cantc,consecutivo,bcajas,cantc))

View File

@@ -260,7 +260,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: Guna Reparto
#VersionCode: 1
#VersionName: 5.10.16
#VersionName: 6.01.05
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -97,6 +97,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Cliente,imprime_abonopagare2,2376,1,C_Cliente,imprime_cancelarpagare,3793,0,C_Cliente,imprime_pagare,3306,0,C_Principal,JobDone,1268,0,C_Principal,inventario_Click,2749,0,C_Principal,b_rechazos_Click,2316,0,Diseñador Visual,principal.bal,-100,1,C_Principal,imp_LIQUIDACION,3022,0,C_Principal,b_impresion_rec_Click,2910,0,C_Cliente,B_IMP_Click,1139,0,C_Cliente,HIST_LongClick,4490,0
NavigationStack=C_Cliente,HIST_Click,1059,0,C_Cliente,B4XPage_Appear,234,6,C_Cliente,ListView1_ItemLongClick,720,0,C_Cliente,checacredito,802,6,C_Cliente,gest_Click,785,6,C_Principal,cargar_Click,1086,5,C_Principal,envioinfo,1063,0,C_Principal,JobDone,1574,0,C_DetalleVenta,CreateListItem2,502,0,C_DetalleVenta,b_prodMenos_Click,598,3,C_Cliente,B_IMP_Click,1480,6
SelectedBuild=0
VisibleModules=2,17,5,6,7,8,10,31,30,28