carga layout liquidación E158

This commit is contained in:
2023-01-29 13:39:28 -07:00
parent 563ea013f3
commit e389f5246d

View File

@@ -296,7 +296,7 @@ Partial Class Ventas_ClientesAbonar
RVTxtFechaDocumento.MaximumValue = Now.ToString("dd/MM/yyyy")
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
If UsuarioActual.CveEmpresa.Contiene(13, 83, 158) Then
LnkAccionesModalSeleccionLayout.Visible = True
End If
@@ -864,15 +864,12 @@ Partial Class Ventas_ClientesAbonar
'inserto los movimientos de la conta para abonar al saldo
If CvePrePoliza > 0 Then
Dim PorcentajePago As Decimal = 100
Dim CvePlantillaPoliza As Integer = 11
Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:<br><br>"
Dim idCuentaContabilizacion As Long = 1
Dim CveCuentaContabilizacion As Long = 1
Dim dtConceptos As DataTable = Nothing
Dim tipoCambioVenta As Decimal
Dim tipoCambioPago As Decimal
Dim tipoCambioVentaValuacion As Decimal = 1
Dim TipoCambioGeneral As Decimal = 1
Dim CveSubProyectoContabilizar As Integer = -1
Dim CveSubProyectoMaximo As Integer = -1
@@ -886,6 +883,7 @@ Partial Class Ventas_ClientesAbonar
Dim ImportePrestamo As Decimal = 0
Dim TCPrestamo As Decimal = 0
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)
@@ -912,14 +910,14 @@ Partial Class Ventas_ClientesAbonar
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:=11881, TipoCambio:=tipoCambioPago, CveClasificacion:=21927) 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:=11881, TipoCambio:=tipoCambioPago, CveClasificacion:=21927) Then
MsgError = "No se pudo insertar la póliza"
End If
End If
'inserto las ventas que voy a pagar
@@ -977,26 +975,6 @@ Partial Class Ventas_ClientesAbonar
If gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal
If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'Si la venta viene en Pesos y se va a pagar en Pesos
tipoCambioPago = 1
tipoCambioVenta = 1
PorcentajePago = gvr.FCTextBox("TxtAbonar").Text.ToDecimal / gvr.DataKey("Original").ToDecimal
ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos
tipoCambioPago = TxtTC.Text.ToDecimal
tipoCambioVenta = gvr.DataKey("TipoCambio").ToDecimal
tipoCambioVentaValuacion = If(gvr.DataKey("Fecha").ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, gvr.DataKey("TipoCambio").ToDecimal)
PorcentajePago = (gvr.FCTextBox("TxtAbonar").Text.ToDecimal) / gvr.DataKey("Original").ToDecimal
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES
tipoCambioPago = If(CveMonedaFiltro = -1, TxtTCDolares.Text.ToDecimal, TxtTCDolaresDolares.Text.ToDecimal)
tipoCambioVenta = gvr.DataKey("TipoCambio").ToDecimal
tipoCambioVentaValuacion = If(gvr.DataKey("Fecha").ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, gvr.DataKey("TipoCambio").ToDecimal)
PorcentajePago = gvr.FCTextBox("TxtAbonar").Text.ToDecimal / gvr.DataKey("Original").ToDecimal
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
tipoCambioPago = TxtTCDolares.Text.ToDecimal
tipoCambioVenta = 1
PorcentajePago = gvr.FCTextBox("TxtAbonar").Text.ToDecimal / gvr.DataKey("Original").ToDecimal
End If
If gvr.DataKey("TipoDocto") = "Ant" AndAlso UsuarioActual.CveEmpresa.Contiene(1, 119, 158) Then
EsAnticipoEspecial = True
Pago.AplicaTraslado = False
@@ -1109,7 +1087,7 @@ Partial Class Ventas_ClientesAbonar
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, tipoCambioVentaValuacion, gvr.DataKey("CveVenta").ToEntero, gvr.DataKey("SerieFolio").ToString, FolioPago)
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
@@ -1130,12 +1108,13 @@ Partial Class Ventas_ClientesAbonar
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, tipoCambioVentaValuacion, gvr.DataKey("CveVenta").ToEntero, gvr.DataKey("SerieFolio").ToString, FolioPago)
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
@@ -1216,8 +1195,6 @@ Partial Class Ventas_ClientesAbonar
End If
End If
If MsgError = "" AndAlso UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
@@ -1386,13 +1363,12 @@ Partial Class Ventas_ClientesAbonar
StrMsg.AppendFormat("Nota de crédito generada correctamente.<br/><br/> Folio: <a href='/Ventas/Ventas.aspx?CveVenta={0}' target='_blank' class='Texto'>{1}</a><br/>", RespuestaNotaCredito.Respuesta.CveVenta, RespuestaNotaCredito.Respuesta.SerieFolio)
End If
Next
Alert($"{StrMsg.ToString}<br/><br/>{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)
Alert(MsgError, TipoMensaje.MsgAdvertencia)
End If
ObjIE.Dispose()
@@ -1409,7 +1385,7 @@ Partial Class Ventas_ClientesAbonar
End Sub
Private Function RegistraAmortizacionAnticipo(ByRef ObjMov As ClsContabilidad, CvePrePoliza As Integer, CveIE As Integer, Importe As Decimal, tipoCambioPago As Decimal, tipoCambioVenta As Decimal, CveVenta As Integer, ReferenciaVenta As String, ReferenciaPago As String) As String
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
@@ -2756,7 +2732,10 @@ Partial Class Ventas_ClientesAbonar
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
@@ -2811,7 +2790,6 @@ Partial Class Ventas_ClientesAbonar
End If
UPVentas.Update()
End Sub
#End Region
@@ -2833,31 +2811,36 @@ Partial Class Ventas_ClientesAbonar
Dim CountRegistros As Integer = 0
Dim TotalSeleccion As Decimal = 0D
Dim SBNoEncotradosEnLista As New StringBuilder
Dim SBPagoMAyorASaldo As New StringBuilder
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 DT As New DataTable
Dim DTExcel As New DataTable
Dim ErrorArchivo = False
Dim ErrorExcel = False
DT = ReadExcelFile(Directorio + file.filename, True)
DTExcel = ReadExcelFile(Directorio + file.filename, True)
If Not DT.Columns(0).ColumnName.ToUpper = "FOLIO" Then
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 DT.Columns(1).ColumnName.ToUpper = "IMPORTE PAGO" Then
Alert("El nombre de la segunda columna debe ser 'Importe Pago'.Favor de corregirlo." & DT.Columns(1).ColumnName, TipoMensaje.MsgAdvertencia)
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
For Each Drow As DataRow In DT.Rows
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)
@@ -2878,7 +2861,7 @@ Partial Class Ventas_ClientesAbonar
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")} <br/>")
SBPagoMayorASaldo.AppendLine($"Factura: {SerieFolioBusqueda} Importe de pago {ImportePago.ToString("###,###,###.00")} es mayor al saldo {SaldoGV.ToString("###,###,###.00")} <br/>")
ProcesoOK = False
Exit For
Else
@@ -2889,6 +2872,26 @@ Partial Class Ventas_ClientesAbonar
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
@@ -2897,7 +2900,7 @@ Partial Class Ventas_ClientesAbonar
Next
If Not SerieFolioEncontrado Then
SBNoEncotradosEnLista.AppendLine($"{SerieFolioBusqueda}<br>")
SBNoEncontradosEnLista.AppendLine($"{SerieFolioBusqueda}<br>")
End If
End If
Next
@@ -2908,7 +2911,7 @@ Partial Class Ventas_ClientesAbonar
If ProcesoOK Then
Alert($"Facturas seleccionadas: {CountRegistros} <br/>{SBNoEncotradosEnLista.ToString}")
Alert($"Facturas seleccionadas: {CountRegistros} <br/>{SBNoEncontradosEnLista.ToString}")
RegistraScript("$('#ModalSeleccionLayout').modal('hide');")
TxtImporte.Text = TotalSeleccion.ToString("###,###,###.00")
@@ -2925,13 +2928,26 @@ Partial Class Ventas_ClientesAbonar
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\LayoutSeleccion.xlsx"
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