Verion 05_01_05

Se agrega apartado de productos
Se agrega leyenda de texto en el ticket
Se agrega listado de resumen dia por producto
Se agrega limitador de venta por monto
Se agrega que no se pueda editar ninguna venta una vez guardada
This commit is contained in:
cvaldes1201
2025-01-07 18:03:25 -06:00
parent 580dd54721
commit 56c80c69ed
21 changed files with 679 additions and 374 deletions

View File

@@ -169,6 +169,10 @@ Sub Class_Globals
Dim motivoNoVenta, motivoNoVisita As String
Dim imprimirsolo As String = 0
Dim siimprimio As String = 0
End Sub
'You can add more parameters here.
@@ -254,7 +258,7 @@ End Sub
Sub B4XPage_Appear
' banderaimp = 0
bitacora.inicioFin
' bitacora.inicioFin
Guardar.Enabled = True
gest.Enabled = True
b_cxc.Enabled = False
@@ -268,8 +272,8 @@ Sub B4XPage_Appear
cercavalor = 0
Tels.Visible = False
gest.Visible = False
bitacora.p_transparenteInicioFin2.Visible = False
bitacora.b_Inicio_Fin_venta2.Visible = False
' bitacora.p_transparenteInicioFin2.Visible = False
' bitacora.b_Inicio_Fin_venta2.Visible = False
b_ventaabordo.Visible = False
If Subs.hayPedido Then 'Si hay pedido, deshabilitamos el boton de "No Venta"
@@ -353,6 +357,7 @@ Sub B4XPage_Appear
End If
la_saldotot.Text = MONTO_COMPRA
If MONTO_COMPRA <> "0" Then
META2 = 300 - MONTO_COMPRA
Else
@@ -444,42 +449,45 @@ Sub B4XPage_Appear
Log("2")
End If
pre_act = Subs.traeTotalClientepreventaparacredito
pre_act = Subs.traeTotalClientepreventaparacredito(la_cuenta.Text)
Log(la_cuenta.Text)
LogColor(Subs.traeTotalClientepreventaparacredito(la_cuenta.Text),Colors.Blue)
'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_info INNER JOIN ABONOSP ON CAT_CL_CODIGO = 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" 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_info 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 credi2.GetString ("SALDO_PENDIENTE") <> credi3.GetString ("a_abono") Then
MsgboxAsync("La venta sera en efectivo porque el pago del pagare en 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
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_info 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 credi2.GetString ("SALDO_PENDIENTE") <> credi3.GetString ("a_abono") Then
MsgboxAsync("La venta sera en efectivo porque el pago del pagare en 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
credi3.Close
End If
End If
credi2.Close
''descomentar para creditos
' 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_info INNER JOIN ABONOSP ON CAT_CL_CODIGO = 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" 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_info 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 credi2.GetString ("SALDO_PENDIENTE") <> credi3.GetString ("a_abono") Then
' MsgboxAsync("La venta sera en efectivo porque el pago del pagare en 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
' 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_info 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 credi2.GetString ("SALDO_PENDIENTE") <> credi3.GetString ("a_abono") Then
' MsgboxAsync("La venta sera en efectivo porque el pago del pagare en 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
' credi3.Close
' End If
' End If
' credi2.Close
''fin comentado credito
If la_cuenta.Text = "0" Then
gest.Text = "Abordo"
B4XPages.MainPage.recarga = "0"
@@ -497,8 +505,8 @@ Sub B4XPage_Appear
Tels.Visible = False
gest.Visible = False
bitacora.p_transparenteInicioFin2.Visible = False
bitacora.b_Inicio_Fin_venta2.Visible = False
' bitacora.p_transparenteInicioFin2.Visible = False
' bitacora.b_Inicio_Fin_venta2.Visible = False
b_ventaabordo.Visible = False
CallSubDelayed(Tracker, "Track")
@@ -509,7 +517,7 @@ Sub B4XPage_Appear
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
Log(imprimirsolo)
End Sub
Sub GPS_LocationChanged (Location1 As Location)
@@ -520,9 +528,14 @@ Sub GPS_LocationChanged (Location1 As Location)
Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
End If
If m_lat.Length < 5 Then
Else
Dim l1, l2 As Location
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$)
Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$)
l2.Initialize2(m_lat, m_lon)
BT_QR.Enabled = True
@@ -532,22 +545,26 @@ Sub GPS_LocationChanged (Location1 As Location)
'now we need the distance between our location and the target location
distance = l1.DistanceTo(l2) 'the result is in meter
gest.Visible = True
If distance < 50000000000000000000000000000000000000000000 Then
If distance < 500000000000000000000000000000000000000000000000000000000000 Then
LA_GEO.TextColor = Colors.Blue
Tels.Visible = True
gest.Visible = True
bitacora.p_transparenteInicioFin2.Visible = True
bitacora.b_Inicio_Fin_venta2.Visible = True
bitacora.inicioFin
' bitacora.p_transparenteInicioFin2.Visible = True
' bitacora.b_Inicio_Fin_venta2.Visible = True
b_ventaabordo.Visible = True
Else
Tels.Visible = False
gest.Visible = False
bitacora.p_transparenteInicioFin2.Visible = False
bitacora.b_Inicio_Fin_venta2.Visible = False
' bitacora.b_Inicio_Fin_venta2.Visible = False
b_ventaabordo.Visible = False
LA_GEO.TextColor = Colors.Red
End If
LA_GEO.Text= $"$1.2{distance/1000} kms"$
End If
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
CallSubDelayed(Tracker, "CreateLocationRequest")
@@ -608,6 +625,11 @@ Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
' Return True To close, False To cancel
' Log($"venimosDeTicketsDia=${venimosDeTicketsDia}"$)
If l_total.Text = "null" Then
Dim comprarar As String = 0
Else
comprarar = l_total.Text
End If
If bitacora.p_transparenteInicioFin2.Visible And bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" Then
ToastMessageShow("Por favor presione el botón de TERMINAR VENTA", True)
Return False
@@ -666,50 +688,65 @@ Sub DATOS_Click
End Sub
Sub Guardar_Click
bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA"
bitacora.enVenta = False
bitacora.inicioFin
' bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA"
' bitacora.enVenta = False
' bitacora.inicioFin
If l_total.Text = "null" Then
Dim comprarar As String = 0
Else
comprarar = l_total.Text
End If
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_24"))
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_info Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP)")
'INNER JOIN kmt_info 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
If c.GetString("CUANTOS") > 0 Then
Log("1")
If la_cuenta.Text <> 0 Then
Log("2")
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_info Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP)")
'INNER JOIN kmt_info ON CAT_CL_CODIGO = CL_CUENTA
If Credi.RowCount > 0 Then
Log("3")
Credi.Position = 0
If Credi.GetString("CAT_CL_BCREDITO") = "1" Then
Log("4")
If l_total.Text <> "null" Then
Log("5")
If pre_act <> Starter.pre_viejo Then
Log("6")
' 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 = False
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_info 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
' p_credito.Visible = False
' 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_info 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
Log("7")
GuardaVenta
End If
Else If l_total.Text = "null" Then
Log("8")
GuardaVenta
End If
Else If Credi.GetString("CAT_CL_BCREDITO") = "0" Then
Log("9")
GuardaVenta
End If
Else
@@ -722,38 +759,48 @@ Sub Guardar_Click
' 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 = False
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_info 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
' p_credito.Visible = False
' 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_info 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
Log("10")
GuardaVenta
' End If
Else If pre_act = Starter.pre_viejo Then
Log("11")
GuardaVenta
End If
Else If l_total.Text = "null" Then
Log("11")
GuardaVenta
End If
Else
Log("12")
GuardaVenta
End If
Else
Log("13")
GuardaVenta
End If
End If
' Credi.Close
Else If la_cuenta.Text = 0 Then
Log("14")
GuardaVenta
End If
Else If c.GetString("CUANTOS") = 0 Then
Log("15")
' bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA"
' bitacora.enVenta = False
' bitacora.inicioFin
GuardaVenta
End If
' c.Close
@@ -772,7 +819,7 @@ Private Sub b_acred_Click
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_info 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
If Subs.traeTotalClientepreventaparacredito(la_cuenta.Text) >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then
If et_montoacredito.Text > limitcred.GetString("CAT_CL_LIMITECREDITO") Then
MsgboxAsync("El monto del pagare no puede ser mayor al limite del credito","Atención")
@@ -792,10 +839,10 @@ Private Sub b_acred_Click
p_credito.Visible = False
End If
End If
Else If Subs.traeTotalClientepreventaparacredito < limitcred.GetString("CAT_CL_LIMITECREDITO") Then
If et_montoacredito.Text > Subs.traeTotalClientepreventaparacredito Then
Else If Subs.traeTotalClientepreventaparacredito(la_cuenta.Text) < limitcred.GetString("CAT_CL_LIMITECREDITO") Then
If et_montoacredito.Text > Subs.traeTotalClientepreventaparacredito(la_cuenta.Text) Then
MsgboxAsync("El monto del pagare no puede ser mayor a la preventa registrada","Atención")
et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito
et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito(la_cuenta.Text)
Else
c = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) As REGISTRADO FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
c.Position = 0
@@ -820,22 +867,114 @@ Private Sub b_cancred_Click
End Sub
Sub GuardaVenta
If pre_act <> Starter.pre_viejo Then
B_IMP_Click
Guardar.Enabled = False
bitacora.b_Inicio_Fin_venta2.Enabled = False
gest.Enabled = False
b_cxc.Enabled = False
Tar.Enabled = False
Tels.Enabled = False
b_ventaabordo.Enabled = False
HIST.Enabled = False
banderaimp = 1
Else If pre_act = Starter.pre_viejo Then
If banderaimp = 1 Then
B_IMP_Click
imprimirsolo = 0
If l_total.Text = "null" Then
Dim comprarar As String = 0
Else
comprarar = l_total.Text
End If
LogColor(comprarar,Colors.Green)
If comprarar = Starter.pre_viejo Then
If bitacora.enVenta Then
bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA"
bitacora.enVenta = False
bitacora.inicioFin
banderaimp = 0
Log("2.1")
Else
GUADAVENTA2
B4XPages.ShowPage("Principal")
banderaimp = 0
Log("2.2")
End If
Else
Dim minimocompra As Int
Dim mini As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES where CAT_VA_DESCRIPCION = 'minimoventa'")
If mini.RowCount > 0 Then
mini.Position = 0
minimocompra = mini.GetString("CAT_VA_VALOR")
Else
minimocompra = 0
End If
If minimocompra > 0 Then
If comprarar < minimocompra Then
Msgbox2Async("La venta es menor al monto minimo permitido."&CRLF& "La venta se eliminara."&CRLF&"¿Deseas continuar?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Subs.borraPedidoClienteActual
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, "Monto de venta menor a 190","", 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)")
bitacora.mandaBitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRutaBitacora, "NO VENTA", Subs.traeCliente,Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, "Monto de venta menor a 190", "")
B4XPages.ShowPage("Principal")
Log("si entre")
End If
Else If comprarar >= minimocompra Then
Log("1.2")
Log(pre_act)
If comprarar <> Starter.pre_viejo Then
Log("1.3")
imprimirsolo = 1
B_IMP_Click
Guardar.Enabled = False
gest.Enabled = False
b_cxc.Enabled = False
Tar.Enabled = False
Tels.Enabled = False
b_ventaabordo.Enabled = False
HIST.Enabled = False
banderaimp = 1
Else If comprarar = Starter.pre_viejo Then
Log("1.4")
If banderaimp = 1 Then
Log("1.5")
imprimirsolo = 1
B_IMP_Click
Else
Log("1.6")
GUADAVENTA2
End If
End If
End If
Else If minimocompra = 0 Then
Log("1.2")
If comprarar <> Starter.pre_viejo Then
Log("1.3")
imprimirsolo = 1
B_IMP_Click
Guardar.Enabled = False
gest.Enabled = False
b_cxc.Enabled = False
Tar.Enabled = False
Tels.Enabled = False
b_ventaabordo.Enabled = False
HIST.Enabled = False
banderaimp = 1
Else If comprarar = Starter.pre_viejo Then
Log("1.4")
If banderaimp = 1 Then
Log("1.5")
imprimirsolo = 1
B_IMP_Click
Else
Log("1.6")
GUADAVENTA2
End If
End If
End If
End If
@@ -895,9 +1034,10 @@ Sub GUADAVENTA2
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss"
mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
mandapiezas
Log("para mostrar que aqui me quedo ")
' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
' mandapiezas
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
@@ -910,6 +1050,10 @@ Sub GUADAVENTA2
b_ventaabordo.Enabled = False
HIST.Enabled = True
banderaimp = 0
bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA"
bitacora.enVenta = False
bitacora.inicioFin
imprimirsolo = 0
' B4XPages.ShowPage("Principal")
Else If B4XPages.MainPage.recarga = "1" Then
DateTime.DateFormat = "MM/dd/yyyy"
@@ -964,13 +1108,15 @@ Sub GUADAVENTA2
' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!!
' mandapiezas
mandaPendientesrecarga
mandapiezasrecarga
' mandaPendientesrecarga
' mandapiezasrecarga
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
' B4XPages.ShowPage("login")
B4XPages.MainPage.recarga = "0"
imprimirsolo = 0
End If
End Sub
@@ -1045,7 +1191,10 @@ Sub b_mapa_Click
End Sub
Sub B_IMP_Click
If imprimirsolo <> 1 Then
imprimirsolo = 0
End If
Log(imprimirsolo)
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String("PREVENTA_48"))
If c.RowCount > 0 Then
imprime_venta
@@ -1150,32 +1299,32 @@ Sub imprime_preventa
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
ESPACIO = 23
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")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF )
TAMANO = 0
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
Else
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
k1 = NumberFormat((s.GETSTRING("PE_COSTOU")/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
ESPACIO = 23
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")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF )
TAMANO = 0
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
End If
End If
@@ -1198,29 +1347,29 @@ Sub imprime_preventa
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
ESPACIO = 23
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")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF )
TAMANO = 0
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
End If
Next
Printer1.WriteString(" " & CRLF)
End If
s.Close
s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_ C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_24'"$)
s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_24'"$)
Dim subtotal As Double
s.Position = 0
subtotal = s.GetDouble("SUBTOTAL")
s.Close
Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_ C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_24' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)")
Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_24' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)")
subtot.Position = 0
subtotal = subtotal + subtot.GetDouble("TOTAL_SIN_PROMO")
subtot.Close
@@ -1280,7 +1429,15 @@ Sub imprime_preventa
If resultado = DialogResponse.POSITIVE Then
B_IMP_Click
Else
GUADAVENTA2
If imprimirsolo = 0 Then
Else If imprimirsolo = 1 Then
bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA"
bitacora.enVenta = False
bitacora.inicioFin
GUADAVENTA2
End If
End If
End Sub
@@ -1432,7 +1589,7 @@ Sub imprime_venta
k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2)
TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
ESPACIO = ESPACIO - TAMANO
ESPACIO = ESPACIO / 2
@@ -1440,10 +1597,10 @@ Sub imprime_venta
BLANCO = " " & BLANCO
Next
Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF )
Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF )
TAMANO = 0
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
' Printer1.Justify = 0
Else
@@ -1495,7 +1652,7 @@ Sub imprime_venta
k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2)
TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
ESPACIO = ESPACIO - TAMANO
ESPACIO = ESPACIO / 2
@@ -1503,10 +1660,10 @@ Sub imprime_venta
BLANCO = " " & BLANCO
Next
Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF )
Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF )
TAMANO = 0
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
' Printer1.Justify = 0
End If
@@ -1574,7 +1731,7 @@ Sub imprime_venta
k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2)
TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
ESPACIO = ESPACIO - TAMANO
ESPACIO = ESPACIO / 2
@@ -1582,10 +1739,10 @@ Sub imprime_venta
BLANCO = " " & BLANCO
Next
Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF )
Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF )
TAMANO = 0
ESPACIO = 30
ESPACIO = 23
BLANCO = " "
' Printer1.Justify = 0
End If
@@ -1593,13 +1750,13 @@ Sub imprime_venta
Printer1.WriteString(" " & CRLF)
End If
s.Close
s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_ C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_48'"$)
s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_48'"$)
Dim subtotal As Double
s.Position = 0
subtotal = s.GetDouble("SUBTOTAL")
s.Close
Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_ C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_48' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)")
Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_48' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)")
subtot.Position = 0
subtotal = subtotal + subtot.GetDouble("TOTAL_SIN_PROMO")
subtot.Close
@@ -1672,7 +1829,14 @@ Sub imprime_venta
If resultado = DialogResponse.POSITIVE Then
B_IMP_Click
Else
GUADAVENTA2
If imprimirsolo = 0 Then
Else If imprimirsolo = 1 Then
bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA"
bitacora.enVenta = False
bitacora.inicioFin
GUADAVENTA2
End If
End If
End If
@@ -1689,6 +1853,7 @@ Sub Printer1_Connected (Success As Boolean)
LogColor("Impresora conectada", Colors.Green)
' B_IMP2.Enabled = True
impresoraConectada = True
siimprimio = 1
Else
' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore
' ToastMessageShow("Error conectando la impresora", False)
@@ -1698,6 +1863,7 @@ Sub Printer1_Connected (Success As Boolean)
Starter.MAC_IMPRESORA = "0"
errorImpresora = 0
End If
siimprimio = 0
End If
End Sub