diff --git a/Bancos/ClientesAbonar.aspx.vb b/Bancos/ClientesAbonar.aspx.vb
deleted file mode 100644
index 84c7e3940..000000000
--- a/Bancos/ClientesAbonar.aspx.vb
+++ /dev/null
@@ -1,2845 +0,0 @@
-Imports System.Data
-Imports Extensiones
-
-Partial Class Ventas_ClientesAbonar
- Inherits ClsPaginas
-
-
-#Region "Propiedades"
- Private ReadOnly Property CveCliente As Integer
- Get
- Return ViewState("CveCliente").ToString.ToEntero
- End Get
- End Property
- Private Property CveMoneda As Integer
- Get
- Return ViewState("CveMoneda").ToString.ToEntero
- End Get
- Set(value As Integer)
- ViewState("CveMoneda") = value
- End Set
- End Property
- Private Property CveMonedaPago As Integer
- Get
- Return ViewState("CveMonedaPago").ToString.ToEntero
- End Get
- Set(value As Integer)
- ViewState("CveMonedaPago") = value
- End Set
- End Property
- Private Property CveMonedaFiltro As Integer
- Get
- Return IfNull(ViewState("CveMonedaFiltro"), "0").ToString.ToEntero
- End Get
- Set(value As Integer)
- ViewState("CveMonedaFiltro") = value
- End Set
- End Property
- Private Property FechaIngreso As Date
- Get
- Return ViewState("FechaIngreso").ToString.ToDate
- End Get
- Set(value As Date)
- ViewState("FechaIngreso") = value
- End Set
- End Property
- Private Property CveSubProyecto As Integer
- Get
- Return ViewState("CveSubProyecto").ToString.ToEntero
- End Get
- Set(value As Integer)
- ViewState("CveSubProyecto") = value
- End Set
- End Property
- Private Property CveClienteSucursal As Integer
- Get
- Return If(IsNothing(ViewState("CveClienteSucursal")), -1, ViewState("CveClienteSucursal").ToString.ToEntero)
- End Get
- Set(value As Integer)
- ViewState("CveClienteSucursal") = 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
- Private Property DtIngresos As DataTable
- Get
- Return CType(ViewState("DtIngresos"), DataTable)
- End Get
- Set(value As DataTable)
- ViewState("DtIngresos") = value
- End Set
- End Property
- Private Property DtPrestamos As DataTable
- Get
- Return CType(ViewState("DtPrestamos"), DataTable)
- End Get
- Set(value As DataTable)
- ViewState("DtPrestamos") = value
- End Set
- End Property
- Private Property NombreComercial As String
- Get
- Return ViewState("NombreComercial").ToString
- End Get
- Set(value As String)
- ViewState("NombreComercial") = value|
- End Set
- End Property
- Private Property Mail As String
- Get
- If ViewState("Mail") Is Nothing Then
- Return ""
- Else
- Return ViewState("Mail").ToString
- End If
- End Get
- Set(value As String)
- ViewState("Mail") = value
- End Set
- End Property
- Private Property CFDIRelacionadoSustitucion As String
- Get
- If ViewState("CFDIRelacionadoSustitucion") Is Nothing Then
- Return "-1"
- Else
- Return ViewState("CFDIRelacionadoSustitucion").ToString
- End If
- End Get
- Set(value As String)
- ViewState("CFDIRelacionadoSustitucion") = value
- End Set
- End Property
- Private Property FechaCorteIE As DateTime
- Get
- Return ViewState("FechaCorteIE").ToString.ToDateTime
- End Get
- Set(value As DateTime)
- ViewState("FechaCorteIE") = value
- End Set
- End Property
- Private Property IDPoliza As Integer
- Get
- Return ViewState("IDPoliza").ToString.ToEntero
- End Get
- Set(value As Integer)
- ViewState("IDPoliza") = value
- End Set
- End Property
- Private Property FolioIECancelado As String
- Get
- If ViewState("FolioIECancelado") Is Nothing Then
- Return "-1"
- Else
- Return ViewState("FolioIECancelado").ToString
- End If
- End Get
- Set(value As String)
- ViewState("FolioIECancelado") = value
- End Set
- End Property
- Private Property ComplementoSustitucionGenerado As Boolean
- Get
- Return CBool(ViewState("ComplementoSustitucionGenerado"))
- End Get
- Set(value As Boolean)
- ViewState("ComplementoSustitucionGenerado") = value
- End Set
- End Property
- Private Property Fecha As Date
- Get
- Return ViewState("Fecha").ToString.ToDate
- End Get
- Set(value As Date)
- ViewState("Fecha") = value
- End Set
- End Property
-#End Region
-
- Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
- If Not Page.IsPostBack Then
- CveMonedaPago = -1
- If Request("CveCliente") IsNot Nothing AndAlso Request("CveCliente").ToString.ToEntero > 0 Then
- ViewState("CveCliente") = Request("CveCliente").ToString.ToEntero
- 'ViewState("CveUsuario") = IfNultl(Request("CveUsuario"), "-1").ToStrirowComisionesng.ToEntero
- ViewState("CveMonedaFiltro") = IfNull(Request("CveMoneda"), "-1").ToString.ToEntero
- ViewState("CveMoneda") = IfNull(Request("CveMoneda"), "-1").ToString.ToEntero
- ViewState("FechaI") = IfNull(Request("FechaI"), "-1").ToString.ToEntero
- ViewState("FechaE") = IfNull(Request("FechaE"), "-1").ToString.ToEntero
- ViewState("CveSubProyecto") = IfNull(Request("CveSubProyecto"), "-1").ToString.ToEntero
- ViewState("CveClienteSucursal") = IfNull(Request("CveClienteSucursal"), "-1").ToString.ToEntero
-
- DdlProveedorIntermediario.setEsWebService(True)
- DdlProveedorIntermediario.Attributes.Add("data-metodo", "getproveedores")
- DdlProveedorIntermediario.SelectedText = "Seleccione"
- DdlProveedorIntermediario.SelectedValue = "-1"
-
- FechaCorteIE = DateTime.Now
-
- Dim dia As Integer = If(UsuarioActual.CveEmpresa = 13, Now.Day - 1, Now.Day)
- Fecha = (dia.ToString + "/" + Now.Month.ToString + "/" + Now.Year.ToString).ToDate
-
- If UsuarioActual.Empresa.Funcionalidad(712) = "1" Then
- PorletIntermediario.Visible = True
- End If
-
- If CargaCliente(CveCliente, CveMonedaFiltro) Then
-
- IdCuentaBancaria = 0
-
- TxtOtrosImportes.Attributes.Add("onKeyUp", String.Format("FnSuma(this,{0},{1},-1);", "TxtTotal", 0))
- 'TxtAnticipo.Attributes.Add("onKeyUp", String.Format("FnSuma(this,{0},{1},-1);", "null", 0))
-
- If CveMoneda > 0 Then LbTipoMoneda.Text = String.Format("Pago en {0}", GlobalDTMonedas.FiltraParametros(String.Format("CveMoneda = {0}", CveMoneda)).Rows(0)("Moneda"))
-
- If CveMoneda = 2 Then
- ChkPagarPesos.Visible = True
- TxtTC.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- TxtTCDolaresDolares.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- DivTCDolaresDolares.Visible = True
- TxtFechaDocumento.Attributes.Add("onchange", "CambiaTC(this);")
- ElseIf CveMoneda = 1 Then
- ChkPagarDolares.Visible = True
- TxtTCDolares.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- ElseIf CveMoneda = -1 Then
- TxtFechaDocumento.Attributes.Add("onchange", "CambiaTC(this);")
- TxtTCDolares.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- TxtTC.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- End If
-
- If UsuarioActual.TienePermisoProceso(209) Or UsuarioActual.TienePermisoProceso(204) Then
- HlSaldarCuentasIncobrables.Visible = True
- End If
-
- End If
-
- If CveMonedaFiltro = -1 Then
- ChkPagarPesos.Visible = False
- ChkPagarDolares.Visible = False
- End If
-
- RegistraScript($"TipoCambioActual = {GlobalTipoCambio(Fecha).FormatoNumero(4)}")
- End If
-
- RVTxtFechaDocumento.MaximumValue = Now.ToString("dd/MM/yyyy")
-
-
- If UsuarioActual.CveEmpresa.Contiene(13, 83, 158) Then
- LnkAccionesModalSeleccionLayout.Visible = True
-
- End If
-
- End If
-
- If (CveMonedaFiltro = 2 And ChkPagarPesos.Checked) Then
- RegistraScript("document.getElementById('DivTC').style.display = 'block';")
- End If
-
- End Sub
-
- Private Sub CargaTipoTransaccion()
- DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros("Tipo = 'Ing' AND Estatus = 1 ")
- DdlTipoTransaccion.DataBind()
- DdlTipoTransaccion.Items.Insert(0, New ListItem("Seleccione Tipo Movimiento", "-1"))
- RecargaCuentasDepositos()
- End Sub
-
- Private Sub CargaCuentas()
- DdlCuenta.Items.Clear()
- Dim CveTipoCuenta As Integer = 2
- If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then CveTipoCuenta = -1 'que se muestren todas, para empresa acumuladores
-
- Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa, CveTipoCuenta:=CveTipoCuenta)
-
- If ChkPagarPesos.Checked Then
- dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", 1))
- RegistraScript("CambiaPesosDolares();")
- ElseIf ChkPagarDolares.Checked Then
- dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", 2))
- RegistraScript("CambiaDolaresPesos();")
- Else
- If CveMonedaFiltro > 0 Then
- dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", CveMonedaFiltro))
- End If
- End If
-
- DdlCuenta.DataSource = dt
- DdlCuenta.DataBind()
- DdlCuenta.Items.Insert(0, New ListItem("Seleccione cuenta", "-1"))
- End Sub
-
- Private Function CargaCliente(tCveCliente As Integer, tCveMoneda As Integer) As Boolean
- Dim Retorno As Boolean = False
- Dim ObjCliente As New ClsClientes()
- If ObjCliente.GetClientes(tCveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1, TipoCliente:=-1) Then
- If ObjCliente.DtResultados.Rows.Count > 0 Then
- Retorno = True
- CargaCuentas()
- CargaTipoTransaccion()
-
- TxtFechaDocumento.Text = Now.ToShortDateString.ToString
- TxtAboneA.Enabled = False
- LbEncabezado.Text = String.Format("{1}", CveCliente, ObjCliente.NombreComercial)
- TxtAboneA.Text = ObjCliente.NombreComercial
- NombreComercial = ObjCliente.NombreComercial
- TxtImporte.Attributes.Add("disabled", "disabled")
- If DdlTipoTransaccion.SelectedValue = "1" Then RFVFolio.Enabled = True Else RFVFolio.Enabled = False
- Mail = String.Format("{0};{1}", ObjCliente.CobranzaCorreo, ObjCliente.NotificarA)
-
- If Request("FechaI") IsNot Nothing Then ViewState("FechaI") = Request("FechaI") Else ViewState("FechaI") = "-1"
- If Request("FechaF") IsNot Nothing Then ViewState("FechaF") = Request("FechaF") Else ViewState("FechaF") = "-1"
-
- If UsuarioActual.Empresa.Funcionalidad(590) = "1" Then
-
- divAnticipo.Visible = True
- divPrestamo.Visible = True
-
- GvCxC.Columns(17).HeaderText = "Comisión
Venta" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol1).FiltroPrimeroValor("Clasificacion").Substring(0, 10)
- GvCxC.Columns(18).HeaderText = "Gastos
Manejo" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol2).FiltroPrimeroValor("Clasificacion").Substring(0, 12)
- GvCxC.Columns(19).HeaderText = "Servicio
Inspección" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol3).FiltroPrimeroValor("Clasificacion").Substring(0, 12)
- GvCxC.Columns(20).HeaderText = "Seguro" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol4).FiltroPrimeroValor("Clasificacion").Substring(0, 12)
- GvCxC.Columns(21).HeaderText = "Aduana
Mex" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol5).FiltroPrimeroValor("Clasificacion").Substring(0, 12)
- GvCxC.Columns(22).HeaderText = "Diversos" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol6).FiltroPrimeroValor("Clasificacion").Substring(0, 12)
- GvCxC.Columns(23).HeaderText = "Aduana
USA" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol7).FiltroPrimeroValor("Clasificacion").Substring(0, 12)
- GvCxC.Columns(24).HeaderText = "Material
Empaque" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol7).FiltroPrimeroValor("Clasificacion").Substring(0, 12)
- GvCxC.Columns(25).HeaderText = "Semilla" 'GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacionCol7).FiltroPrimeroValor("Clasificacion").Substring(0, 12)
- GvCxC.Columns(26).HeaderText = "Total
Gastos"
-
- DvLiquidacion1.Visible = True
- DvLiquidacion2.Visible = True
-
- DtIngresos = CargaIngresos(2)
- DtPrestamos = CargaPrestamos(1)
- End If
-
- CargaDatos(tCveMoneda)
- Else
- Alert("El Cliente Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
- End If
- End If
- ObjCliente.Dispose()
- Return Retorno
- End Function
-
- Private Sub CargaDatos(pCveMoneda As Integer)
- Dim Mov As New ClsMovimientos
- Dim FechaI As String = IfNull(Request("FechaI"), "-1")
- Dim FechaF As String = IfNull(Request("FechaF"), "-1")
-
- Dim FechaCorte As Date = DateTime.Now.AddYears(1).ToShortDateString.ToString.ToDate
-
- Dim SumDescuentoProntoPago As Double = 0.0
- If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte) Then
- Dim TmpCxCAux As DataTable
- TmpCxCAux = Mov.DtResultados.FiltraParametros("Saldo > 0", "Fecha,SerieFolio")
- SumDescuentoProntoPago = TmpCxCAux.SUM("DescuentoProntoPago")
-
- GvCxC.DataSource = Mov.DtResultados.FiltraParametros("Saldo > 0", "Fecha,SerieFolio")
- CveMoneda = pCveMoneda
-
- End If
- Mov.Dispose()
- GvCxC.DataBind()
-
- TxtImporte.Text = ""
- TxtObservaciones.Text = ""
- If SumDescuentoProntoPago > 0.0 Then
- GvCxC.Columns(14).Visible = True 'MOSTRAR DESCUENTO PRONTO PAGO
- If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
- GvCxC.Columns(15).Visible = True 'HABILITAR NC
- End If
- End If
-
- UPVentas.Update()
- End Sub
-
- Protected Sub DdlCuenta_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCuenta.SelectedIndexChanged
- 'recargo la moneda con la que se va a pagar
- Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue)
- Dim moneda As Integer = 0
- If DdlCuenta.SelectedValue > 0 Then
- moneda = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero}").ToEntero
- End If
-
- CveMonedaPago = moneda
-
- If dr IsNot Nothing Then
- If ChkPagarPesos.Checked Then
- CveMoneda = 2
- RegistraScript("document.getElementById('DivTC').style.display = 'block';")
- RegistraScript("CambiaPesosDolares();")
- TxtTC.Attributes.Add("onkeyup", String.Format("FnCambia(0,0,0,0,1,{0});", moneda))
- ElseIf ChkPagarPesos.Checked = False Then
- CveMoneda = dr("CveMoneda").ToString.ToEntero
- RegistraScript("document.getElementById('DivTC').style.display = 'none';")
- RegistraScript("CambiaDolaresPesos();")
- TxtTC.Attributes.Add("onkeyup", String.Format("FnCambia(0,0,0,0,1,{0});", moneda))
- End If
-
- If ChkPagarDolares.Checked Then
- CveMoneda = 1
- TxtTCDolares.Attributes.Add("onkeyup", String.Format("FnCambia(0,0,0,0,1,{0});", moneda))
- End If
- ValidaCuentaDePagoFormaDePago()
- End If
-
- CargaDatos(CveMoneda)
-
-
- ' si no tiene CveMoneda, o es -1, cuando cambia de cuenta filtra las facturas
- If IfNull(Request("CveMoneda"), "-1").ToString.ToEntero = -1 Then
- CargaDatos(-1)
-
- moneda = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero}").ToEntero
- If moneda = 1 Then
- 'DivTC.Visible = True
- DivTCDolares.Visible = False
- TxtTC.Attributes.Add("onkeyup", String.Format("FnCambia(0,0,0,0,-1,{0});", moneda))
- ElseIf moneda = 2 Then
- 'DivTC.Visible = False
- RegistraScript("document.getElementById('DivTC').style.display = 'none';")
- DivTCDolares.Visible = True
- TxtTCDolares.Attributes.Add("onkeyup", String.Format("FnCambia(0,0,0,0,-1,{0});", moneda))
- End If
- End If
-
- If HdnTipoTransaccion.Value = "Ing" AndAlso UsuarioActual.Empresa.Funcionalidad(505) <> "1" Then
- If UsuarioActual.CveEmpresa = 119 Then
- Dim ObjFolios As New ClsGralFolios
- If ObjFolios.GetFolios("RMF", UsuarioActual.CveEmpresa) Then
- Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" Estado = 'Activo'"))
- If DT.Rows.Count > 0 Then
- TxtFolio.Text = DT.Rows(0)("FActual").ToString.ToEntero
- End If
- ObjFolios.Dispose()
- End If
- Else
- Dim Folio As Long
- Dim Banco As New ClsBancos
- Folio = Banco.GetNextFolio(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero)
- Banco.Dispose()
- TxtFolio.Text = Folio.ToString
-
- End If
-
- Else
- TxtFolio.Text = ""
-
- End If
-
-
- End Sub
-
- Protected Sub DdlTipoTransaccion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoTransaccion.SelectedIndexChanged
- Dim dr As DataRow = GlobalDTTipoTransacciones.FiltroPrimero(String.Format("CveTipoTransaccion = {0}", DdlTipoTransaccion.SelectedValue)) 'Egs o Ing
- If dr IsNot Nothing Then
- HdnTipoTransaccion.Value = dr("Tipo").ToString
- End If
- RecargaCuentasDepositos()
- 'CargaCuentas()
- ValidaCuentaDePagoFormaDePago()
- End Sub
-
- Protected Sub GvCxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxC.RowDataBound
-
- If e.Row.RowType = DataControlRowType.DataRow Then
- Dim moneda As Integer = 0
- If e.Row.RowIndex = 0 Then
- e.Row.BackColor = Drawing.Color.LightGray
- e.Row.FCDropDownList("DdlTG").Visible = False
- e.Row.FCTextBox("TxtLiqCol1").Visible = False
- e.Row.FCTextBox("TxtLiqCol2").Visible = False
- e.Row.FCTextBox("TxtLiqCol3").Visible = False
- e.Row.FCTextBox("TxtLiqCol4").Visible = False
- e.Row.FCTextBox("TxtLiqCol5").Visible = False
- e.Row.FCTextBox("TxtLiqCol6").Visible = False
- e.Row.FCTextBox("TxtLiqCol7").Visible = False
- e.Row.FCTextBox("TxtLiqCol8").Visible = False
- e.Row.FCTextBox("TxtLiqCol9").Visible = False
- e.Row.FCTextBox("TxtLiqColT").Visible = False
- e.Row.FCTextBox("TxtAmort").Visible = False
- e.Row.FCTextBox("TxtAmort2").Visible = False
- e.Row.FCDropDownList("DdlAnti").Visible = False
- e.Row.FCDropDownList("DdlAnti2").Visible = False
-
- End If
- If e.Row.RowIndex = 1 Then
- e.Row.Cells(0).Width = Unit.Pixel(25)
- e.Row.Cells(1).Width = Unit.Pixel(90)
- e.Row.Cells(2).Width = Unit.Pixel(70)
- e.Row.Cells(3).Width = Unit.Pixel(70)
- e.Row.Cells(6).Width = Unit.Pixel(50)
- e.Row.Cells(7).Width = Unit.Pixel(70)
- e.Row.Cells(8).Width = Unit.Pixel(50)
- 'e.Row.Cells(9).Width = Unit.Pixel(90)
- 'e.Row.Cells(10).Width = Unit.Pixel(80)
- 'e.Row.Cells(11).Width = Unit.Pixel(60)
- End If
-
- e.Row.Cells(9).HorizontalAlign = HorizontalAlign.Right
- e.Row.Cells(10).HorizontalAlign = HorizontalAlign.Right
-
- If e.Row.DBCampo("Saldo").ToDecimal < 0 Then e.Row.Cells(11).ForeColor = Drawing.Color.Red
- If e.Row.DBCampo("DiasVencidos").ToDecimal > 0 AndAlso CType(sender, GridView).ID = "GvCxC" Then e.Row.Cells(5).ForeColor = Drawing.Color.Red
- If e.Row.DBCampo("Original").ToDecimal = 0 Then DirectCast(e.Row.FindControl("LtlSaldoOriginal"), Literal).Text = ""
- If e.Row.DBCampo("Abonado").ToDecimal = 0 Then DirectCast(e.Row.FindControl("LtlAbonado"), Literal).Text = ""
- If e.Row.DBCampo("Saldo").ToDecimal = 0 Then DirectCast(e.Row.FindControl("LtlSaldo"), Literal).Text = ""
-
- Select Case RblTipoPago.SelectedValue
- Case "1"
- If DdlCuenta.SelectedValue > 0 Then
- moneda = CveMonedaPago
- ElseIf RblTipoPago.SelectedValue = "1" Then
- e.Row.FCCheckBox("Chk").Enabled = False
- e.Row.FCTextBox("TxtAbonar").Enabled = False
- End If
- Case "3"
- moneda = CveMonedaPago
-
- End Select
-
- If e.Row.DBCampo("DescuentoProntoPago").ToDecimal() > 0 Then
- e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1},{5}); FnCambia({2},this,{1},0,{3},{4}); FnSeleccionaNC({5},{6},{0});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"), e.Row.FCCheckBox("Chk").ClientID, CveMonedaFiltro, moneda, e.Row.FCCheckBox("Chk").ClientID, e.Row.FCCheckBox("ChkGenerarNC").ClientID, e.Row.DBCampo("CveVenta")))
- Else
- e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1},{5}); FnCambia({2},this,{1},0,{3},{4},{5});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"), e.Row.FCCheckBox("Chk").ClientID, CveMonedaFiltro, moneda, e.Row.DBCampo("CveVenta")))
- End If
-
- If Not UsuarioActual.Empresa.Funcionalidad(536) = "1" Then
- If e.Row.DBCampo("TipoDocto") = "Rem" Then
- e.Row.FCCheckBox("Chk").Visible = False ' que no se pueda pagar si es remisión
- e.Row.Cells(0).ToolTip = "El documento es remisión y no se puede realizar el pago"
- End If
- End If
-
-
- If e.Row.DBCampo("CveVenta").ToEntero > 0 Then
- e.Row.FCLiteral("LtlAux").Text = String.Format("Ir", e.Row.DBCampo("CveCliente").ToEntero, e.Row.DBCampo("CveVenta").ToEntero)
- e.Row.FCTextBox("TxtAbonar").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},1,{2},{3});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), CveMonedaFiltro, moneda))
-
- If UsuarioActual.Empresa.Funcionalidad(157).ToDecimal <> 0 Then
- e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnLimites({0},this,{1},{2},2);", e.Row.FCCheckBox("Chk").ClientID, -UsuarioActual.Empresa.Funcionalidad(157), UsuarioActual.Empresa.Funcionalidad(157).ToString.ToDecimal))
- e.Row.FCRangeValidator("RVComision").MinimumValue = -UsuarioActual.Empresa.Funcionalidad(157).ToString.ToDecimal
- e.Row.FCRangeValidator("RVComision").MaximumValue = UsuarioActual.Empresa.Funcionalidad(157).ToString.ToDecimal
- e.Row.FCRangeValidator("RVComision").Enabled = True
- Else
- e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2,{2},{3});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), CveMonedaFiltro, moneda))
- e.Row.FCRangeValidator("RVComision").MinimumValue = 0.00
- e.Row.FCRangeValidator("RVComision").MaximumValue = e.Row.DBCampo("Saldo")
- End If
-
- If e.Row.DBCampo("DescuentoProntoPago").ToDecimal() > 0 AndAlso e.Row.DBCampo("DiasVencidos").ToEntero() <= 5 Then
- e.Row.FCCheckBox("ChkGenerarNC").Visible = True
- e.Row.FCCheckBox("ChkGenerarNC").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1},{5}); FnCambia({2},this,{1},0,{3},{4}); FnEditarImporte({2}, {0});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo").ToDecimal - e.Row.DBCampo("DescuentoProntoPago").ToDecimal, e.Row.FCCheckBox("ChkGenerarNC").ClientID, CveMonedaFiltro, moneda, e.Row.DBCampo("CveVenta")))
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(590) = "1" Then '' si es empresa agrícola
-
- e.Row.FCDropDownList("DdlTG").DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
- e.Row.FCDropDownList("DdlTG").DataBind()
-
- e.Row.FCTextBox("TxtLiqCol1").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtLiqCol2").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtLiqCol3").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtLiqCol4").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtLiqCol5").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtLiqCol6").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtLiqCol7").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtLiqCol8").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtLiqCol9").Attributes.Add("class", $"ClsSelLiq ClsSelLiqVenta{e.Row.DBCampo("CveVenta")}")
-
- e.Row.FCTextBox("TxtLiqColT").Attributes.Add("class", $"ClsSelLiqVentaTotal{e.Row.DBCampo("CveVenta")}")
- e.Row.FCTextBox("TxtAmort").Attributes.Add("class", $"ClsSelLiqAnt")
- e.Row.FCTextBox("TxtAmort2").Attributes.Add("class", $"ClsSelLiqAnt")
-
- e.Row.FCTextBox("TxtLiqCol1").Attributes.Add("onkeyup", $"SumaLiq (this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtLiqCol2").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtLiqCol3").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtLiqCol4").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtLiqCol5").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtLiqCol6").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtLiqCol7").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtLiqCol8").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtLiqCol9").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtAmort").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
- e.Row.FCTextBox("TxtAmort2").Attributes.Add("onkeyup", $"SumaLiq(this,{e.Row.DBCampo("CveVenta")},{CveMonedaFiltro},{ moneda})")
-
- e.Row.FCDropDownList("DdlAnti").DataSource = DtIngresos
- e.Row.FCDropDownList("DdlAnti").DataBind()
- e.Row.FCDropDownList("DdlAnti").Items.Insert(0, New ListItem("-", "-1"))
-
- e.Row.FCDropDownList("DdlAnti2").DataSource = DtIngresos
- e.Row.FCDropDownList("DdlAnti2").DataBind()
- e.Row.FCDropDownList("DdlAnti2").Items.Insert(0, New ListItem("-", "-1"))
-
- End If
-
- Else
- e.Row.FCTextBox("TxtAbonar").Visible = False
- e.Row.FCTextBox("TxtComision").Visible = False
- e.Row.FCCheckBox("Chk").Visible = False
- End If
-
- If e.Row.DBCampo("CveVenta").ToEntero > 0 Then
- If e.Row.DataKey("ClaveMetodoPagoSAT") = "PUE" Then
- e.Row.FCLiteral("LtlComplemento").Text = ""
- End If
- Else
- e.Row.FCLiteral("LtlComplemento").Visible = False
- End If
-
- End If
- End Sub
-
- Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
-
- 'SI ES EMPRESA DE ACUMULADORES DEBE OBLIGAR A SUBIR UN ARCHIVO
- If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
- Dim files = Anexo.getfiles()
- If files IsNot Nothing Then
- If files.Archivos IsNot Nothing Then
- If files.Archivos.Count = 0 Then
- Alert("Debe anexar un archivo", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- Else
- Alert("Debe anexar un archivo", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- Else
- Alert("Debe anexar un archivo", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- End If
-
- If RblTipoPago.SelectedValue = "1" Then
-
- Dim ValFechaDocumento As Boolean = False
- Dim FoliosFechasValFechaDocumento As New StringBuilder
- FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha de mes superior al mes del pago:
")
-
- For Each gvRowVal As GridViewRow In GvCxC.Rows
-
- If gvRowVal.FCCheckBox("Chk").Checked Then
-
- Dim FechaFactura As Date = gvRowVal.DataKey("Fecha").ToDate
- Dim FechaDocumento As Date = TxtFechaDocumento.Text.ToDate
-
- Dim AnioFactura As Integer = FechaFactura.Year
- Dim MesFactura As Integer = FechaFactura.Month
-
- Dim AnioDocumento As Integer = FechaDocumento.Year
- Dim MesDocumento As Integer = FechaDocumento.Month
-
- If UsuarioActual.Empresa.UsaAC = False Then
- If AnioFactura > AnioDocumento Then
- FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("Fecha").ToDate.ToString("dd/MM/yyyy") }
")
- ValFechaDocumento = True
- ElseIf AnioFactura = AnioDocumento And MesFactura > MesDocumento Then
- FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("Fecha").ToDate.ToString("dd/MM/yyyy") }
")
- ValFechaDocumento = True
- End If
-
- End If
- End If
- Next
-
- If ValFechaDocumento Then
- Alert(FoliosFechasValFechaDocumento.ToString, TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- End If
-
- If Not TxtImporte.Text.ToDecimal > 0 Then
- Alert("Debe de llevar un Importe", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- If Not (TxtFolio.Text.Trim <> "" Or RblTipoPago.SelectedValue = "2" Or RblTipoPago.SelectedValue = "3") Then
- Alert("Debe de llevar un Folio", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- If TxtPrestamoImporte.Text.ToDecimal <> 0 AndAlso DdlPrestamo.SelectedValue = "-1" Then
- Alert("Debe seleccionar un préstamo al especificar un valor.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- 'valida que no exceda lo seleccionado. con el valor del ie
- If (RblTipoPago.SelectedValue = "3" AndAlso HdnIngresoImporte.Value.ToDecimal < TxtTotal.Text.ToDecimal) Then
- Alert("Importe excedido para la aplicación", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- Dim Cuenta As String = ""
- Dim CuentaDeposito As String = ""
-
- Dim seleccion As Integer = 0
- For Each gvr As GridViewRow In GvCxC.Rows
- If gvr.FCCheckBox("Chk").Checked Then
- seleccion += 1
- 'si hay liquidación-
- If gvr.FCDropDownList("DdlAnti").SelectedValue = "-1" AndAlso gvr.FCTextBox("TxtAmort").Text.ToDecimal <> 0 Then
- Alert("Importe de anticipo especificado y no seleccionado. F: " & gvr.DataKey("SerieFolio"), TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- End If
- Next
-
- If seleccion = 0 Then
- Alert("No ha seleccionado ninguna factura para abonar.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- Dim CvePrePoliza As Integer = 0
- Dim IDPoliza As Integer = 0
- Dim FolioPoliza As String = ""
- Dim CveIE As Integer = -1
- Dim CveVentasPago As New List(Of Integer)
- Dim SeriesPago As New List(Of String)
-
- Dim MsgError As String = ""
- Dim NCGeneradas As New List(Of RespuestaNotaCredrito)
- Dim ListaFacturasGenerarNC As New List(Of Modelos.Factura)
-
- Dim ImporteSeleccionado As Decimal = 0
-
- '02-05-2018 MANDAMOS CANCELAR EL COMPLEMENTO A SUSTITUIR
- Dim ErrorCancelarIE As Boolean = False
-
-
- Dim ObjIE As New ClsBancos()
- Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
- Dim ObjVentasSaldos As New ClsVentas(ObjIE.IniciaTransacSQL)
- Dim ObjEvento As New ClsOIEventos(ObjIE.IniciaTransacSQL)
- Dim ObjConta As ClsContPAQi = Nothing
-
- Try
- Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
- Dim filemove As String = ""
- Dim Comprobante As String = ""
- ComplementoSustitucionGenerado = False
-
- For Each fileItem As Archivo In filesgral
- Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
- filemove = fileItem.filename
- Next
-
- Dim ConceptoPoliza As String = String.Format("{0} {1}", TxtAboneA.Text, TxtObservaciones.Text)
-
- If DdlCuenta.SelectedValue > 0 Then
- CveMoneda = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero}").ToEntero
- Else
- CveMoneda = IfNull(Request("CveMoneda"), "1").ToString.ToEntero
- End If
-
- CvePrePoliza = ObjMov.AddPrePolizas("Ventas/ClientesAbonar", 11, TxtImporte.Text.Trim.ToDecimal, TxtImporte.Text.Trim.ToDecimal, 1, TxtFechaDocumento.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
-
- If RblTipoPago.SelectedValue = "1" Then
- Dim CveCuentaDeposito As Integer = 0
- Dim TipoCambio As Decimal = 0
-
- If DdlCuentaDeposito.Items.Count > 0 Then
- CveCuentaDeposito = DdlCuentaDeposito.SelectedValue.ToEntero
- End If
-
- If CveMoneda = 2 Then
- If TxtTCDolares.Visible Then
- TipoCambio = TxtTCDolares.Text.ToDecimal
- Else
- TipoCambio = If(CveMonedaFiltro = -1, TxtTCDolares.Text.ToDecimal, TxtTCDolaresDolares.Text.ToDecimal) 'GlobalTipoCambio(TxtFechaDocumento.Text).ToString.ToDecimal
- End If
- Else
- If TxtTC.Visible Then
- TipoCambio = TxtTC.Text.ToDecimal
- End If
- End If
-
- Dim CveProvIntermediario As Integer
- If ChkProveedorIntermediario.Checked Then
- CveProvIntermediario = If(DdlProveedorIntermediario.SelectedValue.ToEntero <= 0, -1, DdlProveedorIntermediario.SelectedValue.ToEntero)
- End If
- CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveProveedorIntermediario:=CveProvIntermediario)
- Else
- If RblTipoPago.SelectedValue.Contiene("3") Then 'ixc
- CveIE = DdlIngreso.SelectedValue.ToEntero
- If CveMonedaPago = 2 And Not ChkPagarPesos.Checked Then CveMoneda = 2
- If ChkPagarDolares.Checked Then CveMoneda = 2
- If ChkPagarPesos.Checked Then CveMoneda = 1
- End If
-
- End If
-
- If CveIE > 0 OrElse RblTipoPago.SelectedValue.Contiene("2", "3") Then
-
- 'Guardar archivo
- If filemove <> "" Then
- filemove.FilesMove(CveIE.ToString, String.Format("{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
- End If
-
- 'inserto los movimientos de la conta para abonar al saldo
- If CvePrePoliza > 0 Then
-
- Dim CvePlantillaPoliza As Integer = 11
- Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:
"
- Dim idCuentaContabilizacion As Long = 1
- Dim CveCuentaContabilizacion As Long = 1
- Dim dtConceptos As DataTable = Nothing
- Dim tipoCambioPago As Decimal
- Dim TipoCambioGeneral As Decimal = 1
- Dim CveSubProyectoContabilizar As Integer = -1
- Dim CveSubProyectoMaximo As Integer = -1
- Dim CuentasContablesInvalidas As New StringBuilder
- Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
- Dim TipoCambioFluctuacion As Decimal = 1
- Dim FechaUltimaFluctuacion As Date = MinFecha
-
- Dim tFecha As Date = TxtFechaDocumento.Text.ToDate
- Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha)
-
- Dim ImportePrestamo As Decimal = 0
- Dim TCPrestamo As Decimal = 0
-
- If CveSubProyectoMaximo <= 0 Then 'sino se seleccionó del combo, busca en el listado el primero
-
- For Each Gvr As GridViewRow In GvCxC.Rows
- If Gvr.FCCheckBox("Chk").Checked Then
- CveSubProyectoMaximo = Gvr.DataKey("CveSubProyecto").ToEntero
- Exit For
- End If
- Next
- End If
-
- If TxtPrestamoImporte.Text.ToDecimal <> 0 Then 'amortización del préstamo
- ImportePrestamo = TxtPrestamoImporte.Text.ToDecimal
- Dim tCveProv As Integer = DtPrestamos.FiltroPrimeroValor("CveProveedor", "CveIE=" & DdlPrestamo.SelectedValue).ToEntero
- Dim tFechaIE As Date = DtPrestamos.FiltroPrimeroValor("FechaDocumento", "CveIE=" & DdlPrestamo.SelectedValue).ToDate
- TCPrestamo = DtPrestamos.FiltroPrimeroValor("TipoCambio", "CveIE=" & DdlPrestamo.SelectedValue).ToDecimal
- If CveMoneda = 1 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImportePrestamo, ImportePrestamo, 57, TxtFolio.Text, TxtObservaciones.Text, 0, CveIE:=DdlPrestamo.SelectedValue.ToEntero, CveSubProyecto:=CveSubProyectoMaximo, TipoCambio:=tipoCambioPago, CveProveedor:=tCveProv) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- Else
- If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
- If tFechaIE <= UltimaFluctuacion.FechaFluctuacion Then
- FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
- TCPrestamo = UltimaFluctuacion.TCFluctuacion
- End If
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImportePrestamo, ImportePrestamo, 349, TxtFolio.Text, TxtObservaciones.Text, 0, CveIE:=DdlPrestamo.SelectedValue.ToEntero, CveSubProyecto:=CveSubProyectoMaximo, TipoCambio:=TCPrestamo, ImporteME:=ImportePrestamo, CveProveedor:=tCveProv) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImportePrestamo, ((ImportePrestamo * TCPrestamo) - ImportePrestamo).RoundSQL, 350, TxtFolio.Text, TxtObservaciones.Text, 0, CveIE:=DdlPrestamo.SelectedValue.ToEntero, CveSubProyecto:=CveSubProyectoMaximo, TipoCambio:=TCPrestamo, ImporteME:=ImportePrestamo, CveProveedor:=tCveProv) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
-
- End If
-
- If TxtPrestamoIntereses.Text.ToDecimal <> 0 AndAlso MsgError = "" Then
- tipoCambioPago = If(TxtTCDolares.Visible, TxtTCDolares.Text.ToDecimal, TxtTCDolaresDolares.Text.ToDecimal)
- Dim ImporteIntereses As Decimal = (TxtPrestamoIntereses.Text.ToDecimal * tipoCambioPago).RoundSQL
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteIntereses, ImporteIntereses, 51, TxtFolio.Text, TxtObservaciones.Text, 0, CveIE:=DdlPrestamo.SelectedValue.ToEntero, CveSubProyecto:=CveSubProyectoMaximo, TipoCambio:=tipoCambioPago, CveClasificacion:=21927) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
-
- 'inserto las ventas que voy a pagar
- For Each gvr As GridViewRow In GvCxC.Rows
-
- If gvr.FCCheckBox("Chk").Checked Then
-
- Dim ObjFactura As Modelos.Factura = Nothing
- Dim EsAnticipoEspecial As Boolean = False
-
- If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
- ObjFactura = New Modelos.Factura(UsuarioActual, gvr.DataKey("CveVenta").ToEntero(), UsuarioActual.CveEmpresa)
- End If
-
- Dim VentaActual As New Venta(UsuarioActual)
- VentaActual.CveVenta = gvr.DataKey("CveVenta").ToEntero
- VentaActual.Fecha = gvr.DataKey("Fecha").ToDate
- VentaActual.CveCliente = gvr.DataKey("CveCliente").ToEntero
- VentaActual.CveMoneda = gvr.DataKey("CveMoneda").ToEntero
- VentaActual.TipoDocto = gvr.DataKey("TipoDocto")
- VentaActual.SerieFolio = gvr.DataKey("SerieFolio")
- VentaActual.ClienteNombre = NombreComercial
- VentaActual.TC = gvr.DataKey("TipoCambio").ToDecimal
- VentaActual.Total = gvr.DataKey("Original").ToDecimal
- VentaActual.IVA = gvr.DataKey("IVA").ToDecimal
- VentaActual.IEPS = gvr.DataKey("IEPS").ToDecimal
- VentaActual.RetIVA = gvr.DataKey("RetIVA").ToDecimal
- VentaActual.RetISR = gvr.DataKey("RetISR").ToDecimal
-
- VentaActual.PorcentajeIVA = gvr.DataKey("PorcentajeIVA").ToDecimal
- VentaActual.CveSubProyecto = gvr.DataKey("CveSubProyecto").ToEntero
-
- 'Importe de pago
- Dim Pago As New VentaPago
- Pago.Fecha = TxtFechaDocumento.Text.ToDate
- Pago.CveIE = CveIE
- Pago.CveMonedaPago = CveMoneda
- Pago.ImportePago = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- Pago.ImportePagoVenta = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
- Pago.Referencia = TxtFolio.Text
-
- If RblTipoPago.SelectedValue = "3" Then
- Pago.TipoPago = "I"
- Pago.FechaDocumentoRelacionado = FechaIngreso
- End If
-
- 'Tipos de cambio
- If Pago.CveMonedaPago = 1 AndAlso VentaActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos
- Pago.TCPago = TxtTC.Text.ToDecimal
- ElseIf Pago.CveMonedaPago = 2 AndAlso VentaActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES
- Pago.TCPago = IIf(TxtTCDolaresDolares.Visible, TxtTCDolaresDolares.Text.ToDecimal, TxtTCDolares.Text.ToDecimal)
- ElseIf Pago.CveMonedaPago = 2 AndAlso VentaActual.CveMoneda = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- Pago.TCPago = TxtTCDolares.Text.ToDecimal
- End If
- tipoCambioPago = Pago.TCPago
-
- If gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal
-
- If UsuarioActual.Empresa.Funcionalidad(590) = "1" AndAlso MsgError = "" Then '' si es empresa agrícola
- Dim FluctuacionAnticipo As Decimal = 0
- Dim ImporteLiq1 As Decimal = gvr.FCTextBox("TxtLiqCol1").Text.ToDecimal
- Dim ImporteLiq2 As Decimal = gvr.FCTextBox("TxtLiqCol2").Text.ToDecimal
- Dim ImporteLiq3 As Decimal = gvr.FCTextBox("TxtLiqCol3").Text.ToDecimal
- Dim ImporteLiq4 As Decimal = gvr.FCTextBox("TxtLiqCol4").Text.ToDecimal
- Dim ImporteLiq5 As Decimal = gvr.FCTextBox("TxtLiqCol5").Text.ToDecimal
- Dim ImporteLiq6 As Decimal = gvr.FCTextBox("TxtLiqCol6").Text.ToDecimal
- Dim ImporteLiq7 As Decimal = gvr.FCTextBox("TxtLiqCol7").Text.ToDecimal
- Dim ImporteLiq8 As Decimal = gvr.FCTextBox("TxtLiqCol8").Text.ToDecimal
- Dim ImporteLiq9 As Decimal = gvr.FCTextBox("TxtLiqCol9").Text.ToDecimal
-
- Dim CveClasificacionCol1 As Integer = 21514 'comisiones sobre venta
- Dim CveClasificacionCol2 As Integer = 21916 ' manejo
- Dim CveClasificacionCol3 As Integer = 21917 'servicios de inspección
- Dim CveClasificacionCol4 As Integer = 21918 ' seguro liquidación
- Dim CveClasificacionCol5 As Integer = 21561 ' gastos aduanales mex
- Dim CveClasificacionCol6 As Integer = 21920 ' diveros
- Dim CveClasificacionCol7 As Integer = 21919 'gastos aduanales usa
- Dim CveClasificacionCol8 As Integer = 21211 'material Empaque
- Dim CveClasificacionCol9 As Integer = 21207 'Semilla
-
- Dim CveSubProyectoLiquidacion As Integer = gvr.DataKey("CveSubProyecto").ToEntero
- Dim CveConceptoLiquidacion As Integer = 51
- Dim ConceptoPartida As String = gvr.DataKey("SerieFolio") & " " & gvr.FCDropDownList("DdlTG").SelectedItem.Text
-
- If ImporteLiq1 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq1, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq1 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol1, ImporteME:=If(CveMoneda > 1, ImporteLiq1, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If ImporteLiq2 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq2, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq2 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol2, ImporteME:=If(CveMoneda > 1, ImporteLiq2, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If ImporteLiq3 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq3, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq3 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol3, ImporteME:=If(CveMoneda > 1, ImporteLiq3, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If ImporteLiq4 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq4, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq4 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol4, ImporteME:=If(CveMoneda > 1, ImporteLiq4, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If ImporteLiq5 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq5, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq5 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol5, ImporteME:=If(CveMoneda > 1, ImporteLiq5, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If ImporteLiq6 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq6, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq6 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol6, ImporteME:=If(CveMoneda > 1, ImporteLiq6, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If ImporteLiq7 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq7, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq7 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol7, ImporteME:=If(CveMoneda > 1, ImporteLiq7, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If ImporteLiq8 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq8, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq8 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol8, ImporteME:=If(CveMoneda > 1, ImporteLiq8, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If ImporteLiq9 <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteLiq9, gvr.DataKey("SerieFolio"), CveConceptoLiquidacion, ConceptoPartida, Now, -1, -1, CveIE, gvr.DataKey("CveVenta").ToEntero, -1, CveSubProyectoLiquidacion, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=ImporteLiq9 * tipoCambioPago, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=0, CveClasificacion:=CveClasificacionCol9, ImporteME:=If(CveMoneda > 1, ImporteLiq9, 0), CveTipoGasto:=gvr.FCDropDownList("DdlTG").SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza" : Exit For
- End If
- End If
-
- If MsgError = "" AndAlso gvr.FCDropDownList("DdlAnti").SelectedValue.ToEntero > 0 Then
- Dim TCP As Decimal = 0
- Dim FolioPago As String = " "
- If DtIngresos IsNot Nothing Then
- TCP = DtIngresos.FiltroPrimeroValor("TipoCambio", String.Format("CveIE={0}", gvr.FCDropDownList("DdlAnti").SelectedValue))
- FolioPago = DtIngresos.FiltroPrimeroValor("Folio", String.Format("CveIE={0}", gvr.FCDropDownList("DdlAnti2").SelectedValue))
- Dim tTCPFecha As Date = DtIngresos.FiltroPrimeroValor("FechaDocumento", String.Format("CveIE={0}", gvr.FCDropDownList("DdlAnti").SelectedValue)).ToDate
- 'considera fluctuación
- If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
- If tTCPFecha <= UltimaFluctuacion.FechaFluctuacion Then
- tTCPFecha = UltimaFluctuacion.FechaFluctuacion
- TCP = UltimaFluctuacion.TCFluctuacion
- End If
- End If
- End If
- 'se calcula la fluctuación de la aplicación del anticipo, para sumarla en el concepto de fluctuación más abajo
- FluctuacionAnticipo = ((TCP - tipoCambioPago) * gvr.FCTextBox("TxtAmort").Text.ToDecimal).RoundSQL
- MsgError = RegistraAmortizacionAnticipo(ObjMov, CvePrePoliza, gvr.FCDropDownList("DdlAnti").SelectedValue.ToEntero, gvr.FCTextBox("TxtAmort").Text.ToDecimal, TCP, gvr.DataKey("CveVenta").ToEntero, gvr.DataKey("SerieFolio").ToString, FolioPago)
- End If
-
- If MsgError = "" AndAlso gvr.FCDropDownList("DdlAnti2").SelectedValue.ToEntero > 0 Then
- Dim TCP As Decimal = 0
- Dim FolioPago As String = " "
- If DtIngresos IsNot Nothing Then
- TCP = DtIngresos.FiltroPrimeroValor("TipoCambio", String.Format("CveIE={0}", gvr.FCDropDownList("DdlAnti2").SelectedValue))
- FolioPago = DtIngresos.FiltroPrimeroValor("Folio", String.Format("CveIE={0}", gvr.FCDropDownList("DdlAnti2").SelectedValue))
- Dim tTCPFecha As Date = DtIngresos.FiltroPrimeroValor("FechaDocumento", String.Format("CveIE={0}", gvr.FCDropDownList("DdlAnti2").SelectedValue)).ToDate
- 'considera fluctuación
- If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
- If tTCPFecha <= UltimaFluctuacion.FechaFluctuacion Then
- tTCPFecha = UltimaFluctuacion.FechaFluctuacion
- TCP = UltimaFluctuacion.TCFluctuacion
- End If
- End If
-
- End If
- 'se calcula la fluctuación de la aplicación del anticipo, para sumarla en el concepto de fluctuación más abajo
- FluctuacionAnticipo += ((TCP - tipoCambioPago) * gvr.FCTextBox("TxtAmort2").Text.ToDecimal).RoundSQL
- MsgError = RegistraAmortizacionAnticipo(ObjMov, CvePrePoliza, gvr.FCDropDownList("DdlAnti2").SelectedValue.ToEntero, gvr.FCTextBox("TxtAmort2").Text.ToDecimal, TCP, gvr.DataKey("CveVenta").ToEntero, gvr.DataKey("SerieFolio").ToString, FolioPago)
- End If
-
- If ImportePrestamo <> 0 Then
- If TCPrestamo > 0 Then
- FluctuacionAnticipo += ((TCPrestamo - tipoCambioPago) * ImportePrestamo).RoundSQL
- ImportePrestamo = 0
- End If
- End If
- Pago.ImporteFluctuacionAdicional = FluctuacionAnticipo
- End If
-
- If MsgError = "" AndAlso AplicaPrePolizaPagoVenta(VentaActual, Pago, CvePrePoliza, ObjMov) Then
- MsgError = "No se pudo insertar la póliza"
- Exit For
- End If
-
- ' Case 134 'Pago Intermediario
- If RblTipoPago.SelectedValue = "2" Then
- Dim ImporteMovimiento As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal - gvr.FCTextBox("TxtComision").Text.ToDecimal
- Dim ImporteMN As Decimal = (ImporteMovimiento * tipoCambioPago).RoundSQL
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 134, VentaActual.SerieFolio, VentaActual.SerieFolio, 0, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveSubProyecto:=CveSubProyectoContabilizar, CveProveedor:=DdlProveedorPagoInt.SelectedValue.ToEntero) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
-
- 'PARA EMITIR COMPLEMENTO PAGO
- CveVentasPago.Add(gvr.DataKey("CveVenta").ToEntero)
- SeriesPago.Add(gvr.DataKey("SerieFolio"))
-
-
- If gvr.FCCheckBox("ChkGenerarNC").Checked AndAlso ObjFactura IsNot Nothing Then
- ObjFactura.DescuentoProntoPago = gvr.DataKey("DescuentoProntoPago").ToDecimal()
- ListaFacturasGenerarNC.Add(ObjFactura)
- End If
-
- End If
- Next
-
- If RblTipoPago.SelectedValue = "1" AndAlso MsgError = "" Then
-
- CveSubProyectoContabilizar = CveSubProyectoMaximo
-
- If CveMoneda = 2 Then
- 'If IdCuentaBancariaComplementaria > 0 Then
- If CveMoneda = 2 AndAlso CveMonedaFiltro = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- tipoCambioPago = TxtTCDolares.Text.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaFiltro = 2 Then
- tipoCambioPago = TxtTCDolaresDolares.Text.ToDecimal
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtImporte.Text.ToDecimal, ObjIE.Folio, 30, TxtObservaciones.Text + If(CveMoneda = 2, $" TC:{tipoCambioPago}", ""), TxtFechaDocumento.Text, IdCuentaBancaria, -1, CveIE, -1, -1, CveSubProyectoContabilizar, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=TxtImporte.Text.Trim.ToDecimal, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, If(CveMoneda = 1 AndAlso TxtTC.Visible, TxtImporte.Text.ToDecimal / TxtTC.Text.ToDecimal, TxtImporte.Text.ToDecimal), TxtObservaciones.Text, 204, TxtObservaciones.Text + If(CveMoneda = 2, $" TC:{tipoCambioPago}", ""), TxtFechaDocumento.Text, IdCuentaBancariaComplementaria, -1, CveIE, -1, -1, CveSubProyectoContabilizar, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=If(CveMoneda = 2, (TxtImporte.Text.Trim.ToDecimal * tipoCambioPago) - TxtImporte.Text.Trim.ToDecimal, TxtImporte.Text.Trim.ToDecimal), ImporteME:=If(CveMoneda = 2, TxtImporte.Text.Trim.ToDecimal, 0), TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- Else
- If CveMoneda = 2 AndAlso CveMonedaFiltro = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- tipoCambioPago = TxtTCDolares.Text.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaFiltro = 2 Then
- tipoCambioPago = TxtTCDolaresDolares.Text.ToDecimal
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtImporte.Text.ToDecimal, ObjIE.Folio, 30, TxtObservaciones.Text + If(CveMoneda = 2, $" TC:{tipoCambioPago}", ""), TxtFechaDocumento.Text, IdCuentaBancaria, -1, CveIE, -1, -1, CveSubProyectoContabilizar, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=If(CveMoneda = 2, TxtImporte.Text.Trim.ToDecimal * tipoCambioPago, TxtImporte.Text.Trim.ToDecimal), ImporteME:=If(CveMoneda = 2, TxtImporte.Text.ToDecimal, 0), TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(590) = "1" AndAlso MsgError = "" Then '' si es empresa agrícola
- If TxtAnticipo.Text.ToDecimal <> 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtAnticipo.Text.ToDecimal, TxtFolio.Text, 66, TxtObservaciones.Text, Now, -1, -1, CveIE, -1, -1, CveSubProyecto, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=TxtAnticipo.Text.ToDecimal, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=0, ImporteME:=If(CveMoneda > 1, TxtAnticipo.Text.ToDecimal, 0)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- If CveMoneda > 1 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtAnticipo.Text.ToDecimal, TxtFolio.Text, 226, TxtObservaciones.Text, Now, -1, -1, CveIE, -1, -1, CveSubProyecto, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=((TxtAnticipo.Text.ToDecimal * tipoCambioPago) - TxtAnticipo.Text.ToDecimal).RoundSQL, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=0, ImporteME:=If(CveMoneda > 1, TxtAnticipo.Text.ToDecimal, 0)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
-
- End If
-
- End If
-
- If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
- If Not ObjMov.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
- MsgError = "No se pudo simplificar los movimientos"
- Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
- End If
- End If
-
- If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 3) Then
- If ObjMov.ValorPolizaDescuadre > 0 Then
- MsgError = ObjMov.MensajePolizaDescuadre & " La diferencia es de: " & ObjMov.ValorDiferencia
- 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
- FolioPoliza = ObjMov.ContaFolio
- Else
- Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico")
- MsgError = "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
- Else
- MsgError = "No se pudo insertar la póliza"
- End If
- Else
- MsgError = "No se insertó el encabezado"
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso MsgError = "" Then
- If MsgError = "" Then
- If ListaFacturasGenerarNC.Count > 0 Then
-
- For Each Fac As Modelos.Factura In ListaFacturasGenerarNC
- Dim ListaNC As New List(Of Modelos.Factura)
- ListaNC.Add(Fac)
- Dim Resp = GenerarNC(ObjIE.IniciaTransacSQL(), ObjConta, ListaNC)
-
- If Resp IsNot Nothing AndAlso Resp.Respuesta IsNot Nothing AndAlso Resp.Respuesta.CveVenta > 0 Then
- NCGeneradas.Add(Resp)
- Else
- MsgError = "No se pudo generar la nota de crédito"
- Exit For
- End If
- Next
-
- If MsgError = "" Then
- If NCGeneradas.Count <> ListaFacturasGenerarNC.Count Then
- MsgError = "No se generaron las notas de crédito seleccionadas"
- End If
- End If
-
- End If
- End If
- End If
-
- Dim ErrorAC As Boolean = False
-
- If MsgError = "" Then
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC Then
- Dim Fecha As Date = TxtFechaDocumento.Text.Trim.ToDate
- ObjConta = New ClsContPAQi(UsuarioActual.Empresa)
- ObjConta.IniciaTransacSQL()
- Dim Facturas As New StringBuilder
-
- IDPoliza = ObjConta.AddPoliza(1, String.Format("Recaudado: {0}, {1}", TxtAboneA.Text, TxtObservaciones.Text), TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, UsuarioActual.CveUsuario, Fecha)
- FolioPoliza = ObjConta.Folio.ToString
-
-
- Dim ConceptoRenglon As String
- If IDPoliza > 0 Then
- Dim PorcentajePago As Double = 1
- Dim Total As Double
- Dim ObjVentas As New ClsVentas
- Dim ImporteOP = 0.0
- Dim IdCuentaOP = -1
-
- For Each gvr As GridViewRow In GvCxC.Rows
- If gvr.FCCheckBox("Chk").Checked Then
- If gvr.DataKey("Original").ToDecimal > 0 Then PorcentajePago = gvr.FCTextBox("TxtAbonar").Text.ToDecimal / gvr.DataKey("Original").ToDecimal Else PorcentajePago = 1
-
- If ObjVentas.GetPresupuestosVentas(gvr.DataKey("CveVenta").ToEntero) Then
- For Each drt As DataRow In ObjVentas.DtResultados.Rows
- Total = drt("TotalPresupuesto").ToString.ToDecimal * PorcentajePago
- ConceptoRenglon = String.Format("{0} {1}", gvr.DataKey("SerieFolio"), drt("FuenteRecaudacionRubroIngreso").ToString)
- If Total > 0 Then
- If Not ObjConta.AddMovimiento(IDPoliza, drt("IdCuentaDevengado").ToString.ToEntero, False, Total, "", ConceptoRenglon, 0, Fecha, "") Then ErrorAC = True : Exit For : Exit For
-
- If Not ObjConta.AddMovimiento(IDPoliza, drt("IdCuentaRecaudado").ToString.ToEntero, True, Total, "", ConceptoRenglon, 0, Fecha, "") Then ErrorAC = True : Exit For : Exit For
- End If
-
- Next
- If ErrorAC Then Exit For
-
- Facturas.AppendFormat(" {0}", gvr.DataKey("SerieFolio"))
- End If
-
- End If
- Next
- ObjVentas.Dispose()
-
- 'AFECTAR MATRIZ EGRESOS
- ConceptoRenglon = String.Format("Recaudado: {0} - F.{1}", TxtAboneA.Text, Facturas.ToString)
- If ObjConta.AddMovimiento(IDPoliza, IdCuentaBancaria, False, TxtImporte.Text.ToDecimal, "", ConceptoRenglon, 0, Fecha, "") Then
- If TxtImporte.Text.ToDecimal - ImporteOP > 0 Then
- If Not ObjConta.AddMovimiento(IDPoliza, ViewState("CtaCliente").ToString.ToEntero, True, TxtImporte.Text.ToDecimal - ImporteOP, "", ConceptoRenglon, 0, Fecha, "") Then ErrorAC = True
- End If
- Else
- ErrorAC = True
- End If
-
- Else
- ErrorAC = True
- End If
-
- If Not ErrorAC Then
- ErrorAC = Not ObjConta.AjustaPoliza(IDPoliza)
- End If
-
- If Not ErrorAC Then
- ErrorAC = Not ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
- End If
-
- End If
- End If
-
- If ErrorAC Then
- MsgError = "Error al Agregar la Póliza de Armonización Contable"
- End If
-
- Catch ex As Exception
- MsgError = "Ocurrió un error al guardar el movimiento"
- OnError("Ocurrió un error al guardar el movimiento", ex)
- End Try
-
- If MsgError = "" Then
- ObjIE.Commit()
- If ObjConta IsNot Nothing Then ObjConta.Commit()
-
- Dim StrMsg As New StringBuilder
- StrMsg.AppendFormat("Abono Registrado Correctamente. Folio {1}
", CveIE, ObjIE.Folio)
-
- If IDPoliza > 0 Then StrMsg.AppendFormat("Poliza: {1}
", IDPoliza, FolioPoliza)
-
- Dim TextoComplementoPago = EmitirComplementoPago(CveIE, CveVentasPago, SeriesPago)
-
- For Each RespuestaNotaCredito In NCGeneradas
- If RespuestaNotaCredito IsNot Nothing AndAlso RespuestaNotaCredito.Respuesta IsNot Nothing Then
- Try
- Dim ObjTimbradoNC As New Timbrado
- Dim TimbroNC = ObjTimbradoNC.TimbrarFactura(UsuarioActual, RespuestaNotaCredito.ObjFacturaNC)
- If Not TimbroNC Then
- Alert(ObjTimbradoNC.MensajeErrorCFDI, TipoMensaje.MsgError)
- End If
- ObjTimbradoNC = Nothing
- Catch ex As Exception
- OnError("Ocurrió un error al timbrar la NC.", ex)
- End Try
- StrMsg.AppendFormat("Nota de crédito generada correctamente.
Folio: {1}
", RespuestaNotaCredito.Respuesta.CveVenta, RespuestaNotaCredito.Respuesta.SerieFolio)
- End If
- Next
- Alert($"{StrMsg.ToString}
{TextoComplementoPago}", TipoMensaje.MsgInformacion, If(ChkSeguirRegistrando.Checked, "location.href =""#""", "location.href =""/Bancos/RepCxCCliente.aspx"""))
-
- Else
- If ObjConta IsNot Nothing Then ObjConta.RollBack()
- ObjIE.RollBack()
- Alert(MsgError, TipoMensaje.MsgAdvertencia)
- End If
-
- ObjIE.Dispose()
- ObjVentasSaldos.Dispose()
- ObjMov.Dispose()
- If ObjConta IsNot Nothing Then ObjConta.Dispose()
- ObjEvento.Dispose()
-
- UPVentas.Update()
-
- If MsgError = "" Then
- LimpiaCampos()
- End If
-
- End Sub
-
- Private Function RegistraAmortizacionAnticipo(ByRef ObjMov As ClsContabilidad, CvePrePoliza As Integer, CveIE As Integer, Importe As Decimal, tipoCambioPago As Decimal, CveVenta As Integer, ReferenciaVenta As String, ReferenciaPago As String) As String
- Dim MsgError As String = ""
- If CveMonedaPago = 2 Then
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, Importe, ReferenciaVenta, 92, ReferenciaVenta, TxtFechaDocumento.Text, 0, -1, CveIE, CveCliente:=CveCliente, ImporteMX:=Importe, CveVenta:=CveVenta, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, If(CveMoneda = 1 AndAlso TxtTC.Visible, Importe / TxtTC.Text.ToDecimal, Importe), ReferenciaVenta, 227, TxtObservaciones.Text + If(TxtTC.Visible, $" TC:{TxtTC.Text}", If(CveMoneda = 2, $" TC:{tipoCambioPago}", "")), TxtFechaDocumento.Text, 0, -1, CveIE, CveCliente:=ViewState("CveCliente").ToString.ToEntero, ImporteMX:=If(CveMoneda = 2, (Importe * tipoCambioPago) - Importe, Importe), ImporteME:=If(CveMoneda = 2, Importe, 0), CveVenta:=CveVenta, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- Else
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, Importe, ReferenciaVenta, 92, ReferenciaVenta, TxtFechaDocumento.Text, 0, -1, CveIE, CveCliente:=ViewState("CveCliente").ToString.ToEntero, ImporteMX:=If(CveMoneda = 2, Importe * tipoCambioPago, Importe), ImporteME:=If(CveMoneda = 2, Importe, 0), CveVenta:=CveVenta, TipoCambio:=tipoCambioPago, TipoCambioPago:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
-
- Return MsgError
-
- End Function
-
-#Region " N O T A - D E - C R E D I T O"
- Private Class RespuestaNotaCredrito
- Public Property ObjFacturaNC As Modelos.Factura
- Public Property Respuesta As Modelos.Factura.MMensajeFactura
- End Class
-
- Private Function GenerarNC(SqlTransaccion As SqlClient.SqlTransaction, ObjConta As ClsContPAQi, ListaVentasGenerarNC As List(Of Modelos.Factura)) As RespuestaNotaCredrito
- Dim Retorno As New RespuestaNotaCredrito()
- Try
-
- Dim ObjFacturaDevolucion = New Modelos.Factura(UsuarioActual)
- ObjFacturaDevolucion.TipoMensajeRespuesta = Modelos.TipoMensajeRespuesta.HTML
- ObjFacturaDevolucion.CveUsuario = UsuarioActual.CveUsuario
- ObjFacturaDevolucion.UsuarioCreo = UsuarioActual.Usuario
-
- Dim CveSubProyecto As Integer = Me.CveSubProyecto
- Dim CveMoneda As Integer = Me.CveMoneda
- Dim CveCliente As Integer = Me.CveCliente
-
- If CveSubProyecto <= 0 Then
- CveSubProyecto = ListaVentasGenerarNC(0).CveSubProyecto
- End If
-
- If CveMoneda <= 0 Then
- CveMoneda = ListaVentasGenerarNC(0).CveMoneda
- End If
-
- If CveCliente <= 0 Then
- CveCliente = ListaVentasGenerarNC(0).CveCliente
- End If
-
- Dim Folio As Integer = -1
- Dim Serie As String = "-1"
-
- ObjFacturaDevolucion.CveEmpresa = UsuarioActual.CveEmpresa
- ObjFacturaDevolucion.TipoCambio = If(Me.CveMoneda = 1, 1, GlobalTipoCambio(Now).FormatoNumero(4).ToDecimal())
- ObjFacturaDevolucion.ConvertirPesos = False
- ObjFacturaDevolucion.CveMoneda = CveMoneda
- ObjFacturaDevolucion.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {CveMoneda}")
- ObjFacturaDevolucion.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {CveMoneda}")
- ObjFacturaDevolucion.Serie = Serie
- ObjFacturaDevolucion.Folio = Folio
- ObjFacturaDevolucion.Fecha = Now
- ObjFacturaDevolucion.CvePrePoliza = -1
- ObjFacturaDevolucion.CveMetodoPago = 0
- ObjFacturaDevolucion.CondicionesPago = 0 ' 0 - Contado, 1 - Credito (CHECAR)
- ObjFacturaDevolucion.FormaPago = 0
-
- ObjFacturaDevolucion.TipoDocto = "Egs"
- ObjFacturaDevolucion.Fecha = Now
-
- ObjFacturaDevolucion.Version = "4.0"
-
- ObjFacturaDevolucion.CveMetodoPago33 = 1
- ObjFacturaDevolucion.MetodoPago33 = "PUE - Pago en una sola exhibición"
- ObjFacturaDevolucion.ClaveMetodoPagoSAT = "PUE"
-
- Dim drtt As DataRow = GlobalDTTipoTransacciones.FiltroPrimero("CveTipoTransaccion =" & DdlTipoTransaccion.SelectedValue)
- Dim dra As DataRow = GlobalDTVtaFormaPago.FiltroPrimero("CveFormaPago = " & drtt("CveFormaPago"))
-
- ObjFacturaDevolucion.CveFormaPago33 = dra("CveFormaPago").ToString
- ObjFacturaDevolucion.FormaPago33 = dra("FormaPagoSAT").ToString
- ObjFacturaDevolucion.FormaPagoSAT33 = dra("ClaveFormaPagoSAT").ToString
-
- ObjFacturaDevolucion.CveSubProyecto = CveSubProyecto
- ObjFacturaDevolucion.SetSubProyecto()
-
- ObjFacturaDevolucion.CveCliente = CveCliente
- ObjFacturaDevolucion.SetCliente()
-
- Dim ObjCliente As New ClsClientes
- If ObjCliente.GetClientes(ObjFacturaDevolucion.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1, TipoCliente:=-1) Then
- If ObjCliente.DtResultados.Rows.Count > 0 Then
-
- ObjFacturaDevolucion.CveUsoCFDI = 2
- ObjFacturaDevolucion.UsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("Descripcion", String.Format("CveUsoCFDI = {0}", 2))
- ObjFacturaDevolucion.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", String.Format("CveUsoCFDI = {0}", 2))
-
- ObjFacturaDevolucion.DtDetalle = CreaDTDetalleNC()
-
- CargaImpuestos(ObjFacturaDevolucion, ListaVentasGenerarNC, ObjCliente.DesglosaIEPS, ObjCliente.RetIVA, ObjCliente.RetISR)
-
- End If
- End If
-
- If ObjCliente.GetSucursales(CveCliente) Then
- If ObjCliente.DtResultados.Rows.Count > 0 Then
- ObjFacturaDevolucion.CveClienteSucursal = If(String.IsNullOrEmpty(ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'")), -1, ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'").ToEntero())
- Else
- ObjFacturaDevolucion.CveClienteSucursal = -1
- End If
- End If
- ObjCliente.Dispose()
-
- ObjFacturaDevolucion.CveTipoRelacion = 1
- ObjFacturaDevolucion.TipoRelacion = "01"
- ObjFacturaDevolucion.DtVentasRelacionadas = New DataTable
- ObjFacturaDevolucion.DtVentasRelacionadas.Columns.Add("CveVenta", GetType(Integer))
-
- Dim Fol As New List(Of String)
- For Each Fac In ListaVentasGenerarNC
- Fol.Add(Fac.FolioFiscal)
-
- Dim RowVenta As DataRow = ObjFacturaDevolucion.DtVentasRelacionadas.NewRow
- RowVenta("CveVenta") = Fac.CveVenta
-
- ObjFacturaDevolucion.DtVentasRelacionadas.Rows.Add(RowVenta)
- Next
-
- ObjFacturaDevolucion.UUIDRelacionados = Fol
-
- Select Case ObjFacturaDevolucion.TipoDocto
- Case "Ing"
- ObjFacturaDevolucion.TipoDocumento = "Factura"
- Case "REM"
- ObjFacturaDevolucion.TipoDocumento = "Remision"
- Case "Cot"
- ObjFacturaDevolucion.TipoDocumento = "Cotizacion"
- Case "Egs"
- ObjFacturaDevolucion.TipoDocumento = "Nota de Crédito"
- Case "Dev"
- ObjFacturaDevolucion.TipoDocumento = "Nota de Devolución"
- Case Else
- ObjFacturaDevolucion.TipoDocumento = ""
- End Select
-
- ObjFacturaDevolucion.FechaPago = Now
-
- ObjFacturaDevolucion.CveCorte = -1
- 'ObjFacturaDevolucion.CveMesa = -1
- ObjFacturaDevolucion.NumeroPersonas = 0
- ObjFacturaDevolucion.CveContrato = -1
- ObjFacturaDevolucion.DescripcionContrato = ""
- ObjFacturaDevolucion.CveClienteSucursal = -1
- ObjFacturaDevolucion.Entrega = ""
- ObjFacturaDevolucion.CveAlmacen = -1
-
- Dim DtVentasNC = InicializaDTVentasNC()
-
- Dim TotalImporte As Decimal = ObjFacturaDevolucion.DtDetalle.SUMD("TotalImporte")
- Dim ImporteIVA As Decimal = ObjFacturaDevolucion.DtDetalle.SUMD("ImporteIVA")
- Dim ImporteRetIVA As Decimal = ObjFacturaDevolucion.DtDetalle.SUMD("ImporteRetIVA")
- Dim ImporteRetISR As Decimal = ObjFacturaDevolucion.DtDetalle.SUMD("ImporteRetISR")
- Dim ImporteIEPS As Decimal = ObjFacturaDevolucion.DtDetalle.SUMD("ImporteIEPS")
- Dim Descuento As Decimal = ObjFacturaDevolucion.DtDetalle.SUMD("Descuento")
- Dim Amortizacion As Decimal = 0
-
- Dim Total As Decimal = (TotalImporte + ImporteIVA + ImporteIEPS) - (ImporteRetIVA + ImporteRetISR + Descuento + Amortizacion)
-
- 'DETALLES
- ObjFacturaDevolucion.SubTotal = TotalImporte
- ObjFacturaDevolucion.Descuento = Descuento
- ObjFacturaDevolucion.Amortizacion = Amortizacion
- ObjFacturaDevolucion.IVA = ImporteIVA
- ObjFacturaDevolucion.RetIVA = ImporteRetIVA
- ObjFacturaDevolucion.RetISR = ImporteRetISR
- ObjFacturaDevolucion.IEPS = ImporteIEPS
- ObjFacturaDevolucion.Total = Total
- ObjFacturaDevolucion.TotalOtrosConceptos = 0
-
- For Each Fac In ListaVentasGenerarNC
- Dim Drt = DtVentasNC.NewRow
- Drt("CveVenta") = Fac.CveVenta
- Drt("Importe") = Fac.DescuentoProntoPago
- Drt("FolioFiscal") = Fac.FolioFiscal
- DtVentasNC.Rows.Add(Drt)
- Next
-
- DtVentasNC.AcceptChanges()
-
- ObjFacturaDevolucion.DtVentasNC = DtVentasNC
-
- ObjFacturaDevolucion.Timbre = PreParaTimbre(ObjFacturaDevolucion, ListaVentasGenerarNC)
-
- Try
- Dim Resp = ObjFacturaDevolucion.EmitirFactura(False, Transac:=SqlTransaccion, ObjContPaqTransac:=ObjConta)
- Retorno.Respuesta = Resp
- Catch ex As Exception
- OnError("Ocurrió un error al guardar la NC de pronto pago", ex)
- Retorno.Respuesta = Nothing
- End Try
- Retorno.ObjFacturaNC = ObjFacturaDevolucion
-
- Catch ex As Exception
- OnError("Ocurrió un error al generar la NC de pronto pago", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
-
- End Function
-
- Private Function PreParaTimbre(Obj As Modelos.Factura, ListaVentasGenerarNC As List(Of Modelos.Factura)) As CFDITimbre
- Dim Timbre As New CFDITimbre
- Timbre.Comprobante.TipoComprobante = If(Obj.TipoDocto.Contiene("Ing", "Ant"), "I", If(Obj.TipoDocto.Contiene("Egs", "Dev"), "E", ""))
- Timbre.Comprobante.Folio = Obj.Folio.ToString()
- Timbre.Comprobante.Serie = Obj.Serie
- Timbre.Comprobante.Fecha = Obj.FechaCP
- Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33
- Timbre.Comprobante.CondicionesdePago = Obj.FormaPago33
- Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT
- Timbre.Comprobante.SubTotal = Obj.SubTotal
- Timbre.Comprobante.Descuentos = Obj.Descuento
- Timbre.Comprobante.Moneda = Obj.MonedaSAT
- Timbre.Comprobante.TipoCambio = If(Obj.CveMoneda = 1, "1", Obj.TipoCambio.ToString())
- Timbre.Comprobante.Total = Obj.Total
-
- Timbre.Comprobante.LugarExpedicion = Obj.SubProyecto.CP
- If Timbre.Comprobante.LugarExpedicion = "" Then
- Dim aa As String = "no se guardo lugar de expedicion"
- aa.GuardaLog()
- End If
-
- Timbre.Comprobante.Confirmacion = ""
-
- If Obj.FacturarSucursal Then
- Timbre.Receptor.RFC = Obj.ClienteSucursal.RFC
- Timbre.Receptor.Nombre = Obj.ClienteSucursal.Nombre
- Timbre.Receptor.DomicilioFiscalReceptor = Obj.ClienteSucursal.CP
- Else
- Timbre.Receptor.RFC = Obj.Cliente.RFC
- Timbre.Receptor.Nombre = Obj.Cliente.Nombre
- Timbre.Receptor.DomicilioFiscalReceptor = Obj.Cliente.CP
- End If
-
- Timbre.Receptor.RegimenFiscalReceptor = Obj.Cliente.CodigoRegimenFiscal
-
- Timbre.Receptor.ResidenciaFiscal = ""
- Timbre.Receptor.NumeroRegistroTributario = ""
- Timbre.Receptor.UsoCFDI = Obj.ClaveUsoCFDI
-
- If ListaVentasGenerarNC IsNot Nothing Then
- Timbre.CFDIRelacionados.UUID.Clear()
-
- Dim RowTipoRelacion As DataRow = GlobalDTVtaTiposRelacion().FiltroPrimero($"CveTipoRelacion = {Obj.CveTipoRelacion}")
-
- Timbre.CFDIRelacionados.TipoRelacion = RowTipoRelacion("SATClaveTipoRelacion").ToString()
- Timbre.CFDIRelacionados.TipoRelacionTexto = RowTipoRelacion("SATTipoRelacion").ToString()
-
- For Each Fac In ListaVentasGenerarNC
- Timbre.CFDIRelacionados.UUID.Add(Fac.FolioFiscal)
- Next
- End If
-
- Dim totSubTotal As Decimal = If(UsuarioActual.Empresa.CvePAC = 3, Obj.DtDetalle.SUMD("Total"), Obj.SubTotal) 'Obj.SubTotal
- Dim totIVA As Decimal = Obj.IVA
- Dim totRetIVA As Decimal = Obj.RetIVA
- Dim totRetISR As Decimal = Obj.RetISR
-
- Dim i As Integer = 1
-
- 'detalles
- Dim tPS As String = ""
-
- For Each drr As DataRow In Obj.DtDetalle.Rows
- If drr("PS").ToString().Length = 1 Then
- tPS = drr("Obs").ToString()
- Else
- If drr("PS").ToString().Length = 0 Then
- tPS = ""
- Else
- tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
- End If
- End If
-
- tPS = tPS.Replace("|", " ")
-
- If tPS.Length >= 1000 Then
- Dim tPSRecortado = tPS.Remove(999, tPS.Length - 999)
- tPS = tPSRecortado
- End If
-
- 'condicionante, especial
- If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" ' les comentan que no debe de ir la etiqueta de "unidad" en el producto
-
- Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString().ToDecimal,
- .Descripcion = tPS,
- .ValorUnitario = drr("PU").ToString().ToDecimal,
- .Importe = If(UsuarioActual.Empresa.CvePAC = 3, drr("Total").ToString().ToDecimal.RoundSQL(2), drr("TotalImporte").ToString().ToDecimal),
- .Descuento = drr("Descuento").ToString().ToDecimal.RoundSQL(2),
- .Unidad = drr("UM").ToString(),
- .ClaveUnidad = drr("SATClaveUM").ToString(),
- .ClaveProdServ = drr("SATClaveProdServ").ToString(),
- .Noidentificacion = drr("Noidentificacion").ToString(),
- .CuentaPredial = drr("CuentaPredial").ToString(),
- .ImporteGravaIVAAdicional = drr("ImporteIEPS").ToString().ToDecimal,
- .ObjetoImpuesto = drr("CodigoObjetoImpuesto").ToString()}
- 'verifica suma subtotales
- If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal.RoundSQL(2) <> concepto.Importe.RoundSQL(2) AndAlso Math.Abs(totSubTotal.RoundSQL(2) - concepto.Importe.RoundSQL(2)) <= 0.01 Then 'proceso de ajusta de decimales
- concepto.Importe = totSubTotal
- End If
- totSubTotal = totSubTotal - concepto.Importe
-
- 'siempre estaremos agregando el iva, auqnue sea en importe cero o tasa cero, para que se emita la factura
- ' If drr("ImporteIVA").ToString().ToDouble > 0 Then
-
- 'si es ingreso amortizado por la totalidad, y arroja el valor total de cero, no debe de impuestos, y si la BASE de calculo es mayor a cero
- If Timbre.Comprobante.Total > 0 AndAlso concepto.Importe - concepto.Descuento + concepto.ImporteGravaIVAAdicional > 0 Then
- concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = (concepto.Importe - concepto.Descuento + concepto.ImporteGravaIVAAdicional).RoundSQL(6), .TasaOCuota = drr("PorcentajeIVA").ToString().ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString().ToDecimal})
- End If
-
- If drr("ImporteIEPS").ToString().ToDouble > 0 Then
- concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = (concepto.Importe - concepto.Descuento).RoundSQL(6), .TasaOCuota = drr("PorcentajeIEPS").ToString().ToDecimal, .Impuesto = "003", .Importe = drr("ImporteIEPS").ToString().ToDecimal})
- End If
-
- If drr("ImporteRetIVA").ToString().ToDouble > 0 Then 'si hay retenciones
- concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = (concepto.Importe - concepto.Descuento).RoundSQL(6), .TasaOCuota = drr("PorcentajeRetIVA").ToString().ToDecimal, .Impuesto = "002", .Importe = drr("ImporteRetIVA").ToString().ToDecimal})
- End If
-
- If drr("ImporteRetISR").ToString().ToDouble > 0 Then 'retención de ISR
- concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = (concepto.Importe - concepto.Descuento).RoundSQL(6), .TasaOCuota = drr("PorcentajeRetISR").ToString().ToDecimal, .Impuesto = "001", .Importe = drr("ImporteRetISR").ToString().ToDecimal})
- End If
-
- Timbre.Conceptos.Add(concepto)
- i += 1
- Next
-
- Return Timbre
- End Function
-
-
- Private Sub AgregaTempDTNC(ByRef TmpDT As DataTable, CvePS As Integer, PS As String, Codigo As String, CodigoPS As String, CveTipoPS As Integer, CveTipoInvPS As Integer, CveUM As Integer, UM As String,
- CveClasificacion As Integer, Clasificacion As String, CveProyecto As Integer, CveSubProyecto As Integer,
- Obs As String, Cantidad As Double, PU As Double, PorcentajeIVA As Double, ImporteIVA As Double, PorcentajeRetIVA As Double, ImporteRetIVA As Double,
- PorcentajeRetISR As Double, ImporteRetISR As Double, PorcentajeIEPS As Double, ImporteIEPS As Double, TipoDescuento As Integer, Descuento As Double,
- Total As Double, Serie As String, TiempoEntrega As String, CvePresupuestoIngreso As Integer, EntregaDirecta As Integer, SATClaveProdServ As String,
- SATClaveUM As String, CveContratoDetalle As Integer, CveVentaDetalle As Integer, CveMovimientoDetallePedido As Integer, CveOrdenCompraDetalle As Integer,
- CveVentaDetalleRemision As Integer, CveVentaDetalleCotizacion As Integer)
-
- Dim Row As DataRow = Nothing
- Row = TmpDT.NewRow()
-
- Row("Consec") = TmpDT.Rows.Count + 1
- Row("Orden") = TmpDT.Rows.Count + 1
-
- Row("CvePS") = CvePS
- Row("PS") = PS
- Row("Codigo") = Codigo
- Row("CodigoPS") = CodigoPS
- Row("CveTipoPS") = CveTipoPS
- Row("CveTipoInvPS") = CveTipoInvPS
-
- Row("CveUM") = CveUM
- Row("UM") = UM
-
- Row("CveClasificacion") = CveClasificacion
- Row("Clasificacion") = Clasificacion
- Row("CveProyecto") = CveProyecto
- Row("Proyecto") = ""
- Row("CveSubProyecto") = CveSubProyecto
- Row("SubProyecto") = ""
-
- Row("Obs") = Obs
- Row("Cantidad") = Cantidad
- Row("PU") = Math.Round(PU, 6)
- Row("PorcentajeIVA") = PorcentajeIVA
- Row("IVA") = PorcentajeIVA
- Row("ImporteIVA") = Math.Round(ImporteIVA, 2)
- Row("PorcentajeRetIVA") = PorcentajeRetIVA
- Row("ImporteRetIVA") = Math.Round(ImporteRetIVA, 2)
- Row("PorcentajeRetISR") = PorcentajeRetISR
- Row("ImporteRetISR") = Math.Round(ImporteRetISR, 2)
- Row("PorcentajeIEPS") = PorcentajeIEPS
- Row("ImporteIEPS") = Math.Round(ImporteIEPS, 2)
- Row("IEPS") = Math.Round(ImporteIEPS, 2)
- Row("TipoDescuento") = TipoDescuento
- Row("Descuento") = Math.Round(Descuento, 2)
- Row("Total") = Math.Round(Total, 2)
- Row("TotalImporte") = Math.Round(Total, 2)
-
- Row("Serie") = Serie
- Row("TiempoEntrega") = TiempoEntrega
- Row("CvePresupuestoIngreso") = CvePresupuestoIngreso
- Row("EntregaDirecta") = EntregaDirecta
- Row("SATClaveProdServ") = SATClaveProdServ
- Row("SATClaveUM") = SATClaveUM
-
- 'Contratos
- Row("CveContratoDetalle") = CveContratoDetalle
- Row("CveVentaDetalle") = CveVentaDetalle
- Row("CveMovimientoDetallePedido") = CveMovimientoDetallePedido
- Row("CveOrdenCompraDetalle") = CveOrdenCompraDetalle
- Row("CveVentaDetalleRemision") = CveVentaDetalleRemision
- Row("CveVentaDetalleCotizacion") = CveVentaDetalleCotizacion
- Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
- If DrPS IsNot Nothing Then
- Row("CodigoObjetoImpuesto") = DrPS("CodigoObjetoImpuesto")
- End If
- TmpDT.Rows.Add(Row)
- End Sub
-
- Private Sub CargaImpuestos(ByRef ObjFacturaDevolucion As Modelos.Factura, ListaVentasGenerarNC As List(Of Modelos.Factura), ClienteDesglosaIEPS As Boolean, ClienteRetIVA As Decimal, ClienteRetISR As Decimal)
- Dim DtImpuestos As New DataTable
- DtImpuestos.Columns.Add("ImportePU", GetType(Decimal))
- DtImpuestos.Columns.Add("ImporteTotal", GetType(Decimal))
- DtImpuestos.Columns.Add("PorcentajeIVA", GetType(Decimal))
- DtImpuestos.Columns.Add("ImporteIVA", GetType(Decimal))
- DtImpuestos.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
- DtImpuestos.Columns.Add("ImporteRetIVA", GetType(Decimal))
- DtImpuestos.Columns.Add("PorcentajeRetISR", GetType(Decimal))
- DtImpuestos.Columns.Add("ImporteRetISR", GetType(Decimal))
- DtImpuestos.Columns.Add("PorcentajeIEPS", GetType(Decimal))
- DtImpuestos.Columns.Add("ImporteIEPS", GetType(Decimal))
- DtImpuestos.Columns.Add("CveSubProyecto", GetType(Integer))
- DtImpuestos.AcceptChanges()
- Dim AcumuladoNC As Decimal = 0
-
- For Each Fac In ListaVentasGenerarNC
- DtImpuestos.Merge(CargaDtImpuestosNC(Fac.CveVenta, Fac.DescuentoProntoPago), True, MissingSchemaAction.Ignore)
- Next
-
- DtImpuestos = CargaTotalesImpuestos(DtImpuestos)
-
- Dim DrSubProyecto As DataRow = GlobalDTSubProyectos(-1, ObjFacturaDevolucion.CveSubProyecto).Rows(0)
-
- Dim Cantidad As Decimal = 1
- Dim CveProyecto As Integer = DrSubProyecto("CveProyecto").ToString().ToEntero()
- Dim CveSubProyecto = DrSubProyecto("CveSubProyecto").ToString.ToEntero
- Dim SubProyecto = DrSubProyecto("SubProyecto").ToString
- Dim Proyecto = DrSubProyecto("Proyecto").ToString
-
- Dim CveSATNC As Integer
- Dim ArrayNC As String() = UsuarioActual.Empresa.Funcionalidad(591).Split(",".ToCharArray())
- Dim NCBonificacion As Integer = 0
- If ArrayNC.Length > 6 Then 'CONCEPTO DE PRONTO PAGO
- CveSATNC = ArrayNC(6).ToEntero()
- End If
- Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveSATNC, AplicaParaVenta:=1).FiltroPrimero("")
-
- For Each Dr As DataRow In DtImpuestos.Rows
- AgregaTempDTNC(ObjFacturaDevolucion.DtDetalle, DrPS("CvePS").ToString.ToEntero, DrPS("PS").ToString, DrPS("Codigo").ToString, DrPS("PSCodigo").ToString, DrPS("CveTipoPS").ToString.ToEntero, DrPS("Inv_CveMetodoInventario").ToString.ToEntero,
- DrPS("CveUM").ToString.ToEntero, DrPS("UnidadMedida").ToString, DrPS("CveClasificacion").ToString.ToEntero, DrPS("Clasificacion").ToString, CveProyecto, CveSubProyecto,
- "", Cantidad, Dr("ImportePU").ToString.ToDecimal, Dr("PorcentajeIVA").ToString.ToDecimal, Dr("ImporteIVA").ToString.ToDecimal, Dr("PorcentajeRetIVA").ToString.ToDecimal, Dr("ImporteRetIVA").ToString.ToDecimal,
- Dr("PorcentajeRetISR").ToString.ToDecimal, Dr("ImporteRetISR").ToString.ToDecimal, Dr("PorcentajeIEPS").ToString.ToDecimal, Dr("ImporteIEPS").ToString.ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString.ToDecimal, "", "", -1, -1,
- DrPS("SATClavePS").ToString, DrPS("SATClaveUnidadMedida").ToString, -1, -1, -1, -1, -1, -1)
- Next
-
- End Sub
-
- Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal) As DataTable
- Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0
-
- Dim TmpDT As DataTable = Nothing
- Dim ObjVentas As New ClsVentas
-
- If ObjVentas.GetVentaDetalle(CveVentaNC) Then
- TmpDT = ObjVentas.DtResultados
- TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
- TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
- End If
-
- If ObjVentas.GetVenta(CveVentaNC, UsuarioActual.CveEmpresa) Then
- If ObjVentas.DtResultados.Rows.Count > 0 Then
- Total = ObjVentas.DtResultados()(0)("Total").ToString.ToDecimal
- SubTotal = ObjVentas.DtResultados()(0)("SubTotal").ToString.ToDecimal
- End If
- End If
- ObjVentas.Dispose()
-
- Dim DtImpuestosLocal = TmpDT.FiltraParametros("", "", {"PorcentajeIVA", "PorcentajeRetIVA", "PorcentajeRetISR", "PorcentajeIEPS", "CveSubProyecto"}).Copy
- DtImpuestosLocal.Columns.Add("ImportePU", GetType(Decimal))
- DtImpuestosLocal.Columns.Add("ImporteTotal", GetType(Decimal))
- DtImpuestosLocal.Columns.Add("ImporteIVA", GetType(Decimal))
- DtImpuestosLocal.Columns.Add("ImporteRetIVA", GetType(Decimal))
- DtImpuestosLocal.Columns.Add("ImporteRetISR", GetType(Decimal))
- DtImpuestosLocal.Columns.Add("ImporteIEPS", GetType(Decimal))
-
- Dim ImporteReferencia As Decimal = Total
- Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100
- Dim FiltroStr As String = ""
- Dim ImporteTotalConcepto As Decimal = 0
- For Each Dr As DataRow In DtImpuestosLocal.Rows
- FiltroStr = String.Format("ISNULL(PorcentajeIVA,0) = {0} AND ISNULL(PorcentajeRetIVA,0) = {1} AND ISNULL(PorcentajeRetISR,0) = {2} AND ISNULL(PorcentajeIEPS,0) = {3} AND ISNULL(CveSubProyecto,0) = {4} ", Dr("PorcentajeIVA").ToString.ToDecimal, Dr("PorcentajeRetIVA").ToString.ToDecimal, Dr("PorcentajeRetISR").ToString.ToDecimal, Dr("PorcentajeIEPS").ToString.ToDecimal, Dr("CveSubProyecto"))
- ImporteTotalConcepto = Porcentaje * (TmpDT.SUMD("TotalImporte", FiltroStr) - TmpDT.SUMD("Descuento", FiltroStr))
-
- Dr("ImportePU") = ImporteTotalConcepto.RoundSQL(6)
- Dr("ImporteTotal") = ImporteTotalConcepto.RoundSQL(2)
-
- Dr("ImporteIVA") = (ImporteTotalConcepto * Dr("PorcentajeIVA").ToString().ToDecimal()).RoundSQL(2)
- Dr("ImporteRetIVA") = (ImporteTotalConcepto * Dr("PorcentajeRetIVA").ToString().ToDecimal()).RoundSQL(2)
- Dr("ImporteRetISR") = (ImporteTotalConcepto * Dr("PorcentajeRetISR").ToString().ToDecimal()).RoundSQL(2)
- Dr("ImporteIEPS") = (ImporteTotalConcepto * Dr("PorcentajeIEPS").ToString().ToDecimal()).RoundSQL(2)
-
- 'Dr("ImporteIVA") = Math.Round(Porcentaje * TmpDT.SUM("ImporteIVA", FiltroStr), 2)
- 'Dr("ImporteRetIVA") = Math.Round(Porcentaje * TmpDT.SUM("ImporteRetIVA", FiltroStr), 2)
- 'Dr("ImporteRetISR") = Math.Round(Porcentaje * TmpDT.SUM("ImporteRetISR", FiltroStr), 2)
- 'Dr("ImporteIEPS") = Math.Round(Porcentaje * TmpDT.SUM("ImporteIEPS", FiltroStr), 2)
-
- '(Dr("ImporteTotal").ToString.ToDecimal - Dr("ImporteIVA").ToString.ToDecimal - Dr("ImporteRetIVA").ToString.ToDecimal - Dr("ImporteRetISR").ToString.ToDecimal - Dr("ImporteIEPS").ToString.ToDecimal)
- Next
- 'codigo para ajuste de centavo, si el importe total no cuadra con los totales
- Dim difTmp As Decimal = Importe - (DtImpuestosLocal.SUMD("ImporteTotal") + DtImpuestosLocal.SUMD("ImporteIVA") + DtImpuestosLocal.SUMD("ImporteIEPS") - DtImpuestosLocal.SUMD("ImporteRetIVA") - DtImpuestosLocal.SUMD("ImporteRetISR"))
- If Math.Abs(difTmp) >= 0.01 Then
- 'asusto la diferencia en el último concepto
- Dim ImporteAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal").ToString.ToDecimal + difTmp
- DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal") = ImporteAjustado
- DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImportePU") = ImporteAjustado
- End If
- 'CARGA FACTURA A LA CUAL SE APLICA LA NC
- 'CargaNCDT(CveVentaNC, Importe.ToDecimal)
- Return DtImpuestosLocal
- End Function
-
- Private Function CargaTotalesImpuestos(DtImpuestos As DataTable) As DataTable
- Dim query = From dr In DtImpuestos
- Group By PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal,
- PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString.ToDecimal,
- PorcentajeRetISR = dr("PorcentajeRetISR").ToString.ToDecimal,
- PorcentajeIEPS = dr("PorcentajeIEPS").ToString.ToDecimal
- Into x = Group
- Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString.ToDecimal),
- ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString.ToDecimal),
- ImporteIVA = x.Sum(Function(s) Math.Round(s("ImporteIVA").ToString.ToDecimal, 2)), ' Math.Round(s("ImporteIVA").ToString.ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
- ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString.ToDecimal, 2)),' Math.Round(s("ImportePU").ToString.ToDecimal, 2)) * PorcentajeRetIVA,
- ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString.ToDecimal, 2)),' Math.Round(s("ImportePU").ToString.ToDecimal, 2)) * PorcentajeRetISR,
- ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString.ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString.ToDecimal, 2)) * PorcentajeIEPS,
- PorcentajeIVA = PorcentajeIVA,
- PorcentajeRetIVA = PorcentajeRetIVA,
- PorcentajeRetISR = PorcentajeRetISR,
- PorcentajeIEPS = PorcentajeIEPS
-
- Return query.QueryToDataTable(False)
- End Function
-
- Protected Function CreaDTDetalleNC() As DataTable
- Dim TmpDT = New DataTable
- TmpDT.Columns.Add("CveVenta", GetType(Integer))
- TmpDT.Columns.Add("Consec", GetType(Integer))
- TmpDT.Columns.Add("Cantidad", GetType(Decimal))
- TmpDT.Columns.Add("Codigo", GetType(String))
- TmpDT.Columns.Add("CveUM", GetType(Integer))
- TmpDT.Columns.Add("UM", GetType(String))
- TmpDT.Columns.Add("SATClaveUM", GetType(String))
- TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
- TmpDT.Columns.Add("Clasificacion", GetType(String))
- TmpDT.Columns.Add("CvePS", GetType(Integer))
- TmpDT.Columns.Add("PS", GetType(String))
- TmpDT.Columns.Add("CodigoPS", GetType(String))
- TmpDT.Columns.Add("SATClaveProdServ", GetType(String))
- TmpDT.Columns.Add("NoIdentificacion", GetType(String))
- TmpDT.Columns.Add("CveTipoPS", GetType(Integer))
- TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
- TmpDT.Columns.Add("Serie", GetType(String))
- TmpDT.Columns.Add("CuentaPredial", GetType(String))
- TmpDT.Columns.Add("Obs", GetType(String))
- TmpDT.Columns.Add("TiempoEntrega", GetType(String))
- TmpDT.Columns.Add("PU", GetType(Decimal))
- TmpDT.Columns.Add("IVA", GetType(Decimal))
- TmpDT.Columns.Add("ImporteIVA", GetType(Decimal))
- TmpDT.Columns.Add("PorcentajeIVA", GetType(Decimal))
- TmpDT.Columns.Add("ImporteRetIVA", GetType(Decimal))
- TmpDT.Columns.Add("ImporteRetISR", GetType(Decimal))
- TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
- TmpDT.Columns.Add("PorcentajeRetISR", GetType(Decimal))
- TmpDT.Columns.Add("ImporteIEPS", GetType(Decimal))
- TmpDT.Columns.Add("IEPS", GetType(Decimal))
- TmpDT.Columns.Add("PorcentajeIEPS", GetType(Decimal))
- TmpDT.Columns.Add("Descuento", GetType(Decimal))
- TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
- TmpDT.Columns.Add("TotalImporte", GetType(Decimal))
- TmpDT.Columns.Add("Total", GetType(Decimal))
- 'Para uso del módulo contable
- TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
- TmpDT.Columns.Add("AplicaParaConcepto", GetType(Boolean))
- TmpDT.Columns.Add("CveProyecto", GetType(Integer))
- TmpDT.Columns.Add("Proyecto", GetType(String))
- TmpDT.Columns.Add("CveSubProyecto", GetType(Integer))
- TmpDT.Columns.Add("SubProyecto", GetType(String))
- TmpDT.Columns.Add("CveVentaDetallePadre", GetType(Integer))
- 'TipoDescuento: 1 = Descuento * PU; 2 = Descuento por Total del concepto
- TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer))
- TmpDT.Columns.Add("CveFuenteRecaudacion", GetType(Integer))
- 'Contratos
- TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
- 'Remisiones a Facturas
- TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer))
- TmpDT.Columns.Add("CveVentaDetalleRemision", GetType(Integer))
- TmpDT.Columns.Add("CveVentaDetalleCotizacion", GetType(Integer))
- 'Pedido2 a Facturas
- TmpDT.Columns.Add("CveVentaDetallePedido2", GetType(Integer))
- TmpDT.Columns.Add("Origen", GetType(Integer))
- 'Ordenes Servicio
- TmpDT.Columns.Add("CveOS", GetType(Integer))
- TmpDT.Columns.Add("CveOSDetalle", GetType(Integer))
- TmpDT.Columns.Add("SeFacturara", GetType(Integer))
- TmpDT.Columns.Add("Folio", GetType(Integer))
- TmpDT.Columns.Add("Estatus", GetType(String))
- 'Ordenamiento
- TmpDT.Columns.Add("Orden", GetType(Integer))
- TmpDT.Columns.Add("TipoDocto", GetType(String))
- 'OC
- TmpDT.Columns.Add("CveOrdenCompraDetalle", GetType(Integer))
- TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
- TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
- TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal))
- TmpDT.Columns.Add("CantidadFacturadaCot", GetType(Decimal))
- TmpDT.Columns.Add("CantidadFacturadaPed2", GetType(Decimal))
- TmpDT.Columns.Add("CantidadInventario", GetType(Decimal))
- TmpDT.Columns.Add("ClaveSATFraccionArancelaria", GetType(String))
- TmpDT.Columns.Add("ClaveSATUnidadAduana", GetType(String))
- TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String))
- TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String))
- TmpDT.Columns.Add("CveTamaño", GetType(Integer))
- TmpDT.Columns.Add("EsCargo", GetType(Boolean))
- TmpDT.Columns.Add("CodigoObjetoImpuesto", GetType(String))
-
- Return TmpDT
- End Function
- Private Function InicializaDTVentasNC() As DataTable
- Dim DtVentasNC = New DataTable
- DtVentasNC.Columns.Add("CveVenta", GetType(Integer))
- DtVentasNC.Columns.Add("Importe", GetType(Decimal))
- DtVentasNC.Columns.Add("FolioFiscal", GetType(String))
- DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "TC", .DataType = GetType(Decimal), .DefaultValue = 1})
- DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "TCCambioValuacion", .DataType = GetType(Decimal), .DefaultValue = 1})
- DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "CveEstatusFactura", .DataType = GetType(Integer), .DefaultValue = -1})
-
- Return DtVentasNC
- End Function
-#End Region
-
-
- Private Sub LimpiaCampos()
- TxtFolio.Text = ""
- TxtObservaciones.Text = ""
- TxtImporte.Text = ""
- TxtTotal.Text = ""
- TxtFechaDocumento.Text = Now.ToShortDateString
- DdlCuenta.SelectedValue = "-1"
- DdlTipoTransaccion.SelectedValue = "-1"
-
- CFDIRelacionadoSustitucion = "-1"
- FechaCorteIE = DateTime.Now.ToDate
- IDPoliza = -1
- FolioIECancelado = ""
-
- Anexo.Text = ""
-
- If UsuarioActual.Empresa.UsaAC Then
- TxtOtrosImportes.Text = ""
- UpDatos.Update()
- CargaDatos(-1)
- Else
- UpDatos.Update()
- CargaDatos(If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToString.ToEntero > 0, Request("CveMoneda").ToString.ToEntero, -1))
- End If
-
- End Sub
-
- Private Sub RblTipoPago_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoPago.SelectedIndexChanged
- Select Case RblTipoPago.SelectedValue
- Case "1"
- DdlProveedorPagoInt.Items.Clear()
- DivDatosBancarios.Visible = True
- TxtFolio.Enabled = True
- divAbonese.Visible = True
- divIntermediario.Visible = False
- PanelIngresos.Visible = False
- Case "3"
- ' Ingresos por comprobar
- DdlProveedorPagoInt.Items.Clear()
- DivDatosBancarios.Visible = False
- PanelIngresos.Visible = True
- TxtFolio.Enabled = True
- divAbonese.Visible = True
- divIntermediario.Visible = False
- 'filtro primero por los de la moneda
- CargaIngresos(CveMonedaFiltro)
-
- If ChkPagarDolares.Checked Then
- CveMonedaPago = 2
- CveMoneda = 1
- TxtTCDolares.Attributes.Add("onkeyup", String.Format("FnCambia(0,0,0,0,1,{0});", 2))
- Else
- CveMonedaPago = 1
- End If
- CargaDatos(CveMoneda)
- Case Else
-
- divAbonese.Visible = False
- Dim ObjProveedores As New ClsCompProveedores
- ObjProveedores.GetProveedorProsepago(UsuarioActual.CveEmpresa)
-
- divIntermediario.Visible = True
- DdlProveedorPagoInt.DataSource = ObjProveedores.DtResultados
- ObjProveedores.Dispose()
- DdlProveedorPagoInt.DataBind()
-
- DivDatosBancarios.Visible = False
- TxtFolio.Enabled = False
- PanelIngresos.Visible = False
-
- End Select
-
- CargaDatos(CveMoneda)
- UpDatos.Update()
- End Sub
-
- Private Function CargaIngresos(tCveMoneda As Integer) As DataTable
- Dim dtt As DataTable = Nothing
- Dim Deudores As New ClsMovimientos
- If Deudores.GetIngresosSaldosDetalle(CveCliente, tCveMoneda, UsuarioActual.CveEmpresa) Then
- DdlIngreso.DataSource = Deudores.DtResultados.FiltraParametros("CveCliente > 0 AND Saldo > 0 AND CveIE > 0")
- dtt = Deudores.DtResultados.FiltraParametros("CveCliente > 0 AND Saldo > 0 AND CveIE > 0")
- End If
- Deudores.Dispose()
-
- DdlIngreso.DataBind()
- DdlIngreso.Items.Insert(0, New ListItem("-", "-1"))
- Return dtt
- End Function
-
- Private Function CargaPrestamos(tCveMoneda As Integer) As DataTable
- Dim dtt As DataTable = Nothing
- Dim Deudores As New ClsMovimientos
- If Deudores.GetDocumentosxPagarDetalle(CveCliente, tCveMoneda, 2, UsuarioActual.CveEmpresa) Then
- DdlPrestamo.DataSource = Deudores.DtResultados '.FiltraParametros("CveCliente > 0 AND Saldo > 0 AND CveIE > 0")
- dtt = Deudores.DtResultados
- End If
- Deudores.Dispose()
-
- DdlPrestamo.DataBind()
- DdlPrestamo.Items.Insert(0, New ListItem("-", "-1"))
- Return dtt
- End Function
-
- Protected Sub ChkAjusteOI_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ChkAjusteOI.CheckedChanged
-
- If ChkAjusteOI.Checked Then
- TxtOtrosImportes.Visible = True
- TxtTotal.Visible = True
- GvCxC.Columns(13).Visible = True
- Else
- TxtOtrosImportes.Visible = False
- TxtTotal.Visible = False
- GvCxC.Columns(13).Visible = False
- TxtOtrosImportes.Text = ""
- TxtTotal.Text = ""
- RegistraScript("$get('TxtImporte').value = FormatoNumero(SumaValores(), 2);")
- End If
-
- UpDatos.Update()
- UPVentas.Update()
- End Sub
-
-#Region " PAGAR CON PESOS "
- Protected Sub ChkPagarPesos_CheckedChanged(sender As Object, e As EventArgs)
- If ChkPagarPesos.Checked Then
- DivTCDolaresDolares.Visible = False
- RegistraScript("$get('DivTC').style.display = 'block';")
- CargaCuentas()
- If RblTipoPago.SelectedValue = "3" Then
- CargaIngresos(1)
- End If
- TxtTC.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- Else
- DivTCDolaresDolares.Visible = True
- 'RegistraScript("document.getElementById('DivTC').style.display = 'none';")
- CargaCuentas()
- TxtTCDolaresDolares.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- End If
- UpDatos.Update()
-
- CargaDatos(2)
- RegistraScript("CambiaPesosDolares();")
- End Sub
-#End Region
-
-#Region "PAGAR CON DOLARES"
- Protected Sub ChkPagarDolares_CheckedChanged(sender As Object, e As EventArgs)
- If ChkPagarDolares.Checked Then
- DivTCDolares.Visible = True
- CargaCuentas()
- If RblTipoPago.SelectedValue = "3" Then
- CargaIngresos(2)
- RegistraScript("CambiaDolaresPesos();")
- End If
- TxtFechaDocumento.Attributes.Add("onchange", "CambiaTC(this);")
- TxtTCDolares.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- Else
- DivTCDolares.Visible = False
- CargaCuentas()
- TxtFechaDocumento.Attributes.Remove("onchange")
- End If
- UpDatos.Update()
-
- CargaDatos(1)
- RegistraScript("CambiaDolaresPesos();")
- End Sub
-#End Region
-
-#Region " CUENTAS DEPOSITOS"
- Private Sub CargaCuentasDepositos()
- DdlCuentaDeposito.Items.Clear()
- If DdlTipoTransaccion.SelectedValue > 0 Then ' transferencias y layout
- trCuentaDeposito.Visible = False
-
- Dim dtc As DataTable = GlobalDTCuentasDepositosClientes(UsuarioActual.CveEmpresa, CveCliente:=CveCliente)
-
- If dtc IsNot Nothing Then
- If DdlTipoTransaccion.SelectedValue = "9" Then
-
- DdlCuentaDeposito.DataSource = dtc.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'")
-
- 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
- BtnIEGuardar.Enabled = False
- Alert("El Cliente no tiene ninguna cuenta deposito registrada ante el sistema BBVA BANCOMER", TipoMensaje.MsgAdvertencia)
- End If
- Else
- DdlCuentaDeposito.DataSource = dtc.FiltraParametros("Estatus ='True'")
- If dtc.Rows.Count >= 1 Then
- trCuentaDeposito.Visible = True
- DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1"))
- End If
- End If
-
- End If
- DdlCuentaDeposito.DataBind()
- Else
- trCuentaDeposito.Visible = False
- DdlCuentaDeposito.Items.Clear()
- End If
-
- UpCuentaDeposito.Update()
- UpDatos.Update()
-
- End Sub
-
- Private Sub RecargaCuentasDepositos()
-
- Dim dr As DataRow = GlobalDTTipoTransacciones.FiltroPrimero(String.Format("CveTipoTransaccion = {0}", DdlTipoTransaccion.SelectedValue)) 'Egs o Ing
- If dr IsNot Nothing Then
- HdnTipoTransaccion.Value = dr("Tipo").ToString
- HdnTipoTransaccionAbreviatura.Value = dr("Abreviatura").ToString
- End If
- CargaCuentasDepositos()
- End Sub
- Protected Sub DdlCuentaDeposito_SelectedIndexChanged(sender As Object, e As EventArgs)
- Dim dtc As DataTable = GlobalDTCuentasDepositosClientes(UsuarioActual.CveEmpresa, CveCliente:=CveCliente, 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
- Else
- TrReferenciaCIE.Visible = False
- End If
- End If
-
- UpCuentaDeposito.Update()
- End Sub
-#End Region
-
-#Region " COMPLEMENTOS PAGO "
- Private Function EmitirComplementoPago(CveIE As Integer, CveVentas As List(Of Integer), Series As List(Of String)) As String
-
- If Not UsuarioActual.Empresa.FacturaProduccion Then
- Return ""
- End If
-
- If Not ChkComplementoPago.Checked Then
- Return ""
- End If
-
- Dim Retorno As New StringBuilder
-
- 'For i = 0 To CveVentas.Count - 1
- Dim ObjBancos As New ClsBancos
-
- If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, 1, UsuarioActual.CveEmpresa, -1) Then
- If Not ObjBancos.DtResultados.Rows.Count > 0 Then
- ObjBancos.Dispose()
- Alert("No se generaron complementos de pago porque no hay facturas con método de pago PPD", TipoMensaje.MsgAdvertencia)
- Return ""
- End If
- End If
-
- ObjBancos.IniciaTransacSQL()
-
- If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=False) Then
- ObjBancos.Commit()
- ComplementoSustitucionGenerado = True
-
- PDFReciboDePagos(-1, -1, ObjBancos.CveComplementoPago, False)
-
- 'Dim LigaDescargaXML = $"../Empresas/{UsuarioActual.CveEmpresa}/XML/Pag/{ObjBancos.ComplementoSerieFolio}.xml"
- 'Dim LigaDescargaPDF = $"../Empresas/{UsuarioActual.CveEmpresa}/PDF/Pag/{ObjBancos.ComplementoSerieFolio}.pdf"
- Retorno.AppendFormat(" Complemento de pago {0}
", ObjBancos.ComplementoSerieFolio)
- Retorno.AppendFormat("XML ", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CveComplementoPago={1}&CveIE={2}", ObjBancos.ComplementoSerieFolio, ObjBancos.CveComplementoPago, CveIE)))
- Retorno.AppendFormat("PDF ", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CveComplementoPago={1}&CveIE={2}", ObjBancos.ComplementoSerieFolio, ObjBancos.CveComplementoPago, CveIE)))
-
- Dim ResultadoMail As Integer
- Dim ObjMail As New ClsSisMail()
- Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
- LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = $"{UsuarioActual.Empresa.Ruta}\XML\Pag\{ObjBancos.ComplementoSerieFolio}.xml"})
- LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = $"{UsuarioActual.Empresa.Ruta}\PDF\Pag\{ObjBancos.ComplementoSerieFolio}.pdf"})
-
- 'Dim Mail As String = "demo@adsistemas.mx"
- Dim Asunto As String = "Envío de complemento de pago"
- Dim Cuerpo As String = "Complemento de Pago"
-
- If ObjMail.SendMail(UsuarioActual.Empresa, Mail, Asunto, Cuerpo, "", LSRutasMail) Then
- ResultadoMail = 1
- Else
- ResultadoMail = 3
- Alert("No se pudo enviar el correo", TipoMensaje.MsgAdvertencia)
- End If
- Else
- ComplementoSustitucionGenerado = False
- Retorno.AppendFormat($" Complemento de pago NO generado . {ObjBancos.Mensaje}")
- ObjBancos.RollBack()
- End If
-
- ObjBancos.Dispose()
-
- ' Next
-
- Return Retorno.ToString
- End Function
-
-
-#End Region
-
-#Region "SALDAR CUENTAS"
-
-
- Private Sub BtnSaldarCuentasIncobrables_Click(sender As Object, e As EventArgs) Handles BtnSaldarCuentasIncobrables.Click
- Dim ObjConta As New ClsContabilidad
- ObjConta.IniciaTransacSQL()
- Dim CvePrePoliza As Integer = 0
- Dim MsgError As String = ""
-
- 'Dim ObjIE As New ClsBancos
- Dim FechaUltimaFluctuacion As Date = MinFecha
- Dim TipoCambioFluctuacion As Decimal = 1
-
- Dim tFecha As Date = TxtFechaIncobrable.Text.ToDate
- Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha)
-
- If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
- If UltimaFluctuacion.FechaFluctuacion <= tFecha Then
- FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
- TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion
- End If
- End If
-
- CvePrePoliza = ObjConta.AddPrePolizas("Bancos/ClientesAbonar/SaldarI", 47, 0, 0, 1, TxtFechaIncobrable.Text.ToDate, TxtObsSaldarIncobrable.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
-
-
- For Each gr As GridViewRow In GvCxC.Rows
- If gr.FCCheckBox("Chk").Checked Then
- Dim PorcentajePago As Decimal = gr.DataKey("Saldo").ToDecimal / gr.DataKey("Original").ToDecimal
- Dim Saldo As Decimal = gr.DataKey("Saldo").ToDecimal
- Dim RETIVA As Decimal = gr.DataKey("RetIVA").ToDecimal
- Dim SubTotal As Decimal = PorcentajePago * (gr.DataKey("SubTotal").ToDecimal.RoundSQL - gr.DataKey("Descuento").ToDecimal.RoundSQL).RoundSQL
- Dim IVA As Decimal = PorcentajePago * gr.DataKey("IVA").ToDecimal.RoundSQL
- Dim IEPS As Decimal = PorcentajePago * gr.DataKey("IEPS").ToDecimal.RoundSQL
- Dim TCVenta As Decimal = gr.DataKey("TipoCambio").ToDecimal
- Dim FechaVenta As Date = gr.DataKey("Fecha").ToDate
- Dim tCveMoneda As Integer = gr.DataKey("CveMoneda").ToEntero
- Dim TCPago As Decimal = GlobalTipoCambio(TxtFechaIncobrable.Text.ToDate).FormatoNumero(4)
- Dim CveConceptoDeduccion As Integer = DdlTipoDeduccion.SelectedValue.ToEntero
-
-
- 'si la fecha del documento es anterior a su ultima fluctuación. toma el Tc de la fluctuacion
- If tCveMoneda = 2 Then
- If FechaVenta < FechaUltimaFluctuacion Then
- TCVenta = TipoCambioFluctuacion
- End If
- End If
-
-
- 'condicionante
- Dim ClienteMovto As Boolean = True
- Dim SubtotalMovto As Boolean = False
- Dim CveConceptoCliente As Integer = 2
- Dim ImpuestosMovto As Boolean = False
-
- Dim CveSubProyecto As Integer = gr.DataKey("CveSubProyecto").ToEntero
- Dim ConceptoPartida As String = TxtObsSaldarIncobrable.Text.Trim & " " & gr.DataKey("SerieFolio").ToString
-
- 'If CveConceptoDeduccion = 255 Then 0 = UsuarioActual.Empresa.Funcionalidad(266).ToEntero
- 'If CveConceptoDeduccion = 179 Then 0 = UsuarioActual.Empresa.Funcionalidad(559).ToEntero
- 'If CveConceptoDeduccion = 263 Then 0 = UsuarioActual.Empresa.Funcionalidad(537).ToEntero
- 'If CveConceptoDeduccion = 252 Then 0 = UsuarioActual.Empresa.Funcionalidad(581).ToEntero
- 'If CveConceptoDeduccion = 78 Then 0 = UsuarioActual.Empresa.IdCuentaOtrosIngresos
-
- If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) Then
-
- ClienteMovto = False : Saldo = Saldo * -1
- ImpuestosMovto = True : IVA = IVA * -1
-
- 'RETIVA = RETIVA * -1
-
- RETIVA = ((SubTotal * RETIVA / gr.DataKey("SubTotal").ToDecimal.RoundSQL) * -1).RoundSQL(2)
-
- CveConceptoCliente = 1
- 'falta cuenta incobrable
- End If
-
- Dim UsaComplementaria As Boolean = True
- If MsgError = "" Then
-
- Dim ConPreP As ConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(6, tCveMoneda, True, 1)
- 'normal
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, gr.DataKey("SerieFolio").ToString, ConPreP.CveConcepto, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, 0, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, Saldo, Saldo), TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
-
- If UsaComplementaria AndAlso tCveMoneda = 2 Then
- 'complementaria
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, 0, gr.DataKey("SerieFolio").ToString, ConPreP.CveConceptoComplementario, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, 0, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, Saldo, (Saldo * TCVenta) - Saldo).RoundSQL, ImporteME:=Saldo, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
- End If
-
- 'fluctuación.
- If tCveMoneda = 2 Then
- Dim ImporteFluctuacion As Decimal = 0
- ImporteFluctuacion = Saldo * (TCPago - TCVenta)
-
- If CveSubProyecto <= 0 Then
- MsgError = $"No se pudo obtener el sub proyecto de la venta {gr.DataKey("SerieFolio").ToString}"
- End If
-
- If TCPago > TCVenta Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, 0, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
- Else
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, 0, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
- End If
-
- 'cuando hay pago en dólares, se ajusta el concepto de subtotal,
- SubTotal = (Saldo * TCVenta) + ImporteFluctuacion - (IVA * TCVenta) - (IEPS * TCVenta)
-
- End If
-
-
- If (IVA > 0 Or UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) And IVA < 0) AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ImpuestosMovto, IVA, gr.DataKey("SerieFolio").ToString, 13, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, 0, -1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, IVA, IVA * TCVenta), PorcentajeImpuesto:=gr.DataKey("PorcentajeIVA").ToDecimal, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
-
- If (RETIVA > 0 Or UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) And RETIVA < 0) AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, RETIVA, gr.DataKey("SerieFolio").ToString, 8, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, 0, -1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, RETIVA, RETIVA * TCVenta), TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
-
- If IEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ImpuestosMovto, IEPS, gr.DataKey("SerieFolio").ToString, 38, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, 0, -1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, IEPS, IEPS * TCVenta), TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
-
- 'al gasto,Subtotal
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, SubtotalMovto, SubTotal, gr.DataKey("SerieFolio").ToString, CveConceptoDeduccion, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCuentaContableNoDeducible, -1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=SubTotal, CveSubProyecto:=CveSubProyecto, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
-
- If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then
- If ObjConta.ValorPolizaDescuadre > 0 Then
- MsgError = ObjConta.MensajePolizaDescuadre + " " + ObjConta.ValorDiferencia
- GuardaLogAD($"Ventas/ClientesAbonar | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- Exit For
- End If
- End If
-
- End If
- End If
- Next
-
- If MsgError = "" Then
- 'ObjConta.RollBack()
- ObjConta.Commit()
- CargaDatos(CveMonedaFiltro)
- RegistraScript("$('#ModalSaldarCuentaIncobrable').modal('hide')")
- Alert(String.Format("Los movimientos se saldaron correctamente.
Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion)
-
- Else
- ObjConta.RollBack()
- Alert(MsgError, TipoMensaje.MsgError)
- End If
-
- BtnSaldarCuentasIncobrables.Visible = False
- ObjConta.Dispose()
- End Sub
-
-
- Private Sub ValidaCuentaDePagoFormaDePago()
-
- If Not (DdlTipoTransaccion.SelectedValue.ToEntero > 0 And DdlCuenta.SelectedValue.ToEntero > 0) Then
- Exit Sub
- End If
-
- Dim DTTipoTransacciones As DataTable = GlobalDTTipoTransacciones.FiltraParametros($"CveTipoTransaccion={DdlTipoTransaccion.SelectedValue}")
- Dim DTCuentas As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros($"CveCuenta={DdlCuenta.SelectedValue}")
-
- Dim ClaveFormaPagoSAT As String = ""
- Dim Cuentapago As String = ""
- Dim CuentaBeneficiario As String = ""
-
-
- If DTTipoTransacciones.Rows.Count > 0 Then
- ClaveFormaPagoSAT = DTTipoTransacciones.Rows(0)("ClaveFormaPagoSAT").ToString
- Else
- Alert("La forma de pago no tiene una forma de pago SAT", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- If DTCuentas.Rows.Count > 0 Then
- CuentaBeneficiario = DTCuentas.Rows(0)("NumCuenta").ToString
- Else
- Alert("No se pudo encontrar la cuenta", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
-
- Dim Mensaje As String = ""
- Cuentapago = ""
-
-
- Select Case ClaveFormaPagoSAT.ToString
- Case "01"
- ' no tiene restricciones
- Case "02"
- If Cuentapago <> "" AndAlso Not Cuentapago.Length.Contiene(11, 18) Then
- Mensaje = "La cuenta ordenante no cumple con el formato esperado."
- End If
-
- If CuentaBeneficiario <> "" AndAlso Not (CuentaBeneficiario.Length.Contiene(10, 11, 15, 16, 18, 50)) Then
- Mensaje = $"{Mensaje} La Cuenta Beneficiario no cumple con el formato esperado."
- End If
- Case "03"
- If Cuentapago <> "" AndAlso Not Cuentapago.Length.Contiene(10, 16, 18) Then
- Mensaje = "La cuenta ordenante no cumple con el formato esperado."
- End If
- If CuentaBeneficiario <> "" AndAlso Not (CuentaBeneficiario.Length.Contiene(10, 18)) Then
- Mensaje = $"{Mensaje} La Cuenta Beneficiario no cumple con el formato esperado."
- End If
- Case "04"
-
- If Cuentapago <> "" AndAlso Not Cuentapago.Length.Contiene(16) Then
- Mensaje = "La cuenta ordenante no cumple con el formato esperado."
- End If
-
- If CuentaBeneficiario <> "" AndAlso Not (CuentaBeneficiario.Length.Contiene(10, 11, 15, 16, 18, 50)) Then
- Mensaje = $"{Mensaje} La Cuenta Beneficiario no cumple con el formato esperado."
- End If
-
- Case "05"
- If Cuentapago <> "" AndAlso Not Cuentapago.Length.Contiene(10, 11, 15, 16, 18, 50) Then
- Mensaje = "La cuenta ordenante no cumple con el formato esperado."
- End If
-
- If CuentaBeneficiario <> "" AndAlso Not (CuentaBeneficiario.Length.Contiene(10, 11, 15, 16, 18, 50)) Then
- Mensaje = $"{Mensaje} La Cuenta Beneficiario no cumple con el formato esperado."
- End If
- Case "06"
- If Cuentapago <> "" AndAlso Not Cuentapago.Length.Contiene(10) Then
- Mensaje = "La cuenta ordenante no cumple con el formato esperado."
- End If
-
- CuentaBeneficiario = ""
- Case "28"
- If Cuentapago <> "" AndAlso Not Cuentapago.Length.Contiene(16) Then
- Mensaje = "La cuenta ordenante no cumple con el formato esperado."
- End If
-
- If CuentaBeneficiario <> "" AndAlso Not (CuentaBeneficiario.Length.Contiene(10, 11, 15, 16, 18, 50)) Then
- Mensaje = $"{Mensaje} La Cuenta Beneficiario no cumple con el formato esperado."
- End If
- Case "29"
- If Cuentapago <> "" AndAlso Not Cuentapago.Length.Contiene(15, 16) Then
- Mensaje = "La cuenta ordenante no cumple con el formato esperado."
- End If
-
- If CuentaBeneficiario <> "" AndAlso Not (CuentaBeneficiario.Length.Contiene(10, 11, 15, 16, 18, 50)) Then
- Mensaje = $"{Mensaje} La Cuenta Beneficiario no cumple con el formato esperado."
- End If
-
- Case Else
-
-
-
- End Select
-
- LblValidaCeuntaTipoTransaccion.Text = Mensaje
-
- If Not Mensaje.Length = 0 Then
- 'Alert(Mensaje, TipoMensaje.MsgAdvertencia)
- LblValidaCeuntaTipoTransaccion.Visible = True
- Else
- LblValidaCeuntaTipoTransaccion.Visible = False
- End If
-
- UpGuardar.Update()
-
- End Sub
-
-#End Region
-
- Protected Sub BtnCambiaTipoMoneda_Click(sender As Object, e As EventArgs)
- CambiaTipoMoneda()
- End Sub
- Private Sub CambiaTipoMoneda()
- Dim dia As Integer = If(UsuarioActual.CveEmpresa = 13, TxtFechaDocumento.Text.ToDate.Day - 1, TxtFechaDocumento.Text.ToDate.Day)
- Fecha = (dia.ToString + "/" + TxtFechaDocumento.Text.ToDate.Month.ToString + "/" + TxtFechaDocumento.Text.ToDate.Year.ToString).ToDate
-
- If TxtTC.Visible Then
- TxtTC.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- End If
-
- If DivTCDolares.Visible Then
- TxtTCDolares.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- End If
-
- If DivTCDolaresDolares.Visible Then
- TxtTCDolaresDolares.Text = GlobalTipoCambio(Fecha).FormatoNumero(4)
- End If
-
- Dim moneda As Integer = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero}").ToEntero
- If CveMonedaFiltro = -1 Then
- RegistraScript(String.Format("FnCambia(0,0,0,0,-1,{0});", moneda))
- Else
- RegistraScript(String.Format("FnCambia(0,0,0,0,1,{0});", moneda))
- End If
-
- UpDatos.Update()
- End Sub
-
- Private Sub DdlIngreso_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlIngreso.SelectedIndexChanged
- 'saco la moneda de la selección
- HdnIngresoImporte.Value = 0
- If DdlIngreso.SelectedValue.ToEntero > 0 Then
- Dim Banco As New ClsBancos
-
- If Banco.GetBancosIE(DdlIngreso.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
- CveMonedaPago = Banco.CveMoneda
- Dim Deudores As New ClsMovimientos
- If Deudores.GetIngresosSaldosDetalle(CveCliente, -1, UsuarioActual.CveEmpresa) Then
- HdnIngresoImporte.Value = Deudores.DtResultados.FiltroPrimeroValor("Saldo", String.Format("CveIE = {0}", DdlIngreso.SelectedValue))
- TxtTCDolares.Text = Deudores.DtResultados.FiltroPrimeroValor("TipoCambio", String.Format("CveIE = {0}", DdlIngreso.SelectedValue))
- FechaIngreso = Deudores.DtResultados.FiltroPrimeroValor("FechaDocumento", String.Format("CveIE = {0}", DdlIngreso.SelectedValue))
- End If
- Deudores.Dispose()
- End If
- IdCuentaBancariaComplementaria = 0
- Banco.Dispose()
- Else
- CveMonedaPago = -1
- End If
-
-
- If CveMonedaPago = 1 Then
- 'DivTC.Visible = True
- DivTCDolares.Visible = False
- TxtTC.Attributes.Add("onkeyup", String.Format("FnCambia(0,0,0,0,-1,{0});", CveMonedaPago))
- ElseIf CveMonedaPago = 2 Then
- 'DivTC.Visible = False
- RegistraScript("document.getElementById('DivTC').style.display = 'none';")
- DivTCDolares.Visible = True
- TxtTCDolares.Attributes.Add("onkeyup", String.Format("FnCambia(0,0,0,0,-1,{0});", CveMonedaPago))
- End If
-
- CargaDatos(CveMoneda)
-
- End Sub
-
- Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init
- RVTxtFechaDocumento.MaximumValue = DateTime.Now.ToShortDateString
- Calendario.EndDate = DateTime.Now
-
- End Sub
-
-
-#Region "LIQUIDACION"
-
- Protected Sub TimTiempo_Tick(sender As Object, e As EventArgs)
- Dim a As String = "se recarga para que no pierda sesión el registro puede tardar más de una hora en llenar todos los datos" 'solo para que se ejecute sin que afecte a lo demás
- End Sub
-
- Protected Sub ChkLiquidacion_CheckedChanged(sender As Object, e As EventArgs)
- ActivaDesactivaLiquidacion()
- End Sub
-
- Private Sub ActivaDesactivaLiquidacion()
-
- If ChkLiquidacion.Checked Then
- TimTiempo.Enabled = True 'para que no me saque
- GvCxC.Columns(4).Visible = False
- GvCxC.Columns(5).Visible = False
- GvCxC.Columns(6).Visible = False
- GvCxC.Columns(7).Visible = False
-
- '16-24
- GvCxC.Columns(16).Visible = True
- GvCxC.Columns(17).Visible = True
- GvCxC.Columns(18).Visible = True
- GvCxC.Columns(19).Visible = True
- GvCxC.Columns(20).Visible = True
- GvCxC.Columns(21).Visible = True
- GvCxC.Columns(22).Visible = True
- GvCxC.Columns(23).Visible = True
- GvCxC.Columns(24).Visible = True
- GvCxC.Columns(25).Visible = True
- GvCxC.Columns(26).Visible = True
- GvCxC.Columns(27).Visible = True 'anticipos
- GvCxC.Columns(28).Visible = True 'anticipos2
-
- GvCxC.Columns(29).Visible = False
- GvCxC.Columns(30).Visible = False
-
-
- Else
- TimTiempo.Enabled = False
- GvCxC.Columns(4).Visible = True
- GvCxC.Columns(5).Visible = True
- GvCxC.Columns(6).Visible = True
- GvCxC.Columns(7).Visible = True
-
- GvCxC.Columns(16).Visible = False
- GvCxC.Columns(17).Visible = False
- GvCxC.Columns(18).Visible = False
- GvCxC.Columns(19).Visible = False
- GvCxC.Columns(20).Visible = False
- GvCxC.Columns(21).Visible = False
- GvCxC.Columns(22).Visible = False
- GvCxC.Columns(23).Visible = False
- GvCxC.Columns(24).Visible = False
- GvCxC.Columns(25).Visible = False
- GvCxC.Columns(26).Visible = False
- GvCxC.Columns(27).Visible = False 'anticipos
- GvCxC.Columns(28).Visible = False 'anticipos2
-
- GvCxC.Columns(29).Visible = True
- GvCxC.Columns(30).Visible = True
-
- End If
-
- UPVentas.Update()
- End Sub
-
-#End Region
-
-
-
- Protected Sub LnkAccionesModalSeleccionLayout_Click(sender As Object, e As EventArgs)
-
- TxtModalLayoutExcel.Text = "[]"
- UpModalSeleccionLayout.Update()
- RegistraScript("$('#ModalSeleccionLayout').modal('show');")
-
- End Sub
-
-
- Protected Sub LnkSeleccionLayout_Click(sender As Object, e As EventArgs)
-
- Dim ProcesoOK As Boolean = True
- Dim CountRegistros As Integer = 0
- Dim TotalSeleccion As Decimal = 0D
-
- Dim SBNoEncontradosEnLista As New StringBuilder
- Dim SBPagoMayorASaldo As New StringBuilder
-
- If TxtModalLayoutExcel.getfiles().Archivos.Count > 0 Then
- Dim file As Archivo = TxtModalLayoutExcel.getfiles().Archivos(0)
- Dim Directorio As String = Server.MapPath("~") & file.path
- Dim Tipo As String = If(file.Extension.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
-
- Dim DTExcel As New DataTable
- Dim ErrorArchivo = False
- Dim ErrorExcel = False
-
- DTExcel = ReadExcelFile(Directorio + file.filename, True)
-
- If Not DTExcel.Columns(0).ColumnName.ToUpper = "FOLIO" Then
- Alert("El nombre de la primera columna debe ser 'Folio'. Favor de corregirlo", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- If Not DTExcel.Columns(1).ColumnName.ToUpper = "IMPORTE PAGO" Then
- Alert("El nombre de la segunda columna debe ser 'Importe Pago'.Favor de corregirlo." & DTExcel.Columns(1).ColumnName, TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(590) = "1" Then
- ChkLiquidacion.Checked = True
- ActivaDesactivaLiquidacion()
- End If
-
- For Each Drow As DataRow In DTExcel.Rows
-
- Dim SerieFolioBusqueda As String = Drow("Folio").ToString.Trim.ToUpper
- Dim ImportePago As Decimal = Drow("Importe Pago").ToString.ToDecimal.RoundSQL(2)
- Dim SerieFolioEncontrado As Boolean = False
-
- If ImportePago >= 0 Then
-
- For Each GvRow As GridViewRow In GvCxC.Rows
-
- Dim SerieFolioGv As String = GvRow.DataKey("SerieFolio").Trim.ToUpper
-
- If SerieFolioBusqueda = SerieFolioGv Then
- SerieFolioEncontrado = True
- Dim SaldoGV As Decimal = GvRow.DataKey("Saldo").ToDecimal
- If ImportePago = 0 Then ImportePago = SaldoGV 'si no se especifica cantidad toma la totalidad del saldo
- Dim Diferencia As Decimal = SaldoGV - ImportePago
-
- If Diferencia < 0 Then
-
- If Math.Abs(Diferencia) > 0.01 Then
- SBPagoMayorASaldo.AppendLine($"Factura: {SerieFolioBusqueda} Importe de pago {ImportePago.ToString("###,###,###.00")} es mayor al saldo {SaldoGV.ToString("###,###,###.00")}
")
- ProcesoOK = False
- Exit For
- Else
- ImportePago = SaldoGV
- End If
- End If
-
- GvRow.FCCheckBox("Chk").Checked = True
- GvRow.FCTextBox("TxtAbonar").Text = ImportePago.ToString("###,###,###.00")
-
- If UsuarioActual.Empresa.Funcionalidad(590) = "1" Then
-
- GvRow.FCDropDownList("DdlTG").SelectedTextExist(Drow("Tipo").ToString)
- GvRow.FCTextBox("TxtLiqCol1").Text = Drow("Comisión").ToString
- GvRow.FCTextBox("TxtLiqCol2").Text = Drow("Gastos").ToString
- GvRow.FCTextBox("TxtLiqCol3").Text = Drow("Inspeccion").ToString
- GvRow.FCTextBox("TxtLiqCol4").Text = Drow("Seguro").ToString
- GvRow.FCTextBox("TxtLiqCol5").Text = Drow("AduanaMex").ToString
- GvRow.FCTextBox("TxtLiqCol6").Text = Drow("Diversos").ToString
- GvRow.FCTextBox("TxtLiqCol7").Text = Drow("AduanaUSA").ToString
- GvRow.FCTextBox("TxtLiqCol8").Text = Drow("MaterialEmpaque").ToString
- GvRow.FCTextBox("TxtLiqCol9").Text = Drow("Semilla").ToString
-
- GvRow.FCDropDownList("DdlAnti").SelectedTextLikeIfExist(Drow("FolioAnticipo1").ToString)
- GvRow.FCTextBox("TxtAmort").Text = Drow("ImporteAnticipo1").ToString
- GvRow.FCDropDownList("DdlAnti2").SelectedTextLikeIfExist(Drow("FolioAnticipo2").ToString)
- GvRow.FCTextBox("TxtAmort2").Text = Drow("ImporteAnticipo2").ToString
-
- End If
-
- TotalSeleccion = TotalSeleccion + ImportePago
- CountRegistros = CountRegistros + 1
-
- Exit For
- End If
- Next
-
- If Not SerieFolioEncontrado Then
- SBNoEncontradosEnLista.AppendLine($"{SerieFolioBusqueda}
")
- End If
- End If
- Next
-
- Else
- Alert("Se debe seleccionar un archivo", TipoMensaje.MsgError)
- End If
-
- If ProcesoOK Then
-
- Alert($"Facturas seleccionadas: {CountRegistros}
{SBNoEncontradosEnLista.ToString}")
- RegistraScript("$('#ModalSeleccionLayout').modal('hide');")
- TxtImporte.Text = TotalSeleccion.ToString("###,###,###.00")
-
- UPVentas.Update()
- UpDatos.Update()
- Else
-
- If SBPagoMAyorASaldo.ToString.Length > 0 Then
- Alert($"Facturas con pagos mayores a saldo:
{SBPagoMAyorASaldo.ToString}", TipoMensaje.MsgAdvertencia)
- End If
-
- End If
-
-
- End Sub
-
- 'Public Sub SelectedTextLikeIfExist(ByRef Rbl As RadioButtonList, Value As String)
- ' Try
-
- ' For Each item As ListItem In Rbl.Items
- ' If item.Value.Contains(Value) Then
- ' item.Selected = True
- ' End If
- ' Next
- ' Catch ex As Exception
-
- ' End Try
- 'End Sub
-
- Protected Sub LnkDescargaFormato_Click(sender As Object, e As EventArgs)
-
- Dim Directorio As String = ""
- Directorio = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\LayoutPagoCliente.xlsx"
- If UsuarioActual.Empresa.Funcionalidad(590) = "1" Then
- Directorio = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\LayoutPagoClienteLiquidacion.xlsx"
- End If
-
- If Not (Directorio = "") Then
-
- Dim Archivo As New IO.FileInfo(Directorio)
- If Archivo.Exists Then
- Response.Clear()
- Response.ClearHeaders()
- Response.ClearContent()
- Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name)
- Response.AddHeader("Content-Length", Archivo.Length.ToString())
- Response.ContentType = "text/plain"
- Response.Flush()
- Response.TransmitFile(Archivo.FullName)
- Response.End()
- End If
- End If
-
- End Sub
-End Class