diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 37b8b367f..2f67b4eff 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -293,19 +293,28 @@ Public Class ClsPaginas
Application("Directorio") = value
End Set
End Property
- Property GlobalDTPSATPS() As DataTable
+ Public Shared ReadOnly Property GlobalDTPSATPS(SATClaveProductoServicio As String) As DataTable
Get
- If Application("GlobalDTPSATPS") Is Nothing Then
- Dim ObjGrales As New ClsGenerales
- If ObjGrales.GetSATProductosServicios Then Application("GlobalDTPSATPS") = ObjGrales.DtResultados.AsEnumerable() Else Application("GlobalDTPSATPS") = Nothing
- ObjGrales.Dispose()
+ 'If Application("GlobalDTPSATPS") Is Nothing Then
+ ' Dim ObjGrales As New ClsGenerales
+ ' If ObjGrales.GetSATProductosServicios Then Application("GlobalDTPSATPS") = ObjGrales.DtResultados.AsEnumerable() Else Application("GlobalDTPSATPS") = Nothing
+ ' ObjGrales.Dispose()
+ 'End If
+
+ 'GlobalDTPSATPS = DirectCast(Application("GlobalDTPSATPS"), EnumerableRowCollection(Of DataRow)).CopyToDataTable
+
+ Dim ObjGrales As New ClsGenerales
+ If ObjGrales.GetSATProductosServicios(SATClaveProductoServicio) Then
+ GlobalDTPSATPS = ObjGrales.DtResultados
+ Else
+ GlobalDTPSATPS = Nothing
End If
+ ObjGrales.Dispose()
- GlobalDTPSATPS = DirectCast(Application("GlobalDTPSATPS"), EnumerableRowCollection(Of DataRow)).CopyToDataTable
End Get
- Set(value As DataTable)
- Application("GlobalDTPSATPS") = value
- End Set
+ 'Set(value As DataTable)
+ ' Application("GlobalDTPSATPS") = value
+ 'End Set
End Property
#Region "GLOBALES DE SAT COMERCIO EXTERIOR"
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 4e4572545..f4504bbb3 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -341,7 +341,7 @@ Public Class ClsVentas
Optional CveFormaPago33 As Integer = -1, Optional CveMetodoPago33 As Integer = -1, Optional CveUsoCFDI As Integer = -1, Optional OrdenCompra As String = "-1", Optional CveCuentaTerminal As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ImpuestoLocal As Double = 0,
Optional CveTipoAmortizacionAnticipo As Integer = -1, Optional CveVentaRelacion As Integer = -1, Optional ImporteRelacion As Decimal = -1, Optional CveEmpresaCRM As Integer = -1, Optional EsInterno As Integer = -1, Optional CveAcercamientoCRM As Integer = -1,
Optional DiasCredito As Integer = 0, Optional EsDiasCreditoFijo As Boolean = False, Optional AnticipoEspecial As Boolean = False, Optional Kilometraje As Double = 0, Optional EsAmortizacion As Boolean = False, Optional CveTipoRetencion As Integer = 0,
- Optional CorreoNotificacion As String = "", Optional FormaPaqueteria As Integer = 1, Optional FacturarSucursal As Boolean = False, Optional VentaDesglosaIEPS As Boolean = False, Optional ServicioDomicilio As Boolean = False, Optional RFCReceptor As String = "") As Boolean
+ Optional CorreoNotificacion As String = "", Optional FormaPaqueteria As Integer = 1, Optional FacturarSucursal As Boolean = False, Optional VentaDesglosaIEPS As Boolean = False, Optional ServicioDomicilio As Boolean = False, Optional RFCReceptor As String = "", Optional Adjunto As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_VentasAdd")
@@ -436,6 +436,7 @@ Public Class ClsVentas
.Add("@VentaDesglosaIEPS", SqlDbType.Bit).Value = VentaDesglosaIEPS
.Add("@ServicioDomicilio", SqlDbType.Bit).Value = ServicioDomicilio
.Add("@RFCReceptor", SqlDbType.VarChar).Value = RFCReceptor
+ .Add("@Adjunto", SqlDbType.VarChar).Value = Adjunto
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
End With
diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx
index de2c67ba8..43e27b789 100644
--- a/Ashx/SIGWeb.ashx
+++ b/Ashx/SIGWeb.ashx
@@ -701,7 +701,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
'verifica existencias
If Pagina.Contiene("ventas/ventas", "oc/oc", "inv/traspaso") AndAlso CveEmpresa.Contiene(72, 80, 119, 140, 141, 152, 153, 159, 160, 161, 162, 163) Then
UsaGlobal = False
-
+
Dim objInv As New ClsInventarios
If objInv.GetExistenciasProductosLike(Name, CveClasificacion, CveSubProyecto, Estatus.ToEntero, AplicaParaVenta, CveEmpresa, CveMarca) Then
@@ -933,20 +933,25 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
Private Function GETPSSAT(ByVal context As HttpContext) As String
Dim retorno As String = ""
- Dim DTPS = DirectCast(context.Application("GlobalDTPSATPS"), EnumerableRowCollection(Of DataRow))
+ 'Dim DTPS = DirectCast(context.Application("GlobalDTPSATPS"), EnumerableRowCollection(Of DataRow))
Dim DtPSRetorno As DataTable
Dim Name = IfNull(context.Request("Name"), "-1").ToString
- If Name <> "-1" Then
- DTPS = DTPS.Where((Function(a) a!SATClaveProductoServicio.ToString.ToLower Like ($"*{Name.ToLower}*")))
- End If
-
- DtPSRetorno = New DataView(DTPS.OrderBy(Function(a) a!SATClavePS).CopyToDataTable).ToTable(True, {"CveSATPS", "SATClaveProductoServicio"})
+ 'If Name <> "-1" Then
+ ' DTPS = DTPS.Where((Function(a) a!SATClaveProductoServicio.ToString.ToLower Like ($"*{Name.ToLower}*")))
+ 'End If
+ 'DtPSRetorno = New DataView(DTPS.OrderBy(Function(a) a!SATClavePS).CopyToDataTable).ToTable(True, {"CveSATPS", "SATClaveProductoServicio"})
+ DtPSRetorno = ClsPaginas.GlobalDTPSATPS(Name.ToLower)
If DtPSRetorno IsNot Nothing AndAlso DtPSRetorno.Rows.Count > 0 Then
DtPSRetorno.Columns("CveSATPS").ColumnName = "id"
DtPSRetorno.Columns("SATClaveProductoServicio").ColumnName = "text"
+ 'limpia las columnas
+ For Each dc As DataColumn In DtPSRetorno.Clone.Columns
+ If Not dc.ColumnName.Contiene("id", "text") Then DtPSRetorno.Columns.Remove(dc.ColumnName)
+ Next
+
retorno = JsonConvert.SerializeObject(DtPSRetorno).ToString
context.Response.Write(retorno)
Else
diff --git a/Contabilidad/RegPrePolizaS.aspx b/Contabilidad/RegPrePolizaS.aspx
index 4ba12dac4..fa0bebecb 100644
--- a/Contabilidad/RegPrePolizaS.aspx
+++ b/Contabilidad/RegPrePolizaS.aspx
@@ -224,9 +224,11 @@
+
+
|
-
+
|
|
diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb
index add9383be..2b9d9ec0a 100644
--- a/Contabilidad/RegPrePolizaS.aspx.vb
+++ b/Contabilidad/RegPrePolizaS.aspx.vb
@@ -952,7 +952,9 @@ Partial Class ContabilidadC_RegPrePolizaS
End If
Else
Alert("No se puede contabilizar la Prepoliza debido a que una o mas cuentas son inválidas")
- End If
+ End If
+ Else
+ MensajeAlert.AppendFormat("
Folio: {1}", CvePrePoliza, ObjMov.ContaFolio)
End If
Else
@@ -1946,14 +1948,22 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CveSubProyecto As Integer = -1
Dim TipoMovto As Boolean = If(Row("Cargo").ToString.ToDecimal <> 0, False, True)
Dim CveConceptoContable As Integer = GlobalDTContaConceptosContables(-1).FiltroPrimeroValor("CveConceptoContable", String.Format("ConceptoContable ='{0}'", Row("ConceptoAdministrativo"))).ToEntero ' Row("CveConceptoContable").ToString.ToEntero
- Dim IdCtaContable As Integer = Row("IdCtaContable").ToString.ToEntero
+ 'Dim IdCtaContable As Integer = Row("IdCtaContable").ToString.ToEntero
Dim CveClasificacion As Integer = -1
Dim CveCuenta As Integer = -1
Dim ObjConta2 As New ClsContabilidad
- If ObjConta2.GetCuentas(-1, Row("Cuenta").ToString, 1, UsuarioActual.CveEmpresa) Then
+ If ObjConta2.GetCuentas(-1, Row("Cuenta").ToString.Replace("-", ""), 1, UsuarioActual.CveEmpresa) Then
CveCuenta = ObjConta2.DtResultados.FiltroPrimeroValor("CveCuenta", "").ToEntero
+ NombreCuenta = ObjConta2.DtResultados.FiltroPrimeroValor("CtaCodigo", "")
End If
ObjConta2.Dispose()
+
+ If CveCuenta <= 0 Then
+ Alert(String.Format("La cuenta {0} no se reconoció, favor de verificar el archivo.", Row("Cuenta").ToString))
+ DtMovimientos.Clear()
+ Exit For
+ End If
+
'sino viene el cveconcepto, busca por le nombre del concepto
If CveConceptoContable = 0 Then
Alert(String.Format("El concepto {0} no se reconoció, favor de verificar el archivo.", Row("ConceptoAdministrativo")))
diff --git a/Contabilidad2/CatCuentas.aspx.vb b/Contabilidad2/CatCuentas.aspx.vb
index 261c1bd8a..c49923db5 100644
--- a/Contabilidad2/CatCuentas.aspx.vb
+++ b/Contabilidad2/CatCuentas.aspx.vb
@@ -504,7 +504,7 @@ Partial Class Contabilidad2_CatCuentas
End If
If IdPadre > 0 Then
- Dim idnew2 As Integer = ObjConta2.AddCuenta(TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, CuentaEfectivo, DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, TxtNomIngles.Text.Trim, Afectable, IdPadre, IdAgrupador)
+ Dim idnew2 As Integer = ObjConta2.AddCuenta(TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, CuentaEfectivo, DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, TxtNomIngles.Text.Trim, 1, IdPadre, IdAgrupador)
If idnew2 > 0 Then
If Not ObjConta.UpdateCuentaCompaq(idnew, idnew2, UsuarioActual.CveEmpresa) Then
diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb
index 397f87575..11ada3319 100644
--- a/Inventarios/EntradasSalidas.aspx.vb
+++ b/Inventarios/EntradasSalidas.aspx.vb
@@ -4444,6 +4444,13 @@ Partial Class Inventarios_EntradasSalidas
TrSerieEntrada.Visible = AplicaSerie
TxtnSerie.Visible = AplicaSerie
+ Dim CveSubProyectoAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenInventarioFisico.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto").ToString.ToEntero
+
+ If UsuarioActual.CveEmpresa = 119 AndAlso Not CveSubProyectoAlmacen.ToString.Contiene(UsuarioActual.Empresa.Funcionalidad(347)) Then
+ AplicaLote = False
+ AplicaCaducidad = False
+ End If
+
'activa seccion
ThSeccionEntrada.Visible = AplicaSeccion
TrSeccionEntrada.Visible = AplicaSeccion
@@ -4468,6 +4475,7 @@ Partial Class Inventarios_EntradasSalidas
If DdlPSSalida.SelectedValue.ToEntero > 0 Then
Dim drp As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPSSalida.SelectedValue.ToEntero).FiltroPrimero("")
+
If drp IsNot Nothing Then
Dim AplicaSerie As Boolean = CBool(drp("AplicaSerie"))
Dim AplicaSeccion As Boolean = CBool(drp("AplicaSeccion"))
@@ -4478,6 +4486,12 @@ Partial Class Inventarios_EntradasSalidas
TrSerieSalida.Visible = AplicaSerie
TxtnSerie.Visible = AplicaSerie
+ Dim CveSubProyectoAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenInventarioFisico.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto").ToString.ToEntero
+
+ If UsuarioActual.CveEmpresa = 119 AndAlso Not CveSubProyectoAlmacen.ToString.Contiene(UsuarioActual.Empresa.Funcionalidad(347)) Then
+ AplicaLote = False
+ AplicaCaducidad = False
+ End If
'activa seccion
ThSeccionSalida.Visible = AplicaSeccion
TrSeccionSalida.Visible = AplicaSeccion
diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb
index d45c6f86f..0c0018eb9 100644
--- a/Inventarios/EntregaAlmacen.aspx.vb
+++ b/Inventarios/EntregaAlmacen.aspx.vb
@@ -646,7 +646,8 @@ Partial Class Inventarios_EntregaAlmacen
If UsuarioActual.CveEmpresa = 119 Then
Dim CveSubProyectoAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveSubProyecto", "").ToEntero
- If CveSubProyectoAlmacen = 10276 Then
+
+ If CveSubProyectoAlmacen.ToString.Contiene(UsuarioActual.Empresa.Funcionalidad(347)) Then
ValidaLoteCaducidad = True
Else
ValidaLoteCaducidad = False
@@ -974,16 +975,29 @@ Partial Class Inventarios_EntregaAlmacen
e.Row.FCLinkButton("LnkCaducidad").Visible = True
e.Row.FCTextBox("TxtCaducidad").ReadOnly = True
CType(e.Row.FindControl("RFVCaducidad"), RequiredFieldValidator).Enabled = False
- ' e.Row.FCTextBox("TxtCaducidad").enabled = True
+
+ 'si aplica caducidad y viene vacía (posible por venta anterior), que se active su registro
+ If e.Row.FCTextBox("TxtCaducidad").Text = "" OrElse e.Row.FCTextBox("TxtCaducidad").Text.ToDate <= MinFecha Then
+ e.Row.FCTextBox("TxtCaducidad").ReadOnly = False
+ CType(e.Row.FindControl("RFVCaducidad"), RequiredFieldValidator).Enabled = True
+ e.Row.FCTextBox("TxtCaducidad").Enabled = True
+ End If
Else
e.Row.FCTextBox("TxtCaducidad").Visible = False
e.Row.FCLinkButton("LnkCaducidad").Visible = False
+ e.Row.FCTextBox("TxtCaducidad").Enabled = True
End If
If CBool(e.Row.DBCampo("AplicaLote")) Then
e.Row.FCTextBox("TxtLote").Visible = True
- e.Row.FCTextBox("TxtLote").ReadOnly = True
- 'e.Row.FCTextBox("TxtLote").enabled = True
+ 'si aplica caducidad y viene vacía (posible por venta anterior), que se active su registro
+ If e.Row.FCTextBox("TxtLote").Text = "" Then
+ e.Row.FCTextBox("TxtLote").ReadOnly = False
+ e.Row.FCTextBox("TxtLote").Enabled = True
+ Else
+ e.Row.FCTextBox("TxtLote").ReadOnly = True
+ End If
+
Else
e.Row.FCTextBox("TxtLote").Visible = False
End If
@@ -2573,10 +2587,10 @@ Partial Class Inventarios_EntregaAlmacen
End If
- End If
-
-
- 'DEVOLUCION APARTADOS
+ End If
+
+
+ 'DEVOLUCION APARTADOS
If Not ErrorMovInv Then
If TipoMovimiento = 2 Then
If ObjInventario.VentasAlmacenApartadosGet(CveVentaSurtir) Then
@@ -2594,107 +2608,113 @@ Partial Class Inventarios_EntregaAlmacen
For Each Dr As DataRow In DtTempApartados.Rows
If CveMovimientoSalidaApartado = -1 Or CveAlmacenApartado <> Dr("CveAlmacen").ToString().ToEntero() Then
- CveMovimientoSalidaApartado = ObjInventario.AddMovimiento(CveAlmacenOrigen, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
- Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente,
- CveAlmacenDestino:=Dr("CveAlmacen").ToString().ToEntero(), Modulo:="RE/G9")
- FolioSalida = ObjInventario.Folio
- CveAlmacenApartado = Dr("CveAlmacen").ToString().ToEntero()
-
- Dim DrMovto = DtTraspasos.NewRow
- DrMovto("Almacen") = Dr("Almacen").ToString().ToEntero()
- DrMovto("CveAlmacen") = Dr("CveAlmacen").ToString().ToEntero()
- DrMovto("CveMovimientoSalida") = CveMovimientoSalidaApartado
- DrMovto("FolioSalida") = FolioSalida
- DtTraspasos.Rows.Add(DrMovto)
- End If
+ CveMovimientoSalidaApartado = ObjInventario.AddMovimiento(CveAlmacenOrigen, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
+ Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente,
+ CveAlmacenDestino:=Dr("CveAlmacen").ToString().ToEntero(), Modulo:="RE/G9")
+ FolioSalida = ObjInventario.Folio
+ CveAlmacenApartado = Dr("CveAlmacen").ToString().ToEntero()
+ Dim DrMovto = DtTraspasos.NewRow
+ DrMovto("Almacen") = Dr("Almacen").ToString().ToEntero()
+ DrMovto("CveAlmacen") = Dr("CveAlmacen").ToString().ToEntero()
+ DrMovto("CveMovimientoSalida") = CveMovimientoSalidaApartado
+ DrMovto("FolioSalida") = FolioSalida
+ DtTraspasos.Rows.Add(DrMovto)
+ End If
+
If Not CveMovimientoSalidaApartado > 0 Then
ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
Exit For
End If
+ 'If CBool(Dr("AplicaSeccion")) Then
+ ' CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacenOrigen, Dr("CvePS").ToString().ToEntero()).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero()
+ ' Dim a As String = String.Format("CveAlmacen={0}-CvePS:{1}-CveseccionAlmacen={2}", CveAlmacenOrigen, Dr("CvePS"), CveSeccionAlmacen)
+ 'Else
+ ' CveSeccionAlmacen = -1
+ 'End If
CveSeccionAlmacen = -3
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaApartado, Dr("Cantidad").ToString().ToDecimal, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), Lote:=Dr("Lote").ToString(), CveSeccionAlmacen:=CveSeccionAlmacen) Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
+ Exit For
+ End If
+ Next
+
+ If Not ErrorMovInv Then
+
+ Dim CvePrePolizaTraspaso As Integer = ObjConta.AddPrePolizas("EA/Apart", 53, 0, 0, 1, TxtFecha.Text.ToDate, "Traspaso Apartado", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ If CvePrePolizaTraspaso > 0 Then
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaTraspaso, True, ValorTraspaso, TxtObservaciones.Text, 68, TxtObservaciones.Text, TxtFecha.Text.ToDate, -1, -1, CveMovimientoAlmacen:=CveMovimientoSalidaApartado, Contabilizable:=False, ImporteMX:=ValorTraspaso) Then
ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al guardar los movimientos de control de apartados")
- Exit For
End If
- Next
- If Not ErrorMovInv Then
-
- Dim CvePrePolizaTraspaso As Integer = ObjConta.AddPrePolizas("EA/Apart", 53, 0, 0, 1, TxtFecha.Text.ToDate, "Traspaso Apartado", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- If CvePrePolizaTraspaso > 0 Then
-
- For Each Dr1 As DataRow In DtTraspasos.Rows
- CveMovimientoSalida = Dr1("CveMovimientoSalida").ToString().ToEntero()
+ For Each Dr1 As DataRow In DtTraspasos.Rows
+ CveMovimientoSalida = Dr1("CveMovimientoSalida").ToString().ToEntero()
CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(Dr1("CveAlmacen").ToString().ToEntero(), 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
-1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero(),
- CveMovimientoRelacionado:=CveMovimientoSalida, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor,
- CveCliente:=CveCliente, Modulo:="RE/G10")
- FolioEntrada = ObjInventario.Folio
-
- If Not CveMovimientoEntradaApartado > 0 Then
+ If Not CveMovimientoEntradaApartado > 0 Then
ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.")
- Exit For
- End If
+ TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.")
+ Exit For
+ End If
- Dr1("CveMovimientoEntrada") = CveMovimientoEntradaApartado
- Dr1("FolioEntrada") = FolioEntrada
+ Dr1("CveMovimientoEntrada") = CveMovimientoEntradaApartado
+ Dr1("FolioEntrada") = FolioEntrada
- If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
- ValorTraspaso = ObjInventario.DtResultados.SUMD("Total").RoundSQL
- For Each Dr As DataRow In ObjInventario.DtResultados.Rows
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+ ValorTraspaso = ObjInventario.DtResultados.SUMD("Total").RoundSQL
+ For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- CveSeccionAlmacen = -3
+ CveSeccionAlmacen = -3
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaApartado, Dr("Cantidad").ToString().ToDecimal, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), Lote:=Dr("Lote").ToString(), CveSeccionAlmacen:=CveSeccionAlmacen) Then
- ErrorMovInv = True
- TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.")
- Exit For
- End If
- Next
- End If
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaApartado, Dr("Cantidad").ToString().ToDecimal, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), Lote:=Dr("Lote").ToString(), CveSeccionAlmacen:=CveSeccionAlmacen) Then
+ ErrorMovInv = True
+ TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.")
+ Exit For
+ End If
+ Next
+ End If
- If ErrorMovInv Then Exit For
+ If ErrorMovInv Then Exit For
+
+ If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePolizaTraspaso, False, ValorTraspaso, TxtObservaciones.Text, 68, TxtObservaciones.Text, TxtFecha.Text.ToDate, -1, -1, CveMovimientoAlmacen:=CveMovimientoEntradaApartado, Contabilizable:=False, ImporteMX:=ValorTraspaso) Then
+ ErrorMovInv = True
+ End If
+ Next
- If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaTraspaso, True, ValorTraspaso, TxtObservaciones.Text, 68, TxtObservaciones.Text, TxtFecha.Text.ToDate, -1, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=False, ImporteMX:=ValorTraspaso) Then
- ErrorMovInv = True
- End If
-
- If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePolizaTraspaso, False, ValorTraspaso, TxtObservaciones.Text, 68, TxtObservaciones.Text, TxtFecha.Text.ToDate, -1, -1, CveMovimientoAlmacen:=CveMovimientoEntradaApartado, Contabilizable:=False, ImporteMX:=ValorTraspaso) Then
- ErrorMovInv = True
- End If
- Next
-
-
- Else
- ErrorMovInv = True
- End If
+ Else
+ ErrorMovInv = True
End If
-
End If
End If
End If
+ End If
+ End If
+
+ End If
+
+ End If
End If
-
- 'QUEMAR REMISIONES
- If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then
- Dim DtDevRem As New DataTable
-
- 'CARGA REMISIONES DE LA VENTA DEVUELTA
- If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then
- DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen = 0")
- Else
- ErrorMovInv = True
- End If
-
- If Not ErrorMovInv Then
+ End If
+
+ 'QUEMAR REMISIONES
+
+ 'CARGA REMISIONES DE LA VENTA DEVUELTA
+
+ 'CARGA REMISIONES DE LA VENTA DEVUELTA
+ If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then
+ DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen = 0")
+ Else
+ ErrorMovInv = True
+ End If
+
+ If Not ErrorMovInv Then
If DtDevRem.Rows.Count > 0 Then
For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem"}).Rows
If Not ObjInventario.ActualizarEsDevolucionVenta(DrMovtos("CveRem").ToString().ToEntero(), 2) Then
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb
index d0dea5f49..c5bac7099 100644
--- a/RH/Personal.aspx.vb
+++ b/RH/Personal.aspx.vb
@@ -5304,14 +5304,38 @@ Partial Class RH_Personal
Dim Cantidad As Double = TxtCantidadResguardo.Text.ToDouble()
Dim Serie As String = TxtLiberarSerie.Text.Trim
+ Dim MsgError As String = ""
Dim CveResultadoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacenUniforme, 3, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=DdlAlmacenDestinoLiberarUniforme.SelectedValue.ToEntero, CvePersonal:=CvePersonal, Observaciones:=DescripcionUniforme)
- Dim ResultadoDetalleSalida As Boolean = ObjInventario.AddMovimientoDetalle(CveResultadoSalida, Cantidad, CveUM, CvePS, PU, CveSeccionAlmacen:=CveSeccionAlmacenUniforme, Serie:=Serie, CveMovimientoDetalleEntrada:=CveMovimientoDetalleUniforme)
- Dim CveSeccionAlmacen As Integer = DdlSeccionAlmacen.SelectedValue.ToEntero
- Dim CveResultadoEntrada As Integer = ObjInventario.AddMovimiento(DdlAlmacenDestinoLiberarUniforme.SelectedValue.ToEntero, 2, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CvePersonal:=CvePersonal, Observaciones:=DescripcionUniforme, CveMovimientoRelacionado:=CveMovimientoUniforme)
- Dim ResultadoDetalleEntrada As Boolean = ObjInventario.AddMovimientoDetalle(CveResultadoEntrada, Cantidad, CveUM, CvePS, PU, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie)
+ If CveResultadoSalida > 0 Then
+ If CveSeccionAlmacenUniforme = 0 Then CveSeccionAlmacenUniforme = -3 'que lo tome por default
+ Dim ResultadoDetalleSalida As Boolean = ObjInventario.AddMovimientoDetalle(CveResultadoSalida, Cantidad, CveUM, CvePS, PU, CveSeccionAlmacen:=CveSeccionAlmacenUniforme, Serie:=Serie, CveMovimientoDetalleEntrada:=CveMovimientoDetalleUniforme)
+ Dim CveSeccionAlmacen As Integer = DdlSeccionAlmacen.SelectedValue.ToEntero
+ If ResultadoDetalleSalida Then
- If ResultadoDetalleSalida And ResultadoDetalleEntrada Then
+ Dim CveResultadoEntrada As Integer = ObjInventario.AddMovimiento(DdlAlmacenDestinoLiberarUniforme.SelectedValue.ToEntero, 2, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CvePersonal:=CvePersonal, Observaciones:=DescripcionUniforme, CveMovimientoRelacionado:=CveMovimientoUniforme)
+ If CveResultadoEntrada > 0 Then
+ Dim ResultadoDetalleEntrada As Boolean = ObjInventario.AddMovimientoDetalle(CveResultadoEntrada, Cantidad, CveUM, CvePS, PU, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie)
+ If ResultadoDetalleSalida And ResultadoDetalleEntrada Then
+ MsgError = ""
+ Else
+ Alert("No se pudo registrar la liberación.", TipoMensaje.MsgError)
+ MsgError = "Error1"
+ End If
+ Else
+ MsgError = "Error1"
+ End If
+
+ Else
+ MsgError = "Error1"
+ End If
+ Else
+ MsgError = "Error"
+
+ End If
+
+
+ If MsgError = "" Then
ObjInventario.Commit()
Alert("El resguardo se liberó correctamente")
RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalUniforme"))
@@ -5320,6 +5344,7 @@ Partial Class RH_Personal
Alert("No se pudo registrar la liberación.", TipoMensaje.MsgError)
ObjInventario.RollBack()
End If
+
ObjInventario.Dispose()
End Sub
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb
index 571e1b1b6..185575920 100644
--- a/Ventas/Clientes.aspx.vb
+++ b/Ventas/Clientes.aspx.vb
@@ -2126,6 +2126,7 @@ Partial Class Clientes
Dim Cuerpo As String = TxtBody.Text
Dim Asunto As String = ""
Dim TipoComprobante = ""
+ Dim Adjunto As String = ""
If HdnTipoDocto.Value.ToString() = "Ing" Then TipoComprobante = "Factura"
If HdnTipoDocto.Value.ToString() = "Egs" Then TipoComprobante = "Nota de Crédito"
@@ -2177,6 +2178,12 @@ Partial Class Clientes
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = PDF})
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = XML})
+
+ If Dr("Adjunto").ToString() <> "" Then
+ Adjunto = Dr("Adjunto").ToString()
+ Dim ArchivoAdjunto As String = $"{Ruta}Ventas\{Adjunto}"
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = ArchivoAdjunto})
+ End If
'If ObjMail.SendMail(UsuarioActual.Empresa, TxtParaMail.Text.Trim, "Entrega de Factura", PDF, XML, ArrayCC, TxtBody.Text.Trim) Then
If ObjMail.SendMail(UsuarioActual.Empresa, TxtParaMail.Text.Trim, Asunto, Cuerpo, TxtCC.Text.Trim, LSRutasMail, Displayname:=DisplayName) Then
@@ -2204,8 +2211,12 @@ Partial Class Clientes
Dim ResultadoMail As Integer = 0
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
- LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = PDF})
-
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = PDF})
+ If Dr("Adjunto").ToString() <> "" Then
+ Adjunto = Dr("Adjunto").ToString()
+ Dim ArchivoAdjunto As String = $"{Ruta}Ventas\{Adjunto}"
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = ArchivoAdjunto})
+ End If
'If ObjMail.SendMail(UsuarioActual.Empresa, TxtParaMail.Text.Trim, "Entrega de Factura", PDF, XML, ArrayCC, TxtBody.Text.Trim) Then
If ObjMail.SendMail(UsuarioActual.Empresa, TxtParaMail.Text.Trim, Asunto, Cuerpo, TxtCC.Text.Trim, LSRutasMail) Then
@@ -2232,8 +2243,12 @@ Partial Class Clientes
Dim ResultadoMail As Integer = 0
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
- LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = PDF})
-
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = PDF})
+ If Dr("Adjunto").ToString() <> "" Then
+ Adjunto = Dr("Adjunto").ToString()
+ Dim ArchivoAdjunto As String = $"{Ruta}Ventas\{Adjunto}"
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = ArchivoAdjunto})
+ End If
'If ObjMail.SendMail(UsuarioActual.Empresa, TxtParaMail.Text.Trim, "Entrega de Factura", PDF, XML, ArrayCC, TxtBody.Text.Trim) Then
If ObjMail.SendMail(UsuarioActual.Empresa, TxtParaMail.Text.Trim, Asunto, Cuerpo, TxtCC.Text.Trim, LSRutasMail) Then
ResultadoMail = 1
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index efd3a0cdd..39418049f 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -3657,88 +3657,136 @@
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
- |
-
- |
-
-
- |
-
- |
-
-
-
- |
-
-
- |
+
+
+
+
+
+
+
+
+
+
@@ -7466,6 +7514,31 @@
+
+ <%--MODAL ADJUNTAR--%>
+
+
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 789fa8501..421bc5ba1 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -1308,6 +1308,15 @@ Partial Class Ventas
ViewState("RFCReceptorVenta") = value
End Set
End Property
+ Private Property Adjunto As String
+ Get
+ Return If(IsNothing(ViewState("Adjunto")), "", ViewState("Adjunto").ToString())
+ End Get
+
+ Set(value As String)
+ ViewState("Adjunto") = value
+ End Set
+ End Property
#End Region
#Region "Propiedades PuntoVenta"
@@ -3995,6 +4004,21 @@ Partial Class Ventas
End If
RFCReceptorVenta = DbRowVenta("RFCReceptor").ToString()
+ 'Adjuntar archivo
+ Adjunto = DbRowVenta("Adjunto").ToString()
+ If Adjunto <> "" Then
+ BtnArchivoAdjunto.Text = Adjunto
+ BtnArchivoAdjunto.Visible = True
+ BtnEliminarAdjunto.Visible = False
+ BtnAdjuntar.Visible = False
+
+ tdAdjuntar.Style.Item("display") = "none"
+ tdAdjunto.Style.Item("display") = "block"
+
+ Else
+ DivAdjuntar.Visible = False
+
+ End If
ViewState("CveSubProyectoVenta") = DbRowVenta("CveSubProyecto").ToString().ToEntero()
@@ -11060,7 +11084,7 @@ Partial Class Ventas
CveTipoAmortizacionAnticipo:=factura.CveTipoAmortizacionAnticipo, CveEmpresaCRM:=CveEmpresaCRM, EsInterno:=EsInterno, CveAcercamientoCRM:=CveAcercamientoCRM,
DiasCredito:=factura.DiasCredito, EsDiasCreditoFijo:=factura.EsDiasCreditoFijo, AnticipoEspecial:=If(TrAntEspecial.Visible, ChkAntEspecial.Checked, False),
Kilometraje:=TxtKilometraje.Text.ToDouble, EsAmortizacion:=EsNCAmortizacion, CveTipoRetencion:=factura.CveTipoRetencion, CorreoNotificacion:=TxtCorreoNotificaciones.Text,
- FormaPaqueteria:=RblPaqueteria.SelectedValue.ToEntero, FacturarSucursal:=factura.FacturarSucursal, VentaDesglosaIEPS:=factura.VentaDesglosaIEPS, RFCReceptor:=RFCReceptor) Then
+ FormaPaqueteria:=RblPaqueteria.SelectedValue.ToEntero, FacturarSucursal:=factura.FacturarSucursal, VentaDesglosaIEPS:=factura.VentaDesglosaIEPS, RFCReceptor:=RFCReceptor, Adjunto:=Adjunto) Then
ErrorList.Add("Ocurrió un error al Generar la Venta.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
Else
If factura.TipoDocto.Contiene("Dev", "Egs") Or DtVentasNC IsNot Nothing Or CveEstatusRefacturacion = 1 Then
@@ -13837,13 +13861,16 @@ Partial Class Ventas
'MANDA CORREO
If EnviaCorreo Then
-
+ Dim ArchivoAdjunto As String = ""
Dim ArchivoXML = String.Format("{0}XML\{1}\{2}.xml", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio)
Dim ArchivoPDF = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio)
+ If Adjunto <> "" Then
+ ArchivoAdjunto = String.Format("{0}Ventas\{1}", UsuarioActual.Empresa.Ruta, Adjunto)
+ End If
Try
' BytesPdfCotizacion(CveVenta)
- Dim Hilo As New System.Threading.Thread(Sub() MandaMails(UsuarioActual, CveVenta, DdlTipoComprobante.SelectedValue.ToString(), LocalSerieFolio, ChkEnviarFactura.Checked, ArchivoXML, ArchivoPDF))
+ Dim Hilo As New System.Threading.Thread(Sub() MandaMails(UsuarioActual, CveVenta, DdlTipoComprobante.SelectedValue.ToString(), LocalSerieFolio, ChkEnviarFactura.Checked, ArchivoXML, ArchivoPDF, ArchivoAdjunto))
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió error al mandar Mail", ex)
@@ -13881,13 +13908,16 @@ Partial Class Ventas
'MANDA CORREO
If EnviaCorreo Then
-
+ Dim ArchivoAdjunto As String = ""
Dim ArchivoXML = ""
Dim ArchivoPDF = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio)
+ If Adjunto <> "" Then
+ ArchivoAdjunto = String.Format("{0}Ventas\{1}", UsuarioActual.Empresa.Ruta, Adjunto)
+ End If
Try
' BytesPdfCotizacion(CveVenta)
- Dim Hilo As New System.Threading.Thread(Sub() MandaMails(UsuarioActual, CveVenta, DdlTipoComprobante.SelectedValue.ToString(), LocalSerieFolio, ChkEnviarFactura.Checked, ArchivoXML, ArchivoPDF))
+ Dim Hilo As New System.Threading.Thread(Sub() MandaMails(UsuarioActual, CveVenta, DdlTipoComprobante.SelectedValue.ToString(), LocalSerieFolio, ChkEnviarFactura.Checked, ArchivoXML, ArchivoPDF, ArchivoAdjunto))
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió error al mandar Mail", ex)
@@ -13924,13 +13954,17 @@ Partial Class Ventas
LocalSerieFolio = ObjFactura.SerieFolio
LocalTipoDocto = ObjFactura.TipoDocto
+ Dim ArchivoAdjunto As String = ""
Dim ArchivoXML = String.Format("{0}XML\{1}\{2}.xml", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio)
Dim ArchivoPDF = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio)
+ If Adjunto <> "" Then
+ ArchivoAdjunto = String.Format("{0}Ventas\{1}", UsuarioActual.Empresa.Ruta, Adjunto)
+ End If
Try
' BytesPdfCotizacion(CveVenta)
- Dim Hilo As New System.Threading.Thread(Sub() MandaMails(UsuarioActual, CveVenta, DdlTipoComprobante.SelectedValue.ToString(), LocalSerieFolio, ChkEnviarFactura.Checked, ArchivoXML, ArchivoPDF))
+ Dim Hilo As New System.Threading.Thread(Sub() MandaMails(UsuarioActual, CveVenta, DdlTipoComprobante.SelectedValue.ToString(), LocalSerieFolio, ChkEnviarFactura.Checked, ArchivoXML, ArchivoPDF, ArchivoAdjunto))
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió error al mandar Mail", ex)
@@ -19571,7 +19605,7 @@ Partial Class Ventas
#End Region
#Region " MANDA CORREO "
- Private Sub MandaMails(UsuarioActual As Usuario, CveVenta As Integer, TipoDocto As String, SerieFolio As String, EnviarFactura As Boolean, XML As String, PDF As String)
+ Private Sub MandaMails(UsuarioActual As Usuario, CveVenta As Integer, TipoDocto As String, SerieFolio As String, EnviarFactura As Boolean, XML As String, PDF As String, Adjunto As String)
Dim ObjMail As New ClsSisMail()
Dim ObjVentas As New ClsVentas
@@ -19621,6 +19655,10 @@ Partial Class Ventas
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = XML})
End If
+ If Adjunto <> "" Then
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = Adjunto})
+ End If
+
Dim DisplayName As String = ""
If UsuarioActual.CveEmpresa = 119 Then DisplayName = "Facturación Agroquímicos JAM"
@@ -31557,5 +31595,101 @@ Partial Class Ventas
RegistraScript("$('#ModalAplicaRNCDevolucion').modal('hide');")
End Sub
+
+ Protected Sub btnGuardarAdjunto_Click(sender As Object, e As System.EventArgs) Handles btnGuardarAdjunto.Click
+ If Not txtAdjuntar.getfiles().Archivos.Count > 0 Then
+ Alert("Tiene que cargar un archivo.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ If LblSerie.Text = "" Or TxtFolio.Text = "" Then
+ Alert("Debe asignar una serie un folio antes de subir el archivo.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+ Dim FileExtension As String = "-1"
+ Dim Filesgral As List(Of Archivo) = txtAdjuntar.getfiles().Archivos
+ Dim Filename As String = ""
+ Dim fileItem As Archivo = Filesgral(0)
+ Try
+ FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
+ Adjunto = String.Format("{0}-{1}.{2}", LblSerie.Text, TxtFolio.Text, FileExtension)
+ Dim objVentas As New ClsVentas
+ Dim Path As String
+ Path = Extensiones.DirectorioBaseEmpresas
+ Path += String.Format("Empresas/{0}/Ventas", UsuarioActual.CveEmpresa)
+ If Not Directory.Exists(Path) Then
+ Directory.CreateDirectory(Path)
+ End If
+ Path += $"/{Adjunto}"
+ If File.Exists(Path) Then
+ File.Delete(Path)
+ End If
+ My.Computer.FileSystem.MoveFile(fileItem.FileUrl, Path)
+ BtnAdjuntar.Visible = False
+ BtnArchivoAdjunto.Text = Adjunto
+ BtnArchivoAdjunto.Visible = True
+ BtnEliminarAdjunto.Visible = True
+ tdAdjuntar.Style.Item("display") = "none"
+ tdAdjunto.Style.Item("display") = "block"
+ UpAdjuntar.Update()
+ Alert("Documento cargado", TipoMensaje.MsgInformacion)
+ objVentas.Dispose()
+
+ Catch ex As Exception
+ OnError("Error al cargar archivo", ex)
+ End Try
+
+ End Sub
+
+ Protected Sub BtnArchivoAdjunto_Click(sender As Object, e As System.EventArgs) Handles BtnArchivoAdjunto.Click
+ Dim ruta As String = HttpContext.Current.Request.ApplicationPath
+ ruta = Extensiones.DirectorioBaseEmpresas
+ ruta += String.Format("Empresas/{0}/Ventas", UsuarioActual.CveEmpresa)
+ ruta += $"/{Adjunto}"
+
+ Dim Archivo As New System.IO.FileInfo(ruta)
+
+ Try
+ If Archivo IsNot Nothing Then
+ If Archivo.Exists Then
+
+ HttpContext.Current.Response.Clear()
+ HttpContext.Current.Response.ClearContent()
+ HttpContext.Current.Response.ContentType = "application/octet-stream"
+ HttpContext.Current.Response.AppendHeader("Content-disposition", String.Format("attachment; filename={0}", Archivo.Name))
+ HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
+ HttpContext.Current.Response.TransmitFile(ruta)
+ Response.Flush() ' send it to the client to download
+ HttpContext.Current.Response.SuppressContent = True
+ HttpContext.Current.ApplicationInstance.CompleteRequest()
+ Response.End()
+
+ Else
+ Alert("El archivo no existe", TipoMensaje.MsgAdvertencia)
+ End If
+
+ End If
+ Catch ex As Exception
+ End Try
+
+
+
+ End Sub
+
+ Protected Sub BtnEliminarAdjunto_Click(sender As Object, e As System.EventArgs) Handles BtnEliminarAdjunto.Click
+ Dim objVentas As New ClsVentas
+ Dim Path As String
+ Path = String.Format("{0}Empresas/{1}/Ventas/{2}", Extensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, Adjunto)
+ If File.Exists(Path) Then
+ File.Delete(Path)
+ End If
+ BtnAdjuntar.Visible = True
+ tdAdjuntar.Style.Item("display") = "block"
+ BtnArchivoAdjunto.Text = ""
+ BtnArchivoAdjunto.Visible = False
+ tdAdjunto.Style.Item("display") = "none"
+ BtnEliminarAdjunto.Visible = False
+ UpAdjuntar.Update()
+ End Sub
End Class