20/10/23 - RMIs

- Se agregó código para meter RMIs con el clic largo sobre un producto.
This commit is contained in:
2023-10-20 01:22:20 -06:00
parent 3a3ac503c5
commit 59c37d1621
13 changed files with 532 additions and 495 deletions

View File

@@ -31,7 +31,7 @@ Sub Class_Globals
' Public updateAvailable As C_updateAvailable ' Public updateAvailable As C_updateAvailable
'' Public mapas As C_Mapas '' Public mapas As C_Mapas
'' Public nuevoCliente As C_NuevoCliente '' Public nuevoCliente As C_NuevoCliente
' Public ticketsDia As C_TicketsDia 'Antes buscar Public ticketsDia As C_TicketsDia 'Antes buscar
Public noVenta As C_NoVenta 'Antes nopago Public noVenta As C_NoVenta 'Antes nopago
Public nota As C_Nota 'Antes tarjeta Public nota As C_Nota 'Antes tarjeta
Public promos As C_Promos Public promos As C_Promos
@@ -122,8 +122,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' B4XPages.AddPage("Mapas", mapas) ' B4XPages.AddPage("Mapas", mapas)
' nuevoCliente.Initialize ' nuevoCliente.Initialize
' B4XPages.AddPageAndCreate("NuevoCliente", nuevoCliente) ' B4XPages.AddPageAndCreate("NuevoCliente", nuevoCliente)
' ticketsDia.Initialize ticketsDia.Initialize
' B4XPages.AddPage("TicketsDia", ticketsDia) B4XPages.AddPage("TicketsDia", ticketsDia)
noVenta.Initialize noVenta.Initialize
B4XPages.AddPage("NoVenta", noVenta) B4XPages.AddPage("NoVenta", noVenta)
nota.Initialize nota.Initialize

View File

@@ -47,7 +47,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1 Root = Root1
g.Initialize("GPS") g.Initialize("GPS")
ruta = File.DirInternal ruta = File.DirInternal
Root.LoadLayout("historico") Root.LoadLayout("nota")
borra.Visible = True borra.Visible = True
Titulo.Text = "Pedido Actual" Titulo.Text = "Pedido Actual"
Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null") Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null")
@@ -171,25 +171,7 @@ Sub borra_Click
If folio <> "" Then If folio <> "" Then
result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then If result = DialogResponse.POSITIVE Then
Subs.borraPedidoClienteActual
c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
TIPO = c.GetString("PE_TIPO")
If c.GetString("PE_TIPO") = "VENTA" Then
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
Else
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
End If
Next
End If
Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPage_Appear B4XPage_Appear
End If End If
Else Else
@@ -200,7 +182,6 @@ End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object) Sub ListView1_ItemLongClick (Position As Int, Value As Object)
result = Msgbox2("Seguro que desa borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore result = Msgbox2("Seguro que desa borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then If result = DialogResponse.POSITIVE Then
' If TIPO = "VENTA" Then ' If TIPO = "VENTA" Then
' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value)) ' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value))
' Else ' Else
@@ -209,12 +190,10 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
c=Starter.skmt.ExecQuery2("SELECT COUNT(*) as CUANTOS FROM PEDIDO WHERE pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3 ", Array As String(Value)) c=Starter.skmt.ExecQuery2("SELECT COUNT(*) as CUANTOS FROM PEDIDO WHERE pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3 ", Array As String(Value))
c.Position=0 c.Position=0
If c.GetString("CUANTOS") > 0 Then If c.GetString("CUANTOS") > 0 Then
d = Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3", Array As String(Value))
d=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and length(pe_cedis) > 3", Array As String(Value)) If d.RowCount > 0 Then
For i = 0 To d.RowCount - 1
If d.RowCount>0 Then d.Position = i
For i=0 To d.RowCount -1
d.Position=i
TIPO = d.GetString("PE_TIPO") TIPO = d.GetString("PE_TIPO")
If d.GetString("PE_TIPO") = "VENTA" Then If d.GetString("PE_TIPO") = "VENTA" Then
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID"))) Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
@@ -224,13 +203,10 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
Next Next
End If End If
d.Close d.Close
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
Else Else
d=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) d = Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
d.Position = 0 d.Position = 0
TIPO = d.GetString("PE_TIPO") TIPO = d.GetString("PE_TIPO")
If d.GetString("PE_TIPO") = "VENTA" Then If d.GetString("PE_TIPO") = "VENTA" Then
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID"))) Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
@@ -238,26 +214,19 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID"))) Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(d.GetString("PE_CANT"),d.GetString("PE_PROID")))
End If End If
d.Close d.Close
Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
End If End If
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") c = Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0 c.Position = 0
clie_id = c.GetString("CUENTA") clie_id = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") c = Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0 c.Position = 0
usuario = c.GetString("USUARIO") usuario = c.GetString("USUARIO")
c = Starter.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=Starter.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
c.Position=0
If c.GetString("CUANTOS") > 0 Then If c.GetString("CUANTOS") > 0 Then
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))

View File

@@ -1939,6 +1939,7 @@ End Sub
Sub BUSCA_Click Sub BUSCA_Click
' StartActivity(BUSCAR) ' StartActivity(BUSCAR)
B4XPages.ShowPage("TicketsDia")
End Sub End Sub
Sub b_mapa_Click Sub b_mapa_Click

View File

@@ -7,7 +7,7 @@ Version=11.5
Sub Class_Globals Sub Class_Globals
Private Root As B4XView 'ignore Private Root As B4XView 'ignore
Private xui As XUI 'ignore Private xui As XUI 'ignore
dim kh as kms_helperSubs Dim kh As kms_helperSubs
Dim ruta As String Dim ruta As String
Dim q_buscar As String Dim q_buscar As String
Dim forzarBusqueda As Boolean = False Dim forzarBusqueda As Boolean = False
@@ -93,8 +93,9 @@ Sub Class_Globals
Dim rmiMap As Map Dim rmiMap As Map
Private l_rmi_usado As Label Private l_rmi_usado As Label
Dim list_prodsPedido As List Dim list_prodsPedido As List
Private b_rmi As Button ' Private b_rmi As Button
Private l_mDisponible As Label Private l_mDisponible As Label
dim nuevaCantRMI as int
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -141,6 +142,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
list_prodsPedido.Initialize list_prodsPedido.Initialize
Log("list_prodsPedido.Initialize") Log("list_prodsPedido.Initialize")
prodsMap.Initialize prodsMap.Initialize
p_vistaPreviaTrans.Top = 0 : p_vistaPreviaTrans.left = 0
p_productos.Top = 0 : p_productos.left = 0
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -217,7 +220,7 @@ Sub B4XPage_Appear
' l_total.Width = Root.Width * 0.25 ' l_total.Width = Root.Width * 0.25
' Log(Subs.traeTotalesClienteActual) ' Log(Subs.traeTotalesClienteActual)
Dim m As Map = subs.traeTotalesClienteActual Dim m As Map = Subs.traeTotalesClienteActual
prodsPedidoActual = m.Get("productos") prodsPedidoActual = m.Get("productos")
montoPedidoActual = m.Get("monto") montoPedidoActual = m.Get("monto")
hayPedido = kh.hayPedido(Starter.skmt) hayPedido = kh.hayPedido(Starter.skmt)
@@ -228,7 +231,7 @@ Sub B4XPage_Appear
else If hayPedido Then else If hayPedido Then
' LogColor("HAY PEDIDO ANTERIOR", Colors.red) ' LogColor("HAY PEDIDO ANTERIOR", Colors.red)
' Log("Llamamos LlenaProdsLL") ' Log("Llamamos LlenaProdsLL")
LlenaProdsLL(Null, Null) ' LlenaProdsLL(Null, Null)
End If End If
If clv_prods_ll.Size > 0 Then If clv_prods_ll.Size > 0 Then
@@ -245,10 +248,10 @@ Sub B4XPage_Appear
Else Else
PCLV.B4XSeekBar1.mBase.Left=Root.Width *1.5 'Si no hay productos, que NO se vea la barra de busqueda. PCLV.B4XSeekBar1.mBase.Left=Root.Width *1.5 'Si no hay productos, que NO se vea la barra de busqueda.
End If End If
If lfila.Text = "RMI" Then ' If lfila.Text = "RMI" Then
b_rmi.Visible = False ' b_rmi.Visible = False
l_mDisponible.Visible = True ' l_mDisponible.Visible = True
End If ' End If
' Log(Starter.tipov) ' Log(Starter.tipov)
End Sub End Sub
@@ -261,7 +264,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
' lfila.text = "TIPO" ' lfila.text = "TIPO"
lfila.text = "PRODUCTOS" lfila.text = "PRODUCTOS"
lv_catalogos.Visible = False lv_catalogos.Visible = False
If Starter.tipov <> "ABORDO" Then b_rmi.Visible = True ' If Starter.tipov <> "ABORDO" Then b_rmi.Visible = True
' lv_tipo.Visible = True ' lv_tipo.Visible = True
LlenaProdsLL(Null, Null) LlenaProdsLL(Null, Null)
clv_prods_ll.AsView.BringToFront clv_prods_ll.AsView.BringToFront
@@ -408,7 +411,7 @@ Sub lv_promos_ItemClick (Position As Int, Value As Object)
End Sub End Sub
'Generamos la lista de productos. 'Generamos la lista de productos.
Sub llenaCatalogo(subtipo1 As String) Sub llenaCatalogo(subtipo1 As String) 'ignore
' Log("LlenaCatalogo") ' Log("LlenaCatalogo")
' Private c2 As Cursor ' Private c2 As Cursor
' c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS' and CAT_GP_SUBTIPO = ? ", Array As String(subtipo1)) ' c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS' and CAT_GP_SUBTIPO = ? ", Array As String(subtipo1))
@@ -501,7 +504,7 @@ End Sub
'**************************************************************************** '****************************************************************************
'***************** PARA EL MAS/MENOS ************************************* '***************** PARA EL MAS/MENOS *************************************
'**************************************************************************** '****************************************************************************
Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int) As Panel Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int) As Panel 'ignore
' Dim p As B4XView = xui.CreatePanel("") ' Dim p As B4XView = xui.CreatePanel("")
' p.SetLayoutAnimated(0, 0, 0, Width, Height) ' p.SetLayoutAnimated(0, 0, 0, Width, Height)
' p.LoadLayout("prodItem") ' p.LoadLayout("prodItem")
@@ -571,7 +574,7 @@ Sub b_prodMas_Click
Dim pnl As B4XView = pnl0.GetView(0) Dim pnl As B4XView = pnl0.GetView(0)
Dim laCant As B4XView = pnl.GetView(2).GetView(2) Dim laCant As B4XView = pnl.GetView(2).GetView(2)
If laCant.Text = "" Then laCant.Text = 0 If laCant.Text = "" Then laCant.Text = 0
Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map) ' 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 precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio")
Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen") Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen")
If buttonTag = "vendido" Then If buttonTag = "vendido" Then
@@ -691,7 +694,7 @@ Sub cuentaProds
p_botonesVenta.Visible = True p_botonesVenta.Visible = True
p_botonesVenta.BringToFront p_botonesVenta.BringToFront
c.Position=0 c.Position=0
If Subs.totalPedido > 1 And lfila.Text <> "RMI" And Starter.tipov <> "ABORDO" Then b_rmi.Visible = True Else b_rmi.Visible = False ' If Subs.totalPedido > 1 And lfila.Text <> "RMI" And Starter.tipov <> "ABORDO" Then b_rmi.Visible = True Else b_rmi.Visible = False
Log(Subs.totalPedido) Log(Subs.totalPedido)
If lfila.Text = "RMI" Then l_mDisponible.Visible = True Else l_mDisponible.Visible = False If lfila.Text = "RMI" Then l_mDisponible.Visible = True Else l_mDisponible.Visible = False
l_mDisponible.Text = $"Disponible: $${Subs.totalPedido}"$ l_mDisponible.Text = $"Disponible: $${Subs.totalPedido}"$
@@ -710,7 +713,7 @@ Sub b_terminar1_Click
Subs.agrupador Subs.agrupador
lv_prodsPedido.Clear lv_prodsPedido.Clear
list_prodsPedido.Initialize list_prodsPedido.Initialize
Private c_prods As Cursor=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_PRONOMBRE") Private c_prods As Cursor=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, ifnull(PE_COSTOU, 0) as PE_COSTOU, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID, PE_TIPO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_PRONOMBRE")
' Log(c_prods.RowCount) ' Log(c_prods.RowCount)
If c_prods.RowCount > 0 Then If c_prods.RowCount > 0 Then
c_prods.Position = 0 c_prods.Position = 0
@@ -735,11 +738,13 @@ Sub b_terminar1_Click
label2 = lv_prodsPedido.TwoLinesLayout.SecondLabel label2 = lv_prodsPedido.TwoLinesLayout.SecondLabel
label2.TextSize = 10 label2.TextSize = 10
label2.TextColor = Colors.Blue label2.TextColor = Colors.Blue
' label2.Color = Colors.Gray
label2.Tag = i label2.Tag = i
' Log(c_prods.GetString("PE_PRONOMBRE")) ' Log(c_prods.GetString("PE_PRONOMBRE"))
lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& c_prods.GetString("PE_COSTO_TOT")& " Folio "& c_prods.GetString("PE_FOLIO")) lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& c_prods.GetString("PE_COSTO_TOT")& " Folio "& c_prods.GetString("PE_FOLIO"))
list_prodsPedido.Add(CreateMap("prodNom":c_prods.GetString("PE_PRONOMBRE"), "cedis":c_prods.GetString("PE_CEDIS"), "prodId": c_prods.GetString("PE_PROID"), "cant": c_prods.GetString("PE_CANT"))) list_prodsPedido.Add(CreateMap("prodNom":c_prods.GetString("PE_PRONOMBRE"), "cedis":c_prods.GetString("PE_CEDIS"), "prodId": c_prods.GetString("PE_PROID"), "cant": c_prods.GetString("PE_CANT"), "tipo": c_prods.GetString("PE_TIPO")))
folio = 0 folio = 0
Log($"${totalPedido} + (${c_prods.GetString("PE_COSTOU")} * ${c_prods.GetString("PE_CANT")}"$)
totalPedido = totalPedido + (c_prods.GetString("PE_COSTOU") * c_prods.GetString("PE_CANT")) totalPedido = totalPedido + (c_prods.GetString("PE_COSTOU") * c_prods.GetString("PE_CANT"))
' Log("|" & Subs.esPromo(c_prods.GetString("PE_PROID")) & "|") ' Log("|" & Subs.esPromo(c_prods.GetString("PE_PROID")) & "|")
If Not(Subs.esPromo(c_prods.GetString("PE_PROID"))) Then cantPedido = cantPedido + c_prods.GetString("PE_CANT") If Not(Subs.esPromo(c_prods.GetString("PE_PROID"))) Then cantPedido = cantPedido + c_prods.GetString("PE_CANT")
@@ -887,50 +892,59 @@ Private Sub b_aceptar_Click
End Sub End Sub
Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object)
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)") c = Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
c.Position = 0 c.Position = 0
Log(list_prodsPedido) Log(list_prodsPedido)
Log("lista prods="&list_prodsPedido.Get(Position)) Log("lista prods="&list_prodsPedido.Get(Position))
'#################################################################################
'#### Probablemente se pueda quitar el mapa (m) y cambiaro por el cursor (prod)
'#### Sustituir por ejemplo: m.get("prodId") por prods.getString("PE_PROID")
'#################################################################################
Private m As Map = list_prodsPedido.Get(Position) Private m As Map = list_prodsPedido.Get(Position)
Log("m1= "&m) ' Log("m1= "&m)
If c.GetString("CUANTOS") = 0 Then 'Si la venta no está impresa o es abordo entonces continuamos ... 'Para que baordo pueda borra poner "Or Subs.clienteActual = "0"" If c.GetString("CUANTOS") = 0 Then 'Si la venta no está impresa o es abordo entonces continuamos ... 'Para que abordo pueda borra poner "Or Subs.clienteActual = "0""
Private sDate,sTime, clie_id, usuario As String Private sDate,sTime, clie_id, usuario As String
result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then If result = DialogResponse.POSITIVE Then
Private prod As Cursor=Starter.skmt.ExecQuery2("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) Private prod As Cursor = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT, PE_CEDIS, PE_TIPO FROM PEDIDO where pe_pronombre = '${Value}' and pe_cliente in (Select CUENTA from cuentaa)"$)
prod.Position=0 prod.Position = 0
Log("m2= " & m) ' Log("m2= " & m)
c.Close c.Close
Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$) ' Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$)
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis"))) ' Log($"mapaTipo: ${m.get("tipo")}, queryTipo: ${prod.GetString("PE_TIPO")}"$)
c.Position=0 ' Log($"mapaCedis: ${m.get("cedis")}, queryCedis: ${prod.GetString("PE_CEDIS")}"$)
' Log($"mapaCant: ${m.get("cant")}, queryCant: ${prod.GetString("PE_CANT")}"$)
' Log($"mapaProd: ${m.get("prodId")}, queryProd: ${prod.GetString("PE_PROID")}"$)
c = Starter.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Subs.traeTablaProds(prod.GetString("PE_TIPO"))} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'"$, Array As String(Value, m.Get("cedis")))
c.Position = 0
If c.GetString("CUANTOS") > 0 Then If c.GetString("CUANTOS") > 0 Then
Log($"Borramos de PROMO ${Value}"$) Log($"Borramos de PROMO ${Value}"$)
Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$) Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$)
For tp = 0 To pPromos.RowCount - 1 For tp = 0 To pPromos.RowCount - 1
pPromos.Position = tp pPromos.Position = tp
Log($"SUMAMOS ${pPromos.GetString("PE_CANT")} a ${pPromos.GetString("PE_PROID")} "$) Log($"SUMAMOS ${pPromos.GetString("PE_CANT")} a ${pPromos.GetString("PE_PROID")} "$)
Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$) Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(prod.GetString("PE_TIPO"))} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$)
Next Next
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value)) Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value))
Else Else
Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$) Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$)
Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId"))) Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(prod.GetString("PE_TIPO"))} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId")))
Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$) Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$)
Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant"))) Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant")))
End If End If
prod.Close prod.Close
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate = DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime = DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") c = Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0 c.Position = 0
clie_id = c.GetString("CUENTA") clie_id = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0 c.Position = 0
usuario = c.GetString("USUARIO") usuario = c.GetString("USUARIO")
c=Starter.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=Starter.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 c.Position = 0
If c.GetString("CUANTOS") > 0 Then If c.GetString("CUANTOS") > 0 Then
Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$) Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$)
If c.GetString("TOTAL_CLIE") < 1 Then If c.GetString("TOTAL_CLIE") < 1 Then
@@ -951,8 +965,11 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object)
End If End If
End Sub End Sub
Private Sub clv_prods_ll_ItemClick (Index As Int, Value As Object) Private Sub clv_prods_ll_ItemLongClick (Index As Int, Value As Object)
Log("LONGCLIC")
kh.centraPanel(p_rmi, Root.Width)
p_rmi.BringToFront
p_rmi.Visible = True
End Sub End Sub
Sub l_prodX_Click Sub l_prodX_Click
@@ -971,41 +988,52 @@ Sub l_prodX_Click
End Sub End Sub
Private Sub l_prodX_LongClick Private Sub l_prodX_LongClick
'' Log("longClic = "&Sender.as(Label).Text) ' Log("longClic = "&Sender.as(Label).Text)
' If Subs.traeCliente <> 0 Then If Subs.traeCliente <> 0 Then
' Dim index As Int = clv_prods_ll.GetItemFromView(Sender) Dim index As Int = clv_prods_ll.GetItemFromView(Sender)
' Private pId As String = clv_prods_ll.GetValue(index).As(Map).Get("id") nuevaCantRMI = 0
' Private pNombre As String = clv_prods_ll.GetValue(index).As(Map).Get("prod") Private pId As String = clv_prods_ll.GetValue(index).As(Map).Get("id")
' Private t As Cursor = Starter.skmt.ExecQuery("select sum(PE_COSTO_TOT) as ventaTotal from pedido where PE_CLIENTE in (Select CUENTA from cuentaa)") Log(clv_prods_ll.GetValue(index))
' t.Position = 0 Private pNombre As String = clv_prods_ll.GetValue(index).As(Map).Get("prod")
' Private ventaT As String = t.GetString("ventaTotal") Private t As Cursor = Starter.skmt.ExecQuery($"select sum(PE_CANT) as cuantosProds from pedido where PE_PROID = '${pId}' and PE_CEDIS <> 'DUR' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
' If ventaT = Null Then ventaT = 0 t.Position = 0
' If ventaT > 0 Then Private ventaT As String = t.GetString("cuantosProds")
' t = Starter.skmt.ExecQuery("select sum(PE_PRECIO2) as totalRMI from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE in (Select CUENTA from cuentaa)") If ventaT = Null Then ventaT = 0
' t.Position = 0 If Starter.tipov = "PREVENTA" Then
' Private totalRMI As String = t.GetString("totalRMI") ToastMessageShow("¡¡En preventa NO hay cambios!!", True)
' If totalRMI = Null Then totalRMI = 0 Return
' l_rmi_nombre.Text = Sender.as(Label).Text End If
' Private pu0() As String = Regex.Split("\$", Sender.as(Label).Text) If ventaT > 0 Then
' Private pu As String t = Starter.skmt.ExecQuery($"select sum(PE_CANT) as totalRMI from pedido where PE_PROID = '${pId}' and PE_CEDIS = 'DUR' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
' If pu0.Length > 1 Then pu = pu0(pu0.Length-1) Else pu = 0 t.Position = 0
'' Log(ventaT & ", " & totalRMI & ", " & Sender.as(Label).tag & ", " & pu) Private totalRMI As String = t.GetString("totalRMI")
' l_rmi_usado.Text = $"RMI usado: $$1.2{(totalRMI)}"$ Log($"Prods: ${ventaT}, RMIs: ${totalRMI}"$)
' l_montoDisponible.Text = $"Disponible para RMI: $$1.2{(ventaT-totalRMI)}"$ If totalRMI = Null Then totalRMI = 0
' Private m As Map = CreateMap("disponible":(ventaT-totalRMI), "inv":Sender.as(Label).tag, "totalRMI":totalRMI, "pu":pu, "id":pId, "nombre":pNombre) Log($"Prods: ${ventaT}, RMIs: ${totalRMI}"$)
' rmiMap = m l_rmi_nombre.Text = Sender.as(Label).Text
' ' b_rmi_mas.Tag = m Private pu0() As String = Regex.Split("\$", Sender.as(Label).Text)
' ' b_rmi_menos.Tag = m Private pu As String
' ' b_rmi_aceptar.Tag = m If pu0.Length > 1 Then pu = pu0(pu0.Length-1) Else pu = 0
' Subs.centraPanel(p_rmi, Root.Width) ' Log(ventaT & ", " & totalRMI & ", " & Sender.as(Label).tag & ", " & pu)
' l_rmi_cant.Text = 0 ' l_rmi_usado.Text = $"RMI usado: $1.0{(ventaT - totalRMI)}"$
l_montoDisponible.Text = $"Disponible para RMI: $1.0{(ventaT)}"$
Private esteInv As Int = Subs.traeInventario(pId, Starter.tipov)
If esteInv < ventaT Then ventaT = esteInv 'Si el inventario disponble es menor a los productos del pedido, entoncs tomamos ese valor.
Private m As Map = CreateMap("disponible":(ventaT - totalRMI), "inv":ventaT, "totalRMI":totalRMI, "pu":pu, "id":pId, "nombre":pNombre)
rmiMap = m
Log(rmiMap)
' b_rmi_mas.Tag = m
' b_rmi_menos.Tag = m
' b_rmi_aceptar.Tag = m
Subs.centraPanel(p_rmi, Root.Width)
l_rmi_cant.Text = totalRMI
' l_rmi_total.text = "" ' l_rmi_total.text = ""
' p_rmi.BringToFront p_rmi.BringToFront
' p_rmi.Visible = True p_rmi.Visible = True
' Else Else
' ToastMessageShow("No hay venta suficiente para RMIs", True) ToastMessageShow("No hay venta suficiente para RMIs", True)
' End If End If
' End If End If
End Sub End Sub
Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int) Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int)
@@ -1026,9 +1054,10 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In
l_prodX.Width = p_prods.Width - p_botMasMen.Width l_prodX.Width = p_prods.Width - p_botMasMen.Width
l_prodX.SetTextSizeAnimated(0, 13) l_prodX.SetTextSizeAnimated(0, 13)
If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null And clv_prods_ll.GetValue(i).As(Map).Get("cant") > 0 Then If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null And clv_prods_ll.GetValue(i).As(Map).Get("cant") > 0 Then
p_prods.Color=0xFFE2EEFF p_prods.Color = 0xFFE2EEFF
et_pCant.TextColor=Colors.Red et_pCant.TextColor=Colors.Red
' Log("VENDIDO ") Log(clv_prods_ll.GetValue(i).As(Map))
Log("VENDIDO ")
b_prodMenos.Tag = "vendido" b_prodMenos.Tag = "vendido"
b_prodMas.Tag = "vendido" b_prodMas.Tag = "vendido"
If Subs.revisaImpresa Then If Subs.revisaImpresa Then
@@ -1080,7 +1109,7 @@ Sub Busca_TextChanged (Old As String, New As String)
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI where CAT_GP_NOMBRE like '%${New}%' order by CAT_GP_NOMBRE"$) Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI where CAT_GP_NOMBRE like '%${New}%' order by CAT_GP_NOMBRE"$)
Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$) Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$)
lfila.Text = "RMI" lfila.Text = "RMI"
b_rmi.Visible = False ' b_rmi.Visible = False
lv_catalogos.Visible = False lv_catalogos.Visible = False
LlenaProdsLL(p, "rmi") LlenaProdsLL(p, "rmi")
clv_prods_ll.AsView.BringToFront clv_prods_ll.AsView.BringToFront
@@ -1100,24 +1129,28 @@ Sub Busca_TextChanged (Old As String, New As String)
End Sub End Sub
Sub LlenaProdsLL(p As ResultSet, extra As String) Sub LlenaProdsLL(p As ResultSet, extra As String)
' Log("LlenaProdsLL") Log("LlenaProdsLL")
listaProds.Initialize listaProds.Initialize
hayPedido = Subs.hayPedido hayPedido = Subs.hayPedido
' Log($"HAYPEDIDO: ${hayPedido}"$) Log($"HAYPEDIDO: ${hayPedido}"$)
If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV. If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV.
Dim cantsMap As Map Dim cantsMap, tiposMap As Map
cantsMap.Initialize cantsMap.Initialize
Dim pe As ResultSet = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}'"$) tiposMap.Initialize
Dim pe As ResultSet = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT, PE_TIPO from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}'"$)
'Si EXTRA es igual a rmi, entonces regresamos los RMIs existentes. 'Si EXTRA es igual a rmi, entonces regresamos los RMIs existentes.
If extra = "rmi" Then pe = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = 'DUR'"$) If extra = "rmi" Then pe = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = 'DUR'"$)
' LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red) LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red)
Do While pe.NextRow Do While pe.NextRow
Private cant As Int = 0 Private cant As Int = 0
Private tipo As String = ""
cantsMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_CANT")) cantsMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_CANT"))
tiposMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_TIPO"))
Loop Loop
' Log($"Con pedido: ${pe.RowCount}"$) Log($"Con pedido: ${pe.RowCount}"$)
' Log("CANTSMAP: " & cantsMap) Log("CANTSMAP: " & cantsMap)
Log("TIPOSMAP: " & tiposMap)
pe.Close pe.Close
End If End If
' Log(p.IsInitialized) ' Log(p.IsInitialized)
@@ -1131,9 +1164,12 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Do While p.NextRow Do While p.NextRow
Private cant As Int = 0 Private cant As Int = 0
Private tipoV As String = ""
If hayPedido And cantsMap.ContainsKey(p.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID")) If hayPedido And cantsMap.ContainsKey(p.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID"))
Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant) If hayPedido And tiposMap.ContainsKey(p.GetString("CAT_GP_ID")) Then tipoV = tiposMap.Get(p.GetString("CAT_GP_ID"))
listaProds.Add(tempMap) Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant, "tipo":tipoV)
' Log($"tipo: |${tempMap.Get("tipo")}|${Starter.tipov}| - tempMap: ${tempMap}"$)
If tempMap.Get("tipo") = "" Or tempMap.Get("tipo") = Starter.tipov Then listaProds.Add(tempMap) 'Si el tipo de venta del producto es igual al actual, mostramos el producto en la lista.
' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$) ' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$)
Loop Loop
p.Close p.Close
@@ -1160,7 +1196,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Private Pnl As B4XView = xui.CreatePanel("") Private Pnl As B4XView = xui.CreatePanel("")
Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip) Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip)
Private tempMap As Map = listaProdsConCant.Get(pr0) Private tempMap As Map = listaProdsConCant.Get(pr0)
Private inv = tempMap.Get("almacen") + tempMap.Get("cant") Private inv As String = tempMap.Get("almacen") + tempMap.Get("cant")
tempMap.Put("almacen", inv) tempMap.Put("almacen", inv)
' Log(tempMap) ' Log(tempMap)
clv_prods_ll.Add(Pnl, tempMap) clv_prods_ll.Add(Pnl, tempMap)
@@ -1212,8 +1248,8 @@ Private Sub p_rmi_Click
End Sub End Sub
Private Sub b_rmi_aceptar_Click Private Sub b_rmi_aceptar_Click
If l_rmi_cant.Text > 0 Then Subs.guardaCambiosDeProducto(l_rmi_cant.Text, rmiMap.Get("nombre"), rmiMap.Get("id"), rmiMap.Get("pu")*l_rmi_cant.Text, query) Subs.guardaCambiosDeProducto(l_rmi_cant.Text, nuevaCantRMI, rmiMap.Get("nombre"), rmiMap.Get("id"), 0, query)
' Log($"${l_rmi_cant.Text}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$) Log($"${nuevaCantRMI}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$)
p_rmi.Visible = False p_rmi.Visible = False
End Sub End Sub
@@ -1223,25 +1259,30 @@ Private Sub b_rmi_menos_Click
Private cant As String = l_rmi_cant.Text Private cant As String = l_rmi_cant.Text
If (cant - 1) >= 0 Then If (cant - 1) >= 0 Then
l_rmi_cant.Text = $"$1.0{(l_rmi_cant.Text - 1)}"$ l_rmi_cant.Text = $"$1.0{(l_rmi_cant.Text - 1)}"$
l_rmi_total.Text = $"Total RMI $$1.2{(cant - 1) * rmiMap.Get("pu")}"$ ' l_rmi_total.Text = $"Total RMI $$1.2{(cant - 1) * rmiMap.Get("pu")}"$
End If End If
nuevaCantRMI = (rmiMap.Get("totalRMI") - l_rmi_cant.Text) * -1
Log(nuevaCantRMI)
End Sub End Sub
Private Sub b_rmi_mas_Click Private Sub b_rmi_mas_Click
Log(rmiMap)
Log(Sender.As(Button).tag) Log(Sender.As(Button).tag)
' Private d As Map = Sender.As(Button).tag ' Private d As Map = Sender.As(Button).tag
Private cant As String = l_rmi_cant.Text Private cant As String = l_rmi_cant.Text
If (cant + 1) <= rmiMap.Get("inv") And ((cant + 1) * rmiMap.Get("pu")) <= rmiMap.Get("disponible") Then If (cant + 1) <= rmiMap.Get("inv") Then
l_rmi_cant.Text = $"$1.0{(l_rmi_cant.Text + 1)}"$ l_rmi_cant.Text = $"$1.0{(l_rmi_cant.Text + 1)}"$
l_rmi_total.Text = $"Total RMI $$1.2{(cant + 1) * rmiMap.Get("pu")}"$ ' l_rmi_total.Text = $"Total RMI $$1.2{(cant + 1) * rmiMap.Get("pu")}"$
End If End If
nuevaCantRMI = (rmiMap.Get("totalRMI") - l_rmi_cant.Text) * -1
Log(nuevaCantRMI)
End Sub End Sub
Private Sub b_rmi_Click Private Sub b_rmi_Click
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI order by CAT_GP_NOMBRE"$) Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI order by CAT_GP_NOMBRE"$)
Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$) Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$)
lfila.Text = "RMI" lfila.Text = "RMI"
b_rmi.Visible = False ' b_rmi.Visible = False
lv_catalogos.Visible = False lv_catalogos.Visible = False
LlenaProdsLL(p, "rmi") LlenaProdsLL(p, "rmi")
clv_prods_ll.AsView.BringToFront clv_prods_ll.AsView.BringToFront

View File

@@ -76,7 +76,7 @@ Sub B4XPage_Appear
prodsPedidoActual = m.Get("productos") prodsPedidoActual = m.Get("productos")
montoPedidoActual = m.Get("monto") montoPedidoActual = m.Get("monto")
Log($"laPromo=${laPromo}, el cliente=${elCliente}"$) Log($"laPromo=${laPromo}, el cliente=${elCliente}"$)
Logcolor(">>>>>>>> " & laPromo, Colors.Magenta) LogColor(">>>>>>>> " & laPromo, Colors.Magenta)
If laPromo <> "" Then muestraPromo(laPromo, elCliente) If laPromo <> "" Then muestraPromo(laPromo, elCliente)
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.

View File

@@ -19,9 +19,14 @@ Sub Class_Globals
Dim nombre_boton As String Dim nombre_boton As String
End Sub End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
Private Sub B4XPage_Created (Root1 As B4XView) Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1 Root = Root1
Root.LoadLayout("buscar") Root.LoadLayout("ticketsDia")
ruta = File.DirInternal ruta = File.DirInternal
' se crea o no el archivo de la base de ddatos de kmt ' se crea o no el archivo de la base de ddatos de kmt
@@ -100,6 +105,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
skmt.ExecNonQuery("delete from CUENTAA") skmt.ExecNonQuery("delete from CUENTAA")
skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
' StartActivity(fila) ' StartActivity(fila)
B4XPages.ShowPage("Cliente")
End Sub End Sub
Sub b_noventa_Click Sub b_noventa_Click

View File

@@ -1,272 +1,272 @@
Build1=Default,durakelo.keymon.com.mx,HU2_PUBLIC Build1=Default,durakelo.keymon.com.mx,HU2_PUBLIC
File1=alcancia.png File1=alcancia.png
File10=Cliente.bal File10=Clientes.bal
File100=marker-azul-65.png File100=marker-azul-66.png
File101=marker-azul-66.png File101=marker-azul-67.png
File102=marker-azul-67.png File102=marker-azul-68.png
File103=marker-azul-68.png File103=marker-azul-69.png
File104=marker-azul-69.png File104=marker-azul-7.png
File105=marker-azul-7.png File105=marker-azul-70.png
File106=marker-azul-70.png File106=marker-azul-71.png
File107=marker-azul-71.png File107=marker-azul-72.png
File108=marker-azul-72.png File108=marker-azul-73.png
File109=marker-azul-73.png File109=marker-azul-74.png
File11=Clientes.bal File11=detalle_promo.bal
File110=marker-azul-74.png File110=marker-azul-75.png
File111=marker-azul-75.png File111=marker-azul-76.png
File112=marker-azul-76.png File112=marker-azul-77.png
File113=marker-azul-77.png File113=marker-azul-78.png
File114=marker-azul-78.png File114=marker-azul-79.png
File115=marker-azul-79.png File115=marker-azul-8.png
File116=marker-azul-8.png File116=marker-azul-80.png
File117=marker-azul-80.png File117=marker-azul-81.png
File118=marker-azul-81.png File118=marker-azul-82.png
File119=marker-azul-82.png File119=marker-azul-83.png
File12=detalle_promo.bal File12=durakelo.png
File120=marker-azul-83.png File120=marker-azul-84.png
File121=marker-azul-84.png File121=marker-azul-85.png
File122=marker-azul-85.png File122=marker-azul-86.png
File123=marker-azul-86.png File123=marker-azul-87.png
File124=marker-azul-87.png File124=marker-azul-88.png
File125=marker-azul-88.png File125=marker-azul-89.png
File126=marker-azul-89.png File126=marker-azul-9.png
File127=marker-azul-9.png File127=marker-azul-90.png
File128=marker-azul-90.png File128=marker-azul-91.png
File129=marker-azul-91.png File129=marker-azul-92.png
File13=durakelo.png File13=durakelo_192x192.png
File130=marker-azul-92.png File130=marker-azul-93.png
File131=marker-azul-93.png File131=marker-azul-94.png
File132=marker-azul-94.png File132=marker-azul-95.png
File133=marker-azul-95.png File133=marker-azul-96.png
File134=marker-azul-96.png File134=marker-azul-97.png
File135=marker-azul-97.png File135=marker-azul-98.png
File136=marker-azul-98.png File136=marker-azul-99.png
File137=marker-azul-99.png File137=marker-rojo-0.png
File138=marker-rojo-0.png File138=marker-rojo-1.png
File139=marker-rojo-1.png File139=marker-rojo-10.png
File14=durakelo_192x192.png File14=durakelo1.png
File140=marker-rojo-10.png File140=marker-rojo-100.png
File141=marker-rojo-100.png File141=marker-rojo-11.png
File142=marker-rojo-11.png File142=marker-rojo-12.png
File143=marker-rojo-12.png File143=marker-rojo-13.png
File144=marker-rojo-13.png File144=marker-rojo-14.png
File145=marker-rojo-14.png File145=marker-rojo-15.png
File146=marker-rojo-15.png File146=marker-rojo-16.png
File147=marker-rojo-16.png File147=marker-rojo-17.png
File148=marker-rojo-17.png File148=marker-rojo-18.png
File149=marker-rojo-18.png File149=marker-rojo-19.png
File15=durakelo1.png File15=engrane.jpg
File150=marker-rojo-19.png File150=marker-rojo-2.png
File151=marker-rojo-2.png File151=marker-rojo-20.png
File152=marker-rojo-20.png File152=marker-rojo-21.png
File153=marker-rojo-21.png File153=marker-rojo-22.png
File154=marker-rojo-22.png File154=marker-rojo-23.png
File155=marker-rojo-23.png File155=marker-rojo-24.png
File156=marker-rojo-24.png File156=marker-rojo-25.png
File157=marker-rojo-25.png File157=marker-rojo-26.png
File158=marker-rojo-26.png File158=marker-rojo-27.png
File159=marker-rojo-27.png File159=marker-rojo-28.png
File16=engrane.jpg File16=engrane3.png
File160=marker-rojo-28.png File160=marker-rojo-29.png
File161=marker-rojo-29.png File161=marker-rojo-3.png
File162=marker-rojo-3.png File162=marker-rojo-30.png
File163=marker-rojo-30.png File163=marker-rojo-31.png
File164=marker-rojo-31.png File164=marker-rojo-32.png
File165=marker-rojo-32.png File165=marker-rojo-33.png
File166=marker-rojo-33.png File166=marker-rojo-34.png
File167=marker-rojo-34.png File167=marker-rojo-35.png
File168=marker-rojo-35.png File168=marker-rojo-36.png
File169=marker-rojo-36.png File169=marker-rojo-37.png
File17=engrane3.png File17=espera.gif
File170=marker-rojo-37.png File170=marker-rojo-38.png
File171=marker-rojo-38.png File171=marker-rojo-39.png
File172=marker-rojo-39.png File172=marker-rojo-4.png
File173=marker-rojo-4.png File173=marker-rojo-40.png
File174=marker-rojo-40.png File174=marker-rojo-41.png
File175=marker-rojo-41.png File175=marker-rojo-42.png
File176=marker-rojo-42.png File176=marker-rojo-43.png
File177=marker-rojo-43.png File177=marker-rojo-44.png
File178=marker-rojo-44.png File178=marker-rojo-45.png
File179=marker-rojo-45.png File179=marker-rojo-46.png
File18=espera.gif File18=fondo_kmt.jpg
File180=marker-rojo-46.png File180=marker-rojo-47.png
File181=marker-rojo-47.png File181=marker-rojo-48.png
File182=marker-rojo-48.png File182=marker-rojo-49.png
File183=marker-rojo-49.png File183=marker-rojo-5.png
File184=marker-rojo-5.png File184=marker-rojo-50.png
File185=marker-rojo-50.png File185=marker-rojo-51.png
File186=marker-rojo-51.png File186=marker-rojo-52.png
File187=marker-rojo-52.png File187=marker-rojo-53.png
File188=marker-rojo-53.png File188=marker-rojo-54.png
File189=marker-rojo-54.png File189=marker-rojo-55.png
File19=fondo_kmt.jpg File19=foto.bal
File190=marker-rojo-55.png File190=marker-rojo-56.png
File191=marker-rojo-56.png File191=marker-rojo-57.png
File192=marker-rojo-57.png File192=marker-rojo-58.png
File193=marker-rojo-58.png File193=marker-rojo-59.png
File194=marker-rojo-59.png File194=marker-rojo-6.png
File195=marker-rojo-6.png File195=marker-rojo-60.png
File196=marker-rojo-60.png File196=marker-rojo-61.png
File197=marker-rojo-61.png File197=marker-rojo-62.png
File198=marker-rojo-62.png File198=marker-rojo-63.png
File199=marker-rojo-63.png File199=marker-rojo-64.png
File2=alert2.png File2=alert2.png
File20=foto.bal File20=guardagestion.bal
File200=marker-rojo-64.png File200=marker-rojo-65.png
File201=marker-rojo-65.png File201=marker-rojo-66.png
File202=marker-rojo-66.png File202=marker-rojo-67.png
File203=marker-rojo-67.png File203=marker-rojo-68.png
File204=marker-rojo-68.png File204=marker-rojo-69.png
File205=marker-rojo-69.png File205=marker-rojo-7.png
File206=marker-rojo-7.png File206=marker-rojo-70.png
File207=marker-rojo-70.png File207=marker-rojo-71.png
File208=marker-rojo-71.png File208=marker-rojo-72.png
File209=marker-rojo-72.png File209=marker-rojo-73.png
File21=guardagestion.bal File21=guna_viejo.png
File210=marker-rojo-73.png File210=marker-rojo-74.png
File211=marker-rojo-74.png File211=marker-rojo-75.png
File212=marker-rojo-75.png File212=marker-rojo-76.png
File213=marker-rojo-76.png File213=marker-rojo-77.png
File214=marker-rojo-77.png File214=marker-rojo-78.png
File215=marker-rojo-78.png File215=marker-rojo-79.png
File216=marker-rojo-79.png File216=marker-rojo-8.png
File217=marker-rojo-8.png File217=marker-rojo-80.png
File218=marker-rojo-80.png File218=marker-rojo-81.png
File219=marker-rojo-81.png File219=marker-rojo-82.png
File22=guna_viejo.png File22=infonavit1.jpg
File220=marker-rojo-82.png File220=marker-rojo-83.png
File221=marker-rojo-83.png File221=marker-rojo-84.png
File222=marker-rojo-84.png File222=marker-rojo-85.png
File223=marker-rojo-85.png File223=marker-rojo-86.png
File224=marker-rojo-86.png File224=marker-rojo-87.png
File225=marker-rojo-87.png File225=marker-rojo-88.png
File226=marker-rojo-88.png File226=marker-rojo-89.png
File227=marker-rojo-89.png File227=marker-rojo-9.png
File228=marker-rojo-9.png File228=marker-rojo-90.png
File229=marker-rojo-90.png File229=marker-rojo-91.png
File23=historico.bal File23=itembuttonblue.png
File230=marker-rojo-91.png File230=marker-rojo-92.png
File231=marker-rojo-92.png File231=marker-rojo-93.png
File232=marker-rojo-93.png File232=marker-rojo-94.png
File233=marker-rojo-94.png File233=marker-rojo-95.png
File234=marker-rojo-95.png File234=marker-rojo-96.png
File235=marker-rojo-96.png File235=marker-rojo-97.png
File236=marker-rojo-97.png File236=marker-rojo-98.png
File237=marker-rojo-98.png File237=marker-rojo-99.png
File238=marker-rojo-99.png File238=marker-verde-0.png
File239=marker-verde-0.png File239=marker-verde-1.png
File24=infonavit1.jpg File24=k.png
File240=marker-verde-1.png File240=marker-verde-10.png
File241=marker-verde-10.png File241=marker-verde-100.png
File242=marker-verde-100.png File242=marker-verde-11.png
File243=marker-verde-11.png File243=marker-verde-12.png
File244=marker-verde-12.png File244=marker-verde-13.png
File245=marker-verde-13.png File245=marker-verde-14.png
File246=marker-verde-14.png File246=marker-verde-15.png
File247=marker-verde-15.png File247=marker-verde-16.png
File248=marker-verde-16.png File248=marker-verde-17.png
File249=marker-verde-17.png File249=marker-verde-18.png
File25=itembuttonblue.png File25=K-b27c0809.png
File250=marker-verde-18.png File250=marker-verde-19.png
File251=marker-verde-19.png File251=marker-verde-2.png
File252=marker-verde-2.png File252=marker-verde-20.png
File253=marker-verde-20.png File253=marker-verde-21.png
File254=marker-verde-21.png File254=marker-verde-22.png
File255=marker-verde-22.png File255=marker-verde-23.png
File256=marker-verde-23.png File256=marker-verde-24.png
File257=marker-verde-24.png File257=marker-verde-25.png
File258=marker-verde-25.png File258=marker-verde-26.png
File259=marker-verde-26.png File259=marker-verde-27.png
File26=k.png File26=kelloggs.png
File260=marker-verde-27.png File260=marker-verde-28.png
File261=marker-verde-28.png File261=marker-verde-29.png
File262=marker-verde-29.png File262=marker-verde-3.png
File263=marker-verde-3.png File263=marker-verde-30.png
File264=marker-verde-30.png File264=marker-verde-31.png
File265=marker-verde-31.png File265=marker-verde-32.png
File266=marker-verde-32.png File266=marker-verde-33.png
File267=marker-verde-33.png File267=marker-verde-34.png
File268=marker-verde-34.png File268=marker-verde-35.png
File269=marker-verde-35.png File269=marker-verde-36.png
File27=kelloggs.png File27=keymon_logo.png
File270=marker-verde-36.png File270=marker-verde-37.png
File271=marker-verde-37.png File271=marker-verde-38.png
File272=marker-verde-38.png File272=marker-verde-39.png
File273=marker-verde-39.png File273=marker-verde-4.png
File274=marker-verde-4.png File274=marker-verde-40.png
File275=marker-verde-40.png File275=marker-verde-41.png
File276=marker-verde-41.png File276=marker-verde-42.png
File277=marker-verde-42.png File277=marker-verde-43.png
File278=marker-verde-43.png File278=marker-verde-44.png
File279=marker-verde-44.png File279=marker-verde-45.png
File28=keymon_logo.png File28=kmt.db
File280=marker-verde-45.png File280=marker-verde-46.png
File281=marker-verde-46.png File281=marker-verde-47.png
File282=marker-verde-47.png File282=marker-verde-48.png
File283=marker-verde-48.png File283=marker-verde-49.png
File284=marker-verde-49.png File284=marker-verde-5.png
File285=marker-verde-5.png File285=marker-verde-50.png
File286=marker-verde-50.png File286=marker-verde-51.png
File287=marker-verde-51.png File287=marker-verde-52.png
File288=marker-verde-52.png File288=marker-verde-53.png
File289=marker-verde-53.png File289=marker-verde-54.png
File29=kmt.db File29=login.bal
File290=marker-verde-54.png File290=marker-verde-55.png
File291=marker-verde-55.png File291=marker-verde-56.png
File292=marker-verde-56.png File292=marker-verde-57.png
File293=marker-verde-57.png File293=marker-verde-58.png
File294=marker-verde-58.png File294=marker-verde-59.png
File295=marker-verde-59.png File295=marker-verde-6.png
File296=marker-verde-6.png File296=marker-verde-60.png
File297=marker-verde-60.png File297=marker-verde-61.png
File298=marker-verde-61.png File298=marker-verde-62.png
File299=marker-verde-62.png File299=marker-verde-63.png
File3=alerta.jpg File3=alerta.jpg
File30=login.bal File30=logo sanfer.jpg
File300=marker-verde-63.png File300=marker-verde-64.png
File301=marker-verde-64.png File301=marker-verde-65.png
File302=marker-verde-65.png File302=marker-verde-66.png
File303=marker-verde-66.png File303=marker-verde-67.png
File304=marker-verde-67.png File304=marker-verde-68.png
File305=marker-verde-68.png File305=marker-verde-69.png
File306=marker-verde-69.png File306=marker-verde-7.png
File307=marker-verde-7.png File307=marker-verde-70.png
File308=marker-verde-70.png File308=marker-verde-71.png
File309=marker-verde-71.png File309=marker-verde-72.png
File31=logo sanfer.jpg File31=logo_exitus1.jpg
File310=marker-verde-72.png File310=marker-verde-73.png
File311=marker-verde-73.png File311=marker-verde-74.png
File312=marker-verde-74.png File312=marker-verde-75.png
File313=marker-verde-75.png File313=marker-verde-76.png
File314=marker-verde-76.png File314=marker-verde-77.png
File315=marker-verde-77.png File315=marker-verde-78.png
File316=marker-verde-78.png File316=marker-verde-79.png
File317=marker-verde-79.png File317=marker-verde-8.png
File318=marker-verde-8.png File318=marker-verde-80.png
File319=marker-verde-80.png File319=marker-verde-81.png
File32=logo_exitus1.jpg File32=MainPage.bal
File320=marker-verde-81.png File320=marker-verde-82.png
File321=marker-verde-82.png File321=marker-verde-83.png
File322=marker-verde-83.png File322=marker-verde-84.png
File323=marker-verde-84.png File323=marker-verde-85.png
File324=marker-verde-85.png File324=marker-verde-86.png
File325=marker-verde-86.png File325=marker-verde-87.png
File326=marker-verde-87.png File326=marker-verde-88.png
File327=marker-verde-88.png File327=marker-verde-89.png
File328=marker-verde-89.png File328=marker-verde-9.png
File329=marker-verde-9.png File329=marker-verde-90.png
File33=MainPage.bal File33=Malo.jpg
File330=marker-verde-90.png File330=marker-verde-91.png
File331=marker-verde-91.png File331=marker-verde-92.png
File332=marker-verde-92.png File332=marker-verde-93.png
File333=marker-verde-93.png File333=marker-verde-94.png
File334=marker-verde-94.png File334=marker-verde-95.png
File335=marker-verde-95.png File335=marker-verde-96.png
File336=marker-verde-96.png File336=marker-verde-97.png
File337=marker-verde-97.png File337=marker-verde-98.png
File338=marker-verde-98.png File338=marker-verde-99.png
File339=marker-verde-99.png File339=nota.bal
File34=Malo.jpg File34=mapa.bal
File340=NoVenta.bal File340=NoVenta.bal
File341=nuevocliente.bal File341=nuevocliente.bal
File342=palomita_verde.png File342=palomita_verde.png
@@ -277,7 +277,7 @@ File346=planfia_logo_old.png
File347=planfia_logo_old2.png File347=planfia_logo_old2.png
File348=principal.bal File348=principal.bal
File349=proditem.bal File349=proditem.bal
File35=mapa.bal File35=mapa_rutas.bal
File350=productos.bal File350=productos.bal
File351=productos.bal.old File351=productos.bal.old
File352=promociones.bal File352=promociones.bal
@@ -288,81 +288,82 @@ File356=salma.jpg
File357=salma.png File357=salma.png
File358=senial.jpg File358=senial.jpg
File359=sync.png File359=sync.png
File36=mapa_rutas.bal File36=marker-azul-0.png
File360=tache_rojo.png File360=tache_rojo.png
File361=telefonos.bal File361=telefonos.bal
File362=Tiendita.jpg File362=ticketsDia.bal
File363=unilever.jpg File363=Tiendita.jpg
File364=verde.png File364=unilever.jpg
File37=marker-azul-0.png File365=verde.png
File38=marker-azul-1.png File37=marker-azul-1.png
File39=marker-azul-10.png File38=marker-azul-10.png
File39=marker-azul-100.png
File4=alerta_amarilla.png File4=alerta_amarilla.png
File40=marker-azul-100.png File40=marker-azul-11.png
File41=marker-azul-11.png File41=marker-azul-12.png
File42=marker-azul-12.png File42=marker-azul-13.png
File43=marker-azul-13.png File43=marker-azul-14.png
File44=marker-azul-14.png File44=marker-azul-15.png
File45=marker-azul-15.png File45=marker-azul-16.png
File46=marker-azul-16.png File46=marker-azul-17.png
File47=marker-azul-17.png File47=marker-azul-18.png
File48=marker-azul-18.png File48=marker-azul-19.png
File49=marker-azul-19.png File49=marker-azul-2.png
File5=amarillo.png File5=amarillo.png
File50=marker-azul-2.png File50=marker-azul-20.png
File51=marker-azul-20.png File51=marker-azul-21.png
File52=marker-azul-21.png File52=marker-azul-22.png
File53=marker-azul-22.png File53=marker-azul-23.png
File54=marker-azul-23.png File54=marker-azul-24.png
File55=marker-azul-24.png File55=marker-azul-25.png
File56=marker-azul-25.png File56=marker-azul-26.png
File57=marker-azul-26.png File57=marker-azul-27.png
File58=marker-azul-27.png File58=marker-azul-28.png
File59=marker-azul-28.png File59=marker-azul-29.png
File6=anterior.jpg File6=anterior.jpg
File60=marker-azul-29.png File60=marker-azul-3.png
File61=marker-azul-3.png File61=marker-azul-30.png
File62=marker-azul-30.png File62=marker-azul-31.png
File63=marker-azul-31.png File63=marker-azul-32.png
File64=marker-azul-32.png File64=marker-azul-33.png
File65=marker-azul-33.png File65=marker-azul-34.png
File66=marker-azul-34.png File66=marker-azul-35.png
File67=marker-azul-35.png File67=marker-azul-36.png
File68=marker-azul-36.png File68=marker-azul-37.png
File69=marker-azul-37.png File69=marker-azul-38.png
File7=buscar.bal File7=carrito.png
File70=marker-azul-38.png File70=marker-azul-39.png
File71=marker-azul-39.png File71=marker-azul-4.png
File72=marker-azul-4.png File72=marker-azul-40.png
File73=marker-azul-40.png File73=marker-azul-41.png
File74=marker-azul-41.png File74=marker-azul-42.png
File75=marker-azul-42.png File75=marker-azul-43.png
File76=marker-azul-43.png File76=marker-azul-44.png
File77=marker-azul-44.png File77=marker-azul-45.png
File78=marker-azul-45.png File78=marker-azul-46.png
File79=marker-azul-46.png File79=marker-azul-47.png
File8=carrito.png File8=celltitle.bal
File80=marker-azul-47.png File80=marker-azul-48.png
File81=marker-azul-48.png File81=marker-azul-49.png
File82=marker-azul-49.png File82=marker-azul-5.png
File83=marker-azul-5.png File83=marker-azul-50.png
File84=marker-azul-50.png File84=marker-azul-51.png
File85=marker-azul-51.png File85=marker-azul-52.png
File86=marker-azul-52.png File86=marker-azul-53.png
File87=marker-azul-53.png File87=marker-azul-54.png
File88=marker-azul-54.png File88=marker-azul-55.png
File89=marker-azul-55.png File89=marker-azul-56.png
File9=celltitle.bal File9=Cliente.bal
File90=marker-azul-56.png File90=marker-azul-57.png
File91=marker-azul-57.png File91=marker-azul-58.png
File92=marker-azul-58.png File92=marker-azul-59.png
File93=marker-azul-59.png File93=marker-azul-6.png
File94=marker-azul-6.png File94=marker-azul-60.png
File95=marker-azul-60.png File95=marker-azul-61.png
File96=marker-azul-61.png File96=marker-azul-62.png
File97=marker-azul-62.png File97=marker-azul-63.png
File98=marker-azul-63.png File98=marker-azul-64.png
File99=marker-azul-64.png File99=marker-azul-65.png
FileGroup1=Default Group FileGroup1=Default Group
FileGroup10=Default Group FileGroup10=Default Group
FileGroup100=Default Group FileGroup100=Default Group
@@ -658,6 +659,7 @@ FileGroup361=Default Group
FileGroup362=Default Group FileGroup362=Default Group
FileGroup363=Default Group FileGroup363=Default Group
FileGroup364=Default Group FileGroup364=Default Group
FileGroup365=Default Group
FileGroup37=Default Group FileGroup37=Default Group
FileGroup38=Default Group FileGroup38=Default Group
FileGroup39=Default Group FileGroup39=Default Group
@@ -759,14 +761,15 @@ Library9=fileprovider
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~AddApplicationText(~\n~<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />~\n~)~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="33" />)~\n~AddManifestText(<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~~\n~~\n~'/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.Crashlytics)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~~\n~'Si al cargar un mapa de google manda este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText(<uses-library android:name="org.apache.http.legacy" android:required="false"/>)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText(<queries><package android:name="com.google.android.apps.maps" /></queries>) ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true" ~\n~ android:smallScreens="true" ~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~~\n~AddApplicationText(~\n~<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />~\n~)~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="33" />)~\n~AddManifestText(<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~~\n~~\n~'/////////////// FLP y FBMessageing MOD Inicia /////////////////////~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~'CreateResourceFromFile(Macro, FirebaseAnalytics.Crashlytics)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~'/////////////// FLP y FBMessageing MOD Termina /////////////////////~\n~~\n~'Si al cargar un mapa de google manda este error "java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion". agregar la siguiente linea:~\n~AddApplicationText(<uses-library android:name="org.apache.http.legacy" android:required="false"/>)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText(<queries><package android:name="com.google.android.apps.maps" /></queries>)
Module1=B4XMainPage Module1=B4XMainPage
Module10=C_Promos Module10=C_Promos
Module11=DBRequestManager Module11=C_TicketsDia
Module12=EscPosPrinter Module12=DBRequestManager
Module13=FirebaseMessaging Module13=EscPosPrinter
Module14=kms_helperSubs Module14=FirebaseMessaging
Module15=ManageExternalStorage Module15=kms_helperSubs
Module16=Starter Module16=ManageExternalStorage
Module17=Subs Module17=Starter
Module18=Tracker Module18=Subs
Module19=Tracker
Module2=BatteryUtilities Module2=BatteryUtilities
Module3=C_Cliente Module3=C_Cliente
Module4=C_Clientes Module4=C_Clientes
@@ -775,9 +778,9 @@ Module6=C_Nota
Module7=C_NoVenta Module7=C_NoVenta
Module8=C_Principal Module8=C_Principal
Module9=C_Productos Module9=C_Productos
NumberOfFiles=364 NumberOfFiles=365
NumberOfLibraries=28 NumberOfLibraries=28
NumberOfModules=18 NumberOfModules=19
Version=12.5 Version=12.5
@EndOfDesignText@ @EndOfDesignText@
#Region Project Attributes #Region Project Attributes

View File

@@ -9,6 +9,7 @@ ModuleBookmarks15=
ModuleBookmarks16= ModuleBookmarks16=
ModuleBookmarks17= ModuleBookmarks17=
ModuleBookmarks18= ModuleBookmarks18=
ModuleBookmarks19=
ModuleBookmarks2= ModuleBookmarks2=
ModuleBookmarks3= ModuleBookmarks3=
ModuleBookmarks4= ModuleBookmarks4=
@@ -28,6 +29,7 @@ ModuleBreakpoints15=
ModuleBreakpoints16= ModuleBreakpoints16=
ModuleBreakpoints17= ModuleBreakpoints17=
ModuleBreakpoints18= ModuleBreakpoints18=
ModuleBreakpoints19=
ModuleBreakpoints2= ModuleBreakpoints2=
ModuleBreakpoints3= ModuleBreakpoints3=
ModuleBreakpoints4= ModuleBreakpoints4=
@@ -44,9 +46,10 @@ ModuleClosedNodes12=
ModuleClosedNodes13= ModuleClosedNodes13=
ModuleClosedNodes14= ModuleClosedNodes14=
ModuleClosedNodes15= ModuleClosedNodes15=
ModuleClosedNodes16=1 ModuleClosedNodes16=
ModuleClosedNodes17=10,12,14 ModuleClosedNodes17=1
ModuleClosedNodes18= ModuleClosedNodes18=10,12,14
ModuleClosedNodes19=
ModuleClosedNodes2= ModuleClosedNodes2=
ModuleClosedNodes3= ModuleClosedNodes3=
ModuleClosedNodes4= ModuleClosedNodes4=
@@ -55,6 +58,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Promos,B4XPage_Appear,72,6,Subs,alcanzanLosVariablesParaPromo,934,6,Subs,procesaPromocion,1014,0,Subs,revisaMaxPromosProdsFijosPorInventario,1089,0,C_Productos,B4XPage_Appear,153,3,Subs,traeTablaProds,1350,0,Subs,traeProdNombre,635,6,Subs,traePromo,858,6,Subs,traemosInventarioDisponibleParaPromo,880,6,Subs,traeProdIdDeBD,1200,2,C_Productos,b_rmi_Click,1234,0 NavigationStack=Subs,bitacora,1411,0,C_Productos,clv_prods_ll_ItemLongClick,965,6,C_Productos,l_prodX_Click,972,0,C_Productos,b_rmi_menos_Click,1250,1,C_Productos,PCLV2_HintRequested,1232,0,C_Productos,b_rmi_aceptar_Click,1240,1,C_Productos,p_rmi_Click,1236,0,Visual Designer,productos.bal,-100,1,Visual Designer,Cliente.bal,-100,2,C_Productos,l_prodX_LongClick,1001,6,C_Cliente,B_INV_Click,807,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=16,1,8,14,6,3,7,9,17,10 VisibleModules=17,1,8,15,6,3,7,9,18,10

Binary file not shown.

Binary file not shown.

View File

@@ -772,7 +772,7 @@ End Sub
Sub actualizaProducto(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) Sub actualizaProducto(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)
If nombre.Length < 6 Then ToastMessageShow("(actualizaProducto) El nombre del producto no es valido " & nombre, True) If nombre.Length < 6 Then ToastMessageShow("(actualizaProducto) El nombre del producto no es valido " & nombre, True)
LogColor($"actualizaProducto, p=${prodId}, nombre=${nombre}, cant=${cant}, cedis=${cedis}, tipo=${tipoVenta}"$, Colors.Magenta) LogColor($"actualizaProducto, p=${prodId}, nombre=${nombre}, cant=${cant}, cedis=${cedis}, tipo=${tipoVenta}, ${traeTablaProds(tipoVenta)}"$, Colors.Magenta)
' Private tablaProds As String = "cat_gunaprod2" ' Private tablaProds As String = "cat_gunaprod2"
' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod" ' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod"
Private c As Cursor=Starter.skmt.ExecQuery($"select * from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}'"$) Private c As Cursor=Starter.skmt.ExecQuery($"select * from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}'"$)
@@ -1256,11 +1256,13 @@ End Sub
Sub borraPedidoClienteActual As String Sub borraPedidoClienteActual As String
Private thisC As Cursor Private thisC As Cursor
' Private tablaProds As String = "cat_gunaprod2" ' Private tablaProds As String = "cat_gunaprod2"
thisC=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") thisC=Starter.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If thisC.RowCount>0 Then If thisC.RowCount>0 Then
For i=0 To thisC.RowCount -1 For i=0 To thisC.RowCount -1
thisC.Position=i thisC.Position = i
Starter.skmt.ExecNonQuery2($"update ${traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(thisC.GetString("PE_CANT"),thisC.GetString("PE_PROID"))) ' Log(thisC.GetString("PE_TIPO") & "|" & traeTablaProds(thisC.GetString("PE_TIPO")))
Starter.skmt.ExecNonQuery($"update ${traeTablaProds(thisC.GetString("PE_TIPO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$)
LogColor($"update ${traeTablaProds(thisC.GetString("PE_TIPO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$, Colors.red)
' Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1)) ' Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
Next Next
End If End If
@@ -1323,8 +1325,8 @@ Sub revisaImpresa As Boolean
End Sub End Sub
'Guarda RMI's (Cambios) en la base de datos 'Guarda RMI's (Cambios) en la base de datos
Sub guardaCambiosDeProducto(cantidad, prodNombre, prodId, precio2, query) 'ignore Sub guardaCambiosDeProducto(cantidad, diferencia As Int, prodNombre, prodId, precio2, query) 'ignore
Log($"${cantidad}, ${prodNombre}, ${prodId}, ${precio2}"$) Log($"${cantidad}, ${diferencia}, ${prodNombre}, ${prodId}, ${precio2}"$)
Dim sDate, sTime, clie_id, usuario As String Dim sDate, sTime, clie_id, usuario As String
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate = DateTime.Date(DateTime.Now) sDate = DateTime.Date(DateTime.Now)
@@ -1335,8 +1337,9 @@ Sub guardaCambiosDeProducto(cantidad, prodNombre, prodId, precio2, query) 'ignor
a = Starter.skmt.ExecQuery("select USUARIO from usuarioa") a = Starter.skmt.ExecQuery("select USUARIO from usuarioa")
a.Position=0 a.Position=0
usuario = a.GetString("USUARIO") usuario = a.GetString("USUARIO")
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR", (precio2 * -1), ((precio2/cantidad) * -1), cantidad, "CAMBIO" & prodNombre, prodId, clie_id, sDate & sTime, usuario, Starter.tipov, precio2)) Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_CEDIS = 'DUR' and PE_PROID = '${prodId}' and PE_CLIENTE = '${clie_id}'"$)
Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad, prodId)) If cantidad > 0 Then Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("DUR", (precio2 * -1), ((precio2/cantidad) * -1), cantidad, "CAMBIO" & prodNombre, prodId, clie_id, sDate & sTime, usuario, Starter.tipov, precio2))
Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(diferencia, prodId))
End Sub End Sub
'Regresa la fecha guardada en la base de datos con el formato "YYYYMMDD" 'Regresa la fecha guardada en la base de datos con el formato "YYYYMMDD"
@@ -1410,4 +1413,15 @@ Sub bitacora(usuariob As String, almacenb As String, rutab As String, eventob As
Starter.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb , longitudb , precision , motivonoventa , motivonovisita) VALUES ('${usuariob}' , '${almacenb}' , '${rutab}' , '${eventob}' , '${clienteb}' , '${iniciob}' , '${finb}' , '${latitudb}' , '${longitudb}' , '${precision}' , '${motivonoventa}' , '${motivonovisita}')"$) Starter.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb , longitudb , precision , motivonoventa , motivonovisita) VALUES ('${usuariob}' , '${almacenb}' , '${rutab}' , '${eventob}' , '${clienteb}' , '${iniciob}' , '${finb}' , '${latitudb}' , '${longitudb}' , '${precision}' , '${motivonoventa}' , '${motivonovisita}')"$)
End Sub
'Regresa el inventario de un producto dado dependiendo de el tipo de venta dado.
Sub traeInventario(prodId As String, tipoVenta As String) As Int
Private c As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${traeTablaProds(tipoVenta)} where CAT_GP_ID = '${prodId}'"$)
If c.RowCount > 0 Then
c.Position = 0
Return c.GetString("CAT_GP_ALMACEN")
Else
Return 0
End If
End Sub End Sub