From c219696a9972b6f80e78b64d67829955d8a76b33 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 28 Feb 2023 17:55:37 -0700 Subject: [PATCH 1/3] -- cambio a globalDTRHPersonal --- Bancos/IE.aspx.vb | 50 ++++++++++++----------------------------------- 1 file changed, 12 insertions(+), 38 deletions(-) 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) From 845c8cbd6ac7c1beb398adc8ff052fcc252dcf3b Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 28 Feb 2023 20:50:02 -0700 Subject: [PATCH 2/3] --cambio en estatus de lineas adicionales --- Ventas/RepLineasAdicionales.aspx | 8 +++---- Ventas/RepLineasAdicionales.aspx.cs | 33 ++++++++++++----------------- Ventas/Ventas.aspx.vb | 4 ++-- 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/Ventas/RepLineasAdicionales.aspx b/Ventas/RepLineasAdicionales.aspx index 8a2cad2c4..54db3adcd 100644 --- a/Ventas/RepLineasAdicionales.aspx +++ b/Ventas/RepLineasAdicionales.aspx @@ -122,13 +122,13 @@ - + @@ -151,12 +151,12 @@ CssClass="btn btn-circle btn-sm yellow" Text="" OnClick="LnkDescargaComprobante_Click" ToolTip="Descargar Comprobante" /> -
+
+ ToolTip="Cambiar estatus a Enviado" />
diff --git a/Ventas/RepLineasAdicionales.aspx.cs b/Ventas/RepLineasAdicionales.aspx.cs index b8328d80a..9f3eedff3 100644 --- a/Ventas/RepLineasAdicionales.aspx.cs +++ b/Ventas/RepLineasAdicionales.aspx.cs @@ -244,7 +244,6 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas FileExtension = System.IO.Path.GetExtension(string.Format(@"{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", ""); filemove = fileItem.filename; RutaArchivoTemp = $@"{AppDomain.CurrentDomain.BaseDirectory}\Temp\{fileItem.filename}"; - break; } @@ -266,8 +265,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas catch { errorCargaComprobante = true; - } - + } if (!errorCargaComprobante) { ClsVentas objVentas = new ClsVentas(); @@ -295,28 +293,22 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas { GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer; int CveLineaAdicionalActualzarEstatus = GvRow.DataKey("CveLineaAdicional").ToEntero(); - int CveVenta = GvRow.DataKey("CveVenta").ToEntero(); - + int CveVenta = GvRow.DataKey("CveVenta").ToEntero(); bool errorCambioEstatus = false; - ClsVentas objVentas = new ClsVentas(); - - if (!objVentas.UpdateVentaLineaAdicional(CveLineaAdicional, CveVenta, "",2,UsuarioActual.CveEmpresa)) + if (!objVentas.UpdateVentaLineaAdicional(CveLineaAdicional, CveVenta, "", 2, UsuarioActual.CveEmpresa)) { errorCambioEstatus = true; } - if (!errorCambioEstatus) { CargaDatos(); } objVentas.Dispose(); - } - + } protected void LnkDescargaExcel_Click(object sender, EventArgs e) - { - + { if(TipoLinea == 1) { GridView gvTemp = GvLineasAdicionales; @@ -329,8 +321,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas gvTemp.Columns[12].Visible = false; //gvTemp.ExportToExcelX("ReportePO" + DateTime.Now.ToShortDateString()); gvTemp.ExportToExcelGembox( "ReportePO", UsuarioActual, "Reporte PO ", AnchoImagen:150); - } - + } } protected void GvLAPO_RowDataBound(object sender, GridViewRowEventArgs e) @@ -346,7 +337,11 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas { if (e.Row.DataKey("CveLineaAdicional") == "" && e.Row.DataKey("CveCliente") == "") { - e.Row.CssClass = "SubTotales2"; + e.Row.CssClass = "SubTotales2"; + if (e.Row.DataKey("CveLineaAdicional") == "" && e.Row.DataKey("CveCliente") == "" && e.Row.DataKey("CveProveedor") != "") + { + e.Row.Cells[0].Text = ""+ e.Row.DBCampo("Proveedor") +""; + } } else { @@ -374,8 +369,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas LnkDescargaComprobante.Visible = true; ScriptManager.GetCurrent(this).RegisterPostBackControl(LnkDescargaComprobante); } - } - + } } } } @@ -410,8 +404,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas //int cveestatus = e.CommandArgument.ToEntero() + 2; //pasar al siguiente estatus ClsVentas objVentas = new ClsVentas(); - - if (!objVentas.UpdateLineasAdicionales(CveLineaAdicionalActualizarEstatus, "-1", -1, -1, -1, -1, -1, MinFecha, UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, CveVenta: CveVenta, CveLineaAdicionalEstatus: 2)) + if (!objVentas.UpdateVentaLineaAdicional(CveLineaAdicional, CveVenta,"", 2, UsuarioActual.CveEmpresa)) { errorCambioEstatus = true; } diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 456043f51..edcebf4ec 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -36467,8 +36467,8 @@ Partial Class Ventas End If Using ObjVentas As New ClsVentas - If ObjVentas.UpdateVentaLineaAdicional(DdlLineaAdicional.SelectedValue.ToEntero(), Me.CveVenta, UsuarioActual.CveEmpresa) Then - Alert("Se actualizo la linea adicional de crédito de la venta") + If ObjVentas.UpdateVentaLineaAdicional(DdlLineaAdicional.SelectedValue.ToEntero(), CveVenta, "", -1, UsuarioActual.CveEmpresa) Then + Alert("Se actualizó la linea adicional de crédito de la venta") End If End Using End Sub From 8b9f96b76879f6864120ba7409b0e61a0498a295 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 1 Mar 2023 06:59:27 -0700 Subject: [PATCH 3/3] - cmabios en prepolizaspago compra --- App_Code/ClsPaginas.vb | 46 +- Bancos/PopIECompras.aspx | 6 +- Bancos/PopIECompras.aspx.vb | 2215 +++++------------------------------ 3 files changed, 299 insertions(+), 1968 deletions(-) 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/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