diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 5c344de..dec967d 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -31,7 +31,7 @@ Sub Class_Globals ' Public updateAvailable As C_updateAvailable '' Public mapas As C_Mapas '' 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 nota As C_Nota 'Antes tarjeta Public promos As C_Promos @@ -122,8 +122,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) ' B4XPages.AddPage("Mapas", mapas) ' nuevoCliente.Initialize ' B4XPages.AddPageAndCreate("NuevoCliente", nuevoCliente) -' ticketsDia.Initialize -' B4XPages.AddPage("TicketsDia", ticketsDia) + ticketsDia.Initialize + B4XPages.AddPage("TicketsDia", ticketsDia) noVenta.Initialize B4XPages.AddPage("NoVenta", noVenta) nota.Initialize diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index 4acaa62..89bc386 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -47,7 +47,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Root = Root1 g.Initialize("GPS") ruta = File.DirInternal - Root.LoadLayout("historico") + Root.LoadLayout("nota") borra.Visible = True Titulo.Text = "Pedido Actual" Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null") @@ -171,25 +171,7 @@ Sub borra_Click If folio <> "" Then result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If result = DialogResponse.POSITIVE Then - - 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)") + Subs.borraPedidoClienteActual B4XPage_Appear End If Else @@ -200,7 +182,6 @@ End Sub 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 If result = DialogResponse.POSITIVE 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)) ' 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.Position=0 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)) - - If d.RowCount>0 Then - For i=0 To d.RowCount -1 - d.Position=i + 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 + d.Position = i TIPO = d.GetString("PE_TIPO") 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"))) @@ -224,13 +203,10 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) Next End If 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)) 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 - TIPO = d.GetString("PE_TIPO") 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"))) @@ -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"))) End If d.Close - - Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value)) End If - - - - DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) - c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 + c = Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position = 0 clie_id = c.GetString("CUENTA") - c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 + c = Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position = 0 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.Position=0 + 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 If c.GetString("CUANTOS") > 0 Then 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)) diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index c32c51a..c9dab0b 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -1939,6 +1939,7 @@ End Sub Sub BUSCA_Click ' StartActivity(BUSCAR) + B4XPages.ShowPage("TicketsDia") End Sub Sub b_mapa_Click diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index ffe5142..c76b3ff 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -7,7 +7,7 @@ Version=11.5 Sub Class_Globals Private Root As B4XView 'ignore Private xui As XUI 'ignore - dim kh as kms_helperSubs + Dim kh As kms_helperSubs Dim ruta As String Dim q_buscar As String Dim forzarBusqueda As Boolean = False @@ -93,8 +93,9 @@ Sub Class_Globals Dim rmiMap As Map Private l_rmi_usado As Label Dim list_prodsPedido As List - Private b_rmi As Button +' Private b_rmi As Button Private l_mDisponible As Label + dim nuevaCantRMI as int End Sub 'You can add more parameters here. @@ -141,6 +142,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) list_prodsPedido.Initialize Log("list_prodsPedido.Initialize") prodsMap.Initialize + p_vistaPreviaTrans.Top = 0 : p_vistaPreviaTrans.left = 0 + p_productos.Top = 0 : p_productos.left = 0 End Sub '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 ' Log(Subs.traeTotalesClienteActual) - Dim m As Map = subs.traeTotalesClienteActual + Dim m As Map = Subs.traeTotalesClienteActual prodsPedidoActual = m.Get("productos") montoPedidoActual = m.Get("monto") hayPedido = kh.hayPedido(Starter.skmt) @@ -228,7 +231,7 @@ Sub B4XPage_Appear else If hayPedido Then ' LogColor("HAY PEDIDO ANTERIOR", Colors.red) ' Log("Llamamos LlenaProdsLL") - LlenaProdsLL(Null, Null) +' LlenaProdsLL(Null, Null) End If If clv_prods_ll.Size > 0 Then @@ -245,10 +248,10 @@ Sub B4XPage_Appear Else PCLV.B4XSeekBar1.mBase.Left=Root.Width *1.5 'Si no hay productos, que NO se vea la barra de busqueda. End If - If lfila.Text = "RMI" Then - b_rmi.Visible = False - l_mDisponible.Visible = True - End If +' If lfila.Text = "RMI" Then +' b_rmi.Visible = False +' l_mDisponible.Visible = True +' End If ' Log(Starter.tipov) End Sub @@ -261,7 +264,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object) ' lfila.text = "TIPO" lfila.text = "PRODUCTOS" 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 LlenaProdsLL(Null, Null) clv_prods_ll.AsView.BringToFront @@ -408,7 +411,7 @@ Sub lv_promos_ItemClick (Position As Int, Value As Object) End Sub 'Generamos la lista de productos. -Sub llenaCatalogo(subtipo1 As String) +Sub llenaCatalogo(subtipo1 As String) 'ignore ' Log("LlenaCatalogo") ' 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)) @@ -501,7 +504,7 @@ End Sub '**************************************************************************** '***************** 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("") ' p.SetLayoutAnimated(0, 0, 0, Width, Height) ' p.LoadLayout("prodItem") @@ -571,7 +574,7 @@ Sub b_prodMas_Click Dim pnl As B4XView = pnl0.GetView(0) Dim laCant As B4XView = pnl.GetView(2).GetView(2) 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 inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen") If buttonTag = "vendido" Then @@ -691,7 +694,7 @@ Sub cuentaProds p_botonesVenta.Visible = True p_botonesVenta.BringToFront 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) If lfila.Text = "RMI" Then l_mDisponible.Visible = True Else l_mDisponible.Visible = False l_mDisponible.Text = $"Disponible: $${Subs.totalPedido}"$ @@ -710,7 +713,7 @@ Sub b_terminar1_Click Subs.agrupador lv_prodsPedido.Clear 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) If c_prods.RowCount > 0 Then c_prods.Position = 0 @@ -735,11 +738,13 @@ Sub b_terminar1_Click label2 = lv_prodsPedido.TwoLinesLayout.SecondLabel label2.TextSize = 10 label2.TextColor = Colors.Blue +' label2.Color = Colors.Gray label2.Tag = i ' 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")) - 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 + Log($"${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")) & "|") 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 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 Log(list_prodsPedido) 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) - 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"" +' Log("m1= "&m) + 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 result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore 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)) - prod.Position=0 - Log("m2= " & m) + 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 +' Log("m2= " & m) c.Close - 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"))) - c.Position=0 +' Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$) +' Log($"mapaTipo: ${m.get("tipo")}, queryTipo: ${prod.GetString("PE_TIPO")}"$) +' 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 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")}'"$) For tp = 0 To pPromos.RowCount - 1 pPromos.Position = tp 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 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 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")}"$) 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 prod.Close DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 + sDate = DateTime.Date(DateTime.Now) + sTime = DateTime.Time(DateTime.Now) + c = Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position = 0 clie_id = c.GetString("CUENTA") c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 + c.Position = 0 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.Position=0 + c.Position = 0 If c.GetString("CUANTOS") > 0 Then Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$) 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 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 Sub l_prodX_Click @@ -971,41 +988,52 @@ Sub l_prodX_Click End Sub Private Sub l_prodX_LongClick - '' Log("longClic = "&Sender.as(Label).Text) -' If Subs.traeCliente <> 0 Then -' Dim index As Int = clv_prods_ll.GetItemFromView(Sender) -' Private pId As String = clv_prods_ll.GetValue(index).As(Map).Get("id") -' Private pNombre As String = clv_prods_ll.GetValue(index).As(Map).Get("prod") -' Private t As Cursor = Starter.skmt.ExecQuery("select sum(PE_COSTO_TOT) as ventaTotal from pedido where PE_CLIENTE in (Select CUENTA from cuentaa)") -' t.Position = 0 -' Private ventaT As String = t.GetString("ventaTotal") -' If ventaT = Null Then ventaT = 0 -' If ventaT > 0 Then -' 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)") -' t.Position = 0 -' Private totalRMI As String = t.GetString("totalRMI") -' If totalRMI = Null Then totalRMI = 0 -' l_rmi_nombre.Text = Sender.as(Label).Text -' Private pu0() As String = Regex.Split("\$", Sender.as(Label).Text) -' Private pu As String -' If pu0.Length > 1 Then pu = pu0(pu0.Length-1) Else pu = 0 - '' Log(ventaT & ", " & totalRMI & ", " & Sender.as(Label).tag & ", " & pu) -' l_rmi_usado.Text = $"RMI usado: $$1.2{(totalRMI)}"$ -' l_montoDisponible.Text = $"Disponible para RMI: $$1.2{(ventaT-totalRMI)}"$ -' Private m As Map = CreateMap("disponible":(ventaT-totalRMI), "inv":Sender.as(Label).tag, "totalRMI":totalRMI, "pu":pu, "id":pId, "nombre":pNombre) -' rmiMap = m -' ' 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 = 0 + ' Log("longClic = "&Sender.as(Label).Text) + If Subs.traeCliente <> 0 Then + Dim index As Int = clv_prods_ll.GetItemFromView(Sender) + nuevaCantRMI = 0 + Private pId As String = clv_prods_ll.GetValue(index).As(Map).Get("id") + Log(clv_prods_ll.GetValue(index)) + Private pNombre As String = clv_prods_ll.GetValue(index).As(Map).Get("prod") + 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)"$) + t.Position = 0 + Private ventaT As String = t.GetString("cuantosProds") + If ventaT = Null Then ventaT = 0 + If Starter.tipov = "PREVENTA" Then + ToastMessageShow("¡¡En preventa NO hay cambios!!", True) + Return + End If + If ventaT > 0 Then + 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)"$) + t.Position = 0 + Private totalRMI As String = t.GetString("totalRMI") + Log($"Prods: ${ventaT}, RMIs: ${totalRMI}"$) + If totalRMI = Null Then totalRMI = 0 + Log($"Prods: ${ventaT}, RMIs: ${totalRMI}"$) + l_rmi_nombre.Text = Sender.as(Label).Text + Private pu0() As String = Regex.Split("\$", Sender.as(Label).Text) + Private pu As String + If pu0.Length > 1 Then pu = pu0(pu0.Length-1) Else pu = 0 + ' Log(ventaT & ", " & totalRMI & ", " & Sender.as(Label).tag & ", " & pu) +' 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 = "" -' p_rmi.BringToFront -' p_rmi.Visible = True -' Else -' ToastMessageShow("No hay venta suficiente para RMIs", True) -' End If -' End If + p_rmi.BringToFront + p_rmi.Visible = True + Else + ToastMessageShow("No hay venta suficiente para RMIs", True) + End If + End If End Sub 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.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 - p_prods.Color=0xFFE2EEFF + p_prods.Color = 0xFFE2EEFF et_pCant.TextColor=Colors.Red -' Log("VENDIDO ") + Log(clv_prods_ll.GetValue(i).As(Map)) + Log("VENDIDO ") b_prodMenos.Tag = "vendido" b_prodMas.Tag = "vendido" 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"$) Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$) lfila.Text = "RMI" - b_rmi.Visible = False +' b_rmi.Visible = False lv_catalogos.Visible = False LlenaProdsLL(p, "rmi") clv_prods_ll.AsView.BringToFront @@ -1100,24 +1129,28 @@ Sub Busca_TextChanged (Old As String, New As String) End Sub Sub LlenaProdsLL(p As ResultSet, extra As String) -' Log("LlenaProdsLL") + Log("LlenaProdsLL") listaProds.Initialize 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. - Dim cantsMap As Map + Dim cantsMap, tiposMap As Map 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. 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 Private cant As Int = 0 + Private tipo As String = "" cantsMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_CANT")) + tiposMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_TIPO")) Loop -' Log($"Con pedido: ${pe.RowCount}"$) -' Log("CANTSMAP: " & cantsMap) + Log($"Con pedido: ${pe.RowCount}"$) + Log("CANTSMAP: " & cantsMap) + Log("TIPOSMAP: " & tiposMap) pe.Close End If ' Log(p.IsInitialized) @@ -1131,9 +1164,12 @@ Sub LlenaProdsLL(p As ResultSet, extra As String) Do While p.NextRow 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")) - 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) - listaProds.Add(tempMap) + If hayPedido And tiposMap.ContainsKey(p.GetString("CAT_GP_ID")) Then tipoV = tiposMap.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, "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}"$) Loop p.Close @@ -1160,7 +1196,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String) Private Pnl As B4XView = xui.CreatePanel("") Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip) 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) ' Log(tempMap) clv_prods_ll.Add(Pnl, tempMap) @@ -1212,8 +1248,8 @@ Private Sub p_rmi_Click End Sub 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) -' Log($"${l_rmi_cant.Text}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$) + Subs.guardaCambiosDeProducto(l_rmi_cant.Text, nuevaCantRMI, rmiMap.Get("nombre"), rmiMap.Get("id"), 0, query) + Log($"${nuevaCantRMI}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$) p_rmi.Visible = False End Sub @@ -1223,25 +1259,30 @@ Private Sub b_rmi_menos_Click Private cant As String = l_rmi_cant.Text If (cant - 1) >= 0 Then 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 + nuevaCantRMI = (rmiMap.Get("totalRMI") - l_rmi_cant.Text) * -1 + Log(nuevaCantRMI) End Sub Private Sub b_rmi_mas_Click + Log(rmiMap) Log(Sender.As(Button).tag) ' Private d As Map = Sender.As(Button).tag 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_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 + nuevaCantRMI = (rmiMap.Get("totalRMI") - l_rmi_cant.Text) * -1 + Log(nuevaCantRMI) End Sub 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"$) Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$) lfila.Text = "RMI" - b_rmi.Visible = False +' b_rmi.Visible = False lv_catalogos.Visible = False LlenaProdsLL(p, "rmi") clv_prods_ll.AsView.BringToFront diff --git a/B4A/C_Promos.bas b/B4A/C_Promos.bas index d89cf27..78d7cf5 100644 --- a/B4A/C_Promos.bas +++ b/B4A/C_Promos.bas @@ -76,7 +76,7 @@ Sub B4XPage_Appear prodsPedidoActual = m.Get("productos") montoPedidoActual = m.Get("monto") Log($"laPromo=${laPromo}, el cliente=${elCliente}"$) - Logcolor(">>>>>>>> " & laPromo, Colors.Magenta) + LogColor(">>>>>>>> " & laPromo, Colors.Magenta) If laPromo <> "" Then muestraPromo(laPromo, elCliente) End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. diff --git a/B4A/C_TicketsDia.bas b/B4A/C_TicketsDia.bas index 2a6f13c..c4ad4e6 100644 --- a/B4A/C_TicketsDia.bas +++ b/B4A/C_TicketsDia.bas @@ -19,9 +19,14 @@ Sub Class_Globals Dim nombre_boton As String End Sub +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + Private Sub B4XPage_Created (Root1 As B4XView) Root = Root1 - Root.LoadLayout("buscar") + Root.LoadLayout("ticketsDia") ruta = File.DirInternal ' 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.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) ' StartActivity(fila) + B4XPages.ShowPage("Cliente") End Sub Sub b_noventa_Click diff --git a/B4A/Durakelo.b4a b/B4A/Durakelo.b4a index 5c035af..2738c91 100644 --- a/B4A/Durakelo.b4a +++ b/B4A/Durakelo.b4a @@ -1,272 +1,272 @@ Build1=Default,durakelo.keymon.com.mx,HU2_PUBLIC File1=alcancia.png -File10=Cliente.bal -File100=marker-azul-65.png -File101=marker-azul-66.png -File102=marker-azul-67.png -File103=marker-azul-68.png -File104=marker-azul-69.png -File105=marker-azul-7.png -File106=marker-azul-70.png -File107=marker-azul-71.png -File108=marker-azul-72.png -File109=marker-azul-73.png -File11=Clientes.bal -File110=marker-azul-74.png -File111=marker-azul-75.png -File112=marker-azul-76.png -File113=marker-azul-77.png -File114=marker-azul-78.png -File115=marker-azul-79.png -File116=marker-azul-8.png -File117=marker-azul-80.png -File118=marker-azul-81.png -File119=marker-azul-82.png -File12=detalle_promo.bal -File120=marker-azul-83.png -File121=marker-azul-84.png -File122=marker-azul-85.png -File123=marker-azul-86.png -File124=marker-azul-87.png -File125=marker-azul-88.png -File126=marker-azul-89.png -File127=marker-azul-9.png -File128=marker-azul-90.png -File129=marker-azul-91.png -File13=durakelo.png -File130=marker-azul-92.png -File131=marker-azul-93.png -File132=marker-azul-94.png -File133=marker-azul-95.png -File134=marker-azul-96.png -File135=marker-azul-97.png -File136=marker-azul-98.png -File137=marker-azul-99.png -File138=marker-rojo-0.png -File139=marker-rojo-1.png -File14=durakelo_192x192.png -File140=marker-rojo-10.png -File141=marker-rojo-100.png -File142=marker-rojo-11.png -File143=marker-rojo-12.png -File144=marker-rojo-13.png -File145=marker-rojo-14.png -File146=marker-rojo-15.png -File147=marker-rojo-16.png -File148=marker-rojo-17.png -File149=marker-rojo-18.png -File15=durakelo1.png -File150=marker-rojo-19.png -File151=marker-rojo-2.png -File152=marker-rojo-20.png -File153=marker-rojo-21.png -File154=marker-rojo-22.png -File155=marker-rojo-23.png -File156=marker-rojo-24.png -File157=marker-rojo-25.png -File158=marker-rojo-26.png -File159=marker-rojo-27.png -File16=engrane.jpg -File160=marker-rojo-28.png -File161=marker-rojo-29.png -File162=marker-rojo-3.png -File163=marker-rojo-30.png -File164=marker-rojo-31.png -File165=marker-rojo-32.png -File166=marker-rojo-33.png -File167=marker-rojo-34.png -File168=marker-rojo-35.png -File169=marker-rojo-36.png -File17=engrane3.png -File170=marker-rojo-37.png -File171=marker-rojo-38.png -File172=marker-rojo-39.png -File173=marker-rojo-4.png -File174=marker-rojo-40.png -File175=marker-rojo-41.png -File176=marker-rojo-42.png -File177=marker-rojo-43.png -File178=marker-rojo-44.png -File179=marker-rojo-45.png -File18=espera.gif -File180=marker-rojo-46.png -File181=marker-rojo-47.png -File182=marker-rojo-48.png -File183=marker-rojo-49.png -File184=marker-rojo-5.png -File185=marker-rojo-50.png -File186=marker-rojo-51.png -File187=marker-rojo-52.png -File188=marker-rojo-53.png -File189=marker-rojo-54.png -File19=fondo_kmt.jpg -File190=marker-rojo-55.png -File191=marker-rojo-56.png -File192=marker-rojo-57.png -File193=marker-rojo-58.png -File194=marker-rojo-59.png -File195=marker-rojo-6.png -File196=marker-rojo-60.png -File197=marker-rojo-61.png -File198=marker-rojo-62.png -File199=marker-rojo-63.png +File10=Clientes.bal +File100=marker-azul-66.png +File101=marker-azul-67.png +File102=marker-azul-68.png +File103=marker-azul-69.png +File104=marker-azul-7.png +File105=marker-azul-70.png +File106=marker-azul-71.png +File107=marker-azul-72.png +File108=marker-azul-73.png +File109=marker-azul-74.png +File11=detalle_promo.bal +File110=marker-azul-75.png +File111=marker-azul-76.png +File112=marker-azul-77.png +File113=marker-azul-78.png +File114=marker-azul-79.png +File115=marker-azul-8.png +File116=marker-azul-80.png +File117=marker-azul-81.png +File118=marker-azul-82.png +File119=marker-azul-83.png +File12=durakelo.png +File120=marker-azul-84.png +File121=marker-azul-85.png +File122=marker-azul-86.png +File123=marker-azul-87.png +File124=marker-azul-88.png +File125=marker-azul-89.png +File126=marker-azul-9.png +File127=marker-azul-90.png +File128=marker-azul-91.png +File129=marker-azul-92.png +File13=durakelo_192x192.png +File130=marker-azul-93.png +File131=marker-azul-94.png +File132=marker-azul-95.png +File133=marker-azul-96.png +File134=marker-azul-97.png +File135=marker-azul-98.png +File136=marker-azul-99.png +File137=marker-rojo-0.png +File138=marker-rojo-1.png +File139=marker-rojo-10.png +File14=durakelo1.png +File140=marker-rojo-100.png +File141=marker-rojo-11.png +File142=marker-rojo-12.png +File143=marker-rojo-13.png +File144=marker-rojo-14.png +File145=marker-rojo-15.png +File146=marker-rojo-16.png +File147=marker-rojo-17.png +File148=marker-rojo-18.png +File149=marker-rojo-19.png +File15=engrane.jpg +File150=marker-rojo-2.png +File151=marker-rojo-20.png +File152=marker-rojo-21.png +File153=marker-rojo-22.png +File154=marker-rojo-23.png +File155=marker-rojo-24.png +File156=marker-rojo-25.png +File157=marker-rojo-26.png +File158=marker-rojo-27.png +File159=marker-rojo-28.png +File16=engrane3.png +File160=marker-rojo-29.png +File161=marker-rojo-3.png +File162=marker-rojo-30.png +File163=marker-rojo-31.png +File164=marker-rojo-32.png +File165=marker-rojo-33.png +File166=marker-rojo-34.png +File167=marker-rojo-35.png +File168=marker-rojo-36.png +File169=marker-rojo-37.png +File17=espera.gif +File170=marker-rojo-38.png +File171=marker-rojo-39.png +File172=marker-rojo-4.png +File173=marker-rojo-40.png +File174=marker-rojo-41.png +File175=marker-rojo-42.png +File176=marker-rojo-43.png +File177=marker-rojo-44.png +File178=marker-rojo-45.png +File179=marker-rojo-46.png +File18=fondo_kmt.jpg +File180=marker-rojo-47.png +File181=marker-rojo-48.png +File182=marker-rojo-49.png +File183=marker-rojo-5.png +File184=marker-rojo-50.png +File185=marker-rojo-51.png +File186=marker-rojo-52.png +File187=marker-rojo-53.png +File188=marker-rojo-54.png +File189=marker-rojo-55.png +File19=foto.bal +File190=marker-rojo-56.png +File191=marker-rojo-57.png +File192=marker-rojo-58.png +File193=marker-rojo-59.png +File194=marker-rojo-6.png +File195=marker-rojo-60.png +File196=marker-rojo-61.png +File197=marker-rojo-62.png +File198=marker-rojo-63.png +File199=marker-rojo-64.png File2=alert2.png -File20=foto.bal -File200=marker-rojo-64.png -File201=marker-rojo-65.png -File202=marker-rojo-66.png -File203=marker-rojo-67.png -File204=marker-rojo-68.png -File205=marker-rojo-69.png -File206=marker-rojo-7.png -File207=marker-rojo-70.png -File208=marker-rojo-71.png -File209=marker-rojo-72.png -File21=guardagestion.bal -File210=marker-rojo-73.png -File211=marker-rojo-74.png -File212=marker-rojo-75.png -File213=marker-rojo-76.png -File214=marker-rojo-77.png -File215=marker-rojo-78.png -File216=marker-rojo-79.png -File217=marker-rojo-8.png -File218=marker-rojo-80.png -File219=marker-rojo-81.png -File22=guna_viejo.png -File220=marker-rojo-82.png -File221=marker-rojo-83.png -File222=marker-rojo-84.png -File223=marker-rojo-85.png -File224=marker-rojo-86.png -File225=marker-rojo-87.png -File226=marker-rojo-88.png -File227=marker-rojo-89.png -File228=marker-rojo-9.png -File229=marker-rojo-90.png -File23=historico.bal -File230=marker-rojo-91.png -File231=marker-rojo-92.png -File232=marker-rojo-93.png -File233=marker-rojo-94.png -File234=marker-rojo-95.png -File235=marker-rojo-96.png -File236=marker-rojo-97.png -File237=marker-rojo-98.png -File238=marker-rojo-99.png -File239=marker-verde-0.png -File24=infonavit1.jpg -File240=marker-verde-1.png -File241=marker-verde-10.png -File242=marker-verde-100.png -File243=marker-verde-11.png -File244=marker-verde-12.png -File245=marker-verde-13.png -File246=marker-verde-14.png -File247=marker-verde-15.png -File248=marker-verde-16.png -File249=marker-verde-17.png -File25=itembuttonblue.png -File250=marker-verde-18.png -File251=marker-verde-19.png -File252=marker-verde-2.png -File253=marker-verde-20.png -File254=marker-verde-21.png -File255=marker-verde-22.png -File256=marker-verde-23.png -File257=marker-verde-24.png -File258=marker-verde-25.png -File259=marker-verde-26.png -File26=k.png -File260=marker-verde-27.png -File261=marker-verde-28.png -File262=marker-verde-29.png -File263=marker-verde-3.png -File264=marker-verde-30.png -File265=marker-verde-31.png -File266=marker-verde-32.png -File267=marker-verde-33.png -File268=marker-verde-34.png -File269=marker-verde-35.png -File27=kelloggs.png -File270=marker-verde-36.png -File271=marker-verde-37.png -File272=marker-verde-38.png -File273=marker-verde-39.png -File274=marker-verde-4.png -File275=marker-verde-40.png -File276=marker-verde-41.png -File277=marker-verde-42.png -File278=marker-verde-43.png -File279=marker-verde-44.png -File28=keymon_logo.png -File280=marker-verde-45.png -File281=marker-verde-46.png -File282=marker-verde-47.png -File283=marker-verde-48.png -File284=marker-verde-49.png -File285=marker-verde-5.png -File286=marker-verde-50.png -File287=marker-verde-51.png -File288=marker-verde-52.png -File289=marker-verde-53.png -File29=kmt.db -File290=marker-verde-54.png -File291=marker-verde-55.png -File292=marker-verde-56.png -File293=marker-verde-57.png -File294=marker-verde-58.png -File295=marker-verde-59.png -File296=marker-verde-6.png -File297=marker-verde-60.png -File298=marker-verde-61.png -File299=marker-verde-62.png +File20=guardagestion.bal +File200=marker-rojo-65.png +File201=marker-rojo-66.png +File202=marker-rojo-67.png +File203=marker-rojo-68.png +File204=marker-rojo-69.png +File205=marker-rojo-7.png +File206=marker-rojo-70.png +File207=marker-rojo-71.png +File208=marker-rojo-72.png +File209=marker-rojo-73.png +File21=guna_viejo.png +File210=marker-rojo-74.png +File211=marker-rojo-75.png +File212=marker-rojo-76.png +File213=marker-rojo-77.png +File214=marker-rojo-78.png +File215=marker-rojo-79.png +File216=marker-rojo-8.png +File217=marker-rojo-80.png +File218=marker-rojo-81.png +File219=marker-rojo-82.png +File22=infonavit1.jpg +File220=marker-rojo-83.png +File221=marker-rojo-84.png +File222=marker-rojo-85.png +File223=marker-rojo-86.png +File224=marker-rojo-87.png +File225=marker-rojo-88.png +File226=marker-rojo-89.png +File227=marker-rojo-9.png +File228=marker-rojo-90.png +File229=marker-rojo-91.png +File23=itembuttonblue.png +File230=marker-rojo-92.png +File231=marker-rojo-93.png +File232=marker-rojo-94.png +File233=marker-rojo-95.png +File234=marker-rojo-96.png +File235=marker-rojo-97.png +File236=marker-rojo-98.png +File237=marker-rojo-99.png +File238=marker-verde-0.png +File239=marker-verde-1.png +File24=k.png +File240=marker-verde-10.png +File241=marker-verde-100.png +File242=marker-verde-11.png +File243=marker-verde-12.png +File244=marker-verde-13.png +File245=marker-verde-14.png +File246=marker-verde-15.png +File247=marker-verde-16.png +File248=marker-verde-17.png +File249=marker-verde-18.png +File25=K-b27c0809.png +File250=marker-verde-19.png +File251=marker-verde-2.png +File252=marker-verde-20.png +File253=marker-verde-21.png +File254=marker-verde-22.png +File255=marker-verde-23.png +File256=marker-verde-24.png +File257=marker-verde-25.png +File258=marker-verde-26.png +File259=marker-verde-27.png +File26=kelloggs.png +File260=marker-verde-28.png +File261=marker-verde-29.png +File262=marker-verde-3.png +File263=marker-verde-30.png +File264=marker-verde-31.png +File265=marker-verde-32.png +File266=marker-verde-33.png +File267=marker-verde-34.png +File268=marker-verde-35.png +File269=marker-verde-36.png +File27=keymon_logo.png +File270=marker-verde-37.png +File271=marker-verde-38.png +File272=marker-verde-39.png +File273=marker-verde-4.png +File274=marker-verde-40.png +File275=marker-verde-41.png +File276=marker-verde-42.png +File277=marker-verde-43.png +File278=marker-verde-44.png +File279=marker-verde-45.png +File28=kmt.db +File280=marker-verde-46.png +File281=marker-verde-47.png +File282=marker-verde-48.png +File283=marker-verde-49.png +File284=marker-verde-5.png +File285=marker-verde-50.png +File286=marker-verde-51.png +File287=marker-verde-52.png +File288=marker-verde-53.png +File289=marker-verde-54.png +File29=login.bal +File290=marker-verde-55.png +File291=marker-verde-56.png +File292=marker-verde-57.png +File293=marker-verde-58.png +File294=marker-verde-59.png +File295=marker-verde-6.png +File296=marker-verde-60.png +File297=marker-verde-61.png +File298=marker-verde-62.png +File299=marker-verde-63.png File3=alerta.jpg -File30=login.bal -File300=marker-verde-63.png -File301=marker-verde-64.png -File302=marker-verde-65.png -File303=marker-verde-66.png -File304=marker-verde-67.png -File305=marker-verde-68.png -File306=marker-verde-69.png -File307=marker-verde-7.png -File308=marker-verde-70.png -File309=marker-verde-71.png -File31=logo sanfer.jpg -File310=marker-verde-72.png -File311=marker-verde-73.png -File312=marker-verde-74.png -File313=marker-verde-75.png -File314=marker-verde-76.png -File315=marker-verde-77.png -File316=marker-verde-78.png -File317=marker-verde-79.png -File318=marker-verde-8.png -File319=marker-verde-80.png -File32=logo_exitus1.jpg -File320=marker-verde-81.png -File321=marker-verde-82.png -File322=marker-verde-83.png -File323=marker-verde-84.png -File324=marker-verde-85.png -File325=marker-verde-86.png -File326=marker-verde-87.png -File327=marker-verde-88.png -File328=marker-verde-89.png -File329=marker-verde-9.png -File33=MainPage.bal -File330=marker-verde-90.png -File331=marker-verde-91.png -File332=marker-verde-92.png -File333=marker-verde-93.png -File334=marker-verde-94.png -File335=marker-verde-95.png -File336=marker-verde-96.png -File337=marker-verde-97.png -File338=marker-verde-98.png -File339=marker-verde-99.png -File34=Malo.jpg +File30=logo sanfer.jpg +File300=marker-verde-64.png +File301=marker-verde-65.png +File302=marker-verde-66.png +File303=marker-verde-67.png +File304=marker-verde-68.png +File305=marker-verde-69.png +File306=marker-verde-7.png +File307=marker-verde-70.png +File308=marker-verde-71.png +File309=marker-verde-72.png +File31=logo_exitus1.jpg +File310=marker-verde-73.png +File311=marker-verde-74.png +File312=marker-verde-75.png +File313=marker-verde-76.png +File314=marker-verde-77.png +File315=marker-verde-78.png +File316=marker-verde-79.png +File317=marker-verde-8.png +File318=marker-verde-80.png +File319=marker-verde-81.png +File32=MainPage.bal +File320=marker-verde-82.png +File321=marker-verde-83.png +File322=marker-verde-84.png +File323=marker-verde-85.png +File324=marker-verde-86.png +File325=marker-verde-87.png +File326=marker-verde-88.png +File327=marker-verde-89.png +File328=marker-verde-9.png +File329=marker-verde-90.png +File33=Malo.jpg +File330=marker-verde-91.png +File331=marker-verde-92.png +File332=marker-verde-93.png +File333=marker-verde-94.png +File334=marker-verde-95.png +File335=marker-verde-96.png +File336=marker-verde-97.png +File337=marker-verde-98.png +File338=marker-verde-99.png +File339=nota.bal +File34=mapa.bal File340=NoVenta.bal File341=nuevocliente.bal File342=palomita_verde.png @@ -277,7 +277,7 @@ File346=planfia_logo_old.png File347=planfia_logo_old2.png File348=principal.bal File349=proditem.bal -File35=mapa.bal +File35=mapa_rutas.bal File350=productos.bal File351=productos.bal.old File352=promociones.bal @@ -288,81 +288,82 @@ File356=salma.jpg File357=salma.png File358=senial.jpg File359=sync.png -File36=mapa_rutas.bal +File36=marker-azul-0.png File360=tache_rojo.png File361=telefonos.bal -File362=Tiendita.jpg -File363=unilever.jpg -File364=verde.png -File37=marker-azul-0.png -File38=marker-azul-1.png -File39=marker-azul-10.png +File362=ticketsDia.bal +File363=Tiendita.jpg +File364=unilever.jpg +File365=verde.png +File37=marker-azul-1.png +File38=marker-azul-10.png +File39=marker-azul-100.png File4=alerta_amarilla.png -File40=marker-azul-100.png -File41=marker-azul-11.png -File42=marker-azul-12.png -File43=marker-azul-13.png -File44=marker-azul-14.png -File45=marker-azul-15.png -File46=marker-azul-16.png -File47=marker-azul-17.png -File48=marker-azul-18.png -File49=marker-azul-19.png +File40=marker-azul-11.png +File41=marker-azul-12.png +File42=marker-azul-13.png +File43=marker-azul-14.png +File44=marker-azul-15.png +File45=marker-azul-16.png +File46=marker-azul-17.png +File47=marker-azul-18.png +File48=marker-azul-19.png +File49=marker-azul-2.png File5=amarillo.png -File50=marker-azul-2.png -File51=marker-azul-20.png -File52=marker-azul-21.png -File53=marker-azul-22.png -File54=marker-azul-23.png -File55=marker-azul-24.png -File56=marker-azul-25.png -File57=marker-azul-26.png -File58=marker-azul-27.png -File59=marker-azul-28.png +File50=marker-azul-20.png +File51=marker-azul-21.png +File52=marker-azul-22.png +File53=marker-azul-23.png +File54=marker-azul-24.png +File55=marker-azul-25.png +File56=marker-azul-26.png +File57=marker-azul-27.png +File58=marker-azul-28.png +File59=marker-azul-29.png File6=anterior.jpg -File60=marker-azul-29.png -File61=marker-azul-3.png -File62=marker-azul-30.png -File63=marker-azul-31.png -File64=marker-azul-32.png -File65=marker-azul-33.png -File66=marker-azul-34.png -File67=marker-azul-35.png -File68=marker-azul-36.png -File69=marker-azul-37.png -File7=buscar.bal -File70=marker-azul-38.png -File71=marker-azul-39.png -File72=marker-azul-4.png -File73=marker-azul-40.png -File74=marker-azul-41.png -File75=marker-azul-42.png -File76=marker-azul-43.png -File77=marker-azul-44.png -File78=marker-azul-45.png -File79=marker-azul-46.png -File8=carrito.png -File80=marker-azul-47.png -File81=marker-azul-48.png -File82=marker-azul-49.png -File83=marker-azul-5.png -File84=marker-azul-50.png -File85=marker-azul-51.png -File86=marker-azul-52.png -File87=marker-azul-53.png -File88=marker-azul-54.png -File89=marker-azul-55.png -File9=celltitle.bal -File90=marker-azul-56.png -File91=marker-azul-57.png -File92=marker-azul-58.png -File93=marker-azul-59.png -File94=marker-azul-6.png -File95=marker-azul-60.png -File96=marker-azul-61.png -File97=marker-azul-62.png -File98=marker-azul-63.png -File99=marker-azul-64.png +File60=marker-azul-3.png +File61=marker-azul-30.png +File62=marker-azul-31.png +File63=marker-azul-32.png +File64=marker-azul-33.png +File65=marker-azul-34.png +File66=marker-azul-35.png +File67=marker-azul-36.png +File68=marker-azul-37.png +File69=marker-azul-38.png +File7=carrito.png +File70=marker-azul-39.png +File71=marker-azul-4.png +File72=marker-azul-40.png +File73=marker-azul-41.png +File74=marker-azul-42.png +File75=marker-azul-43.png +File76=marker-azul-44.png +File77=marker-azul-45.png +File78=marker-azul-46.png +File79=marker-azul-47.png +File8=celltitle.bal +File80=marker-azul-48.png +File81=marker-azul-49.png +File82=marker-azul-5.png +File83=marker-azul-50.png +File84=marker-azul-51.png +File85=marker-azul-52.png +File86=marker-azul-53.png +File87=marker-azul-54.png +File88=marker-azul-55.png +File89=marker-azul-56.png +File9=Cliente.bal +File90=marker-azul-57.png +File91=marker-azul-58.png +File92=marker-azul-59.png +File93=marker-azul-6.png +File94=marker-azul-60.png +File95=marker-azul-61.png +File96=marker-azul-62.png +File97=marker-azul-63.png +File98=marker-azul-64.png +File99=marker-azul-65.png FileGroup1=Default Group FileGroup10=Default Group FileGroup100=Default Group @@ -658,6 +659,7 @@ FileGroup361=Default Group FileGroup362=Default Group FileGroup363=Default Group FileGroup364=Default Group +FileGroup365=Default Group FileGroup37=Default Group FileGroup38=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~~\n~)~\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~~\n~~\n~)~\n~AddManifestText()~\n~AddManifestText()~\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()~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~SetApplicationAttribute(android:exported, "true")~\n~AddManifestText() Module1=B4XMainPage Module10=C_Promos -Module11=DBRequestManager -Module12=EscPosPrinter -Module13=FirebaseMessaging -Module14=kms_helperSubs -Module15=ManageExternalStorage -Module16=Starter -Module17=Subs -Module18=Tracker +Module11=C_TicketsDia +Module12=DBRequestManager +Module13=EscPosPrinter +Module14=FirebaseMessaging +Module15=kms_helperSubs +Module16=ManageExternalStorage +Module17=Starter +Module18=Subs +Module19=Tracker Module2=BatteryUtilities Module3=C_Cliente Module4=C_Clientes @@ -775,9 +778,9 @@ Module6=C_Nota Module7=C_NoVenta Module8=C_Principal Module9=C_Productos -NumberOfFiles=364 +NumberOfFiles=365 NumberOfLibraries=28 -NumberOfModules=18 +NumberOfModules=19 Version=12.5 @EndOfDesignText@ #Region Project Attributes diff --git a/B4A/Durakelo.b4a.meta b/B4A/Durakelo.b4a.meta index 4cab4f8..ad5b5f9 100644 --- a/B4A/Durakelo.b4a.meta +++ b/B4A/Durakelo.b4a.meta @@ -9,6 +9,7 @@ ModuleBookmarks15= ModuleBookmarks16= ModuleBookmarks17= ModuleBookmarks18= +ModuleBookmarks19= ModuleBookmarks2= ModuleBookmarks3= ModuleBookmarks4= @@ -28,6 +29,7 @@ ModuleBreakpoints15= ModuleBreakpoints16= ModuleBreakpoints17= ModuleBreakpoints18= +ModuleBreakpoints19= ModuleBreakpoints2= ModuleBreakpoints3= ModuleBreakpoints4= @@ -44,9 +46,10 @@ ModuleClosedNodes12= ModuleClosedNodes13= ModuleClosedNodes14= ModuleClosedNodes15= -ModuleClosedNodes16=1 -ModuleClosedNodes17=10,12,14 -ModuleClosedNodes18= +ModuleClosedNodes16= +ModuleClosedNodes17=1 +ModuleClosedNodes18=10,12,14 +ModuleClosedNodes19= ModuleClosedNodes2= ModuleClosedNodes3= ModuleClosedNodes4= @@ -55,6 +58,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= 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 -VisibleModules=16,1,8,14,6,3,7,9,17,10 +VisibleModules=17,1,8,15,6,3,7,9,18,10 diff --git a/B4A/Files/historico.bal b/B4A/Files/nota.bal similarity index 100% rename from B4A/Files/historico.bal rename to B4A/Files/nota.bal diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index 7f616b6..2e09ee1 100644 Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ diff --git a/B4A/Files/productos.bal b/B4A/Files/productos.bal index de5aa63..944da24 100644 Binary files a/B4A/Files/productos.bal and b/B4A/Files/productos.bal differ diff --git a/B4A/Files/buscar.bal b/B4A/Files/ticketsdia.bal similarity index 100% rename from B4A/Files/buscar.bal rename to B4A/Files/ticketsdia.bal diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 0453ff6..61c3a06 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -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) 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" ' 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}'"$) @@ -1256,11 +1256,13 @@ End Sub Sub borraPedidoClienteActual As String Private thisC As Cursor ' 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 For i=0 To thisC.RowCount -1 - 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"))) + thisC.Position = i +' 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)) Next End If @@ -1323,8 +1325,8 @@ Sub revisaImpresa As Boolean End Sub 'Guarda RMI's (Cambios) en la base de datos -Sub guardaCambiosDeProducto(cantidad, prodNombre, prodId, precio2, query) 'ignore - Log($"${cantidad}, ${prodNombre}, ${prodId}, ${precio2}"$) +Sub guardaCambiosDeProducto(cantidad, diferencia As Int, prodNombre, prodId, precio2, query) 'ignore + Log($"${cantidad}, ${diferencia}, ${prodNombre}, ${prodId}, ${precio2}"$) Dim sDate, sTime, clie_id, usuario As String DateTime.DateFormat = "MM/dd/yyyy" 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.Position=0 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.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad, prodId)) + Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_CEDIS = 'DUR' and PE_PROID = '${prodId}' and PE_CLIENTE = '${clie_id}'"$) + 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 '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}')"$) +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 \ No newline at end of file