Se cambia el envio, ya se envian los abonos, SE CAMBIA LA CAPTUTRA DE LOS ABONOS

This commit is contained in:
cvaldes1201
2024-12-26 11:37:56 -06:00
parent 495f539cd0
commit f8d9740950
5 changed files with 220 additions and 112 deletions

View File

@@ -439,8 +439,20 @@ Sub B4XPage_Appear
If credi3.RowCount > 0 Then If credi3.RowCount > 0 Then
credi3.Position = 0 credi3.Position = 0
If NumberFormat2(credi2.GetString ("SALDO_PENDIENTE"),1,2,2,False) <> NumberFormat2(credi3.GetString ("a_abono"),1,2,2,False) Then Dim total As String = 0
MsgboxAsync("La venta sera en efectivo porque el pago del pagare en menor al total de la deuda.","Atención") 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 Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then
End If End If
Else Else
@@ -452,8 +464,18 @@ Sub B4XPage_Appear
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)") 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 If credi3.RowCount > 0 Then
credi3.Position = 0 credi3.Position = 0
If NumberFormat2(credi2.GetString ("SALDO_PENDIENTE"),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 en menor al total de la deuda.","Atención") 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 Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then
End If End If
Else Else
@@ -629,8 +651,6 @@ Sub Guardar_Click
Credi.Position = 0 Credi.Position = 0
If Credi.GetString("CAT_CL_BCREDITO") = "1" Then If Credi.GetString("CAT_CL_BCREDITO") = "1" Then
If l_total.Text <> "null" Then If l_total.Text <> "null" Then
If pre_act <> Starter.pre_viejo Then If pre_act <> Starter.pre_viejo Then
@@ -669,7 +689,18 @@ Sub Guardar_Click
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)") 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 If credi2.RowCount > 0 Then
credi2.Position = 0 credi2.Position = 0
If credi2.GetString ("CAT_CL_BCREDITO") = "1" And credi2.GetString ("a_abono")=credi2.GetString ("SALDO_PENDIENTE") 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 credi2.GetString ("CAT_CL_BCREDITO") = "1" And credi2.GetString ("a_abono")=total Then
If l_total.Text <> "null" Then If l_total.Text <> "null" Then
If pre_act <> Starter.pre_viejo Then If pre_act <> Starter.pre_viejo Then
Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
@@ -847,7 +878,7 @@ Sub GUADAVENTA2
Subs.actualizaTET(la_cuenta.text) Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss" DateTime.TimeFormat = "HH:mm:ss"
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! ' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
mandapiezas mandapiezas
B4XPages.MainPage.productos.reiniciarlistaProds = True B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize B4XPages.MainPage.productos.prodsMap.Initialize
@@ -2357,11 +2388,36 @@ Private Sub b_abono_Click
MsgboxAsync("El monto a abonar no puede ser mayor que el monto total","Atención" ) MsgboxAsync("El monto a abonar no puede ser mayor que el monto total","Atención" )
Else Else
If et_abono.Text <> "" Then If et_abono.Text <> "" Then
Dim k As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
k.Position = 0
Log(k.GetString("CUENTA"))
Dim y As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono FROM ABONOS WHERE a_cliente = ?", Array As String(k.GetString("CUENTA")))
y.position = 0
If y.RowCount = 0 Then
Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True) Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Wait For Msgbox_Result (resultado As Int) Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then If resultado = DialogResponse.POSITIVE Then
imprime_pagare imprime_pagare
End If End If
Else If et_abono.Text > y.GetString("a_abono") Then
Msgbox2Async($"¿Seguro que quieres realizar un abono de $${et_abono.text} para este cliente?"$, "Guardar Abono", "Guardar", "Cancelar", "", Null, True)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
imprime_pagare
End If
Else If et_abono.Text = y.GetString("a_abono") Then
p_abono.Visible = False
et_abono.Text = ""
Else If et_abono.Text < y.GetString("a_abono") Then
p_abono.Visible = False
MsgboxAsync("El pago no puede ser menor al monto capturado.","Atención")
et_abono.Text = ""
End If
End If End If
End If End If
@@ -2383,7 +2439,7 @@ Private Sub b_cxc_Click
h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA") h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
h.Position = 0 h.Position = 0
Log(h.GetString("CUENTA")) Log(h.GetString("CUENTA"))
j = B4XPages.MainPage.skmt.ExecQuery2("SELECT a_abono AS CUANTOS FROM ABONOS WHERE a_cliente = ?", Array As String(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 j.position = 0
Log(j.RowCount) Log(j.RowCount)
If j.RowCount = 0 Then If j.RowCount = 0 Then
@@ -2408,7 +2464,26 @@ Private Sub b_cxc_Click
f.Close f.Close
Else If j.RowCount > 0 Then Else If j.RowCount > 0 Then
MsgboxAsync("Este cliente ya tiene un pago capturado","Atención") p_abono.Visible = True
et_abono.text = j.GetString("a_abono")
Dim total As String = 0
f = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
f.Position = 0
d = B4XPages.MainPage.skmt.ExecQuery2("SELECT NOTA, SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE = ? ", Array As String (f.GetString("CUENTA")))
clv_abonos.Clear
For i = 0 To d.RowCount - 1
d.Position = i
clv_abonos.Add(CreateListItem(d.GetString("NOTA"),"$ " & d.GetString("SALDO_PENDIENTE")),i)
Log(d.GetString("NOTA"))
Log(d.GetString("SALDO_PENDIENTE"))
total = total + d.GetString("SALDO_PENDIENTE")
Log(total)
Next
l_montoabonostotal.Text = total
d.Close
f.Close
' MsgboxAsync("Este cliente ya tiene un pago capturado","Atención")
End If End If
h.Close h.Close
j.Close j.Close
@@ -2551,6 +2626,8 @@ Private Sub b_ventaabordo_Click
End Sub End Sub
Sub imprime_pagare Sub imprime_pagare
c=skmt.ExecQuery("select USUARIO from usuarioa") c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0 c.Position=0
usuario = c.GetString("USUARIO") usuario = c.GetString("USUARIO")
@@ -2665,11 +2742,26 @@ Sub imprime_pagare
If resultado = DialogResponse.POSITIVE Then If resultado = DialogResponse.POSITIVE Then
imprime_pagare imprime_pagare
Else 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 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($"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) ToastMessageShow("Abono guardado", False)
et_abono.Text = "" 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)}')"$)
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
End If End If
' printer.Flush ' printer.Flush

View File

@@ -131,7 +131,7 @@ Sub GUARDA_Click
B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, cuenta)) B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, cuenta))
LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red) LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red)
mandaPendientesnoventa ' mandaPendientesnoventa
B4XPages.ShowPage("Principal") B4XPages.ShowPage("Principal")
End Sub End Sub

View File

@@ -670,6 +670,22 @@ Sub Subir_Click
End If End If
c.Close c.Close
'ABONOS
Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null"$)
Log(ab.RowCount)
If ab.RowCount > 0 Then
For i=0 To ab.RowCount -1
ab.Position = i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_abono_MARQUEZ"
cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),ALMACEN )
reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
Next
End If
ab.Close
' CLIENTES NUEVOS ' CLIENTES NUEVOS
Dim fotocn() As Byte Dim fotocn() As Byte
Dim Dirp As String = File.DirInternal Dim Dirp As String = File.DirInternal

View File

@@ -205,7 +205,7 @@ Version=12.8
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Marquez #ApplicationLabel: Marquez
#VersionCode: 1 #VersionCode: 1
#VersionName: 4.11.28 #VersionName: 4.12.10
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False

View File

@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Productos,Class_Globals,0,0,C_Productos,b_prodMenos_Click,590,0,C_Productos,llenaCatalogo,405,0,C_Cliente,MODS,1,0,C_Productos,LlenaProdsLL,1266,0,C_Productos,clv_prods_ll_VisibleRangeChanged,1163,6,C_Cliente,Class_Globals,4,0,C_Productos,Busca_TextChanged,1233,0,C_Productos,b_prodMas_Click,685,0,Subs,actualizaProducto,815,0,Subs,guardaProductoSinGestion,782,0 NavigationStack=C_Cliente,Guardar_Click,696,1,C_Cliente,imprime_venta,1783,0,C_Cliente,GUADAVENTA2,874,0,C_Cliente,mandaPendientesrecarga,2088,0,C_Principal,Class_Globals,0,0,C_Cliente,mandaPendientes,1978,0,C_NoVenta,GUARDA_Click,127,0,C_NoVenta,mandaPendientesnoventa,141,0,C_Principal,Subir_Click,783,1,B4XMainPage,Class_Globals,25,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,2,13,4,7,8,9,10,14,29 VisibleModules=1,2,13,4,7,8,9,10,14,29