diff --git a/Acumuladores/CatFoliosGarantia.aspx b/Acumuladores/CatFoliosGarantia.aspx index 9d44d0e67..3089b032b 100644 --- a/Acumuladores/CatFoliosGarantia.aspx +++ b/Acumuladores/CatFoliosGarantia.aspx @@ -138,29 +138,29 @@   - +   - +   - +   - - + +   - + @@ -170,23 +170,16 @@ - + - + - - - - - + - - - - + diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index d187b5980..a72b6a8ea 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -2293,6 +2293,23 @@ Public Class ClsNominas End Function #End Region + Public Function ValidaFechaFinPersonal(CvePersonal As Integer, CveEmpresa As Integer, FechaFin As String) + Dim Retorno As Boolean = False + DataAdapter("PA_Nom_ValidaFechaFinPersonal") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@FechaFin", SqlDbType.DateTime).Value = FechaFin + '.Add("@Limpiar", SqlDbType.Int).Value = Limpiar + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al validar el finiquito.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno + End Function Public Function GetFiniquitosPersonal(CvePersonal As Integer, CveEmpresa As Integer, Optional Limpiar As Integer = 0, Optional diasindemnizacion As Integer = 90) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Nom_FiniquitosGET") diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index dc48e03e1..9569d71cc 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -7651,10 +7651,10 @@ Public Class ClsPaginas ImportePagoMN = (Pago.ImportePago * TCValuacionCompra).RoundSQL End If 'movimiento de pago proveedor - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImportePagoMN, ConPreP.CveConcepto, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImportePagoMN, ConPreP.CveConcepto, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto, CveVenta:=Pago.CveVentaRelacionada) Then ErrorMovtos = True 'movimiento de pago proveedor Complementaria If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 AndAlso UsaComplementaria Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacionCompra - ImporteME).RoundSQL, ConPreP.CveConceptoComplementario, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacionCompra - ImporteME).RoundSQL, ConPreP.CveConceptoComplementario, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto, CveVenta:=Pago.CveVentaRelacionada) Then ErrorMovtos = True End If If Pago.AplicaAcreditable Then 'si tiene iva y su proporcion @@ -7739,12 +7739,12 @@ Public Class ClsPaginas Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(11, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) If Pago.CveMonedaPago > 1 Then 'Agregamos la Extranjera - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True Else 'Agregamos Nacional - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago) Then ErrorMovtos = True End If End If If Pago.TipoPago.Contiene("NC", "DEV") AndAlso Not ErrorMovtos Then ' N O T A D E C R E D I T O @@ -7760,22 +7760,21 @@ Public Class ClsPaginas End If End If If Pago.TipoPago = "DD" AndAlso Not ErrorMovtos Then ' D E U D O R D I V E R S O - 'Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) - 'Dim Ret As New ConceptosRetenciones - 'If UsuarioActual.Empresa.TipoContabilidad = 2 Then - ' If ObjConta.GetRetCuenta(66, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - ' If Pago.CveMonedaPago > 1 AndAlso ObjConta.GetRetCuenta(207, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero - 'End If + Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(17, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) If Pago.CveMonedaPago > 1 Then 'Agregamos la Extranjera - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 92, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, 207, Pago.Referencia, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=Pago.CveCompraAmortizacion, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=Pago.CveCompraAmortizacion, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True Else 'Agregamos Nacional - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 92, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveVenta:=Pago.CveCompraAmortizacion, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveVenta:=Pago.CveCompraAmortizacion, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True End If End If + If Pago.TipoPago = "Venta" AndAlso Not ErrorMovtos Then ' V E N T A + TCValuacionPago = TCValuacionCompra + tImportePago = tImporteCompra + End If If Not ErrorMovtos AndAlso TCValuacionCompra <> TCValuacionPago Then Dim ConceptoContable, IdCtaContable As Integer @@ -7820,7 +7819,9 @@ Public Class ClsPaginas Public Property CveCompraAmortizacion As Integer = 0 Public Property OtroGastoIngreso As Decimal = 0 Public Property CveConceptoPago As Integer = -1 'no definido de inicio + Public Property CveProveedor As Integer = -1 Public Property CveCreditoDetalle As Integer = -1 + Public Property CveVentaRelacionada As Integer = -1 Public Property Referencia As String = "" Public Property AplicaAcreditable As Boolean = True End Class @@ -7994,6 +7995,14 @@ Public Class ClsPaginas Retorno.CveConcepto = If(CveTipoProveedor = 1, 342, 344) Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 235, 235) End Select + Case 17 ' deudores + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = If(CveTipoProveedor = 1, 37, 37) + Case 2 'dólares + Retorno.CveConcepto = If(CveTipoProveedor = 1, 37, 37) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 256, 256) + End Select End Select Else 'cuando es la provisión Select Case CveTipoSaldo @@ -8021,6 +8030,14 @@ Public Class ClsPaginas Retorno.CveConcepto = If(CveTipoProveedor = 1, 341, 343) Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 234, 234) End Select + Case 17 ' deudores + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = If(CveTipoProveedor = 1, 43, 43) + Case 2 'dólares + Retorno.CveConcepto = If(CveTipoProveedor = 1, 43, 43) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 256, 256) + End Select End Select End If @@ -8246,6 +8263,7 @@ Public Class ClsPaginas Public Property OtroGastoIngreso As Decimal = 0 Public Property CveConceptoPago As Integer = -1 'no definido de inicio Public Property CveCreditoDetalle As Integer = -1 + Public Property CveCompraRelacionada As Integer = -1 Public Property AplicaTraslado As Boolean = True Public Property Referencia As String Public Property ImporteFluctuacionAdicional As Decimal = 0 diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 89c998026..5e970d841 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -5606,13 +5606,15 @@ Public Class ClsVentas End Function - Public Function UpdateVentaLineaAdicional(CveLineaAdicional As Integer, CveVenta As Integer, CveEmpresa As Integer) As Boolean + Public Function UpdateVentaLineaAdicional(CveLineaAdicional As Integer, CveVenta As Integer, LineaAdicionalComprobante As String, CveLineaAdicionalEstatus As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_LineasAdicionalesVentaUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveLineaAdicional", SqlDbType.Int).Value = CveLineaAdicional .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@LineaAdicionalComprobante", SqlDbType.VarChar).Value = LineaAdicionalComprobante + .Add("@CveLineaAdicionalEstatus", SqlDbType.Int).Value = CveLineaAdicionalEstatus .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With Try diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 38efe79a1..ed867167f 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -2397,11 +2397,39 @@ Namespace Extensiones excel.Worksheets.AddCopy(NombreTabla, worksheetDTExtra) excel.Worksheets(0).Name = Titulo - - - End If + + + Dim indexRow As Integer = 8 + Dim indexRowGV As Integer = 0 + Dim cssClassRow As String = "" + + For indexRow = 8 To worksheet.Rows.Count - 4 + + Try + cssClassRow = GridView.Rows(indexRowGV).CssClass.Trim() + + Select Case cssClassRow + Case "SubTotales2" + worksheet.Cells.GetSubrangeRelative(indexRow - 1, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.FillPattern.SetSolid(System.Drawing.ColorTranslator.FromHtml("#c0c0c0")) + worksheet.Cells.GetSubrangeRelative(indexRow - 1, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Weight = 1000 + worksheet.Cells.GetSubrangeRelative(indexRow - 1, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Color = System.Drawing.ColorTranslator.FromHtml("#000077") + Case "SubTotales" + worksheet.Cells.GetSubrangeRelative(indexRow - 1, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.FillPattern.SetSolid(System.Drawing.ColorTranslator.FromHtml("#dddddd")) + worksheet.Cells.GetSubrangeRelative(indexRow - 1, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Weight = 1000 + worksheet.Cells.GetSubrangeRelative(indexRow - 1, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Color = System.Drawing.ColorTranslator.FromHtml("#67809F") + Case Else + End Select + + Catch ex As Exception + End Try + + indexRowGV += 1 + Next + + + End If excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx") diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index ea0fb4252..52c328df4 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -1472,38 +1472,9 @@ Partial Class Bancos_IE e.Row.Cells(4).Width = Unit.Pixel(100) End If - 'If e.Row.DBCampo("TipoDocto") = "Egsc" AndAlso e.Row.DBCampo("SerieFolio") = "" Then - ' e.Row.CssClass = "Totales TextCenter" - ' e.Row.Cells(1).Text = "Egreso Por Comprobar" - 'End If - - 'If e.Row.DBCampo("TipoDocto") = "Ant" AndAlso e.Row.DBCampo("SerieFolio") = "" Then - ' e.Row.CssClass = "Totales TextCenter" - ' e.Row.Cells(1).Text = "Anticipos" - 'End If - If e.Row.DBCampo("TipoDocto") = "NC" AndAlso e.Row.DataKey("CveCompra").ToString.ToEntero > 0 Then e.Row.FCCheckBox("Chk").InputAttributes.Add("data-saldo", e.Row.DataKey("Saldo")) End If - - 'If e.Row.DBCampo("TipoDocto") = "DEV" AndAlso e.Row.DBCampo("SerieFolio") = "" Then - ' e.Row.CssClass = "Totales TextCenter" - ' e.Row.Cells(0).Text = "Devolución" - 'End If - - 'If e.Row.DBCampo("CveProveedor") = "" Then - ' e.Row.BackColor = Drawing.Color.LightGray - 'End If - - 'If UsuarioActual.TienePermisoProceso(273) Then - ' If CType(sender, GridView).ID = "GvA" And e.Row.DBCampo("CveCompra").ToEntero > 0 And e.Row.DBCampo("TipoDocto") = "NC" Then - ' Dim Parametros = Encripta($"CveCompra={e.Row.DBCampo("CveCompra").ToEntero}&SerieFolio={e.Row.DBCampo("SerieFolio")}&CveMoneda={e.Row.DBCampo("CveMoneda")}&CveProveedor={CveProveedor}&Saldo={e.Row.DBCampo("Saldo")}&Original={e.Row.DBCampo("Original")}&CvePrePoliza={e.Row.DBCampo("CvePrePoliza")}&FechaCompra={e.Row.DBCampo("Fecha")}") - ' e.Row.FCHyperLink("HLDevolverDinero").Visible = True - ' e.Row.FCHyperLink("HLDevolverDinero").NavigateUrl = $"/Bancos/IE.aspx?Opcion=DevDinC&P={Parametros}" - ' End If - 'End If - - End If End Sub @@ -1562,15 +1533,18 @@ Partial Class Bancos_IE #Region " CARGA PERSONAL " Protected Sub CargaDDLPersonal() - Dim ObjPersonal As New ClsRH - If ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa) Then - If ObjPersonal.DtResultados.Rows.Count > 0 Then - DdlPersonal.DataSource = ObjPersonal.DtResultados - DdlPersonal.DataBind() - DdlPersonal.Items.Insert(0, New ListItem("Seleccione Personal", "-1")) - End If - End If - ObjPersonal.Dispose() + DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa) + DdlPersonal.DataBind() + DdlPersonal.Items.Insert(0, New ListItem("Seleccione Personal", "-1")) + 'Dim ObjPersonal As New ClsRH + 'If ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa) Then + ' If ObjPersonal.DtResultados.Rows.Count > 0 Then + ' DdlPersonal.DataSource = ObjPersonal.DtResultados + ' DdlPersonal.DataBind() + ' DdlPersonal.Items.Insert(0, New ListItem("Seleccione Personal", "-1")) + ' End If + 'End If + 'ObjPersonal.Dispose() End Sub Protected Sub DdlPersonal_SelectedIndexChanged(sender As Object, e As EventArgs) diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs index 958844dd5..a486cae6a 100644 --- a/Bancos/PagoAcreedor.aspx.cs +++ b/Bancos/PagoAcreedor.aspx.cs @@ -306,7 +306,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas { decimal ImporteBanco = TxtImporte.Text.ToDecimal(); decimal ImporteMNBanco = ImporteBanco; - decimal ImporteComplementaria = 0; + decimal ImporteComplementaria = 0; decimal TCPago = TxtTCPago.Text.ToDecimal(); string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text; string Ref = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text; @@ -328,6 +328,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas decimal ImporteComision; decimal ImporteComisionMN; decimal AcumImporteMN = 0; + decimal ImportePago, ImporteAcreedor; bool TipoMovtoComision = false; int IdCtaContableOtrosGastos = 0; int CveConceptoDiferenciaCambiaria = 0; @@ -338,8 +339,9 @@ public partial class Bancos_PagoAcreedor : ClsPaginas Importe = gvr.FCTextBox("TxtAbonar").Text.ToDecimal(); ImporteComision = gvr.FCTextBox("TxtComision").Text.ToDecimal(); ImporteMN = Importe; + ImporteAcreedor = Importe; ImportePago = Importe; ImporteComisionMN = ImporteComision; - ImporteComplementaria = 0; + ImporteComplementaria = 0; if (gvr.FCTextBox("TxtComision").Text.ToDecimal() < 0) { @@ -352,7 +354,6 @@ public partial class Bancos_PagoAcreedor : ClsPaginas { TipoMovtoComision = false; IdCtaContableOtrosGastos = UsuarioActual.Empresa.Funcionalidad(266).ToEntero(); - } Decimal TC = gvr.DataKey("TipoCambio").ToDecimal(); @@ -364,24 +365,26 @@ public partial class Bancos_PagoAcreedor : ClsPaginas if (gvr.FCCheckBox("Chk").Checked) { - int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero(); + int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero(); if (CveMonedaPago == 1 && tCveMoneda == 1) { ImporteMN = Importe; ImporteComisionMN = ImporteComision; + ImportePago = Importe; } else if (CveMonedaPago == 1 && tCveMoneda == 2) { ImporteComisionMN = ImporteComision; + ImportePago = (Importe * TCPago).RoundSQL(); if (UsaComplementaria) { ImporteMN = Importe; - ImporteComplementaria = (Importe * TC - Importe).RoundSQL(); + ImporteComplementaria = (Importe * TC - Importe).RoundSQL(); } else { ImporteMN = Importe * TC; - ImporteComplementaria = 0; + ImporteComplementaria = 0; } } else if (CveMonedaPago == 2 && tCveMoneda == 1) @@ -389,6 +392,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas ImporteMN = Importe; ImporteComisionMN = ImporteComision; + ImporteComplementaria = 0; } else if (CveMonedaPago == 2 && tCveMoneda == 2) { @@ -422,37 +426,37 @@ public partial class Bancos_PagoAcreedor : ClsPaginas break; } - if (UsaComplementaria) + if (UsaComplementaria && tCveMoneda > 1 && MsgError == "") { if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, Importe, Ref, CveConceptoContablePrestamoComplementario, Conc, DateTime.Now, IDCtaContableAcreedorComplementaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de acreedor complementaria"; } - if (TCPago != TC) - { - bool TipoMovto = false; - int IdCtaContableDiferenciaCambiaria = 0; - if (TCPago > TC) - { - CveConceptoDiferenciaCambiaria = 65; - IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria; - TipoMovto = false; - Importe = (Importe * TCPago) - (Importe * TC); - } - else if (TCPago < TC) - { - CveConceptoDiferenciaCambiaria = 64; - IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaGananciaCambiaria; - TipoMovto = true; - Importe = (Importe * TC) - (Importe * TCPago); - } - ImporteMN = Importe; - - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Ref, CveConceptoDiferenciaCambiaria, Conc, DateTime.Now, IdCtaContableDiferenciaCambiaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) - MsgError = "No se pudo insertar concepto de diferencia cambiaria"; + if (ImportePago != ImporteAcreedor && MsgError == "") + { + bool TipoMovto = false; + int IdCtaContableDiferenciaCambiaria = 0; + if (TCPago > TC) + { + CveConceptoDiferenciaCambiaria = 65; + IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria; + TipoMovto = false; + Importe = (Importe * TCPago) - (Importe * TC); } + else if (TCPago < TC) + { + CveConceptoDiferenciaCambiaria = 64; + IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaGananciaCambiaria; + TipoMovto = true; + Importe = (Importe * TC) - (Importe * TCPago); + } + ImporteMN = Importe; + + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Ref, CveConceptoDiferenciaCambiaria, Conc, DateTime.Now, IdCtaContableDiferenciaCambiaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) + MsgError = "No se pudo insertar concepto de diferencia cambiaria"; + } - if (ImporteComisionMN > 0) + if (ImporteComisionMN > 0 && MsgError == "") { if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoComision, ImporteComision, Ref, 255, Conc, DateTime.Now, IdCtaContableOtrosGastos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComisionMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) { @@ -477,10 +481,10 @@ public partial class Bancos_PagoAcreedor : ClsPaginas } } - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 30, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMNBanco, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos"; + if (MsgError == "" && !ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 30, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMNBanco, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos"; //movimiento de ajuste por sino se aplicó en el proceso anterior - if (CveMonedaPago != 1 && UsaComplementaria ) + if (MsgError == "" && CveMonedaPago != 1 && UsaComplementaria ) { if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 204, Conc, DateTime.Now, IDCtaContableBancosComplementario, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos complementaria"; @@ -499,7 +503,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas tCveConceptoOtIngresos = 64; TipoMovtoOt = true; } - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOt, Dif.Abs(), Ref, tCveConceptoOtIngresos, Conc, DateTime.Now, 0, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: Dif.Abs(), ImporteME: Dif.Abs(), TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) + if (MsgError == "" && !ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOt, Dif.Abs(), Ref, tCveConceptoOtIngresos, Conc, DateTime.Now, 0, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: Dif.Abs(), ImporteME: Dif.Abs(), TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de ajuste en redondeo"; } @@ -517,7 +521,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas } //VALIDA QUE CUADRE LA PREPOLIZA - if (ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5)) + if (MsgError == "" && ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5)) { if (ObjMov.ValorPolizaDescuadre > 0) { diff --git a/Bancos/PopIECompras.aspx b/Bancos/PopIECompras.aspx index 571213489..68b5d172c 100644 --- a/Bancos/PopIECompras.aspx +++ b/Bancos/PopIECompras.aspx @@ -237,7 +237,7 @@
- @@ -308,7 +308,7 @@
- @@ -379,7 +379,7 @@
- diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index b9eaf92c1..565f5c4bf 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -2,8 +2,7 @@ Option Strict On Imports System.Data -Imports Extensiones - +Imports Extensiones Partial Class Bancos_PopIECompras Inherits ClsPaginas #Region "Propiedades" @@ -129,13 +128,8 @@ Partial Class Bancos_PopIECompras Get Return ViewState("IdCtaProveedorExtranjera").ToString.ToEntero End Get - End Property - - Private ReadOnly Property CveCuentaProveedorExtranjera As Integer - Get - Return ViewState("CveCuentaProveedorExtranjera").ToString.ToEntero - End Get - End Property + End Property + Private ReadOnly Property IdCtaContRetIVA As Integer Get Return ViewState("IdCtaContRetIVA").ToString.ToEntero @@ -145,12 +139,8 @@ Partial Class Bancos_PopIECompras Get Return ViewState("IdCtaContRetISR").ToString.ToEntero End Get - End Property - Private ReadOnly Property IdCtaAnticipo As Integer - Get - Return ViewState("IdCtaAnticipo").ToString.ToEntero - End Get - End Property + End Property + Private ReadOnly Property IdCtaContRetIVAAcreditable As Integer Get Return ViewState("IdCtaContRetIVAAcreditable").ToString.ToEntero @@ -160,14 +150,6 @@ Partial Class Bancos_PopIECompras Get Return ViewState("IdCtaContRetISRAcreditable").ToString.ToEntero End Get - End Property - Private Property CveCuentaBancaria As Integer - Get - Return ViewState("CveCuentaBancaria").ToString.ToEntero - End Get - Set(value As Integer) - ViewState("CveCuentaBancaria") = value - End Set End Property Private Property CveMoneda As Integer @@ -202,6 +184,15 @@ Partial Class Bancos_PopIECompras ViewState("MovimientoPagar") = value End Set End Property + + Private Property CompraActual As Compra + Get + Return CType(ViewState("CompraActual"), Compra) + End Get + Set(value As Compra) + ViewState("CompraActual") = value + End Set + End Property Private Property ArrIE As ArrayList Get Return CType(ViewState("ArrIE"), ArrayList) @@ -217,15 +208,8 @@ Partial Class Bancos_PopIECompras Set(value As ArrayList) ViewState("ArrIEFuncionariosEmpleados") = value End Set - End Property - Private Property DTFuenteRecaudacion As DataTable - Get - Return CType(ViewState("DTFuenteRecaudacion"), DataTable) - End Get - Set(value As DataTable) - ViewState("DTFuenteRecaudacion") = value - End Set - End Property + End Property + Private Property DTFuncionarioEmpleado As DataTable Get Return CType(ViewState("DTFuncionarioEmpleado"), DataTable) @@ -233,15 +217,8 @@ Partial Class Bancos_PopIECompras Set(value As DataTable) ViewState("DTFuncionarioEmpleado") = value End Set - End Property - Private Property EmpresaPrueba As Boolean - Get - Return CBool(ViewState("EmpresaPrueba")) - End Get - Set(value As Boolean) - ViewState("EmpresaPrueba") = value - End Set - End Property + End Property + Private Property NombreProveedor As String Get Return ViewState("NombreProveedor").ToString @@ -325,12 +302,8 @@ Partial Class Bancos_PopIECompras Get Return ViewState("IdCtaContRetIVACliente").ToString.ToEntero End Get - End Property - Private ReadOnly Property IdCtaContRetISRCliente As Integer - Get - Return ViewState("IdCtaContRetISRCliente").ToString.ToEntero - End Get - End Property + End Property + Private ReadOnly Property IdCtaContComplementariaCliente As Integer Get Return ViewState("IdCtaContComplementariaCliente").ToString.ToEntero @@ -340,47 +313,6 @@ Partial Class Bancos_PopIECompras Get Return ViewState("IdCtaContMonedaExtranjeraCliente").ToString.ToEntero End Get - End Property - - Private Property CveCuentaCliente As Integer - Get - If ViewState("CveCuentaCliente") Is Nothing Then - Return -1 - Else - Return ViewState("CveCuentaCliente").ToString.ToEntero - End If - End Get - Set(value As Integer) - ViewState("CveCuentaCliente") = value - End Set - End Property - Private Property OriReferenciaCIE As String - Get - If ViewState("OriReferenciaCIE") Is Nothing Then - Return "" - Else - Return ViewState("OriReferenciaCIE").ToString - End If - - - End Get - Set(value As String) - ViewState("OriReferenciaCIE") = value - End Set - End Property - - Private Property OriConceptoCIE As String - Get - If ViewState("OriConceptoCIE") Is Nothing Then - Return "" - Else - Return ViewState("OriConceptoCIE").ToString - End If - - End Get - Set(value As String) - ViewState("OriConceptoCIE") = value - End Set End Property Private Property NotificarA As String @@ -449,8 +381,8 @@ Partial Class Bancos_PopIECompras Private Sub Bancos_PopIECompras_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then - If Not UsuarioActual.Empresa.UsaAC Then - EmpresaPrueba = True + If Not UsuarioActual.Empresa.UsaAC Then + ViewState("IdCtaContMonedaExtranjera") = 0 ViewState("IdCtaContComplementaria") = 0 ViewState("IdCtaContRetIVA") = 0 @@ -675,6 +607,31 @@ Partial Class Bancos_PopIECompras MovimientoPagar.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal MovimientoPagar.IVAPorPagar = dr("IVAPorPagar").ToString.ToDecimal + CompraActual = New Compra + CompraActual.CveCompra = CveCompra + CompraActual.CveTipoConceptoProveedor = dr("CveTipoConcepto").ToString.ToEntero + CompraActual.CveProveedor = dr("CveProveedor").ToString.ToEntero + CompraActual.CveMoneda = dr("CveMoneda").ToString.ToEntero + CompraActual.Fecha = dr("Fecha").ToString.ToDate + CompraActual.SerieFolio = dr("SerieFolio").ToString + CompraActual.ProveedorNombre = TxtPagueseA.Text + CompraActual.TC = dr("TipoCambio").ToString.ToDecimal + CompraActual.Total = dr("Total").ToString.ToDecimal + CompraActual.IVA = dr("IVA").ToString.ToDecimal + CompraActual.IVADeducible = dr("IVADeducible").ToString.ToDecimal.RoundSQL + CompraActual.IVANoDeducible = dr("IVANoDeducible").ToString.ToDecimal.RoundSQL + CompraActual.IEPS = dr("IEPS").ToString.ToDecimal + CompraActual.RetIVA = dr("RetIVA").ToString.ToDecimal + CompraActual.RetISR = dr("RetISR").ToString.ToDecimal + CompraActual.CveConceptoRetISR = dr("CveRetIVAConcepto").ToString.ToEntero + CompraActual.CveConceptoRetIVA = dr("CveRetISRConcepto").ToString.ToEntero + CompraActual.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal + CompraActual.UsuarioActual = UsuarioActual + CompraActual.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + CompraActual.IdCtaContableProv = CtaProveedor + CompraActual.IdCtaContableProvComplementaria = IdCtaProveedorExtranjera + CompraActual.EsImportacion = CBool(dr("EsImportacion")) + If Validada Then TxtFolio.Enabled = True TxtFechaDocumento.Enabled = True @@ -847,33 +804,26 @@ Partial Class Bancos_PopIECompras Protected Sub CargaVentas(Optional CveMoneda As Integer = 1) - Dim ObjCliente As New ClsClientes Dim ObjMovtos As New ClsMovimientos - Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", String.Format("RFC = '{0}'", RFCProveedor)).ToEntero + Dim dtc As DataTable = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("RFC = '{0}'", RFCProveedor)) + If dtc IsNot Nothing AndAlso dtc.Rows.Count = 1 Then + Dim CveCliente As Integer = dtc.Rows(0)("CveCliente").ToString.ToEntero + ViewState("IdCuentaCliente") = dtc.Rows(0)("IdCtaContClientes") + ViewState("IdCtaContRetIVACliente") = dtc.Rows(0)("IdCtaContRetIVA") + ViewState("IdCtaContRetISRCliente") = dtc.Rows(0)("IdCtaContRetISR") + ViewState("IdCtaContComplementariaCliente") = dtc.Rows(0)("IdCtaContComplementaria") + ViewState("IdCtaContMonedaExtranjeraCliente") = dtc.Rows(0)("IdCtaContMonedaExtranjera") - If ObjMovtos.GetCxCClienteDetalle(CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, -1) Then + If ObjMovtos.GetCxCClienteDetalle(CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, -1) Then - GvVentas.DataSource = ObjMovtos.DtResultados.FiltraParametros($" Saldo > 0 AND CveVenta > 0 AND CveMoneda = {CveMoneda}") + GvVentas.DataSource = ObjMovtos.DtResultados.FiltraParametros($" Saldo > 0 AND CveVenta > 0 AND CveMoneda = {CveMoneda}") + End If End If + ObjMovtos.Dispose() GvVentas.DataBind() - - If CveCliente > 0 Then - If ObjCliente.GetClientes(CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then - ViewState("IdCuentaCliente") = ObjCliente.IdCtaContClientes - ViewState("IdCtaContRetIVACliente") = ObjCliente.IdCtaContRetIVA - ViewState("IdCtaContRetISRCliente") = ObjCliente.IdCtaContRetISR - ViewState("IdCtaContComplementariaCliente") = ObjCliente.IdCtaContComplementaria - ViewState("IdCtaContMonedaExtranjeraCliente") = ObjCliente.IdCtaContMonedaExtranjera - - End If - End If - - - - ObjCliente.Dispose() UpDatos.Update() End Sub @@ -953,15 +903,15 @@ Partial Class Bancos_PopIECompras If DdlTipoTransaccion.SelectedValue.Contiene("2", "9", "17") Then ' transferencias y layout trCuentaDeposito.Visible = False - - Dim Dep As New ClsGenerales - If Dep.GetCuentasDepositos(CveProveedor:=CveProveedor) Then + Dim dtc As DataTable = GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor) + + If dtc IsNot Nothing Then If DdlTipoTransaccion.SelectedValue = "9" Then - DdlCuentaDeposito.DataSource = Dep.DtResultados.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'") + DdlCuentaDeposito.DataSource = dtc.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'") - If Dep.DtResultados.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'").Rows.Count > 0 Then + If dtc.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'").Rows.Count > 0 Then trCuentaDeposito.Visible = True DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1")) Else @@ -971,9 +921,8 @@ Partial Class Bancos_PopIECompras DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1")) ElseIf DdlTipoTransaccion.SelectedValue = "17" Then - - If Dep.DtResultados.Rows.Count > 0 Then - DdlCuentaDeposito.DataSource = Dep.DtResultados + If dtc.Rows.Count > 0 Then + DdlCuentaDeposito.DataSource = dtc trCuentaDeposito.Visible = True BtnGuardar.ToolTip = "" Else @@ -983,13 +932,12 @@ Partial Class Bancos_PopIECompras End If - UpGuardar.Update() DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1")) Else - DdlCuentaDeposito.DataSource = Dep.DtResultados.FiltraParametros("Estatus ='True'") - If Dep.DtResultados.Rows.Count > 0 Then + DdlCuentaDeposito.DataSource = dtc.FiltraParametros("Estatus ='True'") + If dtc.Rows.Count > 0 Then trCuentaDeposito.Visible = True DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1")) End If @@ -1008,17 +956,16 @@ Partial Class Bancos_PopIECompras UpGuardar.Update() - End If - Dep.Dispose() - + End If + DdlCuentaDeposito.DataBind() Else trCuentaDeposito.Visible = False DdlCuentaDeposito.Items.Clear() 'TrReferenciaCIE.Visible = False - End If - 'RecargaGlobalCuentasBancarias() + End If + UpCuentaDeposito.Update() End Sub @@ -1037,8 +984,6 @@ Partial Class Bancos_PopIECompras LblPagueseA.Text = "Beneficiario" End Select - - CargaCuentas() CargaCuentasDepositos() UpDatos.Update() @@ -1375,9 +1320,6 @@ Partial Class Bancos_PopIECompras #Region "G U A R D A R" Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click - - - Dim FechaFactura As Date = FechaCompra Dim FechaDocumentoPago As Date = TxtFechaDocumento.Text.ToDate @@ -1395,111 +1337,30 @@ Partial Class Bancos_PopIECompras Exit Sub End If - - 'VALIDACION PARA LOS IMPORTES CUANDO SE QUIERE PAGAR EN DIFERENTE MONEDA If Not Page.IsValid Then Exit Sub End If - Dim Dep As New ClsGenerales - If Dep.GetCuentasDepositos(CveProveedor:=CveProveedor) Then - Dim Row = Dep.DtResultados.FiltroPrimero(String.Format("CveCuentaDeposito = {0}", DdlCuentaDeposito.SelectedValue.ToEntero)) + Dim dtc As DataTable = GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero) + + If dtc IsNot Nothing Then + Dim Row = dtc.FiltroPrimero("") If Row IsNot Nothing AndAlso Row("Estatus").ToString = "False" Then - Alert("La cuenta depósito del proveedor esta inactiva.", TipoMensaje.MsgAdvertencia) - Dep.Dispose() + Alert("La cuenta depósito del proveedor esta inactiva.", TipoMensaje.MsgAdvertencia) Exit Sub End If - End If - Dep.Dispose() - - Dim MsgError As String = "" - Dim CveConcepto As Integer = -1 - Dim CveConcepto2 As Integer = -1 - Dim CvePersonal As Integer = -1 - Dim Inserta As Boolean = True - Dim ImportePagado As Decimal = 0 - Dim TipoMovimiento As Boolean = False - Dim PorcentajePago As Decimal = 0 - Dim CveProveedor2 As Integer = CveProveedor - Dim Fecha As Date = TxtFechaDocumento.Text.Trim.ToDate - Dim CompraSaldo As Decimal = 0 - If Not EmpresaPrueba Then CveIE = -1 - - Select Case RBLContado.SelectedValue - Case "1" ' Bancos - ImportePagado = TxtImporte.Text.Trim.ToDecimal - Fecha = TxtFechaDocumento.Text.Trim.ToDate - TipoMovimiento = True - Case "2" 'FyE + End If - ImportePagado = TxtImporte.Text.Trim.ToDecimal - Fecha = TxtFechaDocumento.Text.Trim.ToDate - CveConcepto = 29 - CveIE = DDlCheques.SelectedValue.ToEntero - - If Not CveIE > 0 Then - Alert("No se encontro movimientos bancarios de perosonal", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - - Dim saldo As Double = DtCheques.Rows(DDlCheques.SelectedIndex)("Saldo").ToString.ToDecimal - - If TxtImporte.Text.ToDecimal > saldo Then - Alert("El importe no debe de superar el saldo del cheque seleccionado.", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - - TipoMovimiento = True - Dim stringPersonal As String = DdlFuncionarioEmpleado.SelectedItem.ToString - CvePersonal = DdlFuncionarioEmpleado.SelectedValue.ToEntero - Case "3" 'Ingresos X Comprobar - ImportePagado = TxtImporte.Text.Trim.ToDecimal - Case "4" 'Deudores Diversos - ImportePagado = TxtImporte.Text.Trim.ToDecimal - CveConcepto = 17 - CveConcepto2 = 37 - CveIE = -1 - CveProveedor2 = DdlDeudor.SelectedValue.ToEntero - Case "5" 'Acreedores Diversos - ImportePagado = TxtImporte.Text.Trim.ToDecimal - CveConcepto = 17 - CveConcepto2 = 56 - CveProveedor2 = DdlAcreedor.SelectedValue.ToEntero - CveIE = -1 - 'verifica que se halla selccionado algun acreedor - If DdlAcreedor.SelectedValue.ToEntero <= 0 Then - Inserta = False - Alert("Debe especificar el Acreedor.", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - Case "6" 'Ventas - ImportePagado = TxtImporte.Text.Trim.ToDecimal - CveProveedor2 = CveProveedor - CveIE = -1 - Case Else - ImportePagado = 0 - End Select - - If ImportePagado <= 0 Then - Inserta = False + Dim ImportePagado As Decimal = TxtImporte.Text.ToDecimal + If ImportePagado <= 0 Then Alert("Debe ingresar un importe.", TipoMensaje.MsgAdvertencia) Exit Sub - End If - - If CveCompra > 0 Then - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - - Dim ObjCompra As New ClsCompras() - - If ObjCompra.GetComprasSaldos(CveCompra) Then - CompraSaldo = ObjCompra.DtResultados(0)("Saldo").ToString.ToDecimal - End If - ObjCompra.Dispose() - - End If - End If - + End If + + Dim MsgError As String = "" + Dim CveProveedor2 As Integer = CveProveedor + Dim Fecha As Date = TxtFechaDocumento.Text.Trim.ToDate Dim ObjIE As New ClsBancos() Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL) Dim CvePlantillaPoliza As Integer = 2 @@ -1527,1708 +1388,177 @@ Partial Class Bancos_PopIECompras Dim CvePrePoliza As Integer = ObjMov.AddPrePolizas("Bancos/PopIECompras", CvePlantillaPoliza, ImportePagado, ImportePagado, CveMoneda, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=CveTipoPoliza) + Dim Pago As New CompraPago + Pago.Fecha = TxtFechaDocumento.Text.ToDate + Pago.CveMonedaPago = CveMoneda + ImportePagado = TxtImporte.Text.Trim.ToDecimal + 'Tipos de cambio + If Pago.CveMonedaPago = 1 AndAlso CompraActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos + Pago.TCPago = TxtTipoCambio.Text.ToDecimal + ElseIf Pago.CveMonedaPago = 2 AndAlso CompraActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES + Pago.TCPago = TxtTipoCambio.Text.ToDecimal + ElseIf Pago.CveMonedaPago = 2 AndAlso CompraActual.CveMoneda = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES + Pago.TCPago = TxtTipoCambio.Text.ToDecimal + End If - If Inserta Then - If CvePrePoliza > 0 Then - 'SE AGREGA DETALLE DE UNA COMPRA - If CveCompra > 0 Then - If EmpresaPrueba Then - PorcentajePago = 100 - 'SE AGREGA DETALLE CUANDO ES UNA COMPRA - - If MovimientoPagar IsNot Nothing Then - Dim tipoCambioPago As Decimal = 1 - Dim tipoCambioCompra As Decimal = 1 - Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

" - Dim idCuentaContabilizacion As Long = 1 - Dim CuentasContablesInvalidas As New StringBuilder - Dim CveCuentaContabilizacion As Long = 1 - Dim CuentasContablesInvalidasSIG As New StringBuilder - - Dim FechaPago As Date = TxtFechaDocumento.Text.ToDate() - 'VERIFICA SI SE ESTA PAGANDO EN EL MISMO MES DE LA FACTURA - Dim PagoMismoMes As Boolean = True - If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso (FechaDocumento < FechaPago) AndAlso ((FechaDocumento.Month < FechaPago.Month AndAlso FechaDocumento.Year = FechaPago.Year) OrElse (FechaDocumento.Year < FechaPago.Year)) Then - PagoMismoMes = False - End If - Dim TCUltimaFluctuacion As Decimal = 1 - - 'Tipos de cambio segun metodo de pago - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then 'Si la venta viene en Pesos y se va a pagar en Pesos - tipoCambioPago = 1 - tipoCambioCompra = 1 - PorcentajePago = ImportePagado.ToString.ToDecimal / MovimientoPagar.Total - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos - tipoCambioPago = TxtTipoCambio.Text.ToDecimal - tipoCambioCompra = TipoCambioOriginal - PorcentajePago = (ImportePagado.ToString.ToDecimal / tipoCambioPago) / MovimientoPagar.Total - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES - tipoCambioPago = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToString.ToDecimal - tipoCambioCompra = TipoCambioOriginal - PorcentajePago = ImportePagado.ToString.ToDecimal / MovimientoPagar.Total - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES - tipoCambioPago = TxtTipoCambio.Text.ToDecimal - tipoCambioCompra = 1 - PorcentajePago = ImportePagado.ToString.ToDecimal / MovimientoPagar.Total - End If + If TxtComision.Text.ToDecimal <> 0 Then Pago.OtroGastoIngreso = TxtComision.Text.ToDecimal Else Pago.OtroGastoIngreso = 0 - Dim UltimaFluctuacion = GlobalTipoCambioUltimaFluctuacion(TxtFechaDocumento.Text.ToDate) - If UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion < TxtFechaDocumento.Text.ToDate Then - TCUltimaFluctuacion = UltimaFluctuacion.TCFluctuacion - End If - End If - - Select Case RBLContado.SelectedValue - Case "1" ' Banco - CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, TxtFolio.Text.Trim, TxtPagueseA.Text.Trim, ImportePagado, CveMoneda, tipoCambioPago, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), CveCuentaDeposito:=CveCuentaDeposito, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), ConceptoCIE:=If(TxtConceptoCIE.Text.Trim.Length > 0, TxtConceptoCIE.Text, "-1")) - If CveIE > 0 Then - CveConcepto = 17 - Else - MsgError = "Ocurrio un Error al registrarse el movimiento bancario." - Inserta = False - End If - Case "2" ' F Y E - - Case Else + Select Case RBLContado.SelectedValue + Case "1" ' Bancos + CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, TxtFolio.Text.Trim, TxtPagueseA.Text.Trim, ImportePagado, CveMoneda, 15.55, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), CveCuentaDeposito:=CveCuentaDeposito, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), ConceptoCIE:=If(TxtConceptoCIE.Text.Trim.Length > 0, TxtConceptoCIE.Text, "-1")) + If Not CveIE > 0 Then + MsgError = "Ocurrio un Error al registrarse el movimiento bancario." + End If + 'Importe de pago + Pago.ImportePago = ImportePagado + Pago.CveIE = CveIE - CveIE = -1 - - End Select - - If DdlOtrosPagos.SelectedValue = "2" AndAlso TxtComision.Text.ToDecimal > 0 Then - 'Agrego el movimiento a Comisiones - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtComision.Text.ToDecimal, TxtObservaciones.Text, 78, TxtObservaciones.Text, Fecha, 0, -1, CveIE, CveCompra, -1, -1, If(ViewState("CveCliente") IsNot Nothing, ViewState("CveCliente").ToString.ToEntero, -1)) Then - MsgError = "Detalle" - End If - End If - - 'inserto las compras que voy a pagar - If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then - For Each Row As DataRow In ObjMov.DtResultados.Rows - - - Dim CveSubProyectoInsertar As Integer = -1 - Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero - If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then - If ConceptoContable.Contiene(14, 19) AndAlso CveCompra > 0 Then - If EsImportacion Then - If ConceptoContable = 14 Then - ConceptoContable = 287 - Else - ConceptoContable = 288 - End If + 'If DivTarjeta.Visible AndAlso DdlTarjeta.SelectedValue.ToEntero > 0 Then + ' Dim ObjCreditos As New ClsBancos + ' ObjCreditos.GetTarjetasCreditos(DdlCuenta.SelectedValue.ToEntero, DdlTarjeta.SelectedValue.ToEntero) + ' If ObjCreditos.DtResultados.Rows.Count > 0 AndAlso (ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero > 0 Or ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjetaSIG").ToString.ToEntero > 0) Then + ' IdCtaContable = ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero + ' Else + ' IdCtaContable = CtaProveedor + ' End If + ' ObjCreditos.Dispose() + ' Else + ' IdCtaContable = IdCuentaBancaria + ' End If - End If - End If - End If - TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) - Dim ImporteMovimiento As Decimal = 0 - Dim ImporteMX As Decimal = 0 - Dim ImporteMovimientoNoDeducible As Decimal = 0 - Dim ImporteMXNoDeducible As Decimal = 0 - Dim IdCtaContable As Integer = 0 - Dim ConceptoMovimiento = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, NombreProveedor, TxtObservaciones.Text, TxtFolio.Text.Trim) - Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False) - Dim TimpocambioGeneral As Decimal = 1 - Dim PorcentajeImpuesto As Decimal = 0 - - Select Case ConceptoContable - - Case 17 'Pago Proveedores - - If CveTipoConcepto = 2 Then ConceptoContable = 308 'cuando es acreedor - If CveMoneda <> 1 Then - Select Case ConceptoContable - Case 17 - ConceptoContable = 312 - Case 308 - ConceptoContable = 309 - Case Else - End Select - End If - - Dim CveConceptoContableComplementaria As Integer = 206 - If CveTipoConcepto = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor - - If RBLContado.SelectedValue.Contiene("3", "4", "5", "6") Then - For Each rw As GridViewRow In GvIngresos.Rows - If rw.FCCheckBox("Chk").Checked Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / tipoCambioPago - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal * tipoCambioPago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - - CveIE = rw.DataKey("CveIE").ToString.ToEntero - If CveMonedaCompra <> 1 Then - 'si la factura es en dólares y trae complementaria, el importemn debe ser igual al importe - If IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119 Then - ImporteMX = ImporteMovimiento - End If - IdCtaContable = IdCtaProveedorExtranjera - Else - IdCtaContable = CtaProveedor - End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioCompra) Then - MsgError = "No se pudo insertar la póliza" - End If - - If CveMonedaCompra <> 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then - IdCtaContable = IdCtaContComplementaria - If ImporteMovimiento <> 0 Then - Dim ImporteMN As Decimal = (ImporteMovimiento * tipoCambioCompra - ImporteMovimiento).RoundSQL - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMN, ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioCompra) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - ImporteMX = ImporteMovimiento - IdCtaContable = IdCtaProveedorExtranjera - End If - End If - Next - - For Each rw As GridViewRow In GvDeudores.Rows - If rw.FCCheckBox("Chk").Checked Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / tipoCambioPago - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal * tipoCambioPago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - - CveIE = rw.DataKey("CveIE").ToString.ToEntero - If CveMonedaCompra <> 1 Then - 'si la factura es en dólares y trae complementaria, el importemn debe ser igual al importe - If IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119 Then - ImporteMX = ImporteMovimiento - End If - IdCtaContable = IdCtaProveedorExtranjera - Else - IdCtaContable = CtaProveedor - End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then - MsgError = "No se pudo insertar la póliza" - End If - - If CveMonedaCompra <> 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then - IdCtaContable = IdCtaContComplementaria - If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - ImporteMX = ImporteMovimiento - IdCtaContable = IdCtaProveedorExtranjera - End If - End If - Next - - For Each rw As GridViewRow In GvAcreedores.Rows - If rw.FCCheckBox("Chk").Checked Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / tipoCambioPago - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal * tipoCambioPago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - CveIE = rw.DataKey("CveIE").ToString.ToEntero - If CveMonedaCompra <> 1 Then - 'si la factura es en dólares y trae complementaria, el importemn debe ser igual al importe - If IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119 Then - ImporteMX = ImporteMovimiento - End If - IdCtaContable = IdCtaProveedorExtranjera - Else - IdCtaContable = CtaProveedor - End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then - MsgError = "No se pudo insertar la póliza" - End If - '123456789 - If CveMonedaCompra <> 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then - IdCtaContable = IdCtaContComplementaria - If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - ImporteMX = ImporteMovimiento - IdCtaContable = IdCtaProveedorExtranjera - End If - End If - Next - - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / tipoCambioPago - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal * tipoCambioPago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - If CveMonedaCompra <> 1 Then - 'si la factura es en dólares y trae complementaria, el importemn debe ser igual al importe - If IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119 Then - ImporteMX = ImporteMovimiento - End If - IdCtaContable = IdCtaProveedorExtranjera - Else - IdCtaContable = CtaProveedor - End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, 275, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, rw.DataKey("CveVenta").ToEntero, CveCompra, -1, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then - MsgError = "No se pudo insertar la póliza" - End If - - If CveMonedaCompra = 2 Then - IdCtaContable = IdCtaContComplementaria - If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, rw.DataKey("CveVenta").ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - ImporteMX = ImporteMovimiento - IdCtaContable = IdCtaProveedorExtranjera - End If - End If - Next - - ImporteMovimiento = 0 - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal / tipoCambioPago - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal * tipoCambioPago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - End If - - If CveMonedaCompra = 1 Then - IdCtaContable = CtaProveedor - Else - IdCtaContable = IdCtaContComplementaria - If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then - MsgError = "No se pudo insertar la póliza" - End If - ImporteMX = ImporteMovimiento - IdCtaContable = IdCtaProveedorExtranjera - End If - End If - Case 15 'Ret IVA X Acreditar Honorarios/Serv. Prof. - - If MovimientoPagar.ConceptoRetIVA > 0 Then - Dim Funcionalidad As Integer = 0 - If MovimientoPagar.ConceptoRetIVA = 1 Then - Funcionalidad = 307 - ConceptoContable = 15 - ElseIf MovimientoPagar.ConceptoRetIVA = 2 Then - Funcionalidad = 309 - ConceptoContable = 183 - ElseIf MovimientoPagar.ConceptoRetIVA = 3 Then - Funcionalidad = 311 - ConceptoContable = 185 - ElseIf MovimientoPagar.ConceptoRetIVA = 4 Then - Funcionalidad = 313 - ConceptoContable = 248 - ElseIf MovimientoPagar.ConceptoRetIVA = 5 Then - Funcionalidad = 577 - ConceptoContable = 285 - End If - - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioCompra - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If IdCtaContRetIVA > 0 Then - IdCtaContable = IdCtaContRetIVA - ElseIf UsuarioActual.Empresa.Funcionalidad(307).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(307).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - - End If - Case 22 'Ret IVA Acreditable Honorarios/Serv. Prof. - If MovimientoPagar.ConceptoRetIVA > 0 Then - Dim Funcionalidad As Integer = 0 - If MovimientoPagar.ConceptoRetIVA = 1 Then - Funcionalidad = 308 - ConceptoContable = 22 - ElseIf MovimientoPagar.ConceptoRetIVA = 2 Then - Funcionalidad = 310 - ConceptoContable = 184 - ElseIf MovimientoPagar.ConceptoRetIVA = 3 Then - Funcionalidad = 312 - ConceptoContable = 186 - ElseIf MovimientoPagar.ConceptoRetIVA = 4 Then - Funcionalidad = 314 - ConceptoContable = 249 - ElseIf MovimientoPagar.ConceptoRetIVA = 5 Then - Funcionalidad = 578 - ConceptoContable = 286 - End If - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - 'Conta ContPAQ - If IdCtaContRetIVAAcreditable > 0 Then - IdCtaContable = IdCtaContRetIVAAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero - Else - If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - End If - - Case 16 'Ret ISR X Acreditar - If MovimientoPagar.ConceptoRetISR > 0 Then - Dim funcionalidad As Integer = 0 - If MovimientoPagar.ConceptoRetISR = 1 Then - funcionalidad = 315 - ConceptoContable = 16 - ElseIf MovimientoPagar.ConceptoRetISR = 2 Then - funcionalidad = 317 - ConceptoContable = 243 - ElseIf MovimientoPagar.ConceptoRetISR = 3 Then - funcionalidad = 348 - ConceptoContable = 327 - End If - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioCompra - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - 'Conta ContPAQ - If IdCtaContRetISR > 0 Then - IdCtaContable = IdCtaContRetISR - ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).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 - End If - - End If - - Case 23 'Ret ISR Acreditable - If MovimientoPagar.ConceptoRetISR > 0 Then - Dim funcionalidad As Integer = 0 - If MovimientoPagar.ConceptoRetISR = 1 Then - funcionalidad = 316 - ConceptoContable = 23 - ElseIf MovimientoPagar.ConceptoRetISR = 2 Then - funcionalidad = 318 - ConceptoContable = 244 - ElseIf MovimientoPagar.ConceptoRetISR = 3 Then - funcionalidad = 348 - ConceptoContable = 328 - End If - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - 'Conta ContPAQ - If IdCtaContRetISRAcreditable > 0 Then - IdCtaContable = IdCtaContRetISRAcreditable - ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).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 - End If - - - End If - - Case 14 'Iva por Acreditar - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - 'funcionalidad que toma el 100% del pago para acreditamiento de iva - Dim TotalImporte As Decimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - TotalImporte = ImportePagado.ToString.ToDecimal - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - TotalImporte = ImportePagado.ToString.ToDecimal - End If - - If TotalImporte = CompraSaldo Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioCompra - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - Else - ImporteMovimiento = 0 - ImporteMX = 0 - End If - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - 'ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago - ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - End If - - PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA - Dim IdCtaIVAXAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If - - IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0) - - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero - End If - End If - End If - - - - Case 19 'Iva Acreditable - - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - 'funcionalidad que toma el 100% del pago para acreditamiento de iva - Dim TotalImporte As Decimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - TotalImporte = ImportePagado.ToString.ToDecimal - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - TotalImporte = ImportePagado.ToString.ToDecimal - End If - - If TotalImporte = CompraSaldo Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVADeducible - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - Else - ImporteMovimiento = 0 - ImporteMX = 0 - End If - - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago).RoundSQL - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - End If - - If MovimientoPagar.IVANoDeducible.ToString.ToDecimal > 0 Then - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - 'funcionalidad que toma el 100% del pago para acreditamiento de iva - Dim TotalImporte As Decimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - TotalImporte = ImportePagado.ToString.ToDecimal - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - TotalImporte = ImportePagado.ToString.ToDecimal - End If - - If TotalImporte = CompraSaldo Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible - ImporteMXNoDeducible = ImporteMovimientoNoDeducible - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimientoNoDeducible = ImporteMovimientoNoDeducible.RoundSQL - ImporteMXNoDeducible = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}" - Else - ImporteMovimientoNoDeducible = 0 - ImporteMXNoDeducible = 0 - End If - - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible * PorcentajePago - ImporteMXNoDeducible = ImporteMovimientoNoDeducible - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimientoNoDeducible = ImporteMovimientoNoDeducible.RoundSQL - ImporteMXNoDeducible = ImporteMXNoDeducible.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}" - End If - End If - - PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA - Dim IdCtaIVAXAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 - Dim IdCtaContableNoIVA As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - IdCtaContableNoIVA = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero - End If - - IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) - - - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero - End If - End If - - If MovimientoPagar.IVANoDeducible > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto, CveSubProyecto:=CveSubProyecto) Then - MsgError = "No se pudo insertar la póliza" - Else - ImporteMovimiento = 0 - ImporteMX = 0 - End If - End If - - Case 287 'Iva por Acreditar - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - 'funcionalidad que toma el 100% del pago para acreditamiento de iva - Dim TotalImporte As Decimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - TotalImporte = ImportePagado.ToString.ToDecimal - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - TotalImporte = ImportePagado.ToString.ToDecimal - End If - - If TotalImporte = CompraSaldo Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = MovimientoPagar.IVA - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioCompra - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - Else - ImporteMovimiento = 0 - ImporteMX = 0 - End If - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - End If - - PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA - Dim IdCtaIVAXAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - End If - - IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0) - - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero - End If - End If - - Case 288 'Iva Acreditable - - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - 'funcionalidad que toma el 100% del pago para acreditamiento de iva - Dim TotalImporte As Decimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - TotalImporte = ImportePagado.ToString.ToDecimal - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - TotalImporte = ImportePagado.ToString.ToDecimal - End If - - If TotalImporte = CompraSaldo Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVADeducible - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - Else - ImporteMovimiento = 0 - ImporteMX = 0 - End If - - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago).RoundSQL - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - End If - - If MovimientoPagar.IVANoDeducible.ToString.ToDecimal > 0 Then - If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - 'funcionalidad que toma el 100% del pago para acreditamiento de iva - Dim TotalImporte As Decimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - TotalImporte = ImportePagado.ToString.ToDecimal - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - TotalImporte = ImportePagado.ToString.ToDecimal - End If - - If TotalImporte = CompraSaldo Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible - ImporteMXNoDeducible = ImporteMovimientoNoDeducible - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimientoNoDeducible = ImporteMovimientoNoDeducible.RoundSQL - ImporteMXNoDeducible = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}" - Else - ImporteMovimientoNoDeducible = 0 - ImporteMXNoDeducible = 0 - End If - - Else - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible * PorcentajePago - ImporteMXNoDeducible = ImporteMovimientoNoDeducible - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimientoNoDeducible = ImporteMovimientoNoDeducible.RoundSQL - ImporteMXNoDeducible = ImporteMXNoDeducible.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}" - End If - End If - - PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA - Dim IdCtaIVAXAcreditar As Integer = 0 - Dim IdCtaIVAAcreditable As Integer = 0 - Dim IdCtaContableNoIVA As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - IdCtaContableNoIVA = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero - End If - - IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) - - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero - End If - End If - - If MovimientoPagar.IVANoDeducible > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then - MsgError = "No se pudo insertar la póliza" - - End If - End If - - Case 25 'IEPS por Acreditar - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IEPS * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioCompra - - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero - End If - End If - Case 26 'IEPS Acreditable - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IEPS * PorcentajePago - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago) - ImporteMX = ImporteMovimiento * tipoCambioCompra - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago) - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero - End If - End If - Case 64 'Ganancia - - CveSubProyectoInsertar = CveSubProyecto - - If CveSubProyectoInsertar <= 0 Then - MsgError = "No se pudo obtener el sub proyecto o centro de costo" - End If - - - If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then - IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria - Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - TimpocambioGeneral = TCImpuestos - Dim tipoCambioCompraValuacion As Decimal = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - '' si tiene funcionalidad de flucturación con ivas, tomar tipocambioCompra - If tipoCambioPago < tipoCambioCompra AndAlso CveMonedaCompra = 2 Or (CveMonedaCompra = 2 AndAlso UsuarioActual.CveEmpresa = 119 AndAlso PagoMismoMes = False AndAlso tipoCambioPago < TCUltimaFluctuacion) Then - ImporteMovimiento = ((MovimientoPagar.Total * PorcentajePago) * tipoCambioPago) - ((MovimientoPagar.Total * PorcentajePago) * tipoCambioCompraValuacion) 'Añadimos la diferencia de ganancia en la venta - ImporteMovimiento -= ((MovimientoPagar.IVA * PorcentajePago) * TCImpuestos) - ((MovimientoPagar.IVA * PorcentajePago) * tipoCambioCompra) 'Añadimos la diferencia de ganancia en el IVA - ImporteMovimiento += ((MovimientoPagar.RetIVA * PorcentajePago) * TCImpuestos) - ((MovimientoPagar.RetIVA * PorcentajePago) * tipoCambioCompra) 'Añadimos la diferencia de ganancia en el RetIVA - ImporteMovimiento += ((MovimientoPagar.RetISR * PorcentajePago) * TCImpuestos) - ((MovimientoPagar.RetISR * PorcentajePago) * tipoCambioCompra) 'Añadimos la diferencia de ganancia en el RetISR - ImporteMovimiento -= ((MovimientoPagar.IEPS * PorcentajePago) * TCImpuestos) - ((MovimientoPagar.IEPS * PorcentajePago) * tipoCambioCompra) 'Añadimos la diferencia de ganancia en el IEPS - ImporteMovimiento = Math.Abs(ImporteMovimiento.RoundSQL) - ImporteMX = ImporteMovimiento - End If - Else - ImporteMovimiento = 0 - End If - Case 65 'Perdida - - CveSubProyectoInsertar = CveSubProyecto - - If CveSubProyectoInsertar <= 0 Then - MsgError = "No se pudo obtener el sub proyecto o centro de costo" - End If - - If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then - IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria - Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - Dim tipoCambioCompraValuacion As Decimal = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - '' si tiene funcionalidad de flucturación con ivas, tomar tipocambioCompra - - If tipoCambioPago > tipoCambioCompra AndAlso CveMonedaCompra = 2 Or (CveMonedaCompra = 2 AndAlso UsuarioActual.CveEmpresa = 119 AndAlso PagoMismoMes = False AndAlso tipoCambioPago > TCUltimaFluctuacion) Then - ImporteMovimiento = ((MovimientoPagar.Total * PorcentajePago) * tipoCambioCompraValuacion) - ((MovimientoPagar.Total * PorcentajePago) * tipoCambioPago) 'Añadimos la diferencia de perdida en la venta - ImporteMovimiento -= ((MovimientoPagar.IVA * PorcentajePago) * tipoCambioCompra) - ((MovimientoPagar.IVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA - ImporteMovimiento += ((MovimientoPagar.RetIVA * PorcentajePago) * tipoCambioCompra) - ((MovimientoPagar.RetIVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA - ImporteMovimiento += ((MovimientoPagar.RetISR * PorcentajePago) * tipoCambioCompra) - ((MovimientoPagar.RetISR * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR - ImporteMovimiento -= ((MovimientoPagar.IEPS * PorcentajePago) * tipoCambioCompra) - ((MovimientoPagar.IEPS * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS - ImporteMovimiento = Math.Abs(ImporteMovimiento.RoundSQL) - ImporteMX = ImporteMovimiento - End If - Else - ImporteMovimiento = 0 - End If - Case 30 'Bancos - If RBLContado.SelectedValue = "1" Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioPago - - If CveMoneda = 1 Then - If DivTarjeta.Visible AndAlso DdlTarjeta.SelectedValue.ToEntero > 0 Then - Dim ObjCreditos As New ClsBancos - ObjCreditos.GetTarjetasCreditos(DdlCuenta.SelectedValue.ToEntero, DdlTarjeta.SelectedValue.ToEntero) - If ObjCreditos.DtResultados.Rows.Count > 0 AndAlso (ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero > 0 Or ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjetaSIG").ToString.ToEntero > 0) Then - IdCtaContable = ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero - Else - IdCtaContable = CtaProveedor - End If - ObjCreditos.Dispose() - Else - IdCtaContable = IdCuentaBancaria - End If - Else - IdCtaContable = IdCuentaBancariaComplementaria - If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, 204, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, -1, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * tipoCambioPago - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioPago) Then - MsgError = "No se pudo insertar la póliza" - End If - ImporteMX = ImporteMovimiento - IdCtaContable = IdCuentaBancaria - End If - End If - - - End If - Case 92 'Ingresos X Comprobar - If RBLContado.SelectedValue = "3" Then - For Each rw As GridViewRow In GvIngresos.Rows - If rw.FCCheckBox("Chk").Checked Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - CveIE = rw.DataKey("CveIE").ToString.ToEntero - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, CveCliente:=rw.DataKey("CveProveedor").ToString.ToEntero, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioPago) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - Next - End If - ImporteMovimiento = 0 - Case 41 'Acreedores - If RBLContado.SelectedValue = "5" Then - For Each rw As GridViewRow In GvAcreedores.Rows - If rw.FCCheckBox("Chk").Checked Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - CveIE = rw.DataKey("CveIE").ToString.ToEntero - - ConceptoContable = If(CveMoneda <> 1, 346, 56) - - IdCtaContable = CtaProveedorAcreedores - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioPago) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - Next - End If - ImporteMovimiento = 0 - Case 29 'Funcionario y Empleados - If RBLContado.SelectedValue = "2" Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = ImportePagado.ToString.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - TimpocambioGeneral = tipoCambioPago - IdCtaContable = GlobalDTRHPersonal(UsuarioActual.CveEmpresa, CvePersonal:=CvePersonal).FiltroPrimeroValor("IdCtaContPersonal", "").ToEntero - - Else - ImporteMovimiento = 0 - End If - Case 37 'Deudores - If RBLContado.SelectedValue = "4" Then - For Each rw As GridViewRow In GvDeudores.Rows - If rw.FCCheckBox("Chk").Checked Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - CveIE = rw.DataKey("CveIE").ToString.ToEntero - IdCtaContable = CtaProveedorDeudores - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioPago) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - Next - End If - ImporteMovimiento = 0 - Case 2 'Pago Cliente - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - If rw.DataKey("CveMoneda").ToEntero = 1 Then - IdCtaContable = IdCuentaCliente - Else - ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - IdCtaContable = IdCtaContComplementariaCliente - If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then - ImporteMX = ImporteMovimiento - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, 207, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, rw.DataKey("CveVenta").ToString.ToEntero, CveCompra, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, ImporteMX:=(ImporteMovimiento * tipoCambioPago - ImporteMovimiento).RoundSQL, ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioPago) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - IdCtaContable = IdCtaContMonedaExtranjeraCliente - End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioPago) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - Next - End If - ImporteMovimiento = 0 - Case 8 'Ret IVA VENTA - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - 'Conta ContPAQ - If IdCtaContRetIVACliente <> 0 Then - IdCtaContable = IdCtaContRetIVACliente - Else - If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - If ImporteMovimiento > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - End If - Next - ImporteMovimiento = 0 - End If - Case 9 'Ret ISR VENTA - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - 'Conta ContPAQ - If IdCtaContRetISR <> 0 Then - IdCtaContable = IdCtaContRetISR - Else - If 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 - End If - - - If ImporteMovimiento > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - End If - Next - ImporteMovimiento = 0 - End If - Case 13 'IVA VENTA - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - PorcentajeImpuesto = rw.DataKey("PorcentajeIVA").ToDecimal - Dim IdCtaIVAXTrasladar As Integer = 0 - Dim IdCtaIVATrasladado As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - IdCtaIVAXTrasladar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXTrasladar").ToString.ToEntero - IdCtaIVATrasladado = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVATrasladado").ToString.ToEntero - End If - - IdCtaContable = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar) - - If ImporteMovimiento > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal, PorcentajeImpuesto:=PorcentajeImpuesto) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - End If - Next - ImporteMovimiento = 0 - End If - Case 61 'Iva Trasladado VENTA - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, rw.DataKey("TipoCambio").ToString.ToDecimal) - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, rw.DataKey("TipoCambio").ToString.ToDecimal) - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - PorcentajeImpuesto = rw.DataKey("PorcentajeIVA").ToDecimal - - Dim IdCtaIVAXTrasladar As Integer = 0 - Dim IdCtaIVATrasladado As Integer = 0 - - If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - IdCtaIVAXTrasladar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXTrasladar").ToString.ToEntero - IdCtaIVATrasladado = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVATrasladado").ToString.ToEntero - End If - - IdCtaContable = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado) - - If ImporteMovimiento > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, rw.DataKey("TipoCambio").ToString.ToDecimal), PorcentajeImpuesto:=PorcentajeImpuesto) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - End If - Next - ImporteMovimiento = 0 - End If - Case 38 'IEPS por trasladar VENTA - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - IdCtaContable = UsuarioActual.Empresa.IdCuentaIEPSxTrasladar - - If ImporteMovimiento > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - End If - Next - ImporteMovimiento = 0 - End If - Case 39 'IEPS Trasladado VENTA - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - IdCtaContable = UsuarioActual.Empresa.IdCuentaIEPSTrasladado - - If ImporteMovimiento > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - End If - Next - ImporteMovimiento = 0 - End If - Case 62 'Ret IVA Trasladado VENTA - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - 'Conta ContPAQ - If IdCtaContRetIVA <> 0 Then - IdCtaContable = IdCtaContRetIVA - Else - If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - If ObjMov.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - End If - End If - End If - End If - - - - If ImporteMovimiento > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - End If - Next - ImporteMovimiento = 0 - End If - Case 63 'Ret ISR Trasladado VENTA - If RBLContado.SelectedValue = "6" Then - For Each rw As GridViewRow In GvVentas.Rows - If rw.FCCheckBox("Chk").Checked Then - Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal - - If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * tipoCambioPago - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento - ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta - ImporteMX = ImporteMovimiento * tipoCambioPago - End If - ImporteMovimiento = ImporteMovimiento.RoundSQL - ImporteMX = ImporteMX.RoundSQL - - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - 'Conta ContPAQ - If IdCtaContRetISR <> 0 Then - IdCtaContable = IdCtaContRetISR - Else - If 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 - End If - - - If ImporteMovimiento > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then - MsgError = "No se pudo insertar la póliza" - End If - End If - End If - Next - ImporteMovimiento = 0 - End If - Case Else - ImporteMovimiento = 0 - End Select - - If ImporteMovimiento <> 0 AndAlso MsgError = "" Then - 'Conta ContPAQ - If IdCtaContable = 0 Then - CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) - idCuentaContabilizacion = 0 - End If - - ''Conta SIG - 'If CveCuenta = 0 Then - ' CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) - ' CveCuentaContabilizacion = 0 - 'End If - - - - - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, CveSubProyecto:=CveSubProyectoInsertar, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then - MsgError = "No se pudo insertar la póliza" - End If - - End If - Next - - - If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then - If ObjMov.ValorPolizaDescuadre > 0 Then - MsgError = ObjMov.MensajePolizaDescuadre - GuardaLogAD($"Bancos/PopIECompras | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - End If - End If - - 'Conta ContPAQ - If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then - If idCuentaContabilizacion > 0 Then - If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - IdPoliza = ObjMov.ContaIdPoliza - Else - Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico") - End If - Else - Alert(String.Format("No se puede contabilizar la Prepoliza debido a que las siguientes cuentas son invalidas: {0}", CuentasContablesInvalidas)) - End If - End If - End If - End If - End If + If MsgError = "" AndAlso AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then + MsgError = "No se pudo insertar la póliza" End If - Else - MsgError = "No se pudo insertar la póliza" - End If - Else - MsgError = "No se insertó el encabezado" - End If + Case "2" 'FyE + + CveIE = DDlCheques.SelectedValue.ToEntero + + If Not CveIE > 0 Then + Alert("No se encontro movimientos bancarios de personal", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + + Dim saldo As Decimal = DtCheques.Rows(DDlCheques.SelectedIndex)("Saldo").ToString.ToDecimal + + If TxtImporte.Text.ToDecimal > saldo Then + Alert("El importe no debe de superar el saldo del cheque seleccionado.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + Pago.ImportePago = ImportePagado + Pago.CveIE = CveIE + Pago.TipoPago = "Per" + Pago.CvePersonal = DdlFuncionarioEmpleado.SelectedValue.ToEntero + + If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then + MsgError = "No se pudo insertar la póliza" + End If + 'AGREGO PREPOLIZA FyE + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, TxtObservaciones.Text, 29, TxtObservaciones.Text, TxtFechaDocumento.Text.ToDate, -1, -1, CvePersonal:=Pago.CvePersonal, CveIE:=CveIE, ImporteMX:=Pago.ImportePago) Then + MsgError = "Error al registrar detalle de concepto bancario" + End If + + Case "3" 'Ingresos X Comprobar + ImportePagado = TxtImporte.Text.Trim.ToDecimal + Pago.ImportePago = ImportePagado + For Each rw As GridViewRow In GvIngresos.Rows + If rw.FCCheckBox("Chk").Checked Then + CveIE = rw.DataKey("CveIE").ToEntero + Pago.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero + Pago.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal + Pago.TCPago = rw.DataKey("TipoCambio").ToDecimal + + If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then + MsgError = "No se pudo insertar la póliza" + End If + End If + Next + + Case "4" 'Deudores Diversos + 'verifica que se halla selccionado algun acreedor + If DdlDeudor.SelectedValue.ToEntero <= 0 Then + Alert("Debe especificar el deudor.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + For Each rw As GridViewRow In GvDeudores.Rows + If rw.FCCheckBox("Chk").Checked AndAlso rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal <> 0 Then + Pago.CveIE = rw.DataKey("CveIE").ToEntero + Pago.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero + Pago.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal + Pago.TCPago = rw.DataKey("TipoCambio").ToDecimal + Pago.CveProveedor = DdlDeudor.SelectedValue.ToEntero + Pago.TipoPago = "DD" + If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then + MsgError = "No se pudo insertar la póliza" + End If + End If + Next + + Case "5" 'Acreedores Diversos + 'verifica que se halla selccionado algun acreedor + If DdlAcreedor.SelectedValue.ToEntero <= 0 Then + Alert("Debe especificar el Acreedor.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + For Each rw As GridViewRow In GvDeudores.Rows + If rw.FCCheckBox("Chk").Checked AndAlso rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal <> 0 Then + Pago.CveIE = rw.DataKey("CveIE").ToEntero + Pago.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero + Pago.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal + Pago.TCPago = rw.DataKey("TipoCambio").ToDecimal + Pago.CveProveedor = DdlDeudor.SelectedValue.ToEntero + Pago.TipoPago = "DD" + If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then + MsgError = "No se pudo insertar la póliza" + End If + End If + Next + + Case "6" 'Ventas + + For Each rw As GridViewRow In GvVentas.Rows + If rw.FCCheckBox("Chk").Checked AndAlso rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal <> 0 Then + + Pago.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero + Pago.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal + Pago.TCPago = rw.DataKey("TipoCambio").ToDecimal + Pago.CveProveedor = DdlAcreedor.SelectedValue.ToEntero + Pago.CveVentaRelacionada = rw.DataKey("CveVenta").ToEntero + Pago.TipoPago = "Venta" + If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then + MsgError = "No se pudo insertar la póliza" + End If + + If MsgError = "" Then + Dim VentaActual As New Venta With {.CveVenta = rw.DataKey("CveVenta").ToEntero, .CveCliente = rw.DataKey("CveCliente").ToEntero, .IVA = rw.DataKey("IVA").ToDecimal, .IEPS = rw.DataKey("IEPS").ToDecimal, .RetIVA = rw.DataKey("RetIVA").ToDecimal, .RetISR = rw.DataKey("RetISR").ToDecimal, .Total = rw.DataKey("Total").ToDecimal, .PorcentajeIVA = rw.DataKey("PorcentajeIVA").ToDecimal} + Dim PagoVenta As New VentaPago + + PagoVenta.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero + PagoVenta.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal + PagoVenta.TCPago = rw.DataKey("TipoCambio").ToDecimal + PagoVenta.CveCompraRelacionada = CompraActual.CveCompra + PagoVenta.TipoPago = "XX" + If AplicaPrePolizaPagoVenta(VentaActual, PagoVenta, CvePrePoliza, ObjMov) Then + MsgError = "No se pudo insertar la póliza" + End If + End If + End If + Next + + Case Else + ImportePagado = 0 + End Select + + If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then + If ObjMov.ValorPolizaDescuadre > 0 Then + MsgError = ObjMov.MensajePolizaDescuadre + GuardaLogAD($"Bancos/PopIECompras | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + End If + End If + If MsgError = "" Then ObjIE.Commit() Dim StrMsg As New StringBuilder @@ -3389,45 +1719,28 @@ Partial Class Bancos_PopIECompras Protected Sub DdlCuentaDeposito_SelectedIndexChanged(sender As Object, e As EventArgs) - Dim Dep As New ClsGenerales - - If Dep.GetCuentasDepositos(CveProveedor:=CveProveedor, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero) AndAlso Dep.DtResultados.Rows.Count = 1 Then - - If Dep.DtResultados.Rows.Count > 0 Then - - If Dep.DtResultados.Rows(0)("TieneCIE").ToString.ToEntero = 1 Then - - TrReferenciaCIE.Visible = True - - TxtReferenciaCIE.Text = Dep.DtResultados.Rows(0)("Referencia").ToString - TxtConceptoCIE.Text = Dep.DtResultados.Rows(0)("ConceptoCIE").ToString - - OriReferenciaCIE = Dep.DtResultados.Rows(0)("Referencia").ToString - OriConceptoCIE = Dep.DtResultados.Rows(0)("ConceptoCIE").ToString - - Else - TrReferenciaCIE.Visible = False - End If - - - If Boolean.Parse(Dep.DtResultados.Rows(0)("EstatusPagoElectronicoGrupos").ToString) = True AndAlso Dep.DtResultados.Rows(0)("CveSATBanco").ToString.ToEntero <= 0 Then - - Alert("Es necesario establecer el banco de la cuenta deposito", TipoMensaje.MsgAdvertencia) - BtnGuardar.Enabled = False - - Else - BtnGuardar.Enabled = True - End If + Dim dtc As DataTable = GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero) + If dtc IsNot Nothing AndAlso dtc.Rows.Count = 1 Then + If dtc.Rows(0)("TieneCIE").ToString.ToEntero = 1 Then + TrReferenciaCIE.Visible = True + TxtReferenciaCIE.Text = dtc.Rows(0)("Referencia").ToString + TxtConceptoCIE.Text = dtc.Rows(0)("ConceptoCIE").ToString + 'OriReferenciaCIE = dtc.Rows(0)("Referencia").ToString + 'OriConceptoCIE = dtc.Rows(0)("ConceptoCIE").ToString Else TrReferenciaCIE.Visible = False End If + If Boolean.Parse(dtc.Rows(0)("EstatusPagoElectronicoGrupos").ToString) = True AndAlso dtc.Rows(0)("CveSATBanco").ToString.ToEntero <= 0 Then + Alert("Es necesario establecer el banco de la cuenta deposito", TipoMensaje.MsgAdvertencia) + BtnGuardar.Enabled = False + Else + BtnGuardar.Enabled = True + End If Else TrReferenciaCIE.Visible = False End If - - Dep.Dispose() UpCuentaDeposito.Update() UpGuardar.Update() End Sub diff --git a/Bancos/RepIE.aspx.vb b/Bancos/RepIE.aspx.vb index add465901..91c02b7ff 100644 --- a/Bancos/RepIE.aspx.vb +++ b/Bancos/RepIE.aspx.vb @@ -6,7 +6,6 @@ Imports Microsoft.Reporting.WebForms Imports Extensiones Partial Class Bancos_RepIE Inherits ClsPaginas - Private Shared missing As Object = System.Reflection.Missing.Value #Region "PROPIEDADES" Private Property Conciliacion As Boolean @@ -76,7 +75,7 @@ Partial Class Bancos_RepIE TipoPagina = Request("Tipo") DdlEstatusIE.SelectedValueExist("1") - DdlEstatusIE.Enabled = False + ' DdlEstatusIE.Enabled = False 'habilita especificar otros ingresos en conciliaciones AceptaOtrosIngresos = If(UsuarioActual.Empresa.Funcionalidad(124) = "1", True, False) diff --git a/Bin/GoPdf.dll b/Bin/GoPdf.dll new file mode 100644 index 000000000..649b9eb55 Binary files /dev/null and b/Bin/GoPdf.dll differ diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index d3d5c0112..61cb8d5fe 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -2864,7 +2864,7 @@
- + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 9a557b9a8..2a087fbb5 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8736,6 +8736,7 @@ Partial Class Compras_Compras Pago.OtroGastoIngreso = ImporComisionAnticipo Pago.CveMonedaPago = CveMonedaAnticipo Pago.TCPago = TipoCambioAnt + Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero Select Case gvr.DataKey("TipoDocto") Case "NC", "DEV" @@ -8750,6 +8751,7 @@ Partial Class Compras_Compras CveConceptoCompraComplementaria = 266 IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera) IdCtaContableComp = CtaProveedorAnticiposComplementaria + 'vinculo la compra actual, y no la compra como si fuera nota de credito CveCompraNC = -1 CveIE = gvr.DataKey("CveIE").ToEntero diff --git a/Compras/RepCxPDetalle.aspx.vb b/Compras/RepCxPDetalle.aspx.vb index c7243644b..f0016d615 100644 --- a/Compras/RepCxPDetalle.aspx.vb +++ b/Compras/RepCxPDetalle.aspx.vb @@ -230,7 +230,7 @@ Partial Class RepCxPDetalle Me.CveProveedor = CveProveedor If DdlProveedores.SelectedValue.ToEntero > 0 Then - DdlProveedores.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros($"CveProveedor = {CveProveedor}").Rows(0)("RazonSocial").ToString + DdlProveedores.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor).FiltroPrimeroValor("RazonSocial").ToString Else DdlProveedores.SelectedText = "-" End If diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index cfe4b89ee..8aa6f6ece 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -4247,132 +4247,172 @@ Partial Class Compras_eFacturas Protected Sub LnkRegenerarPdfnew_Click(sender As Object, e As EventArgs) Dim gvrow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim objxml As XmlSatCFDI = XmlSatCFDI.readXML(String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("XML"))) - If Not IsNothing(objxml) Then - Dim rutaReporte As String = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3.rdlc") - If Not IsNothing(objxml.complemento.Pagos) Then - rutaReporte = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3Pago.rdlc") + + + Dim XmlRutaArchivo As String = File.ReadAllText(String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("XML"))) + Dim PDFRutaArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF")) + Dim RutaRDLC = String.Format("{0}{1}", DirectorioBaseEmpresas, "Empresas\Grales\Formatos\ReciboDePagoGOPDF.rdlc") + + + + 'ModExtensiones.GuardaLog(" '--------PDF GenGoPdf Inicia ") + Dim Respuesta As Boolean = False + + Dim Inicio As DateTime = DateTime.Now + Dim goPdf As GoPdf.GoPdf = New GoPdf.GoPdf() + Dim logotipo As Byte() = Nothing + + Try + Dim result = goPdf.ExportarPdf(XmlRutaArchivo, logotipo, "", RutaRDLC, New GoPdf.Modelos.DatosAdicionales() With { + .DomicilioReceptor = "" + }) + Dim Fin As DateTime = DateTime.Now + + If result IsNot Nothing Then + File.WriteAllBytes(PDFRutaArchivo, result) + Respuesta = True + Alert($"PDF Generado") + Else + Alert($"PDF Error se genero nulo", TipoMensaje.MsgAdvertencia) End If - Dim NombreArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF")) + + Catch ex As Exception + Alert($"PDF Error {ex.Message} -- > {ex.StackTrace}", TipoMensaje.MsgAdvertencia) + End Try + + Alert("PDF Finaliza", TipoMensaje.MsgAdvertencia) - Dim QR As ClbNegBICFDv3_2.ClsNegCBBGenerar = New ClbNegBICFDv3_2.ClsNegCBBGenerar() - Dim cQr As Byte() = QR.GenerarCBBBytes(objxml.emisor.Rfc, objxml.receptor.Rfc, If(IsNothing(objxml.complemento.Pagos), objxml.comprobante.Total, objxml.complemento.Pagos.Monto), objxml.complemento.UUID) - Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter)() - parametros.Add(New ReportParameter("comprobante_Certificado", objxml.comprobante.Certificado)) - parametros.Add(New ReportParameter("comprobante_CondicionesDePago", objxml.comprobante.CondicionesDePago)) - parametros.Add(New ReportParameter("comprobante_Confirmacion", objxml.comprobante.Confirmacion)) - parametros.Add(New ReportParameter("comprobante_Fecha", objxml.comprobante.Fecha)) - parametros.Add(New ReportParameter("comprobante_Serie", objxml.comprobante.Serie)) - parametros.Add(New ReportParameter("comprobante_Folio", objxml.comprobante.Folio)) - parametros.Add(New ReportParameter("comprobante_Descuento", objxml.comprobante.Descuento.ToString("N2"))) - parametros.Add(New ReportParameter("comprobante_SubTotal", objxml.comprobante.SubTotal.ToString("N2"))) - parametros.Add(New ReportParameter("comprobante_Total", objxml.comprobante.Total.ToString("N2"))) - parametros.Add(New ReportParameter("comprobante_Version", objxml.comprobante.Version)) - parametros.Add(New ReportParameter("comprobante_TipoDeComprobante", objxml.comprobante.TipoDeComprobanteTexto)) - parametros.Add(New ReportParameter("comprobante_FormaPago", objxml.comprobante.FormaPagoTexto)) - parametros.Add(New ReportParameter("comprobante_LugarExpedicion", objxml.comprobante.LugarExpedicion)) - parametros.Add(New ReportParameter("comprobante_NoCertificado", objxml.comprobante.NoCertificado)) - parametros.Add(New ReportParameter("comprobante_Sello", objxml.comprobante.Sello)) - parametros.Add(New ReportParameter("comprobante_Moneda", objxml.comprobante.Moneda)) - parametros.Add(New ReportParameter("comprobante_TipoCambio", objxml.comprobante.TipoCambio.ToString("N2"))) - parametros.Add(New ReportParameter("comprobante_MetodoPago", objxml.comprobante.MetodoPagoTexto)) - parametros.Add(New ReportParameter("emisor_Rfc", objxml.emisor.Rfc)) - parametros.Add(New ReportParameter("emisor_Nombre", objxml.emisor.Nombre)) - parametros.Add(New ReportParameter("emisor_RegimenFiscal", objxml.emisor.RegimenFiscalTexto)) - parametros.Add(New ReportParameter("receptor_Rfc", objxml.receptor.Rfc)) - parametros.Add(New ReportParameter("receptor_Nombre", objxml.receptor.Nombre)) - parametros.Add(New ReportParameter("receptor_NumRegIdTrib", objxml.receptor.NumRegIdTrib)) - parametros.Add(New ReportParameter("receptor_ResidenciaFiscal", objxml.receptor.ResidenciaFiscal)) - parametros.Add(New ReportParameter("receptor_UsoCFDI", objxml.receptor.UsoCFDITexto)) - parametros.Add(New ReportParameter("complemento_FechaTimbrado", objxml.complemento.FechaTimbrado)) - parametros.Add(New ReportParameter("complemento_NoCertificadoSAT", objxml.complemento.NoCertificadoSAT)) - parametros.Add(New ReportParameter("complemento_RfcProvCertif", objxml.complemento.RfcProvCertif)) - parametros.Add(New ReportParameter("complemento_SelloCFD", objxml.complemento.SelloCFD)) - parametros.Add(New ReportParameter("complemento_SelloSAT", objxml.complemento.SelloSAT)) - parametros.Add(New ReportParameter("complemento_UUID", objxml.complemento.UUID)) - parametros.Add(New ReportParameter("complemento_CadenaOriginal", objxml.complemento.CadenaOriginal)) - If Not IsNothing(objxml.complemento.Pagos) Then - parametros.Add(New ReportParameter("CPFechaPago", objxml.complemento.Pagos.FechaPago)) - parametros.Add(New ReportParameter("CPFormaDePagoP", objxml.complemento.Pagos.FormaDePagoP)) - parametros.Add(New ReportParameter("CPFormaDePagoPText", objxml.complemento.Pagos.FormaDePagoPText)) - parametros.Add(New ReportParameter("CPMonedaP", objxml.complemento.Pagos.MonedaP)) - parametros.Add(New ReportParameter("CPMonto", objxml.complemento.Pagos.Monto.ToString())) - parametros.Add(New ReportParameter("CPTipoCambioP", objxml.complemento.Pagos.TipoCambioP.ToString())) - parametros.Add(New ReportParameter("CPNumOperacion", objxml.complemento.Pagos.NumOperacion)) - parametros.Add(New ReportParameter("CPNomBancoOrdExt", objxml.complemento.Pagos.NomBancoOrdExt)) - parametros.Add(New ReportParameter("CPRfcEmisorCtaOrd", objxml.complemento.Pagos.RfcEmisorCtaOrd)) - parametros.Add(New ReportParameter("CPCtaOrdenante", objxml.complemento.Pagos.CtaOrdenante)) - parametros.Add(New ReportParameter("CPRfcEmisorCtaBen", objxml.complemento.Pagos.RfcEmisorCtaBen)) - parametros.Add(New ReportParameter("CPCtaBeneficiario", objxml.complemento.Pagos.CtaBeneficiario)) - End If - Using MR As ReportViewer = New ReportViewer() - Dim rdsTotales As ReportDataSource = New ReportDataSource() - Dim ltotales As List(Of utilValores) = New List(Of utilValores)() - ltotales.Add(New utilValores("Subtotal", objxml.comprobante.SubTotal.ToString("N2"))) - If objxml.comprobante.Descuento > 0 Then - ltotales.Add(New utilValores("Descuento", objxml.comprobante.Descuento.ToString("N2"))) - End If + 'If Not IsNothing(objxml) Then + ' Dim rutaReporte As String = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3.rdlc") + ' If Not IsNothing(objxml.complemento.Pagos) Then + ' rutaReporte = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3Pago.rdlc") + ' End If + ' Dim NombreArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF")) - For Each item As CFDIImpuesto In objxml.Impuestos - If item.Importe > 0 Then - Dim TasaOCuota As Decimal = 0 - Decimal.TryParse(item.TasaOCuota, TasaOCuota) - ltotales.Add(New utilValores($"Impuestos {item.Tipo} {item.ImpuestoTexto} {(If(item.TipoFactor = "Tasa", (TasaOCuota * 100).ToString("N4"), item.TasaOCuota))} {(If(item.TipoFactor = "Tasa", "%", ""))}", item.Importe.ToString("N2"))) - End If - Next + ' Dim QR As ClbNegBICFDv3_2.ClsNegCBBGenerar = New ClbNegBICFDv3_2.ClsNegCBBGenerar() + ' Dim cQr As Byte() = QR.GenerarCBBBytes(objxml.emisor.Rfc, objxml.receptor.Rfc, If(IsNothing(objxml.complemento.Pagos), objxml.comprobante.Total, objxml.complemento.Pagos.Monto), objxml.complemento.UUID) + ' Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter)() + ' parametros.Add(New ReportParameter("comprobante_Certificado", objxml.comprobante.Certificado)) + ' parametros.Add(New ReportParameter("comprobante_CondicionesDePago", objxml.comprobante.CondicionesDePago)) + ' parametros.Add(New ReportParameter("comprobante_Confirmacion", objxml.comprobante.Confirmacion)) + ' parametros.Add(New ReportParameter("comprobante_Fecha", objxml.comprobante.Fecha)) + ' parametros.Add(New ReportParameter("comprobante_Serie", objxml.comprobante.Serie)) + ' parametros.Add(New ReportParameter("comprobante_Folio", objxml.comprobante.Folio)) + ' parametros.Add(New ReportParameter("comprobante_Descuento", objxml.comprobante.Descuento.ToString("N2"))) + ' parametros.Add(New ReportParameter("comprobante_SubTotal", objxml.comprobante.SubTotal.ToString("N2"))) + ' parametros.Add(New ReportParameter("comprobante_Total", objxml.comprobante.Total.ToString("N2"))) + ' parametros.Add(New ReportParameter("comprobante_Version", objxml.comprobante.Version)) + ' parametros.Add(New ReportParameter("comprobante_TipoDeComprobante", objxml.comprobante.TipoDeComprobanteTexto)) + ' parametros.Add(New ReportParameter("comprobante_FormaPago", objxml.comprobante.FormaPagoTexto)) + ' parametros.Add(New ReportParameter("comprobante_LugarExpedicion", objxml.comprobante.LugarExpedicion)) + ' parametros.Add(New ReportParameter("comprobante_NoCertificado", objxml.comprobante.NoCertificado)) + ' parametros.Add(New ReportParameter("comprobante_Sello", objxml.comprobante.Sello)) + ' parametros.Add(New ReportParameter("comprobante_Moneda", objxml.comprobante.Moneda)) + ' parametros.Add(New ReportParameter("comprobante_TipoCambio", objxml.comprobante.TipoCambio.ToString("N2"))) + ' parametros.Add(New ReportParameter("comprobante_MetodoPago", objxml.comprobante.MetodoPagoTexto)) + ' parametros.Add(New ReportParameter("emisor_Rfc", objxml.emisor.Rfc)) + ' parametros.Add(New ReportParameter("emisor_Nombre", objxml.emisor.Nombre)) + ' parametros.Add(New ReportParameter("emisor_RegimenFiscal", objxml.emisor.RegimenFiscalTexto)) + ' parametros.Add(New ReportParameter("receptor_Rfc", objxml.receptor.Rfc)) + ' parametros.Add(New ReportParameter("receptor_Nombre", objxml.receptor.Nombre)) + ' parametros.Add(New ReportParameter("receptor_NumRegIdTrib", objxml.receptor.NumRegIdTrib)) + ' parametros.Add(New ReportParameter("receptor_ResidenciaFiscal", objxml.receptor.ResidenciaFiscal)) + ' parametros.Add(New ReportParameter("receptor_UsoCFDI", objxml.receptor.UsoCFDITexto)) + ' parametros.Add(New ReportParameter("complemento_FechaTimbrado", objxml.complemento.FechaTimbrado)) + ' parametros.Add(New ReportParameter("complemento_NoCertificadoSAT", objxml.complemento.NoCertificadoSAT)) + ' parametros.Add(New ReportParameter("complemento_RfcProvCertif", objxml.complemento.RfcProvCertif)) + ' parametros.Add(New ReportParameter("complemento_SelloCFD", objxml.complemento.SelloCFD)) + ' parametros.Add(New ReportParameter("complemento_SelloSAT", objxml.complemento.SelloSAT)) + ' parametros.Add(New ReportParameter("complemento_UUID", objxml.complemento.UUID)) + ' parametros.Add(New ReportParameter("complemento_CadenaOriginal", objxml.complemento.CadenaOriginal)) + ' If Not IsNothing(objxml.complemento.Pagos) Then + ' parametros.Add(New ReportParameter("CPFechaPago", objxml.complemento.Pagos.FechaPago)) + ' parametros.Add(New ReportParameter("CPFormaDePagoP", objxml.complemento.Pagos.FormaDePagoP)) + ' parametros.Add(New ReportParameter("CPFormaDePagoPText", objxml.complemento.Pagos.FormaDePagoPText)) + ' parametros.Add(New ReportParameter("CPMonedaP", objxml.complemento.Pagos.MonedaP)) + ' parametros.Add(New ReportParameter("CPMonto", objxml.complemento.Pagos.Monto.ToString())) + ' parametros.Add(New ReportParameter("CPTipoCambioP", objxml.complemento.Pagos.TipoCambioP.ToString())) + ' parametros.Add(New ReportParameter("CPNumOperacion", objxml.complemento.Pagos.NumOperacion)) + ' parametros.Add(New ReportParameter("CPNomBancoOrdExt", objxml.complemento.Pagos.NomBancoOrdExt)) + ' parametros.Add(New ReportParameter("CPRfcEmisorCtaOrd", objxml.complemento.Pagos.RfcEmisorCtaOrd)) + ' parametros.Add(New ReportParameter("CPCtaOrdenante", objxml.complemento.Pagos.CtaOrdenante)) + ' parametros.Add(New ReportParameter("CPRfcEmisorCtaBen", objxml.complemento.Pagos.RfcEmisorCtaBen)) + ' parametros.Add(New ReportParameter("CPCtaBeneficiario", objxml.complemento.Pagos.CtaBeneficiario)) - ltotales.Add(New utilValores("Total", objxml.comprobante.Total.ToString("N2"))) - rdsTotales.Name = "dsTotales" - rdsTotales.Value = ltotales - MR.LocalReport.DataSources.Add(rdsTotales) - Dim rds2 As ReportDataSource = New ReportDataSource() - Dim limagenes As List(Of utilImage) = New List(Of utilImage)() - limagenes.Add(New utilImage(cQr)) - rds2.Name = "dsImagenes" - rds2.Value = limagenes - MR.LocalReport.DataSources.Add(rds2) - Dim rdsrelacionados As ReportDataSource = New ReportDataSource() - rdsrelacionados.Name = "dsRelacionados" - rdsrelacionados.Value = objxml.cFDIRelacionados - MR.LocalReport.DataSources.Add(rdsrelacionados) - Dim rds1 As ReportDataSource = New ReportDataSource() - rds1.Name = "dsConceptos" - rds1.Value = objxml.GetConceptosforpdf() - MR.LocalReport.DataSources.Add(rds1) + ' End If + ' Using MR As ReportViewer = New ReportViewer() + ' Dim rdsTotales As ReportDataSource = New ReportDataSource() + ' Dim ltotales As List(Of utilValores) = New List(Of utilValores)() + ' ltotales.Add(New utilValores("Subtotal", objxml.comprobante.SubTotal.ToString("N2"))) - If Not IsNothing(objxml.complemento.Pagos) Then + ' If objxml.comprobante.Descuento > 0 Then + ' ltotales.Add(New utilValores("Descuento", objxml.comprobante.Descuento.ToString("N2"))) + ' End If - Dim rdsp As ReportDataSource = New ReportDataSource() - rdsp.Name = "dsPagos" - rdsp.Value = objxml.complemento.Pagos.doctosRelacionados - MR.LocalReport.DataSources.Add(rdsp) - End If + ' For Each item As CFDIImpuesto In objxml.Impuestos + + ' If item.Importe > 0 Then + ' Dim TasaOCuota As Decimal = 0 + ' Decimal.TryParse(item.TasaOCuota, TasaOCuota) + ' ltotales.Add(New utilValores($"Impuestos {item.Tipo} {item.ImpuestoTexto} {(If(item.TipoFactor = "Tasa", (TasaOCuota * 100).ToString("N4"), item.TasaOCuota))} {(If(item.TipoFactor = "Tasa", "%", ""))}", item.Importe.ToString("N2"))) + ' End If + ' Next + + ' ltotales.Add(New utilValores("Total", objxml.comprobante.Total.ToString("N2"))) + ' rdsTotales.Name = "dsTotales" + ' rdsTotales.Value = ltotales + ' MR.LocalReport.DataSources.Add(rdsTotales) + ' Dim rds2 As ReportDataSource = New ReportDataSource() + ' Dim limagenes As List(Of utilImage) = New List(Of utilImage)() + ' limagenes.Add(New utilImage(cQr)) + ' rds2.Name = "dsImagenes" + ' rds2.Value = limagenes + ' MR.LocalReport.DataSources.Add(rds2) + ' Dim rdsrelacionados As ReportDataSource = New ReportDataSource() + ' rdsrelacionados.Name = "dsRelacionados" + ' rdsrelacionados.Value = objxml.cFDIRelacionados + ' MR.LocalReport.DataSources.Add(rdsrelacionados) + ' Dim rds1 As ReportDataSource = New ReportDataSource() + ' rds1.Name = "dsConceptos" + ' rds1.Value = objxml.GetConceptosforpdf() + ' MR.LocalReport.DataSources.Add(rds1) + + ' If Not IsNothing(objxml.complemento.Pagos) Then + + ' Dim rdsp As ReportDataSource = New ReportDataSource() + ' rdsp.Name = "dsPagos" + ' rdsp.Value = objxml.complemento.Pagos.doctosRelacionados + ' MR.LocalReport.DataSources.Add(rdsp) + ' End If + + ' MR.LocalReport.ReportPath = rutaReporte + ' MR.ProcessingMode = ProcessingMode.Local + ' MR.LocalReport.EnableExternalImages = True + ' MR.LocalReport.SetParameters(parametros) + ' MR.LocalReport.Refresh() + ' Dim warnings As Warning() = Nothing + ' Dim streamids As String() = Nothing + ' Dim mimeType As String = Nothing + ' Dim encoding As String = Nothing + ' Dim extension As String = Nothing + ' Dim bytes As Byte() = Nothing + ' bytes = MR.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings) + + ' Using fs As FileStream = New FileStream(NombreArchivo, FileMode.Create) + ' fs.Write(bytes, 0, bytes.Length) + ' fs.Close() + ' End Using + ' End Using + ' Alert("PDF Generado!") + 'Else + ' Alert("no se pudo procesar el archivo xml") + 'End If - MR.LocalReport.ReportPath = rutaReporte - MR.ProcessingMode = ProcessingMode.Local - MR.LocalReport.EnableExternalImages = True - MR.LocalReport.SetParameters(parametros) - MR.LocalReport.Refresh() - Dim warnings As Warning() = Nothing - Dim streamids As String() = Nothing - Dim mimeType As String = Nothing - Dim encoding As String = Nothing - Dim extension As String = Nothing - Dim bytes As Byte() = Nothing - bytes = MR.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings) - Using fs As FileStream = New FileStream(NombreArchivo, FileMode.Create) - fs.Write(bytes, 0, bytes.Length) - fs.Close() - End Using - End Using - Alert("PDF Generado!") - Else - Alert("no se pudo procesar el archivo xml") - End If End Sub Private Sub VinculacionMasivaComplementos() diff --git a/Global.asax b/Global.asax index d37060357..92c7c2a8c 100644 --- a/Global.asax +++ b/Global.asax @@ -99,54 +99,6 @@ End Using GuardaLogAsax(String.Format("Globalasax 9:{0}", DateTime.Now)) - '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - 'P R O S P E C T O S - - 'GuardaLogAsax(String.Format("Globalasax 10:{0}", DateTime.Now)) - 'Using ObjProspectos As New ClsProspectos - 'If ObjProspectos.GetClasificacion Then Application("GlobalDTProspectosClasificaciones") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosClasificaciones") = Nothing - 'If ObjProspectos.GetClasificacion Then Application("GlobalDTProspectosClasificacionesCaracteristicas") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosClasificacionesCaracteristicas") = Nothing - 'If ObjProspectos.GetCoordinadores(-1) Then Application("GlobalDTProspectosCoordinadores") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosCoordinadores") = Nothing - 'If ObjProspectos.GetSupervisores(-1) Then Application("GlobalDTProspectosSupervisores") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosSupervisores") = Nothing - 'If ObjProspectos.GetProspectosSolicitudes(-1, -1, -1, -1, -1) Then Application("GlobalDTProspectosSolicitudes") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosSolicitudes") = Nothing - 'If ObjProspectos.GetSolicitudTipo Then Application("GlobalDTProspectosSolicitudesTipos") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosSolicitudesTipos") = Nothing - 'If ObjProspectos.GetApoyoTipo Then Application("GlobalDTProspectosApoyosTipos") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosApoyosTipos") = Nothing - 'If ObjProspectos.GetProspectoApoyo Then Application("GlobalDTProspectosApoyos") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosApoyos") = Nothing - 'If ObjProspectos.GetSolicitudEstatus Then Application("GlobalDTProspectosSolicitudesEstatus") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosSolicitudesEstatus") = Nothing - 'If ObjProspectos.GetEventosTipo(-1) Then Application("GlobalDTProspectosEventosTipo") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosEventosTipo") = Nothing - 'If ObjProspectos.GetProspectosEventos(-1, -1) Then Application("GlobalDTProspectosEvento") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosEvento") = Nothing - 'If ObjProspectos.GetProspectosTipos() Then Application("GlobalDTProspectosTipos") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosTipos") = Nothing - 'If ObjProspectos.GetProspectosEstatus() Then Application("GlobalDTProspectosEstatus") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosEstatus") = Nothing - 'If ObjProspectos.GetCaracteristicasClasificaciones(-1) Then Application("GlobalDTProspectosCaracteristicasClasificaciones") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosCaracteristicasClasificaciones") = Nothing - 'If ObjProspectos.GetTiposCaracteristicas(-1) Then Application("GlobalDTProspectosTiposCaracteristicas") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosTiposCaracteristicas") = Nothing - 'If ObjProspectos.GetCaracteristicas(-1) Then Application("GlobalDTProspectosCaracteristicas") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosCaracteristicas") = Nothing - 'If ObjProspectos.GetCaracteristicasOpciones(-1, -1) Then Application("GlobalDTProspectosCaracteristicasOpciones") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosCaracteristicasOpciones") = Nothing - 'If ObjProspectos.GetEncuestas(-1, -1) Then Application("GlobalDTProspectosEncuestas") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosEncuestas") = Nothing - 'If ObjProspectos.GetPreguntas(-1, -1, -1) Then Application("GlobalDTProspectosEncuestasPreguntas") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosEncuestasPreguntas") = Nothing - 'If ObjProspectos.GetRespuestas(-1, -1) Then Application("GlobalDTProspectosEncuestasRespuestas") = ObjProspectos.DtResultados Else Application("GlobalDTProspectosEncuestasRespuestas") = Nothing - 'End Using - - 'GuardaLogAsax(String.Format("Globalasax 11:{0}", DateTime.Now)) - - '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - 'C L A S I F I C A C I O N E S - - 'Using ObjClasificaciones As New ClsClasificaciones() - - '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - 'F A M I L I A S - 'If ObjClasificaciones.GetClasificaciones(Tipo:=2) Then Application("GlobalDTSubFamilias") = ObjClasificaciones.DtResultados Else Application("GlobalDTSubFamilias") = Nothing - - '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - 'P R E S U P U E S T O - 'If ObjClasificaciones.GetClasificaciones(Tipo:=3) Then Application("GlobalDTClasificacionesPresupuestos") = ObjClasificaciones.DtResultados Else Application("GlobalDTClasificacionesPresupuestos") = Nothing - - '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - 'C L A S I F I C A C I O N E S 2 - 'If ObjClasificaciones.GetClasificaciones(Tipo:=4) Then Application("GlobalDTClasificaciones2") = ObjClasificaciones.DtResultados Else Application("GlobalDTClasificaciones2") = Nothing - 'End Using - 'GuardaLogAsax(String.Format("Globalasax 20:{0}", DateTime.Now)) - '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ '------------------------------------------------------------------------------S I S T E M A ---------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ @@ -158,14 +110,6 @@ GuardaLogAsax(String.Format("Globalasax 35:{0}", DateTime.Now)) - '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - 'C O M B U S T I B L E S - - 'Using ObjFlotillas As New ClsFlotillas - 'If ObjFlotillas.GetCombustibles() Then Application("GlobalDTCombustibles") = ObjFlotillas.DtResultados Else Application("GlobalDTCombustibles") = Nothing - 'If ObjFlotillas.GetCombustiblesTipos(-1) Then Application("GlobalDTCombustiblesTipos") = ObjFlotillas.DtResultados Else Application("GlobalDTCombustiblesTipos") = Nothing - 'End Using - 'GuardaLogAsax(String.Format("Globalasax 39:{0}", DateTime.Now)) '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ @@ -194,26 +138,26 @@ - '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - ' R A S T R E O - Using ObjGPS As New ClsGPS - If ObjGPS.DispositivosGet(-1, -1, -1, -1) Then - If ObjGPS.DtResultados.Rows.Count > 0 Then - Application("GlobalDTDispositivos") = ObjGPS.DtResultados - Else - Application("GlobalDTDispositivos") = Nothing - End If - End If + ''------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + '' R A S T R E O + 'Using ObjGPS As New ClsGPS + ' If ObjGPS.DispositivosGet(-1, -1, -1, -1) Then + ' If ObjGPS.DtResultados.Rows.Count > 0 Then + ' Application("GlobalDTDispositivos") = ObjGPS.DtResultados + ' Else + ' Application("GlobalDTDispositivos") = Nothing + ' End If + ' End If - If ObjGPS.DispositivosUsuariosGet(-1, -1, -1, -1, -1) Then - If ObjGPS.DtResultados.Rows.Count > 0 Then - Application("GlobalDTDispositivosUsuarios") = ObjGPS.DtResultados - Else - Application("GlobalDTDispositivosUsuarios") = Nothing - End If - End If - End Using - GuardaLogAsax(String.Format("Globalasax 42:{0}", DateTime.Now)) + ' If ObjGPS.DispositivosUsuariosGet(-1, -1, -1, -1, -1) Then + ' If ObjGPS.DtResultados.Rows.Count > 0 Then + ' Application("GlobalDTDispositivosUsuarios") = ObjGPS.DtResultados + ' Else + ' Application("GlobalDTDispositivosUsuarios") = Nothing + ' End If + ' End If + 'End Using + 'GuardaLogAsax(String.Format("Globalasax 42:{0}", DateTime.Now)) 'If EsProduccion = "1" Then @@ -277,48 +221,6 @@ 'sessionData.Remove(HttpContext.Current.Session.SessionID) 'Application("s") = sessionData End Sub - -#Region "S Q L D E P E N D E N C Y" - - 'Public Sub RegisterNotification() - ' Try - ' 'Get the connection string from the Web.Config file. Make sure that the key exists and it is the connection string for the Notification Database and the NotificationList Table that we created - ' Dim connectionString As String = ConfigurationManager.ConnectionStrings("Conexion").ConnectionString - ' 'We have selected the entire table as the command, so SQL Server executes this script and sees if there is a change in the result, raise the event - ' Dim commandText As String = "SELECT [FechaNotificacion] FROM dbo.Sis_NotificacionesActualizaciones" - ' 'Start the SQL Dependency - ' SqlDependency.Start(connectionString) - ' Using connection As New SqlConnection(connectionString) - ' Using command As New SqlCommand(commandText, connection) - ' connection.Open() - ' Dim sqlDependency = New SqlDependency(command) - ' AddHandler sqlDependency.OnChange, AddressOf sqlDependency_OnChange - ' ' NOTE: You have to execute the command, or the notification will never fire. - ' Using reader As SqlDataReader = command.ExecuteReader() - ' End Using - ' End Using - ' End Using - ' Catch ex As Exception - - ' End Try - - 'End Sub - - 'Private Sub sqlDependency_OnChange(sender As Object, e As SqlNotificationEventArgs) - ' If e.Info = SqlNotificationInfo.Update Then - ' Try - ' Dim ObjNotificaciones As New ClsSisNotificaciones - ' ObjNotificaciones.ObtenerNotificaciones() - ' ObjNotificaciones.Dispose() - ' 'System.Threading.Thread.Sleep(5000) - ' RegisterNotification() - ' Catch ex As Exception - - ' End Try - ' End If - ' 'Call the RegisterNotification method again - 'End Sub - -#End Region + diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 2c538f4b3..18e714c79 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -3941,12 +3941,12 @@ Partial Class Inventarios_EntradasSalidas 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 - ErrorMovInv = True - Exit For - 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, Contabilizable:=Contabilizable) Then + ErrorMovInv = True + Exit For + End If - Next + Next End If End If End If diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx index 35fdb222e..7bdbdd133 100644 --- a/Inventarios/RecepcionAlmacen.aspx +++ b/Inventarios/RecepcionAlmacen.aspx @@ -461,25 +461,12 @@
-
-
-
- -
-
-
- - - + -
-
- - - <%-- --%> +
+
- -
+ -
@@ -494,15 +481,22 @@
-
+
- +
+ +
+ +
+ +
+ + - + @@ -513,17 +507,17 @@ - + - + - - + + diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index b1237c243..e9ddbbfe0 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -1478,7 +1478,7 @@ Partial Class Inventarios_RecepcionAlmacen e.Row.FCCheckBox("cbInv").Enabled = True If UsuarioActual.TienePermisoProceso(345) Then 'carga la cantidad con el rol AD - e.Row.FCTextBox("TbCantidadF").Text = e.Row.DBCampo("CantidadF").FormatoNumero + e.Row.FCTextBox("TbCantidadF").Text = e.Row.DBCampo("CantidadF").ToDecimal().ToString("{#,###.##}") End If End If End If diff --git a/Nomina/Finiquito.aspx.cs b/Nomina/Finiquito.aspx.cs index 9c54bca1d..7e940ecd9 100644 --- a/Nomina/Finiquito.aspx.cs +++ b/Nomina/Finiquito.aspx.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Collections.Specialized; using System.Data; using System.Linq; +using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; @@ -1105,18 +1106,32 @@ public partial class Nomina_Finiquito : ClsPaginas } else { - bool continuar = false; + bool continuar = true; using (ClsRH ObjPersonal = new ClsRH()) using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL())) { - if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, UsuarioActual.CveUsuario, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), DdlTipoPeriodo.SelectedValue.ToEntero(), DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked, TxtObservaciones.Text) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0) + onom.ValidaFechaFinPersonal(CvePersonal, UsuarioActual.CveEmpresa, TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd")); + if (onom.DtResultados.Rows.Count > 0) + { + continuar = false; + StringBuilder strbuild = new StringBuilder(); + strbuild.Append("No es posible guardar el finiquito ya que existen asistencias posteriores a la fecha fin con nominas autorizadas, es necesario desautorizar la siguientes nominas para reintentar el proceso."); + foreach (DataRow drow in onom.DtResultados.Rows) + { + strbuild.AppendFormat("
{0}", drow["PeriodoTexto"]); + } + Alert(strbuild.ToString(), TipoMensaje.MsgAdvertencia); + } + + if (continuar && ObjPersonal.UpPersonalAltas(CvePersonal, UsuarioActual.CveUsuario, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), DdlTipoPeriodo.SelectedValue.ToEntero(), DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked, TxtObservaciones.Text) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0) { DataRow da = ObjPersonal.DtResultados.Rows[0]; CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero(); CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero(); // Alert(string.Format("{0}: {1}", CvePeriodoIndemnizacion, CvePeriodoFiniquito)); } + else { continuar = false; } if (continuar) { continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa, diasindemnizacion: Txtdiasindemnizacion.Text.ToEntero()); @@ -1160,7 +1175,7 @@ public partial class Nomina_Finiquito : ClsPaginas dtempleadosConceptos = null; dtempleados = null; LnkAutorizar.Visible = true; - if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal,Neto:1) && objnom.DTSetResultados.Tables.Count > 1) + if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal, Neto: 1) && objnom.DTSetResultados.Tables.Count > 1) { dtempleados = objnom.DTSetResultados.Tables[3]; LnkAutorizar.Visible = (dtempleados.COUNT("CvePersonal", "NomAutorizado =0") > 0); diff --git a/Presupuestos/Reportes/RepPresupuesto.rdlc b/Presupuestos/Reportes/RepPresupuesto.rdlc deleted file mode 100644 index 7687e8abf..000000000 --- a/Presupuestos/Reportes/RepPresupuesto.rdlc +++ /dev/null @@ -1,1022 +0,0 @@ - - - - - - - - - 2.74518cm - - - 7.4cm - - - 1.95cm - - - 2.25cm - - - 2.25cm - - - 2.25cm - - - - - 0.67937cm - - - - - true - true - - - - - # - - - - - - - Textbox19 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox21 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Unidad - - - - - - - Textbox23 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cantidad - - - - - - - Textbox25 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Precio U. - - - - - - - Textbox27 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox3 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - - =Fields!Conse.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Descripcion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - - =Fields!Unidad.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!PU.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - Total: - - - - - - - Textbox30 - - - 2pt - 2pt - 2pt - 2pt - - - 4 - - - - - - - - - true - true - - - - - =Sum(Fields!PU.Value) - - - - - - - Importe2 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!Importe.Value) - - - - - - - Textbox6 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - After - - - - - - Before - - - - DataSet1 - 3.55823cm - 0.76729cm - 1.87937cm - 18.84518cm - - - - - - - - true - true - - - - - Presupuesto: - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - PS: - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Unidad: - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Cliente: - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha: - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - [@Presupuesto] - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!PS.Value - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - [@Cliente] - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - [@Fecha] - - - 2pt - 2pt - 2pt - 2pt - - - - true - 0.41688cm - 0.76729cm - 2.05021cm - 18.84518cm - 1 - - - - - - 27.94cm - - - - - 29.7cm - 21cm - 2cm - 2cm - 2cm - 2cm - 0.13cm -