diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb index 593569762..6b459c171 100644 --- a/App_Code/ClsAcumuladores.vb +++ b/App_Code/ClsAcumuladores.vb @@ -50,7 +50,7 @@ Public Class ClsAcumuladores If TransaccionCompartida Is Nothing Then SqlConexion = New SqlConnection - SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings("Conexion").ConnectionString + SqlConexion.ConnectionString = CadenaConexion() ' ConfigurationManager.ConnectionStrings("Conexion").ConnectionString SqlAdapter = New SqlDataAdapter("", SqlConexion) Try diff --git a/App_Code/Empresa.vb b/App_Code/Empresa.vb index 0c9ed3a50..2efb97358 100644 --- a/App_Code/Empresa.vb +++ b/App_Code/Empresa.vb @@ -48,7 +48,7 @@ Public Class Empresa Public GrupoEmpresa As Integer Public Extension As String Public EsComercializadora As Boolean - + Public BaseDatosNombre As String = "Ventas" 'Nuevos Public AreaGeografica As String diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 3021adf2e..1aa05cd8a 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -44,9 +44,23 @@ Namespace Extensiones Private ReadOnly _IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF} Private ReadOnly _IVAES() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF, &H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF} Private Const SEncryptionKey As String = "$Ap7+5&z" - Private Const SEncryptionKeyAES As String = "$Ap7+5&z$Ap7+5&z$Ap7+5&z$Ap7+5&z" + Private Const SEncryptionKeyAES As String = "$Ap7+5&z$Ap7+5&z$Ap7+5&z$Ap7+5&z" #End Region - + + + Public Function CadenaConexion() As String + Dim BaseDatos As String = "Ventas" + If Not IsNothing(System.Web.HttpContext.Current) AndAlso Not IsNothing(System.Web.HttpContext.Current.Session) Then + + BaseDatos = CType(System.Web.HttpContext.Current.Session("UsuarioSIG"), Usuario).Empresa.BaseDatosNombre + End If + + Return String.Format("Data Source=192.168.0.2;Initial Catalog={0};User Id=JCaudillo;Password=JCau127*953;pooling=True; Min Pool Size=10;Application Name=SIG;", BaseDatos) + + + End Function + + Public Function IfNull(Valor As Object, Predeterminado As Object, Optional IfNotNull As Object = Nothing) As Object If Valor Is Nothing OrElse IsDBNull(Valor) Then ' si es nulo, manda el valor predeterminado diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 4190ddce9..ec0cbce2c 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -1260,187 +1260,187 @@ Partial Class Bancos_ProveedoresAbonar End If End If End If - End If - 'Case 16 'Ret ISR X Acreditar - ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then - ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago - ' importeMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) - ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) - ' TipoCambioGeneral = tipoCambioCompra - - ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 23 'Ret ISR Acreditable - ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then - ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago - ' importeMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) - ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) - ' TipoCambioGeneral = TipoCambioPago - - ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 243 'Ret ISR x Acreditar Terceros y Arrendamiento - ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then - ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago - ' importeMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) - ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) - ' TipoCambioGeneral = TipoCambioPago - - ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento - ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then - ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago - ' importeMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then - ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) - ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) - ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) - ' TipoCambioGeneral = TipoCambioPago - - ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If + End If + 'Case 16 'Ret ISR X Acreditar + ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then + ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago + ' importeMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * tipoCambioCompra + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) + ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) + ' TipoCambioGeneral = tipoCambioCompra + + ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISR > 0 Then + ' IdCtaContable = IdCtaContRetISR + ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 23 'Ret ISR Acreditable + ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then + ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago + ' importeMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) + ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) + ' TipoCambioGeneral = TipoCambioPago + + ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISRAcreditable > 0 Then + ' IdCtaContable = IdCtaContRetISRAcreditable + ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 243 'Ret ISR x Acreditar Terceros y Arrendamiento + ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then + ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago + ' importeMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) + ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) + ' TipoCambioGeneral = TipoCambioPago + + ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISR > 0 Then + ' IdCtaContable = IdCtaContRetISR + ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento + ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 2 Then + ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ' ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago + ' importeMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ' ImporteMovimiento = (gvr.DataKey("RetISR").ToDecimal * PorcentajePago) + ' importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, TipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2, MidpointRounding.AwayFromZero) + ' importeMX = Math.Round(importeMX, 2, MidpointRounding.AwayFromZero) + ' TipoCambioGeneral = TipoCambioPago + + ' If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISRAcreditable > 0 Then + ' IdCtaContable = IdCtaContRetISRAcreditable + ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If Case 14 'Iva X Acreditar Dim TotalImporte As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then @@ -1744,6 +1744,10 @@ Partial Class Bancos_ProveedoresAbonar ImporteMovimiento = 0 End Select + If MsgError <> "" Then + Exit For + End If + If ImporteMovimiento <> 0 Then 'Conta ContPAQ If IdCtaContable = 0 Then @@ -1764,7 +1768,7 @@ Partial Class Bancos_ProveedoresAbonar End If Next 'Unificacion de PrePolizas - If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then + If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(219) = "1" Then If Not ObjMov.PrePolizaUnificacion(CvePrePoliza, gvr.DataKey("CvePrePoliza").ToEntero) Then MsgError = "No se pudo unificar la prepoliza" Alert("No se pudo unificar la prepoliza", TipoMensaje.MsgError) @@ -1775,7 +1779,7 @@ Partial Class Bancos_ProveedoresAbonar 'DESPROGRAMA LO PROGRAMADO DESPUES DE HACERLE UN PAGO ' If DdlTipoTransaccion.SelectedValue <> "9" Then 'SI ES LAYOUT SE DESPROGRAMA EN BANCOS/PAGOELECTRONICO, se comentó, 2018.07.31 peticion marilú. - If gvr.DataKey("ImporteProgramo").ToDouble > 0 Then + If MsgError = "" AndAlso gvr.DataKey("ImporteProgramo").ToDouble > 0 Then ObjComp.ProgramarCompra(gvr.DataKey("CveCompra").ToEntero, 0, UsuarioActual.CveUsuario, -1) End If @@ -1834,7 +1838,7 @@ Partial Class Bancos_ProveedoresAbonar End If End If - If MsgError = "" And UsuarioActual.Empresa.Funcionalidad(220) <> "" Then + If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(220) <> "" Then If Not ObjMov.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then MsgError = "No se pudo simplificar los movimientos" Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError) @@ -2733,25 +2737,12 @@ Partial Class Bancos_ProveedoresAbonar If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Saldo, gr.DataKey("SerieFolio").ToString, 17, ConceptoPartida, Now, IdCtaContable:=IdCtaContable, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=If(CveMoneda = 1, Saldo, Saldo * TCCompra), ImporteME:=If(CveMoneda > 1, Saldo, 0), TipoCambio:=TCCompra, CveCuenta:=CveCuenta) Then MsgError = "Ocurrio un error al saldar el movimiento" End If - End If - - - - 'fluctuación. - If CveMoneda > 1 Then - Dim ImporteFluctuacion As Decimal = 0 - ImporteFluctuacion = Saldo * (TCPago - TCCompra) - If TCCompra > TCPago Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - End If - End If - + End If + + + + + Dim PorcentajePago As Decimal = gr.DataKey("Saldo").ToDecimal / gr.DataKey("Original").ToDecimal If gr.DataKey("IVA").ToDecimal > 0 Then @@ -2797,13 +2788,42 @@ Partial Class Bancos_ProveedoresAbonar MsgError = "Ocurrio un error al saldar el movimiento" End If + 'fluctuación. + If CveMoneda > 1 Then + Dim ImporteFluctuacion As Decimal = 0 + ImporteFluctuacion = Saldo * (TCPago - TCCompra) + If TCCompra > TCPago Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then + MsgError = "Ocurrio un error al saldar el movimiento" + End If + Else + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then + MsgError = "Ocurrio un error al saldar el movimiento" + End If + End If + End If + If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then If ObjConta.ValorPolizaDescuadre > 0 Then MsgError = ObjConta.MensajePolizaDescuadre + " " + ObjConta.ValorDiferencia GuardaLogAD($"Bancos/ProveedoresAbonar | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - Exit For + Exit For + Else + + If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then + + If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + ' Alert(alertaContabilizacion, ModExtensiones.TipoMensaje.MsgInformacion) + + Else + Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) + MsgError = "Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico" + End If + + End If + End If End If diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 86936d8b7..cd671ec03 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -6093,8 +6093,9 @@ Partial Class Compras_Compras Case 6 'Compra - Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" - + Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" + Dim RegistraConcepto225 As Boolean = UsuarioActual.Empresa.UsaInventarios AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" + If RBLPago.SelectedValue.ToEntero = 4 Then Exit Select 'Es credito el concepto 6 se agrega en CASE 17 End If @@ -6316,7 +6317,7 @@ Partial Class Compras_Compras 'falta el registro de la NC cuando es Dim RegistroCuentaPuente As Boolean = False 'NC CON PRODUCTOS - CUENTA PUENTE - If UsuarioActual.Empresa.UsaInventarios AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then + If RegistraConcepto225 Then importeMovimiento = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal importeMN = importeMovimiento * tipoCambioActual * Multiplicador @@ -6381,7 +6382,7 @@ Partial Class Compras_Compras ' adfasdasd 'ChkNCInvNC - If Not ChkNCInvNC.Checked OrElse Not RegistroCuentaPuente Then + If Not RegistraConcepto225 AndAlso Not ChkNCInvNC.Checked AndAlso Not RegistroCuentaPuente Then 'GASTO If UsuarioActual.CveEmpresa = 119 Then DT = TmpDT @@ -18735,15 +18736,19 @@ Partial Class Compras_Compras DtInvOC = ObjInventarios.DtResultados.FiltraParametros($"CvePS > 0 AND CveOrdenCompraDetalle = {dr2("CveOrdenCompraDetalle").ToString.ToEntero}").Copy End If Dim drInv As DataRow = DtInvOC.FiltroPrimero("") - DrInvOCDiferencias("TipoCambioAjuste") = drInv("TipoCambioAjuste").ToString.ToDecimal - DrInvOCDiferencias("Diferencia") = ((gvr.FCTextBox("TxtPU").Text.ToDecimal * drInv("TipoCambioAjuste").ToString.ToDecimal) - drInv("PU").ToString.ToDecimal) * gvr.FCTextBox("TxtCantidad").Text.ToDecimal 'diferencia * drInv("TipoCambioAjuste").ToString.ToDecimal ' - DrInvOCDiferencias("CveAlmacen") = drInv("CveAlmacen").ToString.ToEntero - DrInvOCDiferencias("CveMovimiento") = drInv("CveMovimiento").ToString.ToEntero - DrInvOCDiferencias("ConceptoSalida") = drInv("ConceptoSalida").ToString.ToEntero - DtInvOCDiferencias.Rows.Add(DrInvOCDiferencias) - End If - End If - + If drInv IsNot Nothing Then 'sino existe no hay problema, porque puede ser le producto un servicio + DrInvOCDiferencias("TipoCambioAjuste") = drInv("TipoCambioAjuste").ToString.ToDecimal + DrInvOCDiferencias("Diferencia") = ((gvr.FCTextBox("TxtPU").Text.ToDecimal * drInv("TipoCambioAjuste").ToString.ToDecimal) - drInv("PU").ToString.ToDecimal) * gvr.FCTextBox("TxtCantidad").Text.ToDecimal 'diferencia * drInv("TipoCambioAjuste").ToString.ToDecimal ' + DrInvOCDiferencias("CveAlmacen") = drInv("CveAlmacen").ToString.ToEntero + DrInvOCDiferencias("CveMovimiento") = drInv("CveMovimiento").ToString.ToEntero + DrInvOCDiferencias("ConceptoSalida") = drInv("ConceptoSalida").ToString.ToEntero + DtInvOCDiferencias.Rows.Add(DrInvOCDiferencias) + + End If + + End If + End If + End If Next @@ -18825,7 +18830,7 @@ Partial Class Compras_Compras CveOrdenCompra = DrDiferencias("CveOrdenCompra").ToString.ToEntero CveOCDetalle = DrDiferencias("CveOrdenCompraDetalle").ToString.ToEntero CveMoneda = DrDiferencias("CveMoneda").ToString.ToEntero - DiferenciaInvOC = DrDiferencias("Diferencia").ToString.ToDecimal + DiferenciaInvOC = DrDiferencias("Diferencia").ToString.ToDecimal.RoundSQL() PUCompra = DrDiferencias("PUCompra").ToString.ToDecimal PS = DrDiferencias("PS").ToString diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index 1e616aa62..560298ba7 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -465,7 +465,7 @@ Partial Class Inventarios_RecepcionAlmacen If UsuarioActual.CveSubProyecto = 8804 Then 'AGS StrAlmacenes = $"CveTipoAlmacen IN ({If(CveTiposAlmacen.Length > 0, CveTiposAlmacen, "1,2,12,15")}) {If(CveSubProyecto > 0, $"And CveSubProyecto = {CveSubProyecto}", "")}" Else - StrAlmacenes = $"CveTipoAlmacen IN ({If(CveTiposAlmacen.Length > 0, CveTiposAlmacen, "1,2,15")}) {If(CveSubProyecto > 0, $"And CveSubProyecto = {CveSubProyecto}", "")}" + StrAlmacenes = $"CveTipoAlmacen IN ({If(CveTiposAlmacen.Length > 0, CveTiposAlmacen, "1,2,15,6")}) {If(CveSubProyecto > 0, $"And CveSubProyecto = {CveSubProyecto}", "")}" End If DdlAlmacen.Items.Clear() diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 87e46c545..dc97f5068 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -5739,6 +5739,7 @@ Partial Class Ventas If Not UsuarioActual.TienePermisoProceso(169) Then ' NO VALIDA EXISTENCIAS NI COSTO - PERMISO PARA NO VALIDAR Dim CvePS As Integer = DatarowPS("CvePS").ToString.ToEntero + Dim CveTipoPS As Integer = DatarowPS("CveTipoPS").ToString.ToEntero CantidadInventario = GvPS.Rows(e.RowIndex).DataKey("CantidadInventario").ToString.ToDecimal @@ -5748,7 +5749,7 @@ Partial Class Ventas End If 'SOLO VALIDA EXISTENCIAS Y COSTO: SI USA INVENTARIOS, SOLO PRODUCTOS TIPO PRODUCTO, SOLO REMISIONES E INGRESOS - If UsuarioActual.Empresa.UsaInventarios AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "PA") Or (DdlTipoComprobante.SelectedValue.Contiene("Cot") And UsuarioActual.CveEmpresa.Contiene(119))) Then + If UsuarioActual.Empresa.UsaInventarios AndAlso CveTipoPS = 2 AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "PA") Or (DdlTipoComprobante.SelectedValue.Contiene("Cot") And UsuarioActual.CveEmpresa.Contiene(119))) Then Dim ObjInventarios As New ClsInventarios Dim Existencia As Decimal If ValidaExistencia Then