Compras.aspx.vb Se agrega asignacion de subProyecto

This commit is contained in:
Oscar Irigoyen
2023-02-21 10:33:41 -07:00
parent 7b63a033b8
commit 1f42a80a8a
2 changed files with 53 additions and 172 deletions

View File

@@ -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

View File

@@ -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