diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index f63e54d..5a1ee1d 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -536,7 +536,7 @@ Sub B4XPage_Appear ' b_noVenta.Visible = False ' End If If CREDITO = "1" Then - Msgbox("ALTO","A este cliente no se le puede vender ya que tienen adeudo en su crédito") 'ignore + Msgbox("A este cliente no se le puede vender ya que tienen adeudo en su crédito", "ALTO") 'ignore B_VENTA.Visible = False clienteDeudor = True ' gest.Visible = False @@ -595,7 +595,6 @@ Sub B4XPage_Appear C1.Close End If ' B_VENTA.Visible = True - If CREDITO = "1" Then Msgbox("El cliente tiene credito excedido","Aviso") 'ignore Subs.iniciaActividad("Principal") @@ -1483,7 +1482,8 @@ Sub B_IMP2_Click s.Position =0 Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) Private total2 As String = 0 - If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total2 = s.GETSTRING("TOTAL") +' If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total2 = s.GETSTRING("TOTAL") + total2 = kh.traeTotalCliente Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & NumberFormat2(total2, 1, 2, 2, False) & CRLF) ' Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & s.GetString("TOTAL") & CRLF) ' Printer1.WriteString("===============================" & CRLF) diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index e40485e..61f6d61 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -223,7 +223,7 @@ Sub CreateListItemPedidos(Texto1 As String, txtColor As Int, txtPromo As String, Dim cs As CSBuilder cs.Initialize p.LoadLayout("pedidoItem") - l_pedido.Text = cs.append(Texto1).Append(CRLF).Color(txtColor).append(txtPromo).Append("Cantidad #" & cantp & " SubTotal $" & costoTotP & " Folio " & folioP).PopAll + l_pedido.Text = cs.append(Texto1).Append(CRLF).Color(txtColor).append(txtPromo).Append("Cantidad #" & cantp & " SubTotal $" & NumberFormat2(costoTotP, 1, 2, 2, True) & " Folio " & folioP).PopAll Dim alto As Int = su.MeasureMultilineTextHeight(l_pedido, l_pedido.Text) p.SetLayoutAnimated(0, 0, 0, clv_pedidos.AsView.Width, alto + 20) ' i_prod.Bitmap = img @@ -446,7 +446,7 @@ Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object) c.Close c = Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PRONOMBRE = ? order by PE_PRONOMBRE asc", Array As String(Value) ) c.Position = 0 - If c.GetString("PE_FOLIO") = "0" or 1 = 1 Then 'Para que el abordo borre siempre agregar -> " Or Subs.clienteActual = "0" " + If c.GetString("PE_FOLIO") = "0" Or 1 = 1 Then 'Para que el abordo borre siempre agregar -> " Or Subs.clienteActual = "0" " 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)) @@ -513,7 +513,7 @@ Private Sub lv_prodsDOE_ItemLongClick (Position As Int, Value As Object) If kh.revisaImpresa Then ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False) Else - If folio = "0" or 1 = 1 Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 poner esto para borrar abordo "Or Subs.clienteActual = "0"" + If folio = "0" Or 1 = 1 Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 poner esto para borrar abordo "Or Subs.clienteActual = "0"" result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If result = DialogResponse.POSITIVE Then c=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE")) diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 1803cba..8909f37 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -597,7 +597,7 @@ Sub b_prodMenos_Click i.Position = 0 invActualizado = i.GetString("CAT_GP_ALMACEN") End If - If Starter.tipov <> "ABORDO" Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${precio}"$).Popall + If Starter.tipov <> "ABORDO" Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${numberformat2(precio, 1, 2, 2, False)}"$).Popall End If If Subs.totalPedido < 1 Then laCant.Text = "0" ' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) @@ -680,7 +680,7 @@ Sub b_prodMas_Click i.Position = 0 invActualizado = i.GetString("CAT_GP_ALMACEN") End If - If Starter.tipov <> "ABORDO" Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${precio}"$).Popall + If Starter.tipov <> "ABORDO" Then lProdX.Text = cs.Color(Colors.red).append(nombreX).pop.append(CRLF).Append("Existencias: " & invActualizado).Color(0xFF017F01).Append($" $${numberformat2(precio, 1, 2, 2, False)}"$).Popall End If Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) End Sub @@ -854,7 +854,7 @@ Sub b_terminar1_Click label2.TextColor = Colors.Blue 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")) + lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& NumberFormat2(c_prods.GetString("PE_COSTO_TOT"), 1, 2, 2, True)& " 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"))) folio = 0 totalPedido = totalPedido + (c_prods.GetString("PE_COSTOU") * c_prods.GetString("PE_CANT")) @@ -1162,13 +1162,12 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In b_prodMenos.Enabled = False End If End If - Private precio As String=NumberFormat2(clv_prods_ll.GetValue(i).As(Map).Get("precio").As(Double),1,2,2,False) + Private precio As Double=clv_prods_ll.GetValue(i).As(Map).Get("precio").As(Double) If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null Then et_pCant.Text = clv_prods_ll.GetValue(i).As(Map).Get("cant") - If Starter.tipov <> "ABORDO" Then - l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${precio}"$).Popall + l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${NumberFormat2(precio,1,2,2,False)}"$).Popall Else - l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Almacen: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).color(Colors.RGB(48,99,192)).Append(" Abordo: " & clv_prods_ll.GetValue(i).As(Map).Get("abordo")).Color(0xFF017F01).Append($" $${precio}"$).Popall + l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Almacen: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).color(Colors.RGB(48,99,192)).Append(" Abordo: " & clv_prods_ll.GetValue(i).As(Map).Get("abordo")).Color(0xFF017F01).Append($" $${NumberFormat2(precio,1,2,2,False)}"$).Popall End If l_prodX.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id") @@ -1192,7 +1191,7 @@ Sub Busca_TextChanged (Old As String, New As String) ' Log($"${Starter.tipov} - ${query} - ${Subs.traeTablaProds(Starter.tipov)}"$) If lfila.text = "PROMOCIONES" Then If Not(lv_promos.Visible) Then lv_promos.Visible = True - Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)"$) + Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_GP_IMG from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)"$) Log($"res:${cPromo.RowCount}"$) If cPromo.RowCount > 0 Then lv_promos.Clear @@ -1223,7 +1222,7 @@ Sub Busca_TextChanged (Old As String, New As String) listaProds.Initialize listaHints.Initialize Sleep(0) - Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) + Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) ' c2 = Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value) Log("Llamamos LlenaProdsLL") LlenaProdsLL(p, Null) @@ -1257,7 +1256,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String) Log($"YA HAY RESULTSET ${p.RowCount}"$) Else ' Log("NO HAY RESULTSET") - Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) + Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) ' Log(p.RowCount & " - " & Subs.traeTablaProds(Starter.tipov)) End If @@ -1272,9 +1271,20 @@ Sub LlenaProdsLL(p As ResultSet, extra As String) invAbordo = ab.GetString("CAT_GP_ALMACEN") End If End If - Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "abordo":invAbordo, "id":p.GetString("CAT_GP_ID"), "cant":cant) + + Private precio As String = NumberFormat2(p.GetDouble("CAT_GP_PRECIO"),1,2,2,False) + + 'Descuentos de condiciones comerciales por TIPO + Private descXTipo As String = kh.traeDescXTipo(clienteId, p.GetString("CAT_GP_TIPO")) + If Starter.Logger And descXTipo > 0 Then LogColor(">>> DESCXTIPO CC - " & descXTipo & " | " & p.GetString("CAT_GP_NOMBRE"), Colors.Blue) +' Log($"precioAnt=${precio}, precioNew=${precio - (precio*(descXTipo/100))}"$) + precio = precio-(precio*(descXTipo/100)) + 'Descuentos de condiciones comerciales por SKU + Private descXSku As String = kh.traeDescXSku(clienteId, p.GetString("CAT_GP_ID")) + If Starter.Logger And descXSku > 0 Then LogColor(">>> DESCXSKU CC - " & descXSku & " | " & p.GetString("CAT_GP_NOMBRE"), Colors.red) + precio = precio-(precio*(descXSku/100)) + Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":precio, "almacen":p.GetString("CAT_GP_ALMACEN"), "abordo":invAbordo, "id":p.GetString("CAT_GP_ID"), "cant":cant, "tipo":p.GetString("CAT_GP_TIPO")) listaProds.Add(tempMap) -' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$) Loop p.Close diff --git a/B4A/C_TicketsDia.bas b/B4A/C_TicketsDia.bas index 493188f..16d9dff 100644 --- a/B4A/C_TicketsDia.bas +++ b/B4A/C_TicketsDia.bas @@ -38,7 +38,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) label2 = ListView1.TwoLinesLayout.SecondLabel label2.TextSize = 13 label2.TextColor = Colors.Black - ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& NumberFormat2(c.GetString("PC_MONTO"), 1, 2, 2, True)) Next End If End Sub @@ -60,7 +60,7 @@ Sub B4XPage_Appear label2 = ListView1.TwoLinesLayout.SecondLabel label2.TextSize = 13 label2.TextColor = Colors.Black - ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cant. #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cant. #"& c.GetString("PC_NOART")& " SubTotal $"& NumberFormat2(c.GetString("PC_MONTO"), 1, 2, 2, True)) Next End If c.Close @@ -129,7 +129,7 @@ Sub b_noventa_Click label2 = ListView1.TwoLinesLayout.SecondLabel label2.TextSize = 10 label2.TextColor = Colors.Black - ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& NumberFormat2(c.GetString("PC_MONTO"), 1, 2, 2, True)) Next End If c.Close diff --git a/B4A/KelloggsV4.b4a b/B4A/KelloggsV4.b4a index 3cd0f7b..0d150bf 100644 --- a/B4A/KelloggsV4.b4a +++ b/B4A/KelloggsV4.b4a @@ -870,7 +870,7 @@ Version=12.5 #Region Project Attributes #ApplicationLabel: Kelloggs Venta #VersionCode: 3000 - #VersionName: 4.01.16 P-V4 + #VersionName: 4.01.17 P-V4 #SupportedOrientations: portrait #CanInstallToExternalStorage: False #BridgeLogger:true diff --git a/B4A/KelloggsV4.b4a.meta b/B4A/KelloggsV4.b4a.meta index 2ecbaaf..60827f0 100644 --- a/B4A/KelloggsV4.b4a.meta +++ b/B4A/KelloggsV4.b4a.meta @@ -83,14 +83,14 @@ ModuleClosedNodes26=2 ModuleClosedNodes27= ModuleClosedNodes28=9,10,11 ModuleClosedNodes29= -ModuleClosedNodes3=1,3,86 +ModuleClosedNodes3=3,86 ModuleClosedNodes30= ModuleClosedNodes4= ModuleClosedNodes5= ModuleClosedNodes6= -ModuleClosedNodes7=1,3,11,12 +ModuleClosedNodes7=3,11,12 ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Productos,b_prodMas_Click,621,6,C_Nota,Class_Globals,0,0,C_Productos,LlenaProdsLL,1226,0,C_Productos,b_prodMenos_Click,581,6,Subs,actualizaProducto,916,0,Visual Designer,proditem.bal,-100,6,Visual Designer,nota.bal,-100,3,C_Nota,B4XPage_Appear,108,0,C_Cliente,Class_Globals,0,0,Tracker,flp_LocationChanged,225,5,B4XMainPage,B4XPage_Created,169,0 +NavigationStack=C_TicketsDia,B4XPage_Created,34,1,C_TicketsDia,B4XPage_Appear,56,0,C_TicketsDia,b_noventa_Click,109,0,kms_helperSubs,Class_Globals,0,0,C_Productos,clv_prods_ll_VisibleRangeChanged,1159,0,kms_helperSubs,traeDescXSku,1044,6,kms_helperSubs,traeDescXTipo,1030,0,Starter,Process_Globals,42,0,Starter,Service_Start,84,0,C_Productos,LlenaProdsLL,1283,6 SelectedBuild=0 -VisibleModules=1,28,11,24,3,12,4,29,13,14,7,30 +VisibleModules=1,28,11,24,3,12,4,29,13,14,7,15 diff --git a/B4A/kms_helperSubs.bas b/B4A/kms_helperSubs.bas index 2bbd2c6..d22ea1a 100644 --- a/B4A/kms_helperSubs.bas +++ b/B4A/kms_helperSubs.bas @@ -1031,4 +1031,28 @@ Private Sub StartActivityForResult(i As Intent) ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null) jo.RunMethod("startActivityForResult", Array As Object(ion, i)) End Sub -'################ TERMINA ENABLE BLUETOOTH ######################### \ No newline at end of file +'################ TERMINA ENABLE BLUETOOTH ######################### + +'Regresa el descuento de condiciones comerciales por TIPO. +Sub traeDescXTipo(clienteId As String, tipo As String) As String 'ignore + Private desc As String = "0" + Private c As Cursor = khdb.ExecQuery($"Select * from DESC_CLIENTES where DC_CL_CLIENTE = '${clienteId}'"$) + If c.RowCount > 0 Then + c.Position = 0 + If tipo = "PING" Then desc = c.GetString("CAT_CL_DESCUENTO_PING") + If tipo = "RTEC" Then desc = c.GetString("CAT_CL_DESCUENTO_RTEC") + If tipo = "SALTY SNACKS" Then desc = c.GetString("CAT_CL_DESCUENTO_SS") + End If + Return desc +End Sub + +'Regresa el descuento de condiciones comerciales por SKU. +Sub traeDescXSku(clienteId As String, prodId As String) As String 'ignore + Private desc As String = "0" + Private c As Cursor = khdb.ExecQuery($"Select * from CAT_DESCUENTOS_SKU where CAT_DS_CLIENTE = '${clienteId}' and CAT_DS_PRODID = '${prodId}'"$) + If c.RowCount > 0 Then + c.Position = 0 + desc = c.GetString("CAT_DS_PORCENTAJE") + End If + Return desc +End Sub \ No newline at end of file