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
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
End If
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)")
If credi3.RowCount > 0 Then
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
End If
Else
@@ -629,8 +651,6 @@ Sub Guardar_Click
Credi.Position = 0
If Credi.GetString("CAT_CL_BCREDITO") = "1" Then
If l_total.Text <> "null" 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)")
If credi2.RowCount > 0 Then
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 pre_act <> Starter.pre_viejo Then
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)
DateTime.TimeFormat = "HH:mm:ss"
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
mandapiezas
B4XPages.MainPage.productos.reiniciarlistaProds = True
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" )
Else
If et_abono.Text <> "" 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
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)
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
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
@@ -2383,7 +2439,7 @@ Private Sub b_cxc_Click
h = B4XPages.MainPage.skmt.ExecQuery("SELECT CUENTA from CUENTAA")
h.Position = 0
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
Log(j.RowCount)
If j.RowCount = 0 Then
@@ -2408,7 +2464,26 @@ Private Sub b_cxc_Click
f.Close
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
h.Close
j.Close
@@ -2551,125 +2626,142 @@ Private Sub b_ventaabordo_Click
End Sub
Sub imprime_pagare
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
Log("Conectando a impresora ...")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
Log("++++++ " & cont)
cont = cont + 1
If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
If cont > 3 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
Log("****** " & cont)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 3 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 22
BLANCO = " "
Printer1.WriteString("Marquez Distribuciones" & CRLF)
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
Log("Conectando a impresora ...")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
Log("++++++ " & cont)
cont = cont + 1
If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
If cont > 3 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
Log("****** " & cont)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 3 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 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)
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)")
If c.RowCount > 0 Then
c.Position = 0
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)
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)")
If c.RowCount > 0 Then
c.Position = 0
Dim fechatabulador() As String = Regex.Split(" ", c.GetString("DIA_VENCIMIENTO"))
Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0))
Dim fechatabulador3 As String = fechatabulador2(2)&"/"&fechatabulador2(1)&"/"&fechatabulador2(0)
Dim fechatabulador() As String = Regex.Split(" ", c.GetString("DIA_VENCIMIENTO"))
Dim fechatabulador2() As String = Regex.Split("-", fechatabulador(0))
Dim fechatabulador3 As String = fechatabulador2(2)&"/"&fechatabulador2(1)&"/"&fechatabulador2(0)
notaabono = c.GetString("NOTA")
saldopendiente = c.GetString("SALDO_PENDIENTE")
End If
c.Close
notaabono = c.GetString("NOTA")
saldopendiente = c.GetString("SALDO_PENDIENTE")
End If
c.Close
' c = Starter.skmt.ExecQuery("SELECT NOTA FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' If c.RowCount > 0 Then
' c.Position = 0
' notaabono = c.GetString("NOTA")
' End If
Log(notaabono)
Log(et_abono.Text)
Printer1.WriteString("Comprobante de pago del pagare" & CRLF)
Log(notaabono)
Log(et_abono.Text)
Printer1.WriteString("Comprobante de pago del pagare" & CRLF)
Printer1.WriteString("Folio: " & notaabono & CRLF)
Printer1.WriteString("Folio: " & notaabono & CRLF)
Printer1.WriteString("Monto deuda: " & (NumberFormat(saldopendiente,0,2)) & CRLF)
Printer1.WriteString("Monto deuda: " & (NumberFormat(saldopendiente,0,2)) & CRLF)
Printer1.WriteString("Monto abono: " & (NumberFormat(et_abono.Text,0,2)) & CRLF)
Printer1.WriteString("Monto abono: " & (NumberFormat(et_abono.Text,0,2)) & CRLF)
Printer1.WriteString("Restante: " &(NumberFormat(saldopendiente-et_abono.Text,0,2)) & CRLF)
Printer1.WriteString("Restante: " &(NumberFormat(saldopendiente-et_abono.Text,0,2)) & CRLF)
Printer1.WriteString("Fecha Abono: " & sDate & CRLF)
Printer1.WriteString("Fecha Abono: " & sDate & CRLF)
Printer1.WriteString("Fecha vencimiento: " & fechatabulador3 & CRLF)
Printer1.WriteString("Fecha vencimiento: " & fechatabulador3 & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("-------------FIRMA------------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("-------------FIRMA------------" & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
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
imprime_pagare
Else
p_abono.Visible = False
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
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
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)}')"$)
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($"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 = ""
End If
' 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))
LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red)
mandaPendientesnoventa
' mandaPendientesnoventa
B4XPages.ShowPage("Principal")
End Sub

View File

@@ -670,6 +670,22 @@ Sub Subir_Click
End If
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
Dim fotocn() As Byte
Dim Dirp As String = File.DirInternal

View File

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

View File

@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
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
VisibleModules=1,2,13,4,7,8,9,10,14,29