From 218ecb14a7ab138c2c007b95a72bbe0357846939 Mon Sep 17 00:00:00 2001 From: Oscar Irigoyen Date: Thu, 22 Sep 2022 18:45:24 -0700 Subject: [PATCH] Saldos iniciales, cambios en OC numero de remision, validacion cultivo 158, --- App_Code/ClsOC.vb | 27 ++ App_Code/ClsPaginas.vb | 8 +- Compras/Compras.aspx | 6 + Compras/Compras.aspx.vb | 10 + .../SaldosIniciales/FormatoClientes.xlsx | Bin 9117 -> 9527 bytes .../Grales/SaldosIniciales/FormatoPS.xlsx | Bin 9022 -> 9418 bytes General/SaldosIniciales.aspx | 29 +- General/SaldosIniciales.aspx.vb | 377 ++++++++++++++++-- OC/OC.aspx | 8 +- OC/OC.aspx.vb | 86 +++- Ventas/Clientes.aspx | 9 +- Ventas/Clientes.aspx.vb | 7 +- Ventas/RepLineasAdicionales.aspx | 38 +- Ventas/RepLineasAdicionales.aspx.cs | 90 ++++- 14 files changed, 605 insertions(+), 90 deletions(-) diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index 53feb942d..6d6d28caf 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -2534,6 +2534,31 @@ Public Class ClsOC End Function + Public Function UpdateNumeroRemision(CveOrdenCompra As Integer, NumRemision As String, cveEmpresa As Integer) As Boolean + + + Dim Retorno As Boolean = False + DataAdapter("PA_OC_OCNumeroRemisionUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision + .Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el número de remisión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + + + End Function + + #Region " IDisposable Support " ' IDisposable Protected Overridable Sub Dispose(ByVal disposing As Boolean) @@ -2555,5 +2580,7 @@ Public Class ClsOC Dispose(True) GC.SuppressFinalize(Me) End Sub + + #End Region End Class diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 7a15cb5e1..88c5c6f4d 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5535,6 +5535,9 @@ Public Class ClsPaginas PaginaDict.Add("/Ventas/RepComisionesServecDetalle.aspx".ToUpper(), 782) PaginaDict.Add("/Ventas/RepCancelacionesVentas.aspx".ToUpper(), 1325) + PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx".ToUpper(), 1331) + PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx?OP=OP".ToUpper(), 1332) + #End Region @@ -5663,11 +5666,6 @@ Public Class ClsPaginas PaginaDict.Add("/Acumuladores/RepPolizasVirtuales.aspx".ToUpper(), 1322) - PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx".ToUpper(), -1) - PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx?OP=LI".ToUpper(), -1) - PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx?OP=OP".ToUpper(), -1) - - 'Antes de aquí. Application("GlobalSIGAppPaginas") = PaginaDict diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 535bfd2ea..7972438af 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -4417,6 +4417,12 @@ + + + + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index a933fb13a..df6f181d0 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -16743,6 +16743,9 @@ Partial Class Compras_Compras DdlPSChange() End Sub Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) + + + If Modalidad <> "U" Or Not CveFactura > 0 Then DdlPSChange() End If @@ -16759,6 +16762,13 @@ Partial Class Compras_Compras DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1")) End If + + If UsuarioActual.Empresa.CveEmpresa = 158 AndAlso DdlSubProyecto.SelectedValue.ToEntero > 0 AndAlso DdlSubProyecto.SelectedValue.ToEntero.Contiene(11881, 11882, 11886) Then + RfvDdlCultivosCuadro.Visible = True + Else + RfvDdlCultivosCuadro.Visible = False + End If + End Sub Private Sub DdlPSChange() If CveProveedor > 0 Then diff --git a/Empresas/Grales/SaldosIniciales/FormatoClientes.xlsx b/Empresas/Grales/SaldosIniciales/FormatoClientes.xlsx index cec9000554768b4fad8b0ece6df218af228b69fc..2b681f06a2408605c8b6536a2a552b5cb495c340 100644 GIT binary patch delta 3799 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 delta 3408 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 diff --git a/General/SaldosIniciales.aspx b/General/SaldosIniciales.aspx index baceab446..0d3f9fbba 100644 --- a/General/SaldosIniciales.aspx +++ b/General/SaldosIniciales.aspx @@ -43,7 +43,8 @@ - + <%----%> + @@ -52,13 +53,33 @@
- Fecha: +
+ Fecha: +
+ +
+ +
+
- Concepto: - + +
+
+ Concepto: +
+ +
+ Carga Inicial Salida Almacen +
+ + +
+ + +
diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 74362e4c2..08da0e376 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -4,6 +4,7 @@ Imports System.Data Imports System.Math Imports Extensiones Imports GemBox.Spreadsheet +Imports log4net.Filter Partial Class General_SaldosIniciales Inherits ClsPaginas @@ -150,6 +151,23 @@ Partial Class General_SaldosIniciales End If + If Not dt.Columns(17).ColumnName.ToUpper = "TIPOPROVEEDOR" Then + Alert("El nombre de la columna 18 debe ser 'TipoProveedor'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + + If Not dt.Columns(18).ColumnName.ToUpper = "CUENTACONTABLE" Then + Alert("El nombre de la columna 19 debe ser 'CuentaContable'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + + + + + + @@ -506,11 +524,24 @@ Partial Class General_SaldosIniciales dt.TableName = "Datos" Dim NumRows As Integer = dt.Rows.Count + Dim DTCuentasContables As New DataTable + + If UsuarioActual.Empresa.TipoContabilizacion = 1 Then + + Dim ObjConta As New ClsContabilidad + If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then + DTCuentasContables = ObjConta.DtResultados + End If + ObjConta.Dispose() + + End If + + If Not ErrorArchivo Then 'P R O D U C T O S / S E R V I C I O S If RblFormato.SelectedValue = "5" Then - +#Region "P R O D U C T O S / S E R V I C I O S" Dim ObjPS As New ClsProductosServicios Dim ObjGral As New ClsGenerales(ObjPS.IniciaTransacSQL()) Dim ObjClas As New ClsClasificaciones(ObjPS.IniciaTransacSQL()) @@ -557,11 +588,12 @@ Partial Class General_SaldosIniciales Dim UnidadMedida As String = Row("Unidad Medida").ToString.Trim Dim Clasificacion As String = Row("Clasificacion").ToString.Trim Dim Marca As String = Row("Marca").ToString.Trim - 'Dim AplicaSerie As String = Row("AplicaSerie").ToString.Trim + Dim AplicaSerie As Boolean = If(Row("AplicaSerie").ToString.Trim.ToUpper.Contiene("1", "SI"), True, False) Dim Precio As Double = Row("Precio").ToString.ToDouble Dim IEPS As Decimal = Row("IEPS").ToString.ToDecimal Dim Tamaño As String = Row("Tamaño").ToString.Trim Dim SATClavePS As String = Row("Código SAT").ToString.Trim + Dim Clasificacion2 As String = If(dt.Columns.Contains("Servicio"), Row("Servicio").ToString.Trim, "") Dim Litraje As Double = If(dt.Columns.Contains("Conversion Unidad"), Row("Conversion Unidad").ToString.ToDouble, 0) Dim RinTamaño As String = If(Row.Table.Columns.Contains("Tamaño de Rin"), Row("Tamaño de Rin").ToString.Trim, "") @@ -569,6 +601,7 @@ Partial Class General_SaldosIniciales Dim SATClaveUnidadMedida As String = If(Row.Table.Columns.Contains("Clave Unidad"), Row("Clave Unidad").ToString.Trim, "") Dim Linea As String = If(Row.Table.Columns.Contains("Linea"), Row("Linea").ToString.Trim, "") Dim Modelo As String = If(Row.Table.Columns.Contains("Modelo"), Row("Modelo").ToString.Trim, "") + Dim RetIVA As Decimal = If(Row.Table.Columns.Contains("RetIVA"), Row("RetIVA").ToString.Trim.ToDecimal, 0D) Dim CvePS As Integer = DTPS.FiltroPrimeroValor("CvePS", $"Codigo = '{Codigo}'").ToString.ToEntero @@ -699,9 +732,9 @@ Partial Class General_SaldosIniciales 'If Not CveClasificacion2 > 0 AndAlso Clasificacion2 <> "" Then Alert("No se encontró la Serie: " + Clasificacion2, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For If CvePS > 0 Then - If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS, + If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, RetIVA, False, -1, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS, CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño, - CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveTamaño:=CveTamaño) Then + CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveTamaño:=CveTamaño, AplicaSerie:=AplicaSerie) Then 'If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, 0, 1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS, ' CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) Then ErrorPS = True @@ -715,9 +748,9 @@ Partial Class General_SaldosIniciales 'If Codigo.Length > 0 Then - If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1, + If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, RetIVA, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1, CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño, - CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveClasificacionDetalle:=CveClasificacionDetalle) <= 0 Then + CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveClasificacionDetalle:=CveClasificacionDetalle, AplicaSerie:=AplicaSerie) <= 0 Then 'If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", "", Descripcion, 0, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1, ' CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) <= 0 Then ErrorPS = True @@ -755,14 +788,67 @@ Partial Class General_SaldosIniciales ObjClas.Dispose() ObjVenta.Dispose() ObjUM.Dispose() +#End Region + 'P R O V E E D O R E S ElseIf RblFormato.SelectedValue = "1" Then +#Region "P R O V E E D O R E S" Dim ObjProv As New ClsCompProveedores Dim ErrorProv As Boolean = False Dim Contador As Integer = 0 Dim ExisteProveedor As Boolean = False + + + + + + If Not dt.Columns.Contains("CveCuentaContable") Then + dt.Columns.Add("CveCuentaContable", GetType(Integer)) + End If + + + Dim sbErrores As New StringBuilder + + For Each Row As DataRow In dt.Rows + + Dim RazonSocial As String = Row("RazonSocial").ToString + Dim CuentaContable As String = Row("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "") + + If CuentaContable.Length > 0 Then + Dim CveCuentaContable As Integer = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero + + If CveCuentaContable > 0 Then + Row("CveCuentaContable") = CveCuentaContable + Else + sbErrores.AppendLine($"Proveedor {RazonSocial} cuenta {CuentaContable} no encontrada.
") + ErrorProv = True + End If + End If + Next + + For Each Row As DataRow In dt.Rows + Dim RazonSocial As String = Row("RazonSocial").ToString + If Not (Row("TipoProveedor").ToString.Trim.ToUpper).Contiene("PROVEEDOR", "ACREEDOR") Then + sbErrores.AppendLine($"Proveedor {RazonSocial} TipoProveedor {Row("TipoProveedor")} invalido.
") + ErrorProv = True + End If + Next + + If Not ErrorProv Then + dt.AcceptChanges() + Else + Alert($"Errores detectados
{sbErrores.ToString()}", TipoMensaje.MsgAdvertencia) + ObjProv.Dispose() + Exit Sub + End If + + + + + + ObjProv.IniciaTransacSQL() For Each Row As DataRow In dt.Rows @@ -793,8 +879,16 @@ Partial Class General_SaldosIniciales Dim CveProveedor As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString.ToEntero Dim CveProveedor2 As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"RazonSocial = '{RazonSocial}'").ToString.ToEntero + + + Dim CveProveedor3 As Integer = 0 + Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero + Dim TipoProveedor As Integer = If(Row("TipoProveedor").ToString.ToUpper = "PROVEEDOR", 1, 2) + Dim CveConceptoCuentaAsiganaciones As Integer = If(TipoProveedor = 1, 5, 305) + + If Codigo.Trim.Length > 0 Then CveProveedor3 = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"Codigo = '{Codigo}'").ToString.ToEntero End If @@ -822,7 +916,7 @@ Partial Class General_SaldosIniciales If Not ObjProv.AddProveedor(Codigo, RazonSocial, RazonSocial, RazonSocial, RFC, Dirrecion, Telefono, "", ContactoMail, CelularContacto, LimiteCredito, PlazoCobranza, "", 0, 0, 0, -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", - -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, -1, "", "", False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CP:=CodigoPostal) Then + -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, -1, "", "", False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CP:=CodigoPostal, CveRegimenFiscal:=0, CveTipoProveedor:=TipoProveedor) Then ErrorProv = True Exit For @@ -848,22 +942,24 @@ Partial Class General_SaldosIniciales End If End If + If CveCuentaContable > 0 Then + + Dim ObjConta As New ClsContabilidad(ObjProv.IniciaTransacSQL) + + If Not ObjConta.AddCuentasAsignaciones(CveConceptoCuentaAsiganaciones, UsuarioActual.CveEmpresa, CveCuentaContable, -1, + ObjProv.CveProveedor, -1, -1, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1, + CveTipoGasto:=-1, RegeneraCuenta:=False) Then + ErrorProv = True + End If + + End If + End If End If - - - Next - - - - - - - If Not ErrorProv Then ObjProv.Commit() If ObjProv.GetProveedores(ClsCompProveedores.TipoConsulta.ParaGlobalDT, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, -1) Then Application("GlobalDTCompProveedores") = ObjProv.DtResultados @@ -879,14 +975,57 @@ Partial Class General_SaldosIniciales End If ObjProv.Dispose() - ' C L I E N T E S +#End Region ' C L I E N T E S ElseIf RblFormato.SelectedValue = "2" Then + + +#Region "C L I E N T E S" + + Dim ObjClientes As New ClsClientes Dim ErrorClientes As Boolean = False Dim ExisteCliente As Boolean = False Dim Contador As Integer = 0 Dim NumRow As Integer = 0 + + If Not dt.Columns.Contains("CveCuentaContable") Then + dt.Columns.Add("CveCuentaContable", GetType(Integer)) + End If + + + Dim sbErrores As New StringBuilder + + For Each Row As DataRow In dt.Rows + + Dim RazonSocial As String = Row("RazonSocial").ToString + Dim CuentaContable As String = Row("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "") + + If CuentaContable.Length > 0 Then + Dim CveCuentaContable As Integer = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero + + If CveCuentaContable > 0 Then + Row("CveCuentaContable") = CveCuentaContable + Else + sbErrores.AppendLine($"Cliente {RazonSocial} cuenta {CuentaContable} no encontrada.
") + ErrorClientes = True + End If + End If + Next + + + + If Not ErrorClientes Then + dt.AcceptChanges() + Else + Alert($"Errores detectados
{sbErrores.ToString()}", TipoMensaje.MsgAdvertencia) + ObjClientes.Dispose() + Exit Sub + End If + + + + ObjClientes.IniciaTransacSQL() For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows NumRow = NumRow + 1 @@ -925,6 +1064,7 @@ Partial Class General_SaldosIniciales Dim CobranzaContacto As String = If(dt.Columns.Contains("Encargado Pagoa"), Row("Encargado Pago").ToString, "") Dim CobranzaTelefono As String = Row("Celular Contacto").ToString.Replace("-", "").Replace(" ", "").Replace("(", "").Replace(")", "") Dim CveUsoCFDI As Integer = If(Row("UsoCFDI").ToString = "", -1, GlobalDTSATUsosCFDI().FiltroPrimeroValor("CveUsoCFDI", String.Format("UsoCFDI = '{0}'", Row("UsoCFDI").ToString)).ToEntero) + Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero ' CobranzaContacto = Regex.Replace(CobranzaContacto, "[^0-9]", "") 'Telefono @@ -1035,13 +1175,25 @@ Partial Class General_SaldosIniciales If Not ObjClientes.AddCliente(RazonSocial, RazonSocial, Calle, NumExt.ToString, "", Colonia, Poblacion, Poblacion, Estado, Pais, RFC, CodigoPostal, Telefono, Contacto, "", "", "", "", "", -1, False, 0, 0, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", CveVendedor, PlazoCobranza, -1, "-1", "-1", -1, "-1", -1, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", Codigo, LimiteCredito, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False, 0, -1, EsDistribuidor:=EsDistribuidor, CveClienteClasificacion:=CveClasificación, CargoUsado:=CargoUsado, - BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33, CveUsoCFDI:=CveUsoCFDI, CveSATEstado:=CveSATEstado) Then + BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33, CveUsoCFDI:=CveUsoCFDI, CveSATEstado:=CveSATEstado, CveAdminTrayecto:=0) Then ErrorClientes = True RFC.GuardaLog Exit For End If + If CveCuentaContable > 0 Then + + Dim ObjConta As New ClsContabilidad(ObjClientes.IniciaTransacSQL) + + If Not ObjConta.AddCuentasAsignaciones(1, UsuarioActual.CveEmpresa, CveCuentaContable, -1, + -1, ObjClientes.CveCliente, -1, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1, + CveTipoGasto:=-1, RegeneraCuenta:=False) Then + ErrorClientes = True + End If + + End If + End If Next @@ -1065,8 +1217,16 @@ Partial Class General_SaldosIniciales End If ObjClientes.Dispose() + + +#End Region + + 'P R O V E E D O R E S - F A C T U R A S ElseIf RblFormato.SelectedValue = "3" Then + +#Region "P R O V E E D O R E S - F A C T U R A S" + Dim ObjCompras As New ClsCompras Dim ErrorCompras As Boolean = False Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL()) @@ -1201,8 +1361,13 @@ Partial Class General_SaldosIniciales End If ObjCompras.Dispose() +#End Region + 'C L I E N T E S - F A C T U R A S ElseIf RblFormato.SelectedValue = "4" Then + +#Region "C L I E N T E S - F A C T U R A S" + Dim ObjVentas As New ClsVentas Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) Dim ObjIE As New ClsBancos(ObjVentas.IniciaTransacSQL()) @@ -1389,19 +1554,64 @@ Partial Class General_SaldosIniciales End If ObjVentas.Dispose() +#End Region + + + ' R H - P E R S O N A L ElseIf RblFormato.SelectedValue = "6" Then - UpPersonal(dt) + UpPersonal(dt, DTCuentasContables) ' A F - A C T I V O F I J O ElseIf RblFormato.SelectedValue = "7" Then + +#Region " A F - A C T I V O F I J O" + Dim ErrorAF As Boolean = False + + If Not dt.Columns.Contains("CveCuentaContable") Then + dt.Columns.Add("CveCuentaContable", GetType(Integer)) + End If + + + Dim sbErrores As New StringBuilder + + For Each Row As DataRow In dt.Rows + + Dim Codigo As String = Row("Código").ToString + Dim Descripcion As String = Row("Descripción").ToString + + Dim CuentaContable As String = Row("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "") + + If CuentaContable.Length > 0 Then + Dim CveCuentaContable As Integer = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero + + If CveCuentaContable > 0 Then + Row("CveCuentaContable") = CveCuentaContable + Else + sbErrores.AppendLine($"Activo Fijo {Codigo} {Descripcion} cuenta {CuentaContable} no encontrada.
") + ErrorAF = True + End If + End If + Next + + + + If Not ErrorAF Then + dt.AcceptChanges() + Else + Alert($"Errores detectados
{sbErrores.ToString()}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim ObjAF As New ClsAF Try + ObjAF.IniciaTransacSQL() - Dim ErrorAF As Boolean = False + Dim Contador As Integer = 0 Dim NumRow As Integer = 0 @@ -1410,44 +1620,60 @@ Partial Class General_SaldosIniciales Dim Descripcion As String = Row("Descripción").ToString Dim TipoAF As String = Row("Tipo").ToString Dim SubTipo As String = Row("SubTipo").ToString - Dim Valor As String = Row("Valor").ToString - Dim FechaAF As String = Row("Fecha").ToString + Dim Valor As Decimal = Row("Valor").ToString.ToDecimal + Dim FechaAF As Date = Row("Fecha").ToString.ToDate Dim NumeroSerie As String = Row("No. Serie").ToString - Dim Año As String = Row("Año").ToString + Dim Año As Integer = Row("Año").ToString.ToEntero Dim CuentaContable As String = Row("Cuenta Contable").ToString Dim Estado As String = Row("Estado").ToString - Dim Responsable As String = Row("Responsable").ToString Dim Proyecto As String = Row("Proyecto").ToString Dim SubProyecto As String = Row("SubProyecto").ToString Dim Cliente As String = Row("Cliente").ToString Dim Observaciones As String = Row("Observaciones").ToString - Dim CtaDepreciacion As String = Row("Cuenta Depreciación").ToString - Dim PorcentajeDepreciacion As String = Row("% Depreciación").ToString + Dim CtaDepreciacion As Integer = Row("Cuenta Depreciación").ToString.ToEntero + Dim PorcentajeDepreciacion As Decimal = Row("% Depreciación").ToString.ToDecimal 'CLAVES - Dim CveAF As Integer = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveActivoFijo", $"Código = '{Codigo}'").ToString.ToEntero + Dim CveAF As Integer = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveActivoFijo", $"Codigo = '{Codigo}'").ToString.ToEntero Dim CveSubTipoAF As Integer = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubTipoActivoFijo", $"TipoActivoFijo = '{TipoAF}'").ToString.ToEntero Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{SubProyecto}'").ToString.ToEntero - Dim CveEstadoFijo As Integer = GlobalDTEstadoActivoFijo().FiltroPrimeroValor("CveEstadoFijo", $"Estado = '{Estado}'").ToString.ToEntero + Dim CveEstadoActivoFijo As Integer = GlobalDTEstadoActivoFijo().FiltroPrimeroValor("CveEstadoActivoFijo", $"EstadoActivoFijo = '{Estado}'").ToString.ToEntero Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", $"Nombre = '{Cliente}'").ToString.ToEntero + Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero 'VALIDACIONES If Not CveSubTipoAF > 0 Then Alert($"No se encontró el SubTipo: {TipoAF} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For If Not CveSubProyecto > 0 Then Alert($"No se encontró el SubProyecto: {SubProyecto} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For - If Not CveEstadoFijo > 0 Then Alert($"No se encontró el Estado: {CveEstadoFijo} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For - If Not CveCliente > 0 Then Alert($"No se encontró el Cliente: {Cliente} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For + If Not CveEstadoActivoFijo > 0 Then Alert($"No se encontró el Estado: {Estado} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For + If Not CveCliente > 0 Then CveCliente = -1 - 'If CveAF > 0 Then - ' Contador = Contador + 1 - 'Else - ' If Not ObjAF.AddActivosFijos(Codigo, Descripcion, Valor, FechaAF, CveSubTipoAF, -1, NumeroSerie, Año, CveSubProyecto, CtaDepreciacion, CveEstadoFijo, - ' CtaDepreciacion, PorcentajeDepreciacion, Observaciones, CveCliente, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - ' ErrorAF = True - ' Exit For - ' End If - 'End If + If CveAF > 0 Then + Contador = Contador + 1 + Else + + CveAF = ObjAF.AddActivosFijos(Codigo, Descripcion, Valor, FechaAF, CveSubTipoAF, -1, NumeroSerie, Año, CveSubProyecto, CtaDepreciacion, CveEstadoActivoFijo, + CtaDepreciacion, PorcentajeDepreciacion, Observaciones, CveCliente, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If CveAF > 0 Then + If CveCuentaContable > 0 Then + + Dim ObjConta As New ClsContabilidad(ObjAF.IniciaTransacSQL) + + If Not ObjConta.AddCuentasAsignaciones(49, UsuarioActual.CveEmpresa, CveCuentaContable, -1, + -1, -1, -1, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=CveAF, + CveTipoGasto:=-1, RegeneraCuenta:=False) Then + ErrorAF = True + End If + + End If + Else + ErrorAF = True + Exit For + End If + End If + NumRow = NumRow + 1 Next @@ -1476,6 +1702,10 @@ Partial Class General_SaldosIniciales Finally ObjAF.Dispose() End Try +#End Region + + + ' C U E N T A S C O N T A B L E S ElseIf RblFormato.SelectedValue = "8" Then @@ -2122,7 +2352,48 @@ Partial Class General_SaldosIniciales Return False End If End Function - Protected Sub UpPersonal(dt As DataTable) + Protected Sub UpPersonal(dt As DataTable, DTCuentasContables As DataTable) + + + Dim ErrorValidacion As Boolean = False + + If Not dt.Columns.Contains("CveCuentaContable") Then + dt.Columns.Add("CveCuentaContable", GetType(Integer)) + End If + + + Dim sbErrores As New StringBuilder + + For Each Row As DataRow In dt.Rows + + Dim ApellidoPaterno As String = Row("Apellido Paterno").ToString + Dim ApellidoMaterno As String = Row("Apellido Materno").ToString + Dim Nombre As String = Row("Nombre").ToString + + + Dim CuentaContable As String = Row("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "") + + If CuentaContable.Length > 0 Then + Dim CveCuentaContable As Integer = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero + + If CveCuentaContable > 0 Then + Row("CveCuentaContable") = CveCuentaContable + Else + sbErrores.AppendLine($"Empleado {Nombre} {ApellidoPaterno} {ApellidoMaterno} cuenta {CuentaContable} no encontrada.
") + ErrorValidacion = True + End If + End If + Next + + + + If Not ErrorValidacion Then + dt.AcceptChanges() + Else + Alert($"Errores detectados
{sbErrores.ToString()}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + Dim NumRows As Integer = 0 Dim dtregistrospatronales As New DataTable @@ -2190,6 +2461,7 @@ Partial Class General_SaldosIniciales Dim SDI As String = Row("SDI").ToString Dim MetodoPago As String = Row("Metodo Pago").ToString Dim Nominista As String = Row("Nominista").ToString + Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero Dim NombreCompleto As String = $"{Nombre} {ApellidoPaterno} {ApellidoMaterno}" @@ -2261,7 +2533,7 @@ Partial Class General_SaldosIniciales CveDepartamento = dTDepartamentos.FiltroPrimeroValor("CveDepartamento", $"CveDepartamento = {CveDepartamento}").ToString.ToEntero Else - CveDepartamento = DTDepartamentos.FiltroPrimeroValor("CveDepartamento", $"Departamento = '{Departamento}'").ToString.ToEntero + CveDepartamento = dTDepartamentos.FiltroPrimeroValor("CveDepartamento", $"Departamento = '{Departamento}'").ToString.ToEntero End If If CveDepartamento <= 0 Then CveDepartamento = -1 @@ -2444,8 +2716,24 @@ Partial Class General_SaldosIniciales Exit For End If Else - ContadorAgregados = ContadorAgregados + 1 + ContadorAgregados = ContadorAgregados + 1 End If + + + If CveCuentaContable > 0 Then + + Dim ObjConta As New ClsContabilidad(ObjRH.IniciaTransacSQL) + + If Not ObjConta.AddCuentasAsignaciones(28, UsuarioActual.CveEmpresa, CveCuentaContable, -1, + -1, -1, ObjRH.CvePersonal, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1, + CveTipoGasto:=-1, RegeneraCuenta:=False) Then + ErrorRH = True + Exit For + End If + + End If + + End If NumRow = NumRow + 1 @@ -2766,6 +3054,7 @@ Partial Class General_SaldosIniciales libro.Cell(crow, ccol).Value = "SDI" : ccol = ccol + 1 libro.Cell(crow, ccol).Value = "Nominista" : ccol = ccol + 1 libro.Cell(crow, ccol).Value = "Registro Patronal" : ccol = ccol + 1 + libro.Cell(crow, ccol).Value = "CuentaContable" : ccol = ccol + 1 libro.Range(crow, 1, crow, ccol - 1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189)) @@ -2848,4 +3137,6 @@ Partial Class General_SaldosIniciales End Function + + End Class diff --git a/OC/OC.aspx b/OC/OC.aspx index 9071c6e29..c718afcb9 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -335,9 +335,13 @@
Núm. Remisión
-
- +
+
diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index d9b4a082b..fc2519e8f 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -580,6 +580,22 @@ Partial Class OC_OC End Property + Private Property NumeroRemisionOriginal As String + Get + + If ViewState("NumeroRemisionOriginal") Is Nothing Then + ViewState("NumeroRemisionOriginal") = "" + End If + + Return ViewState("NumeroRemisionOriginal").ToString + + End Get + Set(value As String) + ViewState("NumeroRemisionOriginal") = value + End Set + End Property + + #End Region @@ -899,14 +915,19 @@ Partial Class OC_OC 'NO MOSTRAR LA OPCION DE ENTREGA DIRECTA (ECONOLLANTAS) If UsuarioActual.CveEmpresa = 141 Then - DivEntregaDirecta.Visible = False - ChkEntregaDirecta.Enabled = False - ChkEntregaDirecta.Checked = False - End If - + DivEntregaDirecta.Visible = False + ChkEntregaDirecta.Enabled = False + ChkEntregaDirecta.Checked = False End If - MostrarUsuarioAsignado() + + + + End If + + MostrarUsuarioAsignado() + Me.Form.DefaultButton = "" + End Sub #Region " PERMISOS PAGINA " @@ -1416,6 +1437,7 @@ Partial Class OC_OC TxtFolioAdicional.Text = objOC.FolioAdicional TxtNumRemision.Text = objOC.NumRemision + NumeroRemisionOriginal = objOC.NumRemision If Not IsNothing(objOC.Tipo) Then @@ -8745,6 +8767,7 @@ Partial Class OC_OC Private Function ValidaNumRemision(NumRemision As String, TipoOC As String, CveProveedor As Integer, Optional OcTransaccion As SqlClient.SqlTransaction = Nothing, Optional CveOrdenCompraValida As Integer = -1) As Boolean Dim NumRemisionValida As Boolean = False + LnkActualziarNumRemision.Visible = False If NumRemision.Trim.Length > 0 Then If UsuarioActual.Empresa.Funcionalidad(590) = "1" AndAlso UsuarioActual.CveRol = 1 Then @@ -8752,7 +8775,7 @@ Partial Class OC_OC Dim ObjOC As New ClsOC(OcTransaccion) If ObjOC.GetVerificaNumRemision(CveProveedor, TipoOC, NumRemision, UsuarioActual.CveEmpresa, CveOrdenCompraValida) Then If ObjOC.DtResultados.Rows.Count > 0 Then - Alert($"La remision ya se encuentra asignada a la { If(TipoOC = "OC", "Orden de compra", "Requisición")} {ObjOC.DtResultados.Rows(0)("Folio").ToString() }", TipoMensaje.MsgAdvertencia) + Alert($"La remision ya se encuentra asignada a la { If(TipoOC = "OC", "Orden de compra", "Requisición")} {ObjOC.DtResultados.Rows(0)("Folio").ToString() }.", TipoMensaje.MsgAdvertencia) Else NumRemisionValida = True End If @@ -8764,6 +8787,17 @@ Partial Class OC_OC NumRemisionValida = True End If + + If NumRemisionValida Then + + If CveOrdenCompra > 0 And BtnGuardar.Enabled And BtnGuardar.Visible Then + LnkActualziarNumRemision.Visible = True + End If + + End If + + UPPEmp.Update() + Return NumRemisionValida End Function @@ -8774,5 +8808,43 @@ Partial Class OC_OC End Sub + Protected Sub LnkActualziarNumRemision_Click(sender As Object, e As EventArgs) + + + If NumeroRemisionOriginal.Trim = TxtNumRemision.Text.Trim Then + Exit Sub + End If + + If ValidaNumRemision(TxtNumRemision.Text.Trim(), TipoOC, DdlProveedores.SelectedValue.ToEntero, Nothing, If(CveOrdenCompra > 0, CveOrdenCompra, -1)) Then + + Dim ObjOC As New ClsOC + Dim OCBitacora As New ClsOIEventos(ObjOC.IniciaTransacSQL()) + Dim ErrorProceso As Boolean = False + + If ObjOC.UpdateNumeroRemision(CveOrdenCompra, TxtNumRemision.Text, UsuarioActual.CveEmpresa) Then + If Not OCBitacora.AddEventoBitacora(If(NumeroRemisionOriginal.Trim.Length > 0, $"Se actualilizo número de remisión de { NumeroRemisionOriginal } a {TxtNumRemision.Text.Trim()}", $"Se agrego número de remisión {TxtNumRemision.Text.Trim()}"), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then + ErrorProceso = True + End If + Else + ErrorProceso = True + End If + + If Not ErrorProceso Then + ObjOC.Commit() + CargaEventoBitacora() + NumeroRemisionOriginal = TxtNumRemision.Text.Trim + Alert("Número de remisión actualizado correctemante.") + Else + ObjOC.RollBack() + End If + + ObjOC.Dispose() + + Else + Alert("El número de remisión no es valido.") + End If + + + End Sub End Class diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index f33de6445..1ee46d247 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -4583,7 +4583,7 @@ - + @@ -6718,13 +6718,12 @@ -
- +
@@ -6808,9 +6807,7 @@
- - <%----%> +
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 46b242070..d2093a1c2 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -935,7 +935,7 @@ Partial Class Clientes MostrarTxtDireccionesClienteEnvio() - If CveCliente > 0 AndAlso UsuarioActual.CveEmpresa.Contiene(119, 1) Then + If CveCliente > 0 AndAlso UsuarioActual.CveEmpresa.Contiene(119, 1) AndAlso UsuarioActual.CveRol = 1 Then CargaCombosLineasAdicionales() TabLineasAdicionales.Visible = True LnkAgregarLineaAdicional.Visible = True @@ -10347,8 +10347,7 @@ Partial Class Clientes DdlProveedorLineaAdicionalModal.Attributes.Add("data-metodo", "getproveedores") DdlProveedorLineaAdicionalModal.SelectedText = "-" DdlProveedorLineaAdicionalModal.SelectedValue = "-1" - DdlProveedorLineaAdicionalModal.txtText.Value = "-" - DdlProveedorLineaAdicionalModal.txtValue.Value = "-1" + Else @@ -10420,7 +10419,7 @@ Partial Class Clientes If CveLineaAdicional > 0 Then If Not ObjVentas.UpdateLineasAdicionales(CveLineaAdicional, TxtLineaAdicionalModal.Text, CveCliente, DdlProveedorLineaAdicionalModal.SelectedValue.ToEntero, DdlTipoLineaAdicionalModal.SelectedValue.ToEntero, TxtImporteLineaAdicionalModal.Text.ToDecimal, - DdlMonedaLineAdicionalModal.SelectedValue.ToEntero, TxtFechaVencimientoLineaAdicionalModal.Text.ToDate, UsuarioActual.CveUsuario, DdlClasificacionLienaAdicionalModal.SelectedValue.ToEntero, 0, UsuarioActual.CveEmpresa) Then + DdlMonedaLineAdicionalModal.SelectedValue.ToEntero, TxtFechaVencimientoLineaAdicionalModal.Text.ToDate, UsuarioActual.CveUsuario, DdlClasificacionLienaAdicionalModal.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) Then ErrorAgregar = True Else Alert("Linea Adicional Actualizada Correctamente") diff --git a/Ventas/RepLineasAdicionales.aspx b/Ventas/RepLineasAdicionales.aspx index 099f0709d..7927edb15 100644 --- a/Ventas/RepLineasAdicionales.aspx +++ b/Ventas/RepLineasAdicionales.aspx @@ -11,7 +11,7 @@ - + @@ -91,7 +91,19 @@
- @@ -120,6 +132,7 @@ DataKeyNames="CveLineaAdicional,LineaAdicional,CveCliente,CveProveedor,TipoLinea,Importe,CveMoneda,FechaVencimiento,CveUsuario,CveClasificacionPS,FechaIng,CveEstatus,Proveedor,Comprobante" CssClass="table table-striped table-advance table-hover ScrollAD " ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False" + OnRowDataBound="GvLineasAdicionales_RowDataBound" > @@ -129,15 +142,24 @@ - - - + + - + - - +
+
+ +
+
+ +
+
+ +
+
diff --git a/Ventas/RepLineasAdicionales.aspx.cs b/Ventas/RepLineasAdicionales.aspx.cs index 51f634d90..c02b8cf93 100644 --- a/Ventas/RepLineasAdicionales.aspx.cs +++ b/Ventas/RepLineasAdicionales.aspx.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.IO; using ListItem = System.Web.UI.WebControls.ListItem; +using DocumentFormat.OpenXml.Spreadsheet; +using System.Web.UI; public partial class Ventas_RepLineasAdicionales : ClsPaginas { @@ -13,6 +15,25 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas set { ViewState["CveLineaAdicional"] =(int) value; } } + private int TipoLinea + { + get { return (ViewState["TipoLinea"] == null) ? 1: int.Parse(ViewState["TipoLinea"].ToString()); } + set { ViewState["TipoLinea"] = (int)value; } + } + + private DataTable DTDatosGvLineasAdicionales + { + get + { + if (ViewState["DTDatosGvLineasAdicionales"] == null) + { + ViewState["DTDatosGvLineasAdicionales"] = new DataTable(); + } + return (DataTable)ViewState["DTDatosGvLineasAdicionales"]; + } + set { ViewState["DTDatosGvLineasAdicionales"] = (DataTable)value; } + } + private string Comprobante { get { @@ -33,6 +54,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas if (!IsPostBack) { InicializaValores(); + CargaDatos(); } } @@ -43,23 +65,20 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas { DVProveedor1.Visible = true; DVProveedor2.Visible = true; - GvLineasAdicionales.Columns[9].Visible = true; + GvLineasAdicionales.Columns[8].Visible = true; + TipoLinea = 2; + LtlEncabezado.Text = "Reporte PO"; } //Carga Clientes DdlClientes.DataSource = get_GlobalDTCliente(UsuarioActual.CveEmpresa, -1); DdlClientes.DataBind(); - - if(UsuarioActual.Empresa.Funcionalidad(105) == "1") { DdlProveedor.setEsWebService(true); DdlProveedor.Attributes.Add("data-metodo", "getproveedores"); DdlProveedor.SelectedText = "Todos"; DdlProveedor.SelectedValue = "-1"; - - - }else { DdlProveedor.setEsWebService(false); DdlProveedor.ddl.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa); @@ -85,17 +104,19 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas private void CargaDatos() { + DTDatosGvLineasAdicionales = new DataTable(); LnkDescargaExcel.Visible = false; ClsVentas objVentas = new ClsVentas(); int CveProveedor = DdlProveedor.SelectedValue.ToEntero() > 0 ? DdlProveedor.SelectedValue.ToEntero() : -1; - if(objVentas.GetLineasAdicionales(-1,DdlClientes.SelectedValue.ToEntero(),CveProveedor,-1,-1,txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), -1, UsuarioActual.CveEmpresa)){ + if(objVentas.GetLineasAdicionales(-1,DdlClientes.SelectedValue.ToEntero(),CveProveedor, TipoLinea, -1,txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), DdlEstatus.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa)){ GvLineasAdicionales.DataSource = objVentas.DtResultados; if( objVentas.DtResultados.Rows.Count > 0) { + DTDatosGvLineasAdicionales = objVentas.DtResultados; LnkDescargaExcel.Visible = true; UpAcciones.Update(); } @@ -240,15 +261,62 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas { CargaDatos(); } - objVentas.Dispose(); } protected void LnkDescargaExcel_Click(object sender, EventArgs e) - { - GvLineasAdicionales.ExportToExcel2("RepLineas"); + { + GridView gvTemp = GvLineasAdicionales; + gvTemp.Columns[8].Visible = false; + gvTemp.ExportToExcelx( TipoLinea == 1 ? "RepLienasAdicionales":"RepPO"); } - + + + protected void GvLineasAdicionales_RowDataBound(object sender, GridViewRowEventArgs e) + { + if(e.Row.RowType == DataControlRowType.DataRow) + { + if(e.Row.DataKey("CveEstatus").ToEntero().Contiene(2)) + { + e.Row.FCLinkButton("LnkCambiarEstatus").Visible = true; + } + + if (e.Row.DataKey("CveEstatus").ToEntero() == 3) + { + e.Row.FCLinkButton("LnkCargarComprobante").Visible = false; + } + + if (e.Row.DataKey("Comprobante").Length > 0) + { + FileInfo fi = new FileInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\{e.Row.DataKey("Comprobante")}"); + LinkButton LnkDescargaComprobante = e.Row.FCLinkButton("LnkDescargaComprobante"); + + if (fi.Exists) + { + LnkDescargaComprobante.Visible = true; + ScriptManager.GetCurrent(this).RegisterPostBackControl(LnkDescargaComprobante); + } + } + } + } + + protected void LnkDescargaComprobante_Click(object sender, EventArgs e) + { + GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer; + string Comprobante = GvRow.DataKey("Comprobante"); + FileInfo fi = new FileInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\{Comprobante}"); + + if (fi.Exists) + { + Response.Clear(); + Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name); + Response.AddHeader("Content-Length", fi.Length.ToString()); + Response.ContentType = "text/octet-stream"; + Response.Flush(); + Response.TransmitFile(fi.FullName); + Response.End(); + } + } } \ No newline at end of file