This commit is contained in:
Javier
2025-12-26 10:46:05 -06:00
parent a06b688e0b
commit 6a0e127bc4
15 changed files with 1345 additions and 859 deletions

View File

@@ -226,6 +226,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORAGPS(fechab TEXT, usuariob TEXT, almacenb TEXT, rutab TEXT, eventob TEXT, clienteb TEXT, iniciob TEXT, finb TEXT, latitudb TEXT, longitudb TEXT, precision TEXT, motivonoventa TEXT, motivonovisita TEXT)")
Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "INT")
Subs.agregaColumna("PICK_CIEGO", "RESTA", "INT")
Subs.agregaColumna("PEDIDO", "CONSECUTIVO", "INT")
Subs.agregaColumna("PEDIDO", "PE_FOLIOFAC", "INT")
Subs.agregaColumna("PEDIDO", "PE_CANTC", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT")
@@ -258,6 +260,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("CAT_GUNAPROD3", "CAT_DP_PRECIO1", "TEXT")
Subs.agregaColumna("CAT_GUNAPROD4", "CAT_DP_PRECIO1", "TEXT")
Subs.agregaColumna("kmt_info", "CAT_CL_TIPO_CLIENTE", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_DESCRAGA", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_CONFIRMADO", "TEXT")

View File

@@ -186,6 +186,10 @@ Sub Class_Globals
Private b_inicioFinVenta As Button
Dim precision As Int = 0
Dim dentroDeGeocerca As Boolean = False
Private Panel4 As Panel
Private l_especial As Label
Private et_especial As EditText
Private l_tienda As Label
End Sub
'You can add more parameters here.
@@ -444,6 +448,7 @@ Sub B4XPage_Appear
End If
' 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")))
@@ -461,10 +466,13 @@ Sub B4XPage_Appear
p_cbFactura.Visible = False
l_factura.Visible = False
b_ventaabordo.Visible = False
Button1.Visible = False
Else
p_cbFactura.Visible = True
l_factura.Visible = True
b_ventaabordo.Visible = True
b_ventaabordo.Visible = True
Button1.Visible = True
End If
@@ -563,7 +571,7 @@ Sub B4XPage_Appear
B4XPages.MainPage.recarga = "1"
Else
' gest.Text = "Pre-Venta a Contado"
gest.Text = "Preventa"
gest.Text = "Pre-Pedido"
B4XPages.MainPage.recarga = "0"
End If
' LogColor(B4XPages.MainPage.recarga,Colors.Blue)
@@ -640,44 +648,38 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
End Sub
Sub gest_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_CONTADO"
' End If
' B4XPages.ShowPage("productos")
Dim horaActual As Int = DateTime.GetHour(DateTime.Now)
If la_cuenta.Text = "0" Then
B4XPages.MainPage.tipo_venta = "ABORDO"
B4XPages.ShowPage("productos")
Else If la_cuenta.Text = "1" Then
B4XPages.MainPage.tipo_venta = "RECARGA"
B4XPages.ShowPage("productos")
Else
B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO"
End If
'Buscamos en el historial de cuestionarios si el cliente ya tiene cuestionario contestado.
' Private hc As Cursor = Starter.skmt.ExecQuery($"select count(HC_CLIENTE) as cuantos from HIST_CUESTIONARIO where HC_CLIENTE = '${Subs.traeCliente}'"$)
' hc.Position = 0
' Log($"${cuest.encuestaIniciada} - ${hc.GetString("cuantos")} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
'
' If la_cuenta.Text <> "0" And Not(cuest.encuestaIniciada) And hc.GetString("cuantos") = 0 And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then
' cuest.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
' Return False
' End If
' Private x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select tienda_id from COORDENADAS_GPS where tienda_id = '${la_cuenta.text}'"$)
' Log("+++++++++++++ " & x.RowCount)
' If la_cuenta.Text<> "0" And distance > 50 And x.RowCount = 0 Then
' Private res As String = Msgbox2("¿Estas en la tienda, para guardar la nueva ubicación?", "AVISO", "Si","" ,"No", Null) 'ignore
' If res = DialogResponse.POSITIVE Then
' DateTime.DateFormat = "MM/dd/yyyy"
' sDate=DateTime.Date(DateTime.Now)
' sTime=DateTime.Time(DateTime.Now)
' B4XPages.MainPage.skmt.ExecNonQuery($"insert into COORDENADAS_GPS (tienda_id, ruta, almacen, latitud, longitud, fecha) values ('${la_cuenta.Text}', '${Subs.traeRuta}', '${Subs.traeAlmacen}', '${B4XPages.MainPage.lat_gps}', '${B4XPages.MainPage.lon_gps}', '${sDate} ${sTime}')"$)
'
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "insert_coords_nuevas_INTMEX"
' cmd.Parameters = Array As Object(la_cuenta.text, Subs.traeRuta, Subs.traeAlmacen, sDate & " " & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, usuario)
'' Log($"${la_cuenta.text}, ${Subs.traeRuta}, ${Subs.traeAlmacen}, ${sDate} ${sTime}, ${m_lat}, ${m_lon}"$)
' reqManager.ExecuteCommand(cmd , "ins_coords_nuevas")
' Aquí entra la lógica de PREVENTA_CONTADO
' Verificamos si son las 3 PM (15:00) o más tarde
' If horaActual >= 15 Then
' ' Si usas B4XPages es mejor MsgboxAsync
' xui.MsgboxAsync("Ya no se pueden meter prepedidos después de las 3:00 PM.", "Aviso")
' Else
' ' Si es antes de las 3 PM, funciona normal
B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO"
B4XPages.ShowPage("productos")
' End If
' End If
'Si hay mapa de productos es que hay venta en proceso, entonces borramos la actual para meter la nueva.
' If B4XPages.MainPage.productos.prodsMap.IsInitialized And B4XPages.MainPage.productos.prodsMap.Size > 0 Then Subs.borraPedidoClienteActual
B4XPages.ShowPage("productos")
End If
End Sub
Private Sub b_venta_credito_Click
@@ -731,7 +733,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub
End If
Else
If B4XPages.MainPage.recarga = "1" Then
B4XPages.ShowPage("login")
B4XPages.ShowPage("principal")
End If
End If
@@ -760,6 +762,7 @@ Sub Guardar_Click
'-----------------------
If c.GetString("CUANTOS_CREDITO") = 0 Then
Log("aQUI")
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'")
@@ -883,25 +886,7 @@ Sub Guardar_Click
' GuardaVenta
' End If
' c.Close
b_inicioFinVenta.Text = "TERMINAR VENTA"
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True
b_inicioFinVenta.BringToFront
Guardar.SendToBack
Log("InicioFinVenta VISIBLE")
Else
b_inicioFinVenta.Visible = False
Log("InicioFinVenta NO VISIBLE")
Starter.enVenta = False
LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA"))
If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton
Log("InicioFinVenta NO VISIBLE")
b_inicioFinVenta.Visible = False
End If
End Sub
Private Sub b_inicioFinVenta_Click
@@ -999,91 +984,165 @@ Sub GuardaVenta
Else If pre_act = Starter.pre_viejo Then
If banderaimp = 1 Then
B_IMP_Click
Log(2)
Else
Log(1)
GUADAVENTA2
End If
End If
End Sub
Sub GUADAVENTA2
' b_inicioFinVenta.Text = "TERMINAR VENTA"
' If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
' b_inicioFinVenta.Visible = True
' b_inicioFinVenta.BringToFront
' Guardar.SendToBack
' Log("InicioFinVenta VISIBLE")
' Else
' b_inicioFinVenta.Visible = False
' Log("InicioFinVenta NO VISIBLE")
' Starter.enVenta = False
' LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
' Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "")
' B4XPages.ShowPageAndRemovePreviousPages("Principal")
' End If
'' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA"))
' If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton
' Log("InicioFinVenta NO VISIBLE")
' b_inicioFinVenta.Visible = False
' End If
Log(B4XPages.MainPage.recarga)
If B4XPages.MainPage.recarga = "0" Then
Log("AQUI")
Dim foliofac2 As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_DESCRAGA = 1 AND PE_FOLIOFAC IS NULL")
If foliofac2.RowCount > 0 Then
Dim foliofac As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT sum(IFNULL(PE_DESCRAGA,0)) AS PE_DESCRAGA FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
foliofac.Position = 0
If foliofac.GetInt("PE_DESCRAGA") = 0 Then
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.Close
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
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
' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS"))
If c.GetString("CUANTOS") > 0 Then
Private cbFactura As Int = 0
If cb_factura.Checked Then cbFactura = 1
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
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, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
c.Close
DateTime.TimeFormat = "HHmmss"
sTime=DateTime.Time(DateTime.Now)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
Try
c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
Log("SI AQUI ")
Dim foliofac As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT sum(IFNULL(PE_DESCRAGA,0)) AS PE_DESCRAGA FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
foliofac.Position = 0
If foliofac.GetInt("PE_DESCRAGA") = 0 Then
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.Close
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
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
' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS"))
If c.GetString("CUANTOS") > 0 Then
Private cbFactura As Int = 0
If cb_factura.Checked Then cbFactura = 1
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
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, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
c.Close
DateTime.TimeFormat = "HHmmss"
sTime=DateTime.Time(DateTime.Now)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
Try
c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
"Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _
" Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _
"Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _
" Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _
" from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ")
c.Position = 0
stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
stay_mi = c.GetString("MINUTOS_TOTALES") * 60
stay_ss = c.GetString("SEGUNDOS_TOTALES")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
c.Close
Catch
ToastMessageShow(".",True)
End Try
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss"
c.Position = 0
stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
stay_mi = c.GetString("MINUTOS_TOTALES") * 60
stay_ss = c.GetString("SEGUNDOS_TOTALES")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
c.Close
Catch
ToastMessageShow(".",True)
End Try
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
' 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
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
Guardar.Enabled = True
gest.Enabled = True
b_cxc.Enabled = True
Tar.Enabled = True
Tels.Enabled = True
b_ventaabordo.Enabled = True
HIST.Enabled = True
banderaimp = 0
mandaPendientePagare
mandapiezas
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
Guardar.Enabled = True
gest.Enabled = True
b_cxc.Enabled = True
Tar.Enabled = True
Tels.Enabled = True
b_ventaabordo.Enabled = True
HIST.Enabled = True
banderaimp = 0
mandaPendientePagare
b_inicioFinVenta.Text = "TERMINAR VENTA"
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True
b_inicioFinVenta.BringToFront
Guardar.SendToBack
Log("InicioFinVenta VISIBLE")
Else
b_inicioFinVenta.Visible = False
Log("InicioFinVenta NO VISIBLE")
Starter.enVenta = False
LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA"))
If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton
Log("InicioFinVenta NO VISIBLE")
b_inicioFinVenta.Visible = False
End If
Log("AQUI")
' B4XPages.ShowPage("Principal") 'Lo hace Boton inicioFinVenta
Else
p_folio.Visible = True
p_folio.Width = Root.Width
p_folio.Height = Root.Height
Else
l_especial.Visible = False
Panel4.Visible = False
If Subs.traetIPOCliente2 = 0 Then
p_folio.Visible = True
p_folio.Width = Root.Width
p_folio.Height = Root.Height
l_especial.Visible = False
Panel4.Visible = False
ELSE If Subs.traetIPOCliente2 = 2 Then
p_folio.Visible = True
p_folio.Width = Root.Width
p_folio.Height = Root.Height
Dim tortilla As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_DESCRAGA = 1 AND PE_FOLIOFAC IS NULL and PE_PROID IN ('PV199')")
If tortilla.RowCount > 0 Then
l_especial.Visible = True
Panel4.Visible = True
l_especial.Text = "Folio tortilla"
End If
ELSE If Subs.traetIPOCliente2 = 1 Then
p_folio.Visible = True
p_folio.Width = Root.Width
p_folio.Height = Root.Height
Dim totopo As Cursor=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_DESCRAGA = 1 AND PE_FOLIOFAC IS NULL and PE_PROID IN ('PV10')")
If totopo.RowCount > 0 Then
l_especial.Visible = True
Panel4.Visible = True
l_especial.Text = "Folio totopo"
End If
End If
End If
Else
Log("SI AQUI ")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
@@ -1149,6 +1208,26 @@ Sub GUADAVENTA2
HIST.Enabled = True
banderaimp = 0
mandaPendientePagare
b_inicioFinVenta.Text = "TERMINAR VENTA"
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True
b_inicioFinVenta.BringToFront
Guardar.SendToBack
Log("InicioFinVenta VISIBLE")
Else
b_inicioFinVenta.Visible = False
Log("InicioFinVenta NO VISIBLE")
Starter.enVenta = False
LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA"))
If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton
Log("InicioFinVenta NO VISIBLE")
b_inicioFinVenta.Visible = False
End If
' B4XPages.ShowPage("Principal") 'Lo hace Boton inicioFinVenta
End If
Else If B4XPages.MainPage.recarga = "1" Then
@@ -1209,7 +1288,7 @@ Sub GUADAVENTA2
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
B4XPages.ShowPage("login")
B4XPages.ShowPage("principal")
B4XPages.MainPage.recarga = "0"
End If
End Sub
@@ -2376,8 +2455,9 @@ Sub mandaPendientesrecarga
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido3_TGUERRERAS"
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"),"0",C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),"ABORDO",C.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),"RECARGA")
cmd.Name = "insert_pedido4_TGUERRERAS"
cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),"RECARGA",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")
' 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"),"0",C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),"ABORDO",C.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),"RECARGA")
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}"$)
' sql.insert_pedido_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?))
@@ -3172,85 +3252,219 @@ Private Sub c_cancelfolio_Click
End Sub
Private Sub c_acep_folio_Click
If et_folio.Text <> "" Then
If et_folio.Text.Length >= 4 And et_folio.Text.Length <= 15 Then
If Panel4.Visible = False Then
If et_folio.Text <> "" Then
If et_folio.Text.Length >= 4 And et_folio.Text.Length <= 15 Then
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1'"$)
et_folio.Text = ""
p_folio.Visible = False
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.Close
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
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
' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS"))
If c.GetString("CUANTOS") > 0 Then
Private cbFactura As Int = 0
If cb_factura.Checked Then cbFactura = 1
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
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, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
c.Close
DateTime.TimeFormat = "HHmmss"
sTime=DateTime.Time(DateTime.Now)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
Try
c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1'"$)
et_folio.Text = ""
p_folio.Visible = False
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.Close
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
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
' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS"))
If c.GetString("CUANTOS") > 0 Then
Private cbFactura As Int = 0
If cb_factura.Checked Then cbFactura = 1
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
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, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
c.Close
DateTime.TimeFormat = "HHmmss"
sTime=DateTime.Time(DateTime.Now)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
Try
c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
"Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _
" Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _
"Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _
" Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _
" from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ")
c.Position = 0
stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
stay_mi = c.GetString("MINUTOS_TOTALES") * 60
stay_ss = c.GetString("SEGUNDOS_TOTALES")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
c.Close
Catch
ToastMessageShow(".",True)
End Try
c.Position = 0
stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
stay_mi = c.GetString("MINUTOS_TOTALES") * 60
stay_ss = c.GetString("SEGUNDOS_TOTALES")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
c.Close
Catch
ToastMessageShow(".",True)
End Try
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red)
Subs.actualizaTET(la_cuenta.text)
DateTime.TimeFormat = "HH:mm:ss"
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
' 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
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
Guardar.Enabled = True
gest.Enabled = True
b_cxc.Enabled = True
Tar.Enabled = True
Tels.Enabled = True
b_ventaabordo.Enabled = True
HIST.Enabled = True
banderaimp = 0
mandaPendientePagare
B4XPages.ShowPage("Principal")
mandapiezas
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
Guardar.Enabled = True
gest.Enabled = True
b_cxc.Enabled = True
Tar.Enabled = True
Tels.Enabled = True
b_ventaabordo.Enabled = True
HIST.Enabled = True
banderaimp = 0
mandaPendientePagare
b_inicioFinVenta.Text = "TERMINAR VENTA"
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True
b_inicioFinVenta.BringToFront
Guardar.SendToBack
Log("InicioFinVenta VISIBLE")
Else
b_inicioFinVenta.Visible = False
Log("InicioFinVenta NO VISIBLE")
Starter.enVenta = False
LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA"))
If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton
Log("InicioFinVenta NO VISIBLE")
b_inicioFinVenta.Visible = False
End If
' B4XPages.ShowPage("Principal")
Else
MsgboxAsync("Captura un folio valido.","Atención")
Log("AQUI")
End If
Else
MsgboxAsync("Captura un folio valido.","Atención")
Log("AQUI")
End If
Else If Panel4.Visible Then
If et_folio.Text <> "" And et_especial.Text <> "" Then
If (et_folio.Text.Length >= 4 And et_folio.Text.Length <= 15) And (et_especial.Text.Length >= 4 And et_especial.Text.Length <= 15) Then
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1'"$)
If Subs.traetIPOCliente2 = 1 Then
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1' and PE_PROID = 'PV10'"$)
Else If Subs.traetIPOCliente2 = 2 Then
B4XPages.MainPage.skmt.ExecNonQuery($"UPDATE pedido SET PE_FOLIOFAC = '${et_folio.Text}' WHERE PE_CLIENTE In (select cuenta from cuentaa) AND PE_DESCRAGA = '1' and PE_PROID = 'PV199'"$)
End If
et_folio.Text = ""
p_folio.Visible = False
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.Close
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
c.Close
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
' Log("xxxxxxxxxxxxxxx " & c.GetString("CUANTOS"))
If c.GetString("CUANTOS") > 0 Then
Private cbFactura As Int = 0
If cb_factura.Checked Then cbFactura = 1
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
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, PC_ENVIO_OK, PC_FACTURA) 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, 0, cbFactura))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
End If
c.Close
DateTime.TimeFormat = "HHmmss"
sTime=DateTime.Time(DateTime.Now)
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_OUT = ? where HSS_OUT = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(sTime))
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE HIST_STAY_STORE set HSS_TOT = HSS_OUT - HSS_IN where HSS_CODIGO In (select cuenta from cuentaa)")
Try
c=B4XPages.MainPage.skmt.ExecQuery(" Select (substr(HSS_OUT,1,2) - substr(HSS_IN,1,2)) - Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then 1 Else 0 end HORAS_TOTALES, " & _
"Case when (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) < 0 Then (substr(HSS_OUT,3,2) + 60 - substr(HSS_IN,3,2)) " & _
" Else (substr(HSS_OUT,3,2) - substr(HSS_IN,3,2)) End - Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then 1 Else 0 end MINUTOS_TOTALES, " & _
"Case when (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) < 0 Then (substr(HSS_OUT,5,2) + 60 - substr(HSS_IN,5,2)) " & _
" Else (substr(HSS_OUT,5,2) - substr(HSS_IN,5,2)) end SEGUNDOS_TOTALES " & _
" from HIST_STAY_STORE where HSS_CODIGO In (Select cuenta from cuentaa) ")
c.Position = 0
stay_hh = c.GetString("HORAS_TOTALES") * 60 * 60
stay_mi = c.GetString("MINUTOS_TOTALES") * 60
stay_ss = c.GetString("SEGUNDOS_TOTALES")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_TOT = ? where HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(stay_hh + stay_mi + stay_ss))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_FIN = ? ", Array As Object(sTime))
c.Close
Catch
ToastMessageShow(".",True)
End Try
skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, la_cuenta.Text))
' 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
B4XPages.MainPage.productos.reiniciarlistaProds = True
B4XPages.MainPage.productos.prodsMap.Initialize
B4XPages.MainPage.promos.promosMap.Initialize
Guardar.Enabled = True
gest.Enabled = True
b_cxc.Enabled = True
Tar.Enabled = True
Tels.Enabled = True
b_ventaabordo.Enabled = True
HIST.Enabled = True
banderaimp = 0
mandaPendientePagare
b_inicioFinVenta.Text = "TERMINAR VENTA"
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True
b_inicioFinVenta.BringToFront
Guardar.SendToBack
Log("InicioFinVenta VISIBLE")
Else
b_inicioFinVenta.Visible = False
Log("InicioFinVenta NO VISIBLE")
Starter.enVenta = False
LogColor(">>>>>> ABORDO: " & Starter.enVenta, Colors.red)
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, ALMACEN, Subs.traeRuta(Subs.traeCliente), "Venta Abordo", "0", Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, precision, "", "")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
' Log((Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA"))
If Subs.traeTotalCliente > 0 And b_inicioFinVenta.Text <> "TERMINAR VENTA" Then ' Si ya hay venta no aparece el boton
Log("InicioFinVenta NO VISIBLE")
b_inicioFinVenta.Visible = False
End If
' B4XPages.ShowPage("Principal")
Else
MsgboxAsync("Captura un folio valido.","Atención")
Log("AQUI")
End If
Else
MsgboxAsync("Captura un folio valido.","Atención")
Log("AQUI")
End If
Else
MsgboxAsync("Captura un folio valido.","Atención")
End If
End Sub
Private Sub p_folio_Click

View File

@@ -77,11 +77,11 @@ Sub CANCELA_Click
End Sub
Sub GUARDA_Click
If r_1.Checked Then
motivo = "CERRADO"
motivo = "Sucursal en inventario"
Else If r_2.Checked Then
motivo = "NO COMPRA"
motivo = "Fuera de horario"
Else If r_3.Checked Then
motivo = "CON PRODUCTO"
motivo = "Con Producto"
Else
motivo = "NO ESTA EL ENCARGADO"
End If

File diff suppressed because it is too large Load Diff

View File

@@ -1487,7 +1487,7 @@ Sub Busca_TextChanged (Old As String, New As String)
' B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
Else
Log("AQUI2")
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 AND CAT_DP_PRECIO${Subs.traeTipoCliente} <> 0.0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 AND CAT_DP_PRECIO${Subs.traeTipoCliente} <> 0.0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
End If
' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
@@ -1539,13 +1539,14 @@ Sub LlenaProdsLL(p As ResultSet)
' Log("NO HAY RESULSET")
LogColor(Starter.tabla,Colors.blue)
' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$)
Log(Subs.traeTipoCliente)
If Subs.traeTipoCliente = "0" Then
Log("AQUI")
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
Else
Log("AQUI2")
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 AND CAT_DP_PRECIO${Subs.traeTipoCliente} <> 0.0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 AND CAT_DP_PRECIO${Subs.traeTipoCliente} <> 0.0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
Log($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} as CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10, PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_DP_PRECIO${Subs.traeTipoCliente} AS CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_DP_CONVERSION1, CAT_DP_PRECIO10 , PE_BCAJAS from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_DP_PRECIO${Subs.traeTipoCliente} > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
End If
End If

View File

@@ -144,10 +144,10 @@ End Sub
Sub B4XPage_Appear
Log(B4XPages.MainPage.tipo_venta)
If B4XPages.MainPage.tipo_venta = "PREVENTA_CONTADO" Or B4XPages.MainPage.tipo_venta = "ABORDO" Or B4XPages.MainPage.tipo_venta = "DEVOLUCION" Then
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
Else If B4XPages.MainPage.tipo_venta = "VENTA" Or B4XPages.MainPage.tipo_venta = "DEVOLUCION" Then
Starter.tabla = "CAT_GUNAPROD2"
Log(2)
Else If B4XPages.MainPage.tipo_venta = "RECARGA" Then
@@ -546,9 +546,6 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int,
End Sub
Sub b_prodMenos_Click
totalcajasmaspiezas = 0
etCantHasFocus = False
Root.RequestFocus
@@ -563,112 +560,92 @@ Sub b_prodMenos_Click
Dim panelcajas As B4XView = pnl.GetView(3)
Dim panelpiezas As B4XView = pnl.GetView(2)
' Log($"precio|stock:${laCant.tag}"$)
If laCant.Text = "" Then laCant.Text = 0
' Log("lacant.text="&laCant.text)
laCant.Text = $"${NumberFormat2(laCant.Text-1,0,0,0,False)}"$
If laCant.Text < 0 Then laCant.Text = 0
Private tmpMap1 As Map = clv_prods_ll.GetValue(index).As(Map)
Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id")
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen)
Private nombreX As String = Subs.traeProdNombre(id)
Private abor As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select * from CAT_GUNAPROD2 where CAT_GP_ID = '${id}'"$)
If abor.RowCount > 0 Then
abor.Position = 0
If abor.GetInt("CAT_GP_ALMACEN") -1 >= 0 Then
If laCant.Text = "" Then laCant.Text = 0
' Log("lacant.text="&laCant.text)
laCant.Text = $"${NumberFormat2(laCant.Text-1,0,0,0,False)}"$
If laCant.Text < 0 Then laCant.Text = 0
LogColor(tmpMap1,Colors.Magenta)
LogColor(tmpMap1,Colors.Magenta)
' prodsMap.Put(id, tmpMap)
If laCant.Text = 0 Then prodsMap.Remove(id)
If laCant.Text = 0 Then prodsMap.Remove(id)
If laCant.Text = 0 Then
panelcajas.Visible = True
Else If laCant.Text > 0 Then
panelcajas.Visible = False
End If
If laCant.Text = 0 Then
panelcajas.Visible = True
Else If laCant.Text > 0 Then
panelcajas.Visible = False
End If
' If laCant2.IsInitialized Then
' totalcajasmaspiezas = laCant.Text + laCant2.Text
' Else
' totalcajasmaspiezas = laCant.Text
' End If
LogColor("prodsMap="&prodsMap, Colors.blue)
LogColor("prodsMap="&prodsMap, Colors.blue)
' (Subs.traeAlmacen, p1.Get("precio"), p1.Get("cant"), pn, p, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta)
Log($"${Subs.traeAlmacen}, ${precio}, ${laCant.text}, ${Subs.traeProdNombre(id)}, ${id}, ${clienteId}"$)
Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0)
cuentaProds
LogColor("prodsMap="&prodsMap, Colors.blue)
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
Log($"${Subs.traeAlmacen}, ${precio}, ${laCant.text}, ${Subs.traeProdNombre(id)}, ${id}, ${clienteId}"$)
Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0)
cuentaProds
LogColor("prodsMap="&prodsMap, Colors.blue)
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
' Private maxcajas As Int = invActualizado/clv_prods_ll.GetValue(index).As(Map).Get("conversion")
' 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 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).Popall
' If 2 = 2 Then lProdX.Text = ""
If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(0, 1, 2, 2, False)}"$).Popall
' Log(lProdX.Text)
End If
End If
If laCant.Text = 0 Then
If maxcajas > 0 Then
panelcajas.Visible = False
Else
panelcajas.Visible = False
End If
Else If laCant.Text > 0 Then
panelcajas.Visible = False
End If
If laCant.Text = 0 Then
If maxcajas > 0 Then
panelcajas.Visible = True
Else
panelcajas.Visible = False
End If
Else If laCant.Text > 0 Then
panelcajas.Visible = False
End If
' If Subs.totalPedido < 1 Then laCant.Text = "0"
invTotal = totalcajasmaspiezas + Subs.traeinventario(id)
'aqui si lo comentamos aparece la parte de cajas
If tmpMap1.Get("conversion") = "1" Or tmpMap1.Get("precio_caja") = "0" Then
Log("invisible")
panelbotonesc.Visible = False
End If
If clv_prods_ll.GetValue(index).As(Map).Get("almacen") < clv_prods_ll.GetValue(index).As(Map).Get("conversion") Then
Log(clv_prods_ll.GetValue(index).As(Map).Get("cant"))
If clv_prods_ll.GetValue(index).As(Map).Get("cant").As(Int) = 0 Then
Log("Aqui debemos ponerlo invisible")
panelcajas.Visible = False
Else
End If
' p_botMasMenc.Visible = False
End If
Else
MsgboxAsync("No se puede quitar la devolucion por que no hay producto fisico.","Atención.")
End If
invTotal = totalcajasmaspiezas + Subs.traeinventario(id)
'aqui si lo comentamos aparece la parte de cajas
If tmpMap1.Get("conversion") = "1" Or tmpMap1.Get("precio_caja") = "0" Then
Log("invisible")
panelbotonesc.Visible = False
End If
If clv_prods_ll.GetValue(index).As(Map).Get("almacen") < clv_prods_ll.GetValue(index).As(Map).Get("conversion") Then
Log(clv_prods_ll.GetValue(index).As(Map).Get("cant"))
If clv_prods_ll.GetValue(index).As(Map).Get("cant").As(Int) = 0 Then
Log("Aqui debemos ponerlo invisible")
panelcajas.Visible = False
Else
End If
' p_botMasMenc.Visible = False
End If
'fin aparecer parte de cajas
' LogColor("InvTotal PRODMAS: " & invTotal, Colors.Red)
End Sub
Sub b_prodMas_Click
totalcajasmaspiezas = 0
etCantHasFocus = False
Root.RequestFocus
@@ -683,11 +660,15 @@ Sub b_prodMas_Click
Dim laCant2 As B4XView = pnl.GetView(3).GetView(2)
Dim lProdX As B4XView = pnl.GetView(1)
' Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map)
Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
Private inv As String=clv_prods_ll.GetValue(index).As(Map).Get("almacen")
Private existencias As String = clv_prods_ll.GetValue(index).As(Map).Get("almacen")
Log($"Existencias: ${existencias}"$)
If laCant.Text + 1 <= existencias Then
If laCant.Text = "" Then laCant.Text = 0
Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id")
' If laCant.Text + 1 <= inv Then
@@ -710,66 +691,7 @@ Sub b_prodMas_Click
Log(B4XPages.MainPage.cliente.credito_diponible)
LogColor(laCant.Text,Colors.Red)
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
' 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.actualizaProducto3(Subs.traeAlmacen, 0, 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)
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))
@@ -815,9 +737,7 @@ Sub b_prodMas_Click
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 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).Popall
' If 2 = 2 Then lProdX.Text = ""
If 2 = 2 Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.Append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${NumberFormat2(0, 1, 2, 2, False)}"$).Popall
' Log(lProdX.Text)
End If
invTotal = totalcajasmaspiezas + Subs.traeinventario(id)
@@ -825,7 +745,6 @@ Sub b_prodMas_Click
End If
End Sub
Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
@@ -851,9 +770,12 @@ Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
cuentaProds
End Sub
Private Sub et_pCant_TextChanged (Old As String, New As String)
' Log(etCantHasFocus)
' Log("InvTotal: " & invTotal)
Log("InvTotal: " & invTotal)
If etCantHasFocus = True Then
LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta)
Dim index As Int = clv_prods_ll.GetItemFromView(Sender)
@@ -873,7 +795,8 @@ Private Sub et_pCant_TextChanged (Old As String, New As String)
If(New = "" Or New = Null Or New = "-") Then New = 0
' If New < 0 Then New = 0
If(New > invTotal) Then
Sender.As(EditText).text = invTotal
' Sender.As(EditText).text = invTotal
Sender.As(EditText).text = Subs.traeinventario(id)
End If
' Log($"inventario=${inv}"$)
@@ -886,279 +809,54 @@ Private Sub et_pCant_TextChanged (Old As String, New As String)
panelcajas.Visible = False
Else If New = 0 Then
panelcajas.Visible = False
' panelcajas.Visible = True
panelcajas.Visible = True
End If
Log(Old)
If Old <> "" Then
Log(New < Old)
If New < Old Then
Private abor As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select * from CAT_GUNAPROD2 where CAT_GP_ID = '${id}'"$)
If abor.RowCount > 0 Then
abor.Position = 0
Log(abor.GetInt("CAT_GP_ALMACEN") -Old >= 0)
If abor.GetInt("CAT_GP_ALMACEN") -Old >= 0 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.actualizaProducto3(Subs.traeAlmacen, 0, 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
Else
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.actualizaProducto3(Subs.traeAlmacen, 0, 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
lProdX.Text = cs.Color(Colors.red).append(nombreX).Popall
' lProdX.Text = ""
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
Else
laCant.Text = Old
MsgboxAsync("No se puede quitar la devolucion por que no hay producto fisico.","Atención.")
If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then
Log("actualizamos producto")
Subs.actualizaProducto3(Subs.traeAlmacen, 0, laCant.Text, Subs.traeProdNombre(id), id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta,0,0)
cuentaProds
End If
End If
Else
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.actualizaProducto3(Subs.traeAlmacen, 0, 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
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"
o.Position = 0
invActualizado = Subs.traeinventario(id)
Log(Subs.traeinventario(id))
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
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.actualizaProducto3(Subs.traeAlmacen, 0, 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
lProdX.Text = cs.Color(Colors.red).append(nombreX).Popall
' lProdX.Text = ""
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(0, 1, 2, 2, False)}"$).Popall
End If
If New > 0 Then
End If
If New > 0 Then
panelcajas.Visible = False
Else If New = 0 Then
If maxcajas = 0 Then
panelcajas.Visible = False
Else If New = 0 Then
If maxcajas = 0 Then
panelcajas.Visible = False
Else
panelcajas.Visible = True
End If
Else
panelcajas.Visible = True
End If
End If
End If
End If
End Sub
Sub cuentaProds
' LogColor($"Productos de la orden: ${c_prods.GetString("cantProds")}, Total: ${c_prodsX.GetString("costoTotal")}"$, Colors.red)
Log("===========================")
@@ -1618,8 +1316,8 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In
' Log("cajas no a 0")
End If
' Private maxcajas As Int = clv_prods_ll.GetValue(i).As(Map).Get("almacen")/clv_prods_ll.GetValue(i).As(Map).Get("conversion")
' l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${precio}${CRLF}Max. Cajas: ${maxcajas}"$).Popall
l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).Popall
l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${precio}"$).Popall
' l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).Popall
'aqui si lo comentamos aparece la parte de cajas
'' por aqui vamos a corregir
''Or clv_prods_ll.GetValue(i).As(Map).Get("almacen") < clv_prods_ll.GetValue(i).As(Map).Get("conversion")

View File

@@ -38,6 +38,7 @@ Public Sub Initialize As Object
skmt.Initialize(File.DirInternal,"kmt.db", False)
rkmt.ExecNonQuery($"create table if not exists pedidos (pe_folio NUMERIC, pe_desc NUMERIC, pe_costo_sin TEXT, pe_ruta TEXT, pe_cedis TEXT, pe_costo_tot NUMERIC, pe_costou NUMERIC, pe_cant NUMERIC, pe_pronombre TEXT, pe_proid TEXT, pe_cliente TEXT, pe_fecha TEXT, pe_usuario TEXT)"$)
agregaColumna2(rkmt,"pedidos","pe_cantc","text")
agregaColumna2(rkmt,"pedidos","CONSECUTIVO","text")
agregaColumna2(rkmt,"pedidos","PE_DESCRAGA","text")
agregaColumna2(rkmt,"pedidos","PE_CONFIRMADO","text")
agregaColumna2(rkmt,"pedidos","pe_bcajas","text")
@@ -90,7 +91,7 @@ Sub respaldaPedido
Log("copiando pedidos ...")
rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from pedidos where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok,pe_cantc,pe_bcajas, PE_CONFIRMADO, PE_DESCRAGA,PE_FOLIOFAC) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok,pe_cantc,pe_bcajas, PE_CONFIRMADO, PE_DESCRAGA,PE_FOLIOFAC,CONSECUTIVO) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
rkmt.EndTransaction
' Log(((DateTime.Now - inicio)/1000) & " segs")

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -477,23 +477,23 @@ Sub PointInPolygon(point As LatLng, polygon As List) As Boolean
End Sub
Sub MapFragment1_LongClick (mPoint As LatLng)
' Verificar si el punto está dentro del polígono
If lista_punta.Size > 0 Then
Dim dentro As Boolean = PointInPolygon(mPoint, lista_punta)
If dentro Then
ToastMessageShow("El punto está DENTRO del polígono", True)
Else
ToastMessageShow("El punto está FUERA del polígono", True)
End If
End If
' Agregar marcador y punto a la lista
gmap.AddMarker3(mPoint.Latitude, mPoint.Longitude, "MicroArea ", LoadBitmap(File.DirAssets, "marker-amarillo.png")).InfoWindowShown = True
lista_punta2.Add(mPoint)
If lista_punta2.Size = 6 Then
DrawPolygon(lista_punta2)
End If
End Sub
'Sub MapFragment1_LongClick (mPoint As LatLng)
' ' Verificar si el punto está dentro del polígono
' If lista_punta.Size > 0 Then
' Dim dentro As Boolean = PointInPolygon(mPoint, lista_punta)
'
' If dentro Then
' ToastMessageShow("El punto está DENTRO del polígono", True)
' Else
' ToastMessageShow("El punto está FUERA del polígono", True)
' End If
' End If
'
' ' Agregar marcador y punto a la lista
' gmap.AddMarker3(mPoint.Latitude, mPoint.Longitude, "MicroArea ", LoadBitmap(File.DirAssets, "marker-amarillo.png")).InfoWindowShown = True
' lista_punta2.Add(mPoint)
'
' If lista_punta2.Size = 6 Then
' DrawPolygon(lista_punta2)
' End If
'End Sub

View File

@@ -787,6 +787,17 @@ Sub traeUsuarioDeBD As String 'ignore
Return u
End Sub
Sub traetIPOCliente2 As String 'ignore
Private c As Cursor
Private cl As String
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_TIPO_CLIENTE FROM kmt_info where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c.Position=0
cl = c.GetString("CAT_CL_TIPO_CLIENTE")
c.Close
Return cl
End Sub
'Inserta un producto en la tabla "pedido" y "pedido_cliente".
'Actualiza "cat_gunaprod" y la columna "gestion" en la tabla "kmt_info".
Sub guardaProducto(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String)
@@ -960,7 +971,7 @@ Sub actualizaProducto3(cedis As String, costoU As String, cant As Int, nombre As
Private difCant As Int = cant - antCant
' B4XPages.MainPage.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${0}, 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 pedido set pe_cant = ${cant}, pe_costo_tot = ${0}, 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}'"$)
'' 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

View File

@@ -1125,7 +1125,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: TGUERRERAS
#VersionCode: 1
#VersionName: 5.10.12
#VersionName: 5.12.15
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -69,7 +69,7 @@ ModuleClosedNodes1=
ModuleClosedNodes10=
ModuleClosedNodes11=
ModuleClosedNodes12=
ModuleClosedNodes13=13
ModuleClosedNodes13=
ModuleClosedNodes14=
ModuleClosedNodes15=
ModuleClosedNodes16=
@@ -97,6 +97,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Principal,Class_Globals,0,0,C_Principal,JobDone,1504,0,Starter,Process_Globals,34,0,Starter,reinicializaReqManager,135,0,C_Cliente,B4XPage_Appear,487,0,Starter,JobDone,150,5,Subs,bitacora,1848,6,Subs,traeinventario,1788,0,C_Cliente,b_inicioFinVenta_Click,910,3,C_Cliente,Guardar_Click,899,6
NavigationStack=Subs,traeUsuarioDeBD,781,0,Subs,traeFecha,770,0,C_Productos,Busca_TextChanged,1483,0,C_Productos,LlenaProdsLL,1509,6,C_Cliente,MODS,0,0,C_Cliente,gest_Click,673,0,C_Mapas,Class_Globals,0,0,MAPA_RUTAS,PointInPolygon,473,0,C_Principal,JobDone,1959,0,C_Principal,cargar_Click,1399,0
SelectedBuild=0
VisibleModules=2,4,31,14,13,5,30,17
VisibleModules=2,4,31,14,13,5,30,17,15,22,8,26,27