diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 8f55ff4..17ecf10 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -946,6 +946,7 @@ Sub GUADAVENTA2 b_ventaabordo.Enabled = True HIST.Enabled = True banderaimp = 0 + mandaPendientePagare B4XPages.ShowPage("Principal") Else If B4XPages.MainPage.recarga = "1" Then DateTime.DateFormat = "MM/dd/yyyy" @@ -2016,6 +2017,22 @@ Sub mandaPendientes End If End Sub +Sub mandaPendientePagare + c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM ABONOS where ifnull(a_enviado, 0) <> 1") + Log($"ABONO PENDIENTE: ${c.RowCount}"$) + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_abono_MARQUEZ" + cmd.Parameters = Array As Object( c.GetString("a_usuario"), c.GetString("a_ruta"), c.GetString("a_cliente"), c.GetString("a_abono"), c.GetString("a_fecha"),ALMACEN ) + reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${c.GetString("a_cliente")}"$) + Log($"ins_abonosPendientes_${c.GetString("a_cliente")}"$) + Next + End If +End Sub + Sub mandaPendientesrecarga ' PEDIDO_CLIENTE (Pendientes) Log(">>>>>>> MANDA PENDIENTES") diff --git a/B4A/C_Cobranza.bas b/B4A/C_Cobranza.bas new file mode 100644 index 0000000..c266040 --- /dev/null +++ b/B4A/C_Cobranza.bas @@ -0,0 +1,27 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=13.1 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Private pnlCobranza As Panel + Private clvCobranza As CustomListView +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + +End Sub + + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. \ No newline at end of file diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index f38fd65..9e7a349 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -344,7 +344,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) Starter.tabla = "CAT_GUNAPROD" End If - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,y.GetString("PE_PROID"),y.GetString("PE_CANT")* -1)) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,y.GetString("PE_PROID"),y.GetString("PE_CANT")* -1)) Log(cedis) Log(Subs.traeAlmacen) If cedis <> Subs.traeAlmacen Then diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 6c4bbdb..4f944f7 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -224,6 +224,25 @@ Sub Class_Globals Private et_buspc As EditText Private b_tabulador As Button Private p_b_tabulador As Panel + Private pnlCobranza As Panel + Private clvCobranza As CustomListView + Private pnlBtnCobranza As Panel + Private btnCobranza As Button + Private pnlBtnRegresar As Panel + Private btnRegresar As Button + Private l_Secuencia As Label + Dim pnlContenedorCobranza As Panel + Private l_Nombre As Label + Private l_CuentaXCobrar As Label + Private l_Abono As Label + Private pnlCabecero As Panel + Private lblAbono As Label + Private lblSaldo As Label + Private lblCliente As Label + Private lblSec As Label + Private pnlTotal As Panel + Private lblTotal As Label + Private lblVersion As Label End Sub 'You can add more parameters here. @@ -429,8 +448,10 @@ Sub B4XPage_Appear If l_ruta.Text = 0 Then l_ruta.Text =0 p_b_tabulador.Visible = False + pnlBtnCobranza.Visible = False Else p_b_tabulador.Visible = True + pnlBtnCobranza.Visible = True f=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") f.Position=0 l_ruta.Text = f.GetString("CAT_CL_RUTA") @@ -2202,8 +2223,6 @@ End Sub Private Sub B4XPage_CloseRequest As ResumableSub 'Return True to close, False to cancel - - If SCROLL_RESDIA.Visible Then SCROLL_RESDIA.Visible = False B_OK_RES_Click @@ -2211,6 +2230,9 @@ Private Sub B4XPage_CloseRequest As ResumableSub Else if Panel5.Visible Then B_OK_PANEL5_Click Return False + Else If pnlCobranza.Visible Then + pnlCobranza.Visible = False + Return False Else B4XPages.ShowPage("login") End If @@ -2958,4 +2980,94 @@ End Sub Private Sub b_tabulador_Click B4XPages.ShowPage("tabulador") -End Sub \ No newline at end of file +End Sub + +Private Sub btnCobranza_Click + Log("Entrando al Panel de Cobranza") + + pnlCobranza.Width = Root.Width + pnlCobranza.Height = Root.Height + pnlCobranza.Left = 0 + pnlCobranza.Top = 0 + pnlCobranza.BringToFront + pnlCobranza.Visible = True + pnlTotal.Visible = True + Dim ct As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT IFNULL(sum(IFNULL(a.a_abono,0)),0) as suma_abono FROM kmt_info2 ki LEFT JOIN ABONOSP ap ON ki.CAT_CL_CODIGO = ap.CLIENTE LEFT JOIN ABONOS a ON ki.CAT_CL_CODIGO = a.a_cliente WHERE CAST(ap.SALDO_PENDIENTE AS REAL) > 0"$) + ct.Position = 0 + If ct.RowCount > 0 Then + lblTotal.Text = "El total abonado es: $" & ct.getString("suma_abono") + End If + lblVersion.Text = Application.VersionName + ct.Close + CargarDatosCobranza +End Sub + +Private Sub CargarDatosCobranza + For i = pnlCobranza.NumberOfViews - 1 To 0 Step -1 + Dim v As View = pnlCobranza.GetView(i) + If v Is Label Then + Dim lbl As Label = v + If lbl.Text = "No hay cuentas por cobrar" Then + pnlCobranza.RemoveViewAt(i) + End If + End If + Next + c = B4XPages.MainPage.skmt.ExecQuery($"SELECT ROW_NUMBER() OVER (ORDER BY ki.CAT_CL_NOMBRE) AS Secuencia, ki.CAT_CL_CODIGO, ki.CAT_CL_NOMBRE, ap.SALDO_PENDIENTE, IFNULL(a.a_abono,0) as a_abono FROM kmt_info2 ki LEFT JOIN ABONOSP ap ON ki.CAT_CL_CODIGO = ap.CLIENTE LEFT JOIN ABONOS a ON ki.CAT_CL_CODIGO = a.a_cliente WHERE CAST(ap.SALDO_PENDIENTE AS REAL) > 0"$) + Log("Número de registros: " & c.RowCount) + + clvCobranza.Clear + + For i = 0 To c.RowCount - 1 + c.Position = i + + Dim pItem As B4XView = xui.CreatePanel("") + pItem.LoadLayout("C_CuentasXCobrar") + pItem.SetLayoutAnimated(0, 0, 0, Root.Width, 100dip) + pItem.Color = Colors.White + + pnlContenedorCobranza.SetLayoutAnimated(0, 0, 0, pItem.Width, pItem.Height) + pnlContenedorCobranza.Color = xui.Color_Transparent + + l_Secuencia.Text = c.GetString("Secuencia") + + ' Manejo seguro del nombre + Dim codigo As String = c.GetString("CAT_CL_CODIGO") + Dim nombre As String = c.GetString("CAT_CL_NOMBRE") + If codigo = Null Then codigo = "" + If nombre = Null Then nombre = "" + l_Nombre.SingleLine = False + l_Nombre.Text = codigo & " " & nombre + + l_CuentaXCobrar.Text = "$" & NumberFormat(c.GetDouble("SALDO_PENDIENTE"), 1, 2) + l_Abono.Text = "$" & NumberFormat(c.GetDouble("a_abono"), 1, 2) + + clvCobranza.Add(pItem, "Item-" & i) + Next + + c.Close + pnlCobranza.Invalidate + + If c.RowCount = 0 Then + Dim lblEmpty As Label + lblEmpty.Initialize("") + lblEmpty.Text = "No hay cuentas por cobrar" + lblEmpty.TextSize = 16 + lblEmpty.TextColor = Colors.Gray + lblEmpty.Gravity = Gravity.CENTER + pnlCobranza.AddView(lblEmpty, 0, 100dip, Root.Width, 50dip) + End If +End Sub + +Private Sub btnRegresar_Click + pnlCobranza.Visible = False +End Sub + +Private Sub pnlCobranza_Click + +End Sub + +'Private Sub clvCobranza_ItemClick (Index As Int, Value As Object) +' Dim CodigoCliente As Cursor = Value +' CodigoCliente = B4XPages.MainPage.skmt.ExecQuery($"SELECT ROW_NUMBER() OVER (ORDER BY ki.CAT_CL_NOMBRE) AS Secuencia, ki.CAT_CL_NOMBRE, ap.SALDO_PENDIENTE, IFNULL(a.a_abono,0) as a_abono FROM kmt_info2 ki LEFT JOIN ABONOSP ap ON ki.CAT_CL_CODIGO = ap.CLIENTE LEFT JOIN ABONOS a ON ki.CAT_CL_CODIGO = a.a_cliente WHERE CAST(ap.SALDO_PENDIENTE AS REAL) > 0"$) +' B4XPages.ShowPage("cliente") +'End Sub \ No newline at end of file diff --git a/B4A/Files/c_cuentasxcobrar.bal b/B4A/Files/c_cuentasxcobrar.bal new file mode 100644 index 0000000..4b3a70e Binary files /dev/null and b/B4A/Files/c_cuentasxcobrar.bal differ diff --git a/B4A/Files/cobranza.bal b/B4A/Files/cobranza.bal new file mode 100644 index 0000000..61a7da8 Binary files /dev/null and b/B4A/Files/cobranza.bal differ diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index 5a4c83a..127f2b4 100644 Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ diff --git a/B4A/MARQUEZ.b4a b/B4A/MARQUEZ.b4a index 33664d4..d8cd605 100644 --- a/B4A/MARQUEZ.b4a +++ b/B4A/MARQUEZ.b4a @@ -1,71 +1,73 @@ Build1=Default,marquez.keymon.com.mx File1=abordo.png -File10=datoscliente.bal -File11=durakelo.png -File12=engrane.jpg -File13=engrane_gris.png -File14=folioabono.bal -File15=fondo_kmt.jpg -File16=gps20.png -File17=guna_viejo.png -File18=Hacer pedido.jpg -File19=hacerpedido30.jpg +File10=clientes.bal +File11=Cobranza.bal +File12=datoscliente.bal +File13=durakelo.png +File14=engrane.jpg +File15=engrane_gris.png +File16=folioabono.bal +File17=fondo_kmt.jpg +File18=gps20.png +File19=guna_viejo.png File2=alert2.png -File20=hacerpedido30.png -File21=intmex_logo_192x192.jpg -File22=intmex_logo_192x192.png -File23=itembuttonblue.png -File24=kmt.db -File25=login.bal -File26=Logo_192x192.jpg -File27=logo_mariana.jpg -File28=MainPage.bal -File29=Malo.jpg +File20=Hacer pedido.jpg +File21=hacerpedido30.jpg +File22=hacerpedido30.png +File23=intmex_logo_192x192.jpg +File24=intmex_logo_192x192.png +File25=itembuttonblue.png +File26=kmt.db +File27=login.bal +File28=Logo_192x192.jpg +File29=logo_mariana.jpg File3=alerta_amarilla.png -File30=mapa_cliente.bal -File31=mapa_rutas.bal -File32=mariana.jpg -File33=nota.bal -File34=noventa.bal -File35=nuevocliente.bal -File36=nuevocliente.jpg -File37=nuevo-cliente20.png -File38=Nvo Cliente.jpg -File39=palomita_verde.png +File30=MainPage.bal +File31=Malo.jpg +File32=mapa_cliente.bal +File33=mapa_rutas.bal +File34=mariana.jpg +File35=nota.bal +File36=noventa.bal +File37=nuevocliente.bal +File38=nuevocliente.jpg +File39=nuevo-cliente20.png File4=anterior.jpg -File40=PANEL_PICK_CIEGO.bal -File41=pedido.bal -File42=planfia_logo.png -File43=principal.bal -File44=proditem.bal -File45=proditem1.bal -File46=proditem2.bal -File47=productos.bal -File48=profina.jpg -File49=PROFINA.png +File40=Nvo Cliente.jpg +File41=palomita_verde.png +File42=PANEL_PICK_CIEGO.bal +File43=pedido.bal +File44=planfia_logo.png +File45=principal.bal +File46=proditem.bal +File47=proditem1.bal +File48=proditem2.bal +File49=productos.bal File5=bus-ar.png -File50=promociones.bal -File51=resdia.bal -File52=ResDia.jpg -File53=resdia20.png -File54=resumendia.jpg -File55=salma.jpg -File56=salma.png -File57=scrollpromos.bal -File58=senial.jpg -File59=sync.png -File6=carrito.png -File60=tabulador.bal -File61=tache_rojo.png -File62=Ticket dia.jpg -File63=ticketdia20.jpg -File64=ticketdia20.png -File65=ticketsdia.bal -File66=Tiendita.jpg -File67=verde.png -File7=celltitle.bal -File8=cliente.bal -File9=clientes.bal +File50=profina.jpg +File51=PROFINA.png +File52=promociones.bal +File53=resdia.bal +File54=ResDia.jpg +File55=resdia20.png +File56=resumendia.jpg +File57=salma.jpg +File58=salma.png +File59=scrollpromos.bal +File6=C_CuentasXCobrar.bal +File60=senial.jpg +File61=sync.png +File62=tabulador.bal +File63=tache_rojo.png +File64=Ticket dia.jpg +File65=ticketdia20.jpg +File66=ticketdia20.png +File67=ticketsdia.bal +File68=Tiendita.jpg +File69=verde.png +File7=carrito.png +File8=celltitle.bal +File9=cliente.bal FileGroup1=Default Group FileGroup10=Default Group FileGroup11=Default Group @@ -130,6 +132,8 @@ FileGroup64=Default Group FileGroup65=Default Group FileGroup66=Default Group FileGroup67=Default Group +FileGroup68=Default Group +FileGroup69=Default Group FileGroup7=Default Group FileGroup8=Default Group FileGroup9=Default Group @@ -199,7 +203,7 @@ Module6=C_Cuestionario Module7=C_Historico Module8=C_Mapas Module9=C_Nota -NumberOfFiles=67 +NumberOfFiles=69 NumberOfLibraries=33 NumberOfModules=31 Version=13.1 @@ -207,7 +211,7 @@ Version=13.1 #Region Project Attributes #ApplicationLabel: Marquez #VersionCode: 1 - #VersionName: 5.05.04 + #VersionName: 5.06.01 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/MARQUEZ.b4a.meta b/B4A/MARQUEZ.b4a.meta index 756e85e..76cf37a 100644 --- a/B4A/MARQUEZ.b4a.meta +++ b/B4A/MARQUEZ.b4a.meta @@ -94,6 +94,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Principal,B4XPage_Appear,582,0,Subs,borraPedidoCredito,1528,0,C_Cliente,TraeVendedor,1115,0,C_Cliente,TraeNumVendedor,1138,0,C_Cliente,imprime_venta,1575,0,C_Cliente,GUADAVENTA2,959,0,C_Cliente,Guardar_Click,657,0,C_Cliente,imprime_preventa,1145,6,B4XMainPage,B4XPage_Appear,330,0,C_Cliente,B4XPage_Appear,502,2 +NavigationStack=Diseñador Visual,principal.bal,-100,6,C_Principal,btnCobranza_Click,2994,6,Main,Activity_KeyPress,40,0,Main,Activity_ActionBarHomeClick,37,0,Main,Create_Menu,56,0,B4XMainPage,i_engrane_Click,883,0,C_Nota,Class_Globals,0,0,C_Nota,B4XPage_Appear,124,0,C_Nota,borra_Click,296,0,C_Nota,ListView1_ItemLongClick,302,0 SelectedBuild=0 VisibleModules=1,2,13,4,5,7,8,9,10,14