diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index dbda19f3b..5a2e41f76 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -1431,7 +1431,7 @@ Public Class ClsOC Return Retorno End Function - Public Function UpdateEstatus(Estatus As String, Tipo As String, CveEstatusSiguiente As Integer, TipoTermino As Integer, EstatusActivo As Boolean, EsCancelable As Boolean, CveEstatus As Integer) As Boolean + Public Function UpdateEstatus(Estatus As String, Tipo As String, CveEstatusSiguiente As Integer, TipoTermino As Integer, EstatusActivo As Boolean, EsCancelable As Boolean, CveEstatus As Integer, EsatatusSiguiente As String) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_EstatusUpdate") @@ -1452,6 +1452,9 @@ Public Class ClsOC Catch Ex1 As SqlException If Ex1.Message.Contains("Número: 2627;") Then Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) + + ElseIf Ex1.Message.Contains("Número: 530;") Then + Alert($"La asiganación del campo estatus siguiente {EsatatusSiguiente} esta creando problema de recursividad.", TipoMensaje.MsgAdvertencia) Else Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End If diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 1b3a113ff..8c878fb6a 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -2867,12 +2867,12 @@ Namespace Modelos For Each Row2 As DataRow In DT.Rows importeMovimiento = ((TmpDTDetalle.SUM("TotalImporte", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString.ToDecimal) * ValorMultiplicador) - If ObjFactura.TipoDocto = "Egs" Then - importeMovimiento += (TmpDTDetalle.SUM("ImporteIVA", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador - importeMovimiento += (TmpDTDetalle.SUM("ImporteIEPS", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador - importeMovimiento -= (TmpDTDetalle.SUM("ImporteRetIVA", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador - importeMovimiento -= (TmpDTDetalle.SUM("ImporteRetISR", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador - End If + 'If ObjFactura.TipoDocto = "Egs" Then + ' importeMovimiento += (TmpDTDetalle.SUM("ImporteIVA", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador + ' importeMovimiento += (TmpDTDetalle.SUM("ImporteIEPS", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador + ' importeMovimiento -= (TmpDTDetalle.SUM("ImporteRetIVA", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador + ' importeMovimiento -= (TmpDTDetalle.SUM("ImporteRetISR", String.Format("CveClasificacion = {0} And CveSubProyecto = {1}", Row2("CveClasificacion"), Row2("CveSubProyecto"))).ToString().ToDecimal) * ValorMultiplicador + 'End If importeMX = importeMovimiento * tipoCambio * Multiplicador FechaMovimiento = ObjFactura.FechaPago @@ -2986,8 +2986,8 @@ Namespace Modelos CveSubProyectoContabilizar = CveSubProyectoVenta If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - If ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + If ValorMultiplicador = -1 AndAlso ObjFactura.Alfa3 = "DEV" AndAlso ObjFactura.TipoDocto = "Dev" Then + TipoMovimiento = Not TipoMovimiento ConceptoContable = 62 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -3024,8 +3024,8 @@ Namespace Modelos CveSubProyectoContabilizar = CveSubProyectoVenta If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - If ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + If ValorMultiplicador = -1 AndAlso ObjFactura.Alfa3 = "DEV" AndAlso ObjFactura.TipoDocto = "Dev" Then + TipoMovimiento = Not TipoMovimiento ConceptoContable = 314 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -3049,8 +3049,8 @@ Namespace Modelos CveSubProyectoContabilizar = CveSubProyectoVenta If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - If ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + If ValorMultiplicador = -1 AndAlso ObjFactura.Alfa3 = "DEV" AndAlso ObjFactura.TipoDocto = "Dev" Then + TipoMovimiento = Not TipoMovimiento ConceptoContable = 63 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -3085,8 +3085,8 @@ Namespace Modelos FechaMovimiento = ObjFactura.FechaPago PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIVA").ToDecimal - If ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + If ValorMultiplicador = -1 AndAlso ObjFactura.Alfa3 = "DEV" AndAlso ObjFactura.TipoDocto = "Dev" Then + TipoMovimiento = Not TipoMovimiento ConceptoContable = 61 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -3102,39 +3102,39 @@ Namespace Modelos If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" End If - If ObjFactura.TipoDocto = "Egs" Then + 'If ObjFactura.TipoDocto = "Egs" Then - importeMovimiento = ObjFactura.IVA * ValorMultiplicador - importeMX = Math.Round(importeMovimiento * tipoCambio * Multiplicador, 2) - FechaMovimiento = ObjFactura.FechaPago - PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIVA").ToDecimal + ' importeMovimiento = ObjFactura.IVA * ValorMultiplicador + ' importeMX = Math.Round(importeMovimiento * tipoCambio * Multiplicador, 2) + ' FechaMovimiento = ObjFactura.FechaPago + ' PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIVA").ToDecimal - If importeMovimiento <> 0 Then - 'IVA X TRASLADAR - IdCtaIVAXTrasladar = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar) - CveCuentaIVAxTrasladar = If(CveCuentaIVAxTrasladar > 0, CveCuentaIVAxTrasladar, UsuarioActual.Empresa.CveCuentaIVAxTrasladar) - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 13, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) + ' If importeMovimiento <> 0 Then + ' 'IVA X TRASLADAR + ' IdCtaIVAXTrasladar = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar) + ' CveCuentaIVAxTrasladar = If(CveCuentaIVAxTrasladar > 0, CveCuentaIVAxTrasladar, UsuarioActual.Empresa.CveCuentaIVAxTrasladar) + ' Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 13, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 13, Concepto, Fecha, IdCtaIVAXTrasladar, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=-1, ImporteMX:=importeMX * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuentaIVAxTrasladar, CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuesto) Then - ErrorPrepoliza = True - Exit For - End If + ' If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 13, Concepto, Fecha, IdCtaIVAXTrasladar, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=-1, ImporteMX:=importeMX * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuentaIVAxTrasladar, CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuesto) Then + ' ErrorPrepoliza = True + ' Exit For + ' End If - 'IVA PAGADO - IdCtaIVATrasladado = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado) - CveCuentaIVATrasladado = If(CveCuentaIVATrasladado > 0, CveCuentaIVATrasladado, UsuarioActual.Empresa.CveCuentaIVATrasladado) - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 61, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) + ' 'IVA PAGADO + ' IdCtaIVATrasladado = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado) + ' CveCuentaIVATrasladado = If(CveCuentaIVATrasladado > 0, CveCuentaIVATrasladado, UsuarioActual.Empresa.CveCuentaIVATrasladado) + ' Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 61, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 61, Concepto, Fecha, IdCtaIVATrasladado, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=-1, ImporteMX:=importeMX * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuentaIVATrasladado, CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuesto) Then - ErrorPrepoliza = True - Exit For - End If - End If + ' If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 61, Concepto, Fecha, IdCtaIVATrasladado, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=-1, ImporteMX:=importeMX * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuentaIVATrasladado, CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuesto) Then + ' ErrorPrepoliza = True + ' Exit For + ' End If + ' End If - importeMovimiento = 0 - importeMX = 0 - End If + ' importeMovimiento = 0 + ' importeMX = 0 + 'End If Case 38 'IEPS por Trasladar @@ -3144,8 +3144,8 @@ Namespace Modelos FechaMovimiento = ObjFactura.Fecha CveSubProyectoContabilizar = CveSubProyectoVenta - If ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + If ValorMultiplicador = -1 AndAlso ObjFactura.Alfa3 = "DEV" AndAlso ObjFactura.TipoDocto = "Dev" Then + TipoMovimiento = Not TipoMovimiento ConceptoContable = 39 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -3167,24 +3167,24 @@ Namespace Modelos If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - If importeMovimiento <> 0 AndAlso ObjFactura.TipoDocto = "Egs" Then - 'IEPS X TRASLADAR - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 38, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 38, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSxTrasladar, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=-1, ImporteMX:=importeMX * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - Exit For - End If + 'If importeMovimiento <> 0 AndAlso ObjFactura.TipoDocto = "Egs" Then + ' 'IEPS X TRASLADAR + ' Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 38, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) + ' If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 38, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSxTrasladar, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=-1, ImporteMX:=importeMX * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then + ' ErrorPrepoliza = True + ' Exit For + ' End If - 'IEPS PAGADO - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 39, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 39, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSTrasladado, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=-1, ImporteMX:=importeMX * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - Exit For - End If + ' 'IEPS PAGADO + ' Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 39, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString()) + ' If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 39, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSTrasladado, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=CveCliente, CveIE:=-1, ImporteMX:=importeMX * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then + ' ErrorPrepoliza = True + ' Exit For + ' End If - importeMovimiento = 0 - importeMX = 0 - End If + ' importeMovimiento = 0 + ' importeMX = 0 + 'End If If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 9d1766958..e73ba8732 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1451,11 +1451,17 @@ Partial Class Inventarios_EntradasSalidas obs = DdlConcepto.SelectedItem.Text If DdlPersonal.SelectedValue.ToEntero > 0 Then obs = obs & " - " & DdlPersonal.SelectedItem.Text End If + Dim CveAlmacen As Integer = DdlAlmacen.SelectedValue.ToEntero + + Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveModalidad").ToEntero() + + Dim EsContabilizable As Boolean = (CveModalidad = 1) Dim TotalCantidad As Double = DtMovimientos.SUMD("Cantidad") Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inv/ES", 53, 0, 0, 1, TxtFecha.Text.ToDate, obs, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3) - CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, DdlConcepto.SelectedValue.ToEntero, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, SubProyecto, ActivoFijo, Guia:=TxtGuia.Text, Observaciones:=TxtObservaciones.Text, CvePersonal:=DdlPersonal.SelectedValue.ToEntero, Recibio:=TxtResponsable.Text.Trim, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, DepartamentoEntrega:=TxtDepartamentoEntrega.Text, PedidoContrato:=TxtPedidoContrato.Text, CveProveedor:=tCveProveedor) + + CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, DdlConcepto.SelectedValue.ToEntero, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, SubProyecto, ActivoFijo, Guia:=TxtGuia.Text, Observaciones:=TxtObservaciones.Text, CvePersonal:=DdlPersonal.SelectedValue.ToEntero, Recibio:=TxtResponsable.Text.Trim, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, DepartamentoEntrega:=TxtDepartamentoEntrega.Text, PedidoContrato:=TxtPedidoContrato.Text, CveProveedor:=tCveProveedor) If CveMovimiento <= 0 OrElse CvePrePoliza <= 0 Then @@ -1593,7 +1599,7 @@ Partial Class Inventarios_EntradasSalidas End Select - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAlmacen, tValorInventario, TxtObservaciones.Text.Trim, 68, TxtObservaciones.Text.Trim, TxtFecha.Text.ToDate, idCtaContable, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=tValorInventario, CveClasificacion:=CveClasificacion) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAlmacen, tValorInventario, TxtObservaciones.Text.Trim, 68, TxtObservaciones.Text.Trim, TxtFecha.Text.ToDate, idCtaContable, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=tValorInventario, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then ErrorMovInv = True Else 'Select Case DdlConcepto.SelectedValue.ToEntero @@ -1610,7 +1616,7 @@ Partial Class Inventarios_EntradasSalidas ' End If 'Next 'Case Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOtro, tValorOtro, TxtObservaciones.Text.Trim, CveConceptoContable, TxtObservaciones.Text.Trim, TxtFecha.Text.ToDate, IdCtaContableOtro, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=tValorOtro, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=CveClasificacion) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOtro, tValorOtro, TxtObservaciones.Text.Trim, CveConceptoContable, TxtObservaciones.Text.Trim, TxtFecha.Text.ToDate, IdCtaContableOtro, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=tValorOtro, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then ErrorMovInv = True End If 'End Select @@ -1624,8 +1630,8 @@ Partial Class Inventarios_EntradasSalidas 'DEVENGAR Dim TotalPorDevengar As Double = 0 - 'cuando tiene AC y es salida de almacen, se manda al gasto - If UsuarioActual.Empresa.UsaAC AndAlso (DdlConcepto.SelectedValue = "3") Then + 'cuando tiene AC y es salida de almacen, se manda al gasto, solo aplica si el almacen es contable + If UsuarioActual.Empresa.UsaAC AndAlso (DdlConcepto.SelectedValue = "3") AndAlso EsContabilizable Then Dim DtII As DataTable = Nothing Dim TotalDetalle As Double = 0.0 Dim Importe As Double = DtMovimientos.SUM("Total", "Estatus IN ('','U')") @@ -3418,8 +3424,6 @@ Partial Class Inventarios_EntradasSalidas End If End If - - IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total").RoundSQL) Then ErrorMovInv = True @@ -3436,17 +3440,10 @@ Partial Class Inventarios_EntradasSalidas Response.Redirect($"../Contabilidad/RegPrePoliza.aspx?CvePrePoliza={CvePrePolizaRegistrada}", True) End If - Else - - ObjInventario.Dispose() ObjConta.Dispose() - End If - - - End Sub #End Region @@ -3677,10 +3674,16 @@ Partial Class Inventarios_EntradasSalidas IdCuentaOtrosIngresos = 1319 End Select + Dim CveAlmacen As Integer = DdlAlmacenInventarioFisico.SelectedValue.ToEntero + + Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveModalidad").ToEntero() + + Dim EsContabilizable As Boolean = (CveModalidad = 1) + 'MOVIMIENTO DE ENTRADA If DtMovimientosEntradaInvFisico.Rows.Count > 0 Then Dim FolioEntrada As Integer = ObjInventario.GetFolioSiguiente(32, UsuarioActual.CveEmpresa) - CveMovimientoEntrada = ObjInventario.AddMovimiento(DdlAlmacenInventarioFisico.SelectedValue.ToEntero, 32, 1, Fecha, FolioEntrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtIFDescripcion.Text.Trim) + CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 32, 1, Fecha, FolioEntrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtIFDescripcion.Text.Trim) Else CveMovimientoEntrada = -1 End If @@ -3688,7 +3691,7 @@ Partial Class Inventarios_EntradasSalidas 'MOVIMIENTO DE SALIDA If DtMovimientosSalidaInvFisico.Rows.Count > 0 Then Dim FolioSalida As Integer = ObjInventario.GetFolioSiguiente(34, UsuarioActual.CveEmpresa) - CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenInventarioFisico.SelectedValue.ToEntero, 34, 1, Fecha, FolioSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoEntrada, Observaciones:=TxtIFDescripcion.Text.Trim) + CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacen, 34, 1, Fecha, FolioSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoEntrada, Observaciones:=TxtIFDescripcion.Text.Trim) End If @@ -3779,7 +3782,7 @@ Partial Class Inventarios_EntradasSalidas If ValorEntrada <= ValorSalida Then TipoMovto = True : ValorEntrada = -ValorEntrada ' invierto su naturaleza End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, ValorEntrada, "", 68, tConcepto, Fecha, idCtaContableEntrada, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ValorEntrada) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, ValorEntrada, "", 68, tConcepto, Fecha, idCtaContableEntrada, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ValorEntrada, Contabilizable:=EsContabilizable) Then ErrorMovInv = True Mensaje = "Ocurrió un error al guardar los movimientos contables de entrada" End If @@ -3791,14 +3794,14 @@ Partial Class Inventarios_EntradasSalidas If ValorSalida < ValorEntrada Then TipoMovto = False : ValorSalida = -ValorSalida ' invierto su naturaleza End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, ValorSalida, "", 68, tConcepto, Fecha, idCtaContableSalida, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ValorSalida) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, ValorSalida, "", 68, tConcepto, Fecha, idCtaContableSalida, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ValorSalida, Contabilizable:=EsContabilizable) Then ErrorMovInv = True Mensaje = "Ocurrió un error al guardar los movimientos contables de salida" End If End If If ValorEntrada >= ValorSalida Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ValorEntrada + ValorSalida, "", 260, tConcepto, Fecha, IdCuentaOtrosIngresos, -1, CveMovimientoAlmacen:=CveMovimientoSalida, CveSubProyecto:=tCveSubProyecto, ImporteMX:=ValorEntrada + ValorSalida) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ValorEntrada + ValorSalida, "", 260, tConcepto, Fecha, IdCuentaOtrosIngresos, -1, CveMovimientoAlmacen:=CveMovimientoSalida, CveSubProyecto:=tCveSubProyecto, ImporteMX:=ValorEntrada + ValorSalida, Contabilizable:=EsContabilizable) Then ErrorMovInv = True Mensaje = "Ocurrió un error al guardar los movimientos contables de ajuste de ingreso" End If @@ -3818,7 +3821,7 @@ Partial Class Inventarios_EntradasSalidas tIdCtaGasto = 1321 End Select - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorSalida + ValorEntrada, "", 51, tConcepto, Fecha, tIdCtaGasto, -1, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=tCveClasificacion, CveSubProyecto:=tCveSubProyecto, ImporteMX:=ValorSalida + ValorEntrada) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorSalida + ValorEntrada, "", 51, tConcepto, Fecha, tIdCtaGasto, -1, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=tCveClasificacion, CveSubProyecto:=tCveSubProyecto, ImporteMX:=ValorSalida + ValorEntrada, Contabilizable:=EsContabilizable) Then ErrorMovInv = True Mensaje = "Ocurrió un error al guardar los movimientos contables de ajuste de salida" End If diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index 9cf5cae5f..b6642b36d 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -2067,7 +2067,7 @@ Partial Class Inventarios_RecepcionAlmacen End Sub - Private Function GeneraPrePolizaSalidaEntregaDirecta(CveMovimiento As Integer, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad, ByRef ObjContaContPAQ As ClsContPAQi) As Boolean + Private Function GeneraPrePolizaSalidaEntregaDirecta(CveMovimiento As Integer, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad, ByRef ObjContaContPAQ As ClsContPAQi, EsContabilizable As Boolean) As Boolean Dim Retorno As Boolean = True Try Dim DtCostos As DataTable = Nothing @@ -2102,14 +2102,14 @@ Partial Class Inventarios_RecepcionAlmacen IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then Retorno = False Exit For End If Next IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacen}").ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total").RoundSQL) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=EsContabilizable) Then Retorno = False End If @@ -2202,8 +2202,14 @@ Partial Class Inventarios_RecepcionAlmacen If HdnTipoDocto.Value <> "Fac" Then RecibidaCompleta = False + Dim CveAlmacen As Integer = DdlAlmacen.SelectedValue.ToEntero + + Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveModalidad").ToEntero() + + Dim EsContabilizable As Boolean = (CveModalidad = 1) + 'ENTRADA ALMACÉN - CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, If(TipoMovimiento > 1, 13, 2), 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, + CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, If(TipoMovimiento > 1, 13, 2), 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), MovimientoFijo:=If(TipoMovimiento = 2, True, False), Remision:=TxtRemision.Text, Modulo:="RA/G1") If CveMovimiento > 0 Then @@ -2345,7 +2351,7 @@ Partial Class Inventarios_RecepcionAlmacen End If If Not ErrorMovInv Then - If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ) Then + If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ, EsContabilizable) Then ErrorMovInv = True Exit For End If @@ -2453,7 +2459,7 @@ Partial Class Inventarios_RecepcionAlmacen End If 'DEVENGAR AC - If Not ErrorMovInv AndAlso UsuarioActual.Empresa.UsaAC Then + If Not ErrorMovInv AndAlso UsuarioActual.Empresa.UsaAC AndAlso EsContabilizable Then Dim IDPoliza As Integer Dim TotalDetalle As Double = 0.0 Dim TotalPorDevengar = 0.0 @@ -2714,7 +2720,7 @@ Partial Class Inventarios_RecepcionAlmacen Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen", 74, TotalCosto, TotalCosto, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CvePrePoliza > 0 Then - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveSubProyecto:=CveSubProyecto, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=CveCuentaAlmacen) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveSubProyecto:=CveSubProyecto, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=CveCuentaAlmacen, Contabilizable:=EsContabilizable) Then 'AGREGA POR CONCEPTO POR CVEOCDETALLE If CveOCSurtir > 0 Then @@ -2734,8 +2740,8 @@ Partial Class Inventarios_RecepcionAlmacen If CveMoneda <> 1 AndAlso UsaComplementariaFleteImportaciones Then 'COMPLEMENTARIA - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoME, SerieFolio, Fecha, IdCtaContableRecepcionME, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveSubProyecto:=CveSubProyecto, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoDetalle - TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoComplementaria, SerieFolio, Fecha, IdCtaContableRecepcionComplementaria, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveSubProyecto:=CveSubProyecto, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoDetalle - TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoME, SerieFolio, Fecha, IdCtaContableRecepcionME, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveSubProyecto:=CveSubProyecto, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, Contabilizable:=EsContabilizable) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoDetalle - TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoComplementaria, SerieFolio, Fecha, IdCtaContableRecepcionComplementaria, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveSubProyecto:=CveSubProyecto, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoDetalle - TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, Contabilizable:=EsContabilizable) Then ErrorMovInv = True Exit For End If @@ -2758,15 +2764,15 @@ Partial Class Inventarios_RecepcionAlmacen If CveMoneda <> 1 AndAlso UsaComplementariaFleteImportaciones Then 'COMPLEMENTARIA - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoME, SerieFolio, Fecha, IdCtaContableRecepcionME, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCosto - TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoComplementaria, SerieFolio, Fecha, IdCtaContableRecepcionComplementaria, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto - TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoME, SerieFolio, Fecha, IdCtaContableRecepcionME, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, Contabilizable:=EsContabilizable) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCosto - TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoComplementaria, SerieFolio, Fecha, IdCtaContableRecepcionComplementaria, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto - TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, Contabilizable:=EsContabilizable) Then ErrorMovInv = True End If Else ErrorMovInv = True End If Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCosto, SerieFolio, CveConceptoContableCosto, SerieFolio, Fecha, IdCtaContableRecepcion, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=-1) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCosto, SerieFolio, CveConceptoContableCosto, SerieFolio, Fecha, IdCtaContableRecepcion, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=-1, Contabilizable:=EsContabilizable) Then ErrorMovInv = True End If End If @@ -2881,10 +2887,10 @@ Partial Class Inventarios_RecepcionAlmacen If Not ErrorMovInv Then CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen-NC", 74, TotalCosto, TotalCosto, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CvePrePoliza > 0 Then - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalNC, SerieFolio, CveConceptoContableNC, SerieFolio, Fecha, IdCtaContableNC, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalNC) Then - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto * -1, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto * -1, CveCuenta:=CveCuentaAlmacen) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalNC, SerieFolio, CveConceptoContableNC, SerieFolio, Fecha, IdCtaContableNC, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalNC, Contabilizable:=EsContabilizable) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto * -1, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto * -1, CveCuenta:=CveCuentaAlmacen, Contabilizable:=EsContabilizable) Then If DifCostoNC <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DifCostoNC * -1, SerieFolio, 69, SerieFolio, Fecha, IdCtaContableClasificacion, -1, CveClasificacion:=CveClasificacionDifCostoNC, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DifCostoNC * -1, CveCuenta:=CveCuentaClasificacion) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DifCostoNC * -1, SerieFolio, 69, SerieFolio, Fecha, IdCtaContableClasificacion, -1, CveClasificacion:=CveClasificacionDifCostoNC, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DifCostoNC * -1, CveCuenta:=CveCuentaClasificacion, Contabilizable:=EsContabilizable) Then ErrorMovInv = True End If End If diff --git a/OC/CatEstatus.aspx.vb b/OC/CatEstatus.aspx.vb index 0ee5d010d..84303384c 100644 --- a/OC/CatEstatus.aspx.vb +++ b/OC/CatEstatus.aspx.vb @@ -165,16 +165,27 @@ Partial Class OC_CatEstatus Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click Dim TieneError = False - Dim ObjEstatus As New ClsOC + Dim ObjEstatus As New ClsOC + + 'No quitar transacción la transacción es por que el update puede generar recursividad en la vista Vw_OC_Estatus error 530 + ObjEstatus.IniciaTransacSQL() + If HdnModalidad.Value = "I" Then If Not ObjEstatus.AddEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then TieneError = True End If Else - If Not ObjEstatus.UpdateEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, ChkEstatus.Checked, ChkCancelable.Checked, CveEstatus) Then + If Not ObjEstatus.UpdateEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, ChkEstatus.Checked, ChkCancelable.Checked, CveEstatus, DdlEstatusSiguiente.SelectedItem.Text) Then TieneError = True End If End If + + If TieneError Then + ObjEstatus.RollBack() + Else + ObjEstatus.Commit() + End If + ObjEstatus.Dispose() If Not TieneError Then @@ -189,7 +200,7 @@ Partial Class OC_CatEstatus RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarEstatus")) CargaDatos() Else - Alert("Ocurrió un error al guardar/editar estatus de órden de compra", TipoMensaje.MsgError) + 'Alert("Ocurrió un error al guardar/editar estatus de órden de compra", TipoMensaje.MsgError) End If End Sub diff --git a/TareasProgramadas/Tareas119.ashx b/TareasProgramadas/Tareas119.ashx index bc0290609..49543b657 100644 --- a/TareasProgramadas/Tareas119.ashx +++ b/TareasProgramadas/Tareas119.ashx @@ -8,7 +8,8 @@ using System.IO; using System.Web.Services; using System.Web.Services.Protocols; using GemBox.Spreadsheet; -using System.Data; +using System.Data; +using System.Text; public class TareasJam : IHttpHandler { @@ -46,6 +47,9 @@ public class TareasJam : IHttpHandler private bool EjecutaThalamus(int CveEmpresa) { + bool Respuesta = false; + StringBuilder SBLog = new StringBuilder(); + ClsGenerales ObjGenerales = new ClsGenerales(); DataTable DTProductos = new DataTable(); @@ -53,53 +57,97 @@ public class TareasJam : IHttpHandler DataTable DTClientes = new DataTable(); DataTable DTAlmacenes = new DataTable(); + string FTPServer = "ftp://127.0.0.1/"; + string TFPUsr = "Toor"; + string FTPPass = "agj-3500"; + bool ErrorProceso = false; + SBLog.AppendLine("Consultas
"); + SBLog.AppendLine(""); + if (ObjGenerales.GetJAMCorveta(1)) { DTProductos = ObjGenerales.DtResultados.Copy(); + SBLog.AppendLine($""); + } + else { + ErrorProceso = true; + SBLog.AppendLine($""); } - else { ErrorProceso = true; } - if (ObjGenerales.GetJAMCorveta(2)) + if (ObjGenerales.GetJAMCorveta(2) & ErrorProceso == false) { DTVentas = ObjGenerales.DtResultados.Copy(); + SBLog.AppendLine($"Ventas"); + } + else + { + ErrorProceso = true; + SBLog.AppendLine($""); } - else { ErrorProceso = true; } - if (ObjGenerales.GetJAMCorveta(3)) + if (ObjGenerales.GetJAMCorveta(3) & ErrorProceso == false) { DTClientes = ObjGenerales.DtResultados.Copy(); - } - else { ErrorProceso = true; } + SBLog.AppendLine($""); - if (ObjGenerales.GetJAMCorveta(4)) + } + else { + ErrorProceso = true; + SBLog.AppendLine($""); + } + + if (ObjGenerales.GetJAMCorveta(4) & ErrorProceso == false) { DTAlmacenes = ObjGenerales.DtResultados.Copy(); + SBLog.AppendLine($""); } - else { ErrorProceso = true; } + else { + ErrorProceso = true; + SBLog.AppendLine($""); + } + + SBLog.AppendLine("
ConsultaRegistros
Productos{DTProductos.Rows.Count}
ProductosError al consultar
{DTVentas.Rows.Count}
VentasError al consultar
Clientes{DTClientes.Rows.Count}
ClientesError al consultar
Almacenes{DTAlmacenes.Rows.Count}
AlmacenesError al consultar
"); + SBLog.AppendLine("
"); ObjGenerales.Dispose(); - DTProductos.Columns[0].ColumnName = "Código Producto Interno "; - DTProductos.Columns[1].ColumnName = "Nombre del Producto"; - DTProductos.Columns[2].ColumnName = "Presentación"; - DTProductos.AcceptChanges(); + if (!ErrorProceso) + { + + try + { + + DTProductos.Columns[0].ColumnName = "Código Producto Interno "; + DTProductos.Columns[1].ColumnName = "Nombre del Producto"; + DTProductos.Columns[2].ColumnName = "Presentación"; + DTProductos.AcceptChanges(); - DTClientes.Columns[4].ColumnName = "address.countryId"; - DTClientes.Columns[5].ColumnName = "address.stateId"; - DTClientes.Columns[6].ColumnName = "address.city"; - DTClientes.Columns[7].ColumnName = "address.street1"; - DTClientes.Columns[8].ColumnName = "address.street2"; - DTClientes.Columns[9].ColumnName = "address.postalCode"; - DTClientes.Columns[9].ColumnName = "phone.intCode"; - DTClientes.Columns[9].ColumnName = "phone.areaCode"; - DTClientes.Columns[9].ColumnName = "phone.number"; - DTClientes.Dispose(); + DTClientes.Columns[4].ColumnName = "address.countryId"; + DTClientes.Columns[5].ColumnName = "address.stateId"; + DTClientes.Columns[6].ColumnName = "address.city"; + DTClientes.Columns[7].ColumnName = "address.street1"; + DTClientes.Columns[8].ColumnName = "address.street2"; + DTClientes.Columns[9].ColumnName = "address.postalCode"; + DTClientes.Columns[9].ColumnName = "phone.intCode"; + DTClientes.Columns[9].ColumnName = "phone.areaCode"; + DTClientes.Columns[9].ColumnName = "phone.number"; + DTClientes.Dispose(); + + DTVentas.Columns.RemoveAt(7); + DTVentas.AcceptChanges(); + } + catch (Exception e) + { + SBLog.AppendLine("Error al renombrar columnas"); + } + + + } + - DTVentas.Columns.RemoveAt(7); - DTVentas.AcceptChanges(); if (!ErrorProceso) @@ -107,12 +155,7 @@ public class TareasJam : IHttpHandler string RutaProductos = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Productos{DateTime.Now.ToString("yyyyMMdd")}.xlsx"; string RutaVentas = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Ventas{DateTime.Now.ToString("yyyyMMdd")}.xlsx"; string RutaClientes = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Clientes{DateTime.Now.ToString("yyyyMMdd")}.xlsx"; - string RutaAlmacenes = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Almacenes{DateTime.Now.ToString("yyyyMMdd")}.xlsx"; - - - string FTPServer = "ftp://127.0.0.1/"; - string TFPUsr = "Toor"; - string FTPPass = "agj-3500"; + string RutaAlmacenes = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Almacenes{DateTime.Now.ToString("yyyyMMdd")}.xlsx"; SpreadsheetInfo.SetLicense(Extensiones.ModExtensiones.SerialGemBoxSpreadsheet()); @@ -160,18 +203,30 @@ public class TareasJam : IHttpHandler var FInfoClientes = new FileInfo(RutaClientes); var FInfoAlmacenes = new FileInfo(RutaAlmacenes); - bool CargaProductos = false; bool CargaVentas = false; bool CargaClientes = false; bool CargaAlmacenes = false; + SBLog.AppendLine("Cargas
"); + SBLog.AppendLine(""); + CargaProductos = CargarArchivos(FInfoProductos, FTPServer, TFPUsr, FTPPass); + if (CargaProductos) { CargaProductos = VerificarArchivo(FInfoProductos, FInfoProductos.Length, FTPServer, TFPUsr, FTPPass); } + if (CargaProductos) + { + SBLog.AppendLine($""); + } + else + { + SBLog.AppendLine($""); + } + if (CargaProductos) { CargaVentas = CargarArchivos(FInfoVentas, FTPServer, TFPUsr, FTPPass); @@ -181,6 +236,14 @@ public class TareasJam : IHttpHandler } } + if (CargaVentas) + { + SBLog.AppendLine($""); + }else + { + SBLog.AppendLine($""); + } + if (CargaProductos & CargaVentas) { CargaClientes = CargarArchivos(FInfoClientes, FTPServer, TFPUsr, FTPPass); @@ -190,6 +253,13 @@ public class TareasJam : IHttpHandler } } + if (CargaClientes) + { + SBLog.AppendLine($""); + }else + { + SBLog.AppendLine($""); + } if (CargaProductos & CargaVentas& CargaClientes ) { @@ -200,25 +270,60 @@ public class TareasJam : IHttpHandler } } + if (CargaAlmacenes) + { + SBLog.AppendLine($""); + }else + { + SBLog.AppendLine($""); + } + if (CargaProductos & CargaVentas & CargaClientes & CargaAlmacenes) { - return true; + Respuesta = true; } else { - return false; + Respuesta = false; } + SBLog.AppendLine("
ArchivoEstado
Productosok
ProductosError carga
Ventasok
VentasError carga
Clientesok
ClientesError carga
Almacenesok
AlmacenesError carga
"); + } else { - return false; + Respuesta = false; } + + string Cuerpo = Respuesta ? $"Correcto
Tarea de carga de archios Corteva realizada correctamente
{SBLog.ToString()}" : $"Error
Error tarea de carga de archios Corteva
{SBLog.ToString()}" ; + + MandaCorreo(Cuerpo, Respuesta); + + return Respuesta; + } + private void MandaCorreo(string Cuerpo, bool ErrorProceso) + { + + try + { + ClsSisMail Correo = new ClsSisMail(); + string Para = "julian@adssistemas.mx;rene.molina@adssistemas.mx;oscar.irigoyen@adssistemas.mx"; + //string Para = "oscar.irigoyen@adssistemas.mx"; + string Asunto = ErrorProceso ? $"Carga Layout Corteva {DateTime.Now.ToString("yyyy-MM-dd")}" : $"Carga Layout Corteva Error {DateTime.Now.ToString("yyyy-MM-dd")}"; + + Correo.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Cuerpo); + + }catch(Exception ex) + { + Extensiones.ModExtensiones.GuardaLog(null,$"Error Tareas Programadas 119 error enviar mail --> {ex.Message} "); + } + } + private bool CargarArchivos(FileInfo FInfo, string FTPServer, string FTPUsr, string FTPPass) { diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 708fce0c6..3efab29bb 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -3578,7 +3578,7 @@
+ DataKeyNames="ISTotal,Saldo,CveIE,Folio,Tipo,CveVenta,CveConceptoContable,CveConceptoContableAmor, TotalAnticipo, SubTotalAnticipo, IVAAnticipo,IEPS, ImpuestosLocalesAnticipo, SubTotalAmortizacion, SubTotal, Original, IVA, RetIVA, RetISR, IdCtaContableNC,FolioFiscal, CveClasificacionNC, IdCtaContableNCSIG, TipoCambio,TipoCambioPago,TipoCambioHoy, CveMoneda,Fecha,SaldoSubTotal,SaldoConImpuestos,RegresarImpuesto"> diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 20b47ce93..50331a465 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -10970,7 +10970,7 @@ Partial Class Ventas 'SI LA FACTURA ESTA PAGADA EN SU TOTALIDAD DEBE REGRESAR EL IMPUESTO If (ObjFacturaNC IsNot Nothing AndAlso ObjFacturaNC.Pagado > 0) AndAlso ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + TipoMovimiento = Not TipoMovimiento ConceptoContable = 62 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -11009,7 +11009,7 @@ Partial Class Ventas 'SI LA FACTURA ESTA PAGADA EN SU TOTALIDAD DEBE REGRESAR EL IMPUESTO If (ObjFacturaNC IsNot Nothing AndAlso ObjFacturaNC.Pagado > 0) AndAlso ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + TipoMovimiento = Not TipoMovimiento ConceptoContable = 314 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -11034,7 +11034,7 @@ Partial Class Ventas 'SI LA FACTURA ESTA PAGADA EN SU TOTALIDAD DEBE REGRESAR EL IMPUESTO If (ObjFacturaNC IsNot Nothing AndAlso ObjFacturaNC.Pagado > 0) AndAlso ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + TipoMovimiento = Not TipoMovimiento ConceptoContable = 63 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -11073,7 +11073,7 @@ Partial Class Ventas 'SI LA FACTURA ESTA PAGADA EN SU TOTALIDAD DEBE REGRESAR EL IMPUESTO If (ObjFacturaNC IsNot Nothing AndAlso ObjFacturaNC.Pagado > 0) AndAlso ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + TipoMovimiento = Not TipoMovimiento ConceptoContable = 61 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -11133,7 +11133,7 @@ Partial Class Ventas 'SI LA FACTURA ESTA PAGADA EN SU TOTALIDAD DEBE REGRESAR EL IMPUESTO If (ObjFacturaNC IsNot Nothing AndAlso ObjFacturaNC.Pagado > 0) AndAlso ObjFactura.TipoDocto = "Dev" Then - TipoMovimiento = True + TipoMovimiento = Not TipoMovimiento ConceptoContable = 39 importeMovimiento = importeMovimiento * -1 importeMX = importeMX * -1 @@ -12857,8 +12857,69 @@ Partial Class Ventas Else importeMovimiento = 0 End If + Case 13 ' IVA x Trasladar + If gvr.DataKey("RegresarImpuesto") = "1" Then + importeMovimiento = gvr.DataKey("IVA").ToString().ToDecimal() + importeMX = importeMovimiento + PorcentajeImpuesto = (importeMovimiento / gvr.DataKey("SubTotal").ToString().ToDecimal()) + If importeMovimiento <> 0 Then + IdCtaContable = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar) + CveCuenta = If(CveCuentaIVAXTrasladar > 0, CveCuentaIVAXTrasladar, UsuarioActual.Empresa.CveCuentaIVAxTrasladar) + End If + Else + importeMovimiento = 0 + PorcentajeImpuesto = 0 + End If + + Case 61 ' IVA Trasladado + If gvr.DataKey("RegresarImpuesto") = "1" Then + importeMovimiento = gvr.DataKey("IVA").ToString().ToDecimal() + importeMX = importeMovimiento + PorcentajeImpuesto = (importeMovimiento / gvr.DataKey("SubTotal").ToString().ToDecimal()) + If importeMovimiento <> 0 Then + IdCtaContable = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado) + CveCuenta = If(CveCuentaIVATrasladado > 0, CveCuentaIVATrasladado, UsuarioActual.Empresa.CveCuentaIVATrasladado) + End If + Else + importeMovimiento = 0 + PorcentajeImpuesto = 0 + End If + + Case 38 ' IEPS x Trasladar + If gvr.DataKey("RegresarImpuesto") = "1" Then + importeMovimiento = gvr.DataKey("IEPS").ToString().ToDecimal() + importeMX = importeMovimiento + PorcentajeImpuesto = (importeMovimiento / gvr.DataKey("SubTotal").ToString().ToDecimal()) + If importeMovimiento <> 0 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladar").ToString().ToEntero() + CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladarSIG").ToString().ToEntero() + End If + End If + Else + importeMovimiento = 0 + PorcentajeImpuesto = 0 + End If + + Case 39 ' IEPS Trasladado + If gvr.DataKey("RegresarImpuesto") = "1" Then + importeMovimiento = gvr.DataKey("IEPS").ToString().ToDecimal() + importeMX = importeMovimiento + PorcentajeImpuesto = (importeMovimiento / gvr.DataKey("SubTotal").ToString().ToDecimal()) + If importeMovimiento <> 0 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjConta.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSTrasladado").ToString().ToEntero() + CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSTrasladadoSIG").ToString().ToEntero() + End If + End If + Else + importeMovimiento = 0 + PorcentajeImpuesto = 0 + End If Case Else importeMovimiento = 0 + PorcentajeImpuesto = 0 + importeMX = 0 End Select If importeMovimiento <> 0 Then @@ -12872,8 +12933,9 @@ Partial Class Ventas ' CveCuentaContabilizacion = 0 'End If - If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=TipoCambioGeneral) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=TipoCambioGeneral, PorcentajeImpuesto:=PorcentajeImpuesto) Then ErrorConta = True + Exit For End If End If Next