From 1f42a80a8a5fa7a63d86d4c9f70814850dae4a16 Mon Sep 17 00:00:00 2001 From: Oscar Irigoyen Date: Tue, 21 Feb 2023 10:33:41 -0700 Subject: [PATCH] Compras.aspx.vb Se agrega asignacion de subProyecto --- Compras/Compras.aspx.vb | 57 +++++++++- Contabilidad/RegPrePolizaS.aspx.vb | 168 +---------------------------- 2 files changed, 53 insertions(+), 172 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 397c6ebd3..b4fcf4384 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -4204,6 +4204,13 @@ Partial Class Compras_Compras '------------------ INICIA VALIDACIONES ------------------ + Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal() + + If Not CveSubProyectoPrincipal > 0 Then + Alert("Falta asignar Proyecto a la compra", TipoMensaje.MsgAdvertencia) + End If + + If Not ValidaVinculacionNotaFactura() Then Alert("Se requiere que la nota este aplciada a las facturas", TipoMensaje.MsgAdvertencia) Exit Sub @@ -4921,7 +4928,8 @@ Partial Class Compras_Compras TxtRedondeo.Text.ToDouble, TxtTotal.Text.ToDouble, TxtFecha.Text.Trim.ToDate, DdlMoneda.SelectedValue.ToEntero, TipoCambio, TxtFechaPago.Text.Trim.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura, CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, IdPoliza, CveCajaChica:=CveCajaChica, CvePersonal:=CvePersonal, NumeroReembolso:=NumeroReembolso, CveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, AplicoPromocion:=ChkOCPromocion.Checked, PorcentajeIVA:=PorcentajeIVA, CveMetodoPago:=CveMetodoPago, CveRetIVAConcepto:=If(DdlRetIVAConcepto.Items.Count > 0, DdlRetIVAConcepto.SelectedValue.ToEntero, -1), CveConceptoContableAlmacen:=CveConceptoContableAlmacen, - CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal, CveTipoConcepto:=CveTipoConcepto, EsImportacion:=EsImportacion, CveFactura:=CveFactura) Then + CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal, CveTipoConcepto:=CveTipoConcepto, + EsImportacion:=EsImportacion, CveFactura:=CveFactura, CveSubProyecto:=CveSubProyectoPrincipal) Then ViewState("CveCompra") = ObjCompras.CveCompra If ObjCompras.DtResultados.Rows.Count > 0 Then ViewState("CompraFolio") = ObjCompras.DtResultados.Rows(0)("vFolio").ToString @@ -6015,7 +6023,7 @@ Partial Class Compras_Compras For Each Row As DataRow In DTPlatilla.Rows - Dim CveSubProyectoInsertar As Integer = -1 + Dim CveSubProyectoInsertar As Integer = CveSubProyectoPrincipal Dim ConceptoContable As Integer = Row("CveConcepto").ToString.ToEntero Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False) @@ -6227,7 +6235,7 @@ Partial Class Compras_Compras Case 25 'IEPS X Acreditar If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - CveSubProyectoInsertar = CveSubProyecto + 'CveSubProyectoInsertar = CveSubProyecto importeMovimiento = CompraActual.IEPS importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" @@ -6323,7 +6331,7 @@ Partial Class Compras_Compras Case 64 'Ganancia - CveSubProyectoInsertar = CveSubProyecto + 'CveSubProyectoInsertar = CveSubProyecto If CveSubProyectoInsertar <= 0 Then ErrorPrepoliza = True Alert("Concepto ganancia cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia) @@ -8228,6 +8236,39 @@ Partial Class Compras_Compras End If End Sub + Private Function AsignarSubProyectoPrincipal() As Integer + + Dim CveSubProyectoPrincioal As Integer = -1 + + Dim DTSubProyectoPrincipal As New DataTable + + DTSubProyectoPrincipal.Columns.Add("CveSubProyecto", GetType(Integer)) + DTSubProyectoPrincipal.Columns.Add("Total", GetType(Decimal)) + + + For Each dRow As DataRow In TmpDT.FiltraParametros("", "", {"CveSubProyecto"}).Rows + + Dim CveSubProyectoActual As Integer = dRow("CveSubProyecto").ToString.ToEntero + + If CveSubProyectoActual > 0 Then + + Dim nRow = DTSubProyectoPrincipal.NewRow + nRow("CveSubProyecto") = dRow("CveSubProyecto").ToString.ToEntero + nRow("Total") = TmpDT.SUMD("Total", $"CveSubProyecto={CveSubProyectoActual}") + DTSubProyectoPrincipal.Rows.Add(nRow) + End If + Next + + + If DTSubProyectoPrincipal.Rows.Count > 0 Then + DTSubProyectoPrincipal = DTSubProyectoPrincipal.FiltraParametros("", "Total DESC ") + CveSubProyectoPrincioal = DTSubProyectoPrincipal.FiltroPrimeroValor("CveSubProyecto").ToEntero + End If + + Return CveSubProyectoPrincioal + + End Function + Private Function ValidaVinculacionNotaFactura() As Boolean Dim Respuesta As Boolean = False @@ -8833,6 +8874,12 @@ Partial Class Compras_Compras Protected Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click + Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal() + If Not CveSubProyectoPrincipal > 0 Then + Alert("Falta asignar Proyecto a la compra", TipoMensaje.MsgAdvertencia) + End If + + If CveFactura > 0 Then If Not AjustaCombustibles() Then Exit Sub @@ -8915,7 +8962,7 @@ Partial Class Compras_Compras If ObjCompra.UpdateCompra(TxtDescripcion.Text.Trim, TxtFolioSecundario.Text.Trim, TxtFechaPago.Text.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura, TxtDescuento.Text.ToDouble, TxtSubTotal.Text.ToDouble, TxtIVA.Text.ToDouble, TxtTotal.Text.ToDouble, UsuarioActual.CveUsuario, CveCompra, CveCajaChica:=DdlRembolsoCajaChica.SelectedValue.ToEntero, CvePersonal:=DdlRembolsoPersonal.SelectedValue.ToEntero, CveProveedorSucursal:=If(DdlProveedorSucursal.SelectedValue.ToEntero > 0, DdlProveedorSucursal.SelectedValue.ToEntero, -1), PorcentajeIVA:=PorcentajeIVA, NumeroReembolso:=TxtRembolsoNumero.Text, - CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=EsNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto) Then + CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=EsNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto, CveSubProyecto:=CveSubProyectoPrincipal) Then If Not ComparaDatatables() Then diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index 2cf6d06aa..4b02bd7d4 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -310,7 +310,7 @@ Partial Class ContabilidadC_RegPrePolizaS End If - ImprimeImPrimePrePolizaS(CvePrePoliza) + Exit Sub @@ -3321,172 +3321,6 @@ Partial Class ContabilidadC_RegPrePolizaS 'End Sub - Public Sub ImprimeImPrimePrePolizaS(CvePrePoliza As Integer) - - - - - If Not CvePrePoliza > 0 Then - Exit Sub - End If - - - 'ObjContabilidad.Dispose() - - Dim rutaArchivo As String = "" - Dim params As New List(Of ReportParameter) - Dim Bytes As Byte() = Nothing - Dim DtDetalle As New DataTable - Dim CveTipoPolizaImp As Integer = 0 - Dim FolioPoliza As String = "" - Dim ConceptoPolizaImp As String = "" - Dim CveMonedaImp As Integer = 0 - Dim TipoPolizaString = "" - - Dim ObjContabilidad As New ClsContabilidad - - Dim TipoPolImp As String = "" - - - If ObjContabilidad.GetPrePoliza(CvePrePoliza, UsuarioActual.CveEmpresa) Then - - Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("") - - If dr IsNot Nothing Then - - TipoPolImp = If(dr("CveTipoPoliza").ToString.ToEntero = 1, "Ingreso", If(dr("CveTipoPoliza").ToString.ToEntero = 2, "Egreso", "Diario")) - CveTipoPolizaImp = dr("CveTipoPoliza").ToString.ToEntero - ConceptoPolizaImp = dr("Concepto") - FolioPoliza = dr("FolioPoliza").ToString - CveMonedaImp = dr("CveMoneda").ToString.ToEntero - - Else - Alert("El documento solicitado no existe, favor de revisar su búsqueda.", TipoMensaje.MsgAdvertencia) - End If - - End If - - ObjContabilidad.Dispose() - - Select Case CveTipoPolizaImp - Case 1 - TipoPolizaString = "I" - Exit Select - Case 2 - TipoPolizaString = "E" - Exit Select - Case Else - TipoPolizaString = "D" - Exit Select - End Select - - If UsuarioActual.Empresa.Funcionalidad(282).ToEntero = 1 Then - - - Dim Archivo As System.IO.FileInfo - - Dim ImpresionPersonalizada As Integer = UsuarioActual.Empresa.Funcionalidad(282).ToEntero - - Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/PolizasResumen.rdlc", UsuarioActual.Empresa.Ruta)) - Dim Logo As New System.IO.FileInfo(String.Format("{0}Logo.png", UsuarioActual.Empresa.Ruta)) - - Dim ObjConta As New ClsContabilidad - - If ObjConta.GetPrePolizasDetalleResumen(CvePrePoliza, UsuarioActual.CveEmpresa, ImpresionPersonalizada) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then - - Dim dr As DataRow - DtDetalle = ObjConta.DtResultados '.FiltraParametros("Contabilizable = 1", "Orden") - dr = DtDetalle.Rows(0) - - params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa)) - params.Add(New ReportParameter("TipoPoliza", TipoPolImp)) - params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy"))) - params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy"))) - - params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy"))) - - params.Add(New ReportParameter("Numero", FolioPoliza)) - params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano"))) - params.Add(New ReportParameter("CodigoPostal", "")) - - params.Add(New ReportParameter("UsuarioRegistro", UsuarioActual.Usuario)) - params.Add(New ReportParameter("ConceptoPoliza", ConceptoPolizaImp)) - - params.Add(New ReportParameter("Folio", FolioPoliza)) - - - If Logo.Exists Then - params.Add(New ReportParameter("pImg", $"file://{Logo.FullName}")) - Else - params.Add(New ReportParameter("pImg", "")) - End If - - - If Archivo.Exists Then - rutaArchivo = Archivo.FullName - Else - rutaArchivo = $"{DirectorioEmpresas}Grales\Formatos\PolizasResumen.rdlc" - End If - - - End If - ObjConta.Dispose() - - - Else - - Dim Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/Polizas.rdlc", UsuarioActual.Empresa.Ruta)) - params = New List(Of ReportParameter) - - Dim ObjConta As New ClsContabilidad - 'If ObjPoliza.GetPoliza(IdPoliza, -1, -1, -1, -1) AndAlso ObjPoliza.DtResultados.Rows.Count > 0 Then - If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then - - Dim dr As DataRow - DtDetalle = ObjConta.DtResultados.FiltraParametros("Contabilizable = 1", "Orden") - dr = DtDetalle.Rows(0) - Dim ruta As String = "" - - params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa)) - params.Add(New ReportParameter("TipoPoliza", dr("TipoPoliza").ToString)) - params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate.ToShortDateString)) - params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate.ToShortDateString)) - - If UsuarioActual.CveEmpresa.Contiene(141) Then - params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToString("dd/MM/yyyy hh:mm:ss"))) - Else - params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToShortDateString)) - End If - - FolioPoliza = dr("FolioPoliza").ToString - params.Add(New ReportParameter("Numero", dr("FolioPoliza").ToString)) - params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano"))) - params.Add(New ReportParameter("CodigoPostal", "")) - - If UsuarioActual.CveEmpresa.Contiene(119, 141) Then - params.Add(New ReportParameter("UsuarioRegistro", GlobalDTUsuarios(dr("CveUsuario").ToString.ToEntero).FiltroPrimeroValor("Nombre"))) - End If - If UsuarioActual.CveEmpresa.Contiene(140, 141) Then - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - End If - - If Archivo.Exists Then - rutaArchivo = UsuarioActual.Empresa.Ruta & "Formatos/Polizas.rdlc" - Else - rutaArchivo = "Empresas/Grales/Formatos/Polizas.rdlc" - End If - End If - ObjConta.Dispose() - End If - - - ImprimirPDF(rutaArchivo, DtDetalle, params, $"P{TipoPolizaString}{FolioPoliza}", Formato:="PDF") - - - - - End Sub - End Class