This commit is contained in:
Rakcsle Supertramp
2020-08-07 16:43:23 -07:00
27 changed files with 5046 additions and 419 deletions

View File

@@ -105,6 +105,14 @@ Partial Class AF_AF
Set(value As Integer)
ViewState("AFInvCveAlmacen") = value
End Set
End Property
Private Property AFInvCveSeccionAlmacen As Integer
Get
Return If(ViewState("AFInvCveSeccionAlmacen") Is Nothing, -1, ViewState("AFInvCveSeccionAlmacen").ToString.ToEntero())
End Get
Set(value As Integer)
ViewState("AFInvCveSeccionAlmacen") = value
End Set
End Property
Private Property AFInvSerie As String
Get
@@ -2102,8 +2110,8 @@ Partial Class AF_AF
If AFInvCvePS > 0 AndAlso AFInvCveAlmacen > 0 Then
Dim CveUMInv = GlobalDTPS(CveEmpresaActual, CvePS:=AFInvCvePS).FiltroPrimeroValor("CveUM").ToEntero
If CveUMInv > 0 Then
CveMovimientoSalidaInv = ObjInventarios.AddMovimiento(AFInvCveAlmacen, 3, 1, Now, -1, UsuarioActual.CveUsuario, CveEmpresaActual, -1, -1, -1, -1, Observaciones:=$"Salida de inventario para Activo Fijo | {TxtCodigo.Text.Trim}")
If Not ObjInventarios.AddMovimientoDetalle(CveMovimientoSalidaInv, 1, CveUMInv, AFInvCvePS, 0, -1, Serie:=AFInvSerie) Then
CveMovimientoSalidaInv = ObjInventarios.AddMovimiento(AFInvCveAlmacen, 3, 1, Now, -1, UsuarioActual.CveUsuario, CveEmpresaActual, -1, -1, -1, -1, Observaciones:=$"Salida de inventario para Activo Fijo | {TxtCodigo.Text.Trim}", Modulo:="AF1")
If Not ObjInventarios.AddMovimientoDetalle(CveMovimientoSalidaInv, 1, CveUMInv, AFInvCvePS, 0, -1, Serie:=AFInvSerie, CveSeccionAlmacen:=AFInvCveSeccionAlmacen) Then
ErrorGuardar = True
End If
Else
@@ -3051,6 +3059,7 @@ Partial Class AF_AF
AFInvSerie = ""
AFInvCvePS = -1
AFInvCveAlmacen = -1
AFInvCveSeccionAlmacen = -1
Dim DrPS As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlAFInvPS.SelectedValue.ToEntero).FiltroPrimero("")
If DrPS Is Nothing Then Exit Sub
@@ -3076,6 +3085,7 @@ Partial Class AF_AF
AFInvSerie = ""
AFInvCvePS = -1
AFInvCveAlmacen = -1
AFInvCveSeccionAlmacen = -1
Alert("No hay existencias suficientes del producto. Por favor Verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
@@ -3094,7 +3104,7 @@ Partial Class AF_AF
AFInvCvePS = DdlAFInvPS.SelectedValue.ToEntero
AFInvCveAlmacen = DdlAFInvAlmacen.SelectedValue.ToEntero
AFInvCveSeccionAlmacen = DdlSeccionAlmacen.SelectedValue.ToEntero
RegistraScript("$('#ModalAFInv').modal('hide')", "hide")
DivAFInvAdvertencia.Visible = True
@@ -3652,12 +3662,12 @@ Partial Class AF_AF
DivSeccion.Visible = CBool(drr("AplicaSeccion"))
DdlSeccionAlmacen.Items.Clear()
If CBool(drr("AplicaSeccion")) Then
CargaSeccionesAlmacen(DdlSeccionAlmacen, DdlAFInvAlmacen.SelectedValue.ToEntero, DdlAFInvPS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa)
'Dim dtt As DataTable = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAFInvAlmacen.SelectedValue.ToEntero, DdlAFInvPS.SelectedValue.ToEntero)
'DdlSeccionAlmacen.DataSource = dtt
'DdlSeccionAlmacen.DataBind()
'CargaSeccionesAlmacen(DdlSeccionAlmacen, DdlAFInvAlmacen.SelectedValue.ToEntero, DdlAFInvPS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa)
Dim dtt As DataTable = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAFInvAlmacen.SelectedValue.ToEntero, DdlAFInvPS.SelectedValue.ToEntero)
DdlSeccionAlmacen.DataSource = dtt
DdlSeccionAlmacen.DataBind()
'dtt.Dispose()
dtt.Dispose()
End If

View File

@@ -3876,6 +3876,32 @@ Public Class ClsContabilidad
Return Retorno
End Function
Public Function GetLibroDiario(FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer) As Boolean
Dim Retorno = False
'SqlAdapter.SelectCommand.t
DataAdapter("PA_Conta_LibroDiario")
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
SqlAdapter.SelectCommand.CommandTimeout = 0
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
Me.OnError("Ocurrió un error al obtener libro diario", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region "I N C O N S I S T E N C I A S"

View File

@@ -2836,7 +2836,7 @@ Public Class ClsOIEventos
#End Region
#Region "OI_DocumentosSubCategoria"
Public Function GetDocumentoSubCategoria(Optional CveSubCategoria As Integer = -1, Optional SubCategoria As String = "-1") As Boolean
Public Function GetDocumentoSubCategoria(Optional CveSubCategoria As Integer = -1, Optional SubCategoria As String = "-1", Optional CveCategoria As Integer = -1) As Boolean
Dim Retorno As Boolean = False
@@ -2845,6 +2845,7 @@ Public Class ClsOIEventos
With SqlAdapter.SelectCommand.Parameters
.Add("@CveSubCategoria", SqlDbType.Int).Value = CveSubCategoria
.Add("@SubCategoria", SqlDbType.NVarChar).Value = SubCategoria
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
End With
Try
@@ -3089,6 +3090,48 @@ Public Class ClsOIEventos
Return Retorno
End Function
Public Function UpdateDocumentoAutorizacion(CveAutorizacion As Integer, CveDocumento As Integer, Comentarios As String, Adjunto As String, FechaAprobacion As Date) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosAutorizacionesUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveAutorizacion", SqlDbType.Int).Value = CveAutorizacion
.Add("@CveDocumento", SqlDbType.Int).Value = CveDocumento
.Add("@Comentarios", SqlDbType.NVarChar).Value = Comentarios
.Add("@Adjunto", SqlDbType.NVarChar).Value = Adjunto
.Add("@FechaAprobacion", SqlDbType.Date).Value = FechaAprobacion
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar el usuario para autorizar el documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function DesaprobarDocumentoAutorizacion(CveAutorizacion As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosAutorizacionesDesaprobar")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveAutorizacion", SqlDbType.Int).Value = CveAutorizacion
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al desaprobar la autorización del documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#End Region

View File

@@ -4257,6 +4257,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Contabilidad2/RepAnexoCatalogoCC.aspx".ToUpper(), 594)
PaginaDict.Add("/Contabilidad2/RepVariacionHaciendaPublica.aspx".ToUpper(), 595)
PaginaDict.Add("/Contabilidad2/CatCuentas.aspx".ToUpper(), 596)
PaginaDict.Add("/Contabilidad2/RepLibroDiario.aspx".ToUpper(), 544)
PaginaDict.Add("/Contabilidad2/RepSituacionFinancieraSAT.aspx".ToUpper(), 615)
PaginaDict.Add("/Contabilidad2/RepEstadoActividadesSAT.aspx".ToUpper(), 616)
@@ -4627,7 +4628,7 @@ Public Class ClsPaginas
PaginaDict.Add("/OI/CatDocumentoCategoria.aspx".ToUpper(), 760)
PaginaDict.Add("/OI/CatDocumentoSubCategoria.aspx".ToUpper(), 761)
PaginaDict.Add("/OI/Documentos.aspx".ToUpper(), 762)
PaginaDict.Add("/OI/DocumentoDetalle.aspx".ToUpper(), 763)
PaginaDict.Add("/OI/DocumentoDetalle.aspx".ToUpper(), -1)
#End Region
#Region "Planeacion"
'PLANEACIÓN

View File

@@ -17,6 +17,16 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
End Get
End Property
Public ReadOnly Property EsProduccion As Boolean
Get
If IsNothing(System.Configuration.ConfigurationManager.AppSettings("EsProduccion")) Then
Return False
Else
Return (System.Configuration.ConfigurationManager.AppSettings("EsProduccion").ToString() = "1")
End If
End Get
End Property
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim retorno As String = "no se encontro la variable"
@@ -34,7 +44,7 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Dim ListaDS = New List(Of ReportDataSource)
Dim Parametros As New List(Of ReportParameter)
Dim Formato = context.ModExtensiones.DirectorioBaseEmpresas + "Empresas/1/Report.rdlc"
Dim Formato = ModExtensiones.DirectorioBaseEmpresas + "Empresas/Grales/ReporteAPI.rdlc"
Parametros.Add(New ReportParameter("Empresa", datos.Empresa.Empresa))
Parametros.Add(New ReportParameter("RFC", datos.Empresa.RFC))
@@ -49,20 +59,20 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Parametros.Add(New ReportParameter("ImporteLetra", datos.Factura.Total.Texto2Letras()))
Parametros.Add(New ReportParameter("FormaPago", datos.Factura.FormaPago))
Parametros.Add(New ReportParameter("MetodoPago", datos.Factura.MetodoPago))
Parametros.Add(New ReportParameter("SelloCFDI", ""))
Parametros.Add(New ReportParameter("SelloSAT", ""))
Parametros.Add(New ReportParameter("CadenaOriginal", ""))
Parametros.Add(New ReportParameter("SelloCFDI", datos.Timbrado.SelloCFDI))
Parametros.Add(New ReportParameter("SelloSAT", datos.Timbrado.SelloSAT))
Parametros.Add(New ReportParameter("CadenaOriginal", datos.Timbrado.CadenaOriginal))
Parametros.Add(New ReportParameter("FolioFiscal", datos.Factura.UUID))
Parametros.Add(New ReportParameter("SerieCertificadoSAT", ""))
Parametros.Add(New ReportParameter("FechaCertificado", ""))
Parametros.Add(New ReportParameter("CertificadoContribuyente", ""))
Parametros.Add(New ReportParameter("SerieCertificadoSAT", datos.Timbrado.SerieCertificadoSAT))
Parametros.Add(New ReportParameter("FechaCertificado", datos.Timbrado.FechaCertificado))
Parametros.Add(New ReportParameter("CertificadoContribuyente", datos.Timbrado.CertificadoContribuyente))
Parametros.Add(New ReportParameter("UsoCFDI", datos.Factura.UsoCFDI))
Parametros.Add(New ReportParameter("Vencimiento", Now.AddDays(30)))
Parametros.Add(New ReportParameter("Vencimiento", datos.Factura.FechaVencimiento))
Parametros.Add(New ReportParameter("SubTotal", datos.Factura.SubTotal))
Parametros.Add(New ReportParameter("IVA", datos.Factura.IVA))
Parametros.Add(New ReportParameter("IEPS", datos.Factura.IEPS))
Parametros.Add(New ReportParameter("Total", datos.Factura.Total))
Parametros.Add(New ReportParameter("QR", ""))
Parametros.Add(New ReportParameter("QR", datos.Timbrado.QR))
Dim DtDatos As New DataTable
DtDatos.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
@@ -85,9 +95,10 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
DtDatos.Rows.Add(Row)
Next
ListaDS.Add(New ReportDataSource("DsProductos", DtDatos))
ImprimirbytesPDF(context, StreamPDF(context, Formato, ListaDS, Parametros), "test")
ImprimirbytesPDF(context, StreamPDF(context, Formato, ListaDS, Parametros), "Factura")
End If
Catch ex As Exception
@@ -97,48 +108,87 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
End Sub
Public Function StreamPDF(ByVal context As HttpContext, RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte()
'limpio ReportViwer
Dim sw As New System.Diagnostics.Stopwatch()
sw.Start()
If IsNothing(MR) Then MR = New ReportViewer
Dim Bytes As Byte() = Nothing
Try
' MasterReporteador.LocalReport.DataSources.Clear()
For Each RDS As ReportDataSource In DataSource
MR.LocalReport.DataSources.Add(RDS)
Next
MR.LocalReport.ReportPath = RutaReporte
MR.ProcessingMode = ProcessingMode.Local
MR.LocalReport.EnableExternalImages = True
MR.LocalReport.SetParameters(Parametros)
MR.LocalReport.Refresh()
Dim Warnings As Warning() = Nothing
Dim StreamIds As String() = Nothing
Dim MimeType As String = Nothing
Dim Encoding As String = Nothing
Dim Extension As String = Nothing
Bytes = MR.LocalReport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds, Warnings)
Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
Catch ex As Exception
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
End Try
sw.Stop()
If sw.Elapsed.TotalSeconds > 10 Then
GuardaLog($"Reporte:{RutaReporte} | Tiempo Renderizado Milisegundos: {sw.ElapsedMilliseconds},Total Segundos: {sw.Elapsed.TotalSeconds} ")
End If
Return Bytes
Public Function StreamPDF(ByVal context As HttpContext, RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte()
'limpio ReportViwer
Dim sw As New System.Diagnostics.Stopwatch()
sw.Start()
Dim Bytes As Byte() = Nothing
Dim bdir As String = If(RutaReporte.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory)
RutaReporte.Replace("/", "\")
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
End If
If EsProduccion Then
Dim CveUsuario As Integer = 0
Dim CveEmpresa As Integer = 0
Dim wsreport As New WSRDLC.WebServiceSoapClient
Dim params As New List(Of WSRDLC.ReportParameter)
Dim ds As New DataSet
For Each rpds As ReportDataSource In DataSource
Dim dt As DataTable = DirectCast(rpds.Value, Data.DataTable)
If dt Is Nothing Then
dt = New DataTable()
Else
dt = dt.Copy()
End If
dt.TableName = rpds.Name
ds.Tables.Add(dt)
Next
For Each rpds As ReportParameter In Parametros
Dim param As New WSRDLC.ReportParameter
param.Name = rpds.Name
param.Values = {rpds.Values(0)}
params.Add(param)
Next
Bytes = wsreport.StreamPDFBytes(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
wsreport = Nothing
params = Nothing
Else
If IsNothing(MR) Then MR = New ReportViewer
Try
' MasterReporteador.LocalReport.DataSources.Clear()
For Each RDS As ReportDataSource In DataSource
MR.LocalReport.DataSources.Add(RDS)
Next
MR.LocalReport.ReportPath = RutaReporte
MR.ProcessingMode = ProcessingMode.Local
MR.LocalReport.EnableExternalImages = True
MR.LocalReport.SetParameters(Parametros)
MR.LocalReport.Refresh()
Dim Warnings As Warning() = Nothing
Dim StreamIds As String() = Nothing
Dim MimeType As String = Nothing
Dim Encoding As String = Nothing
Dim Extension As String = Nothing
Bytes = MR.LocalReport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds, Warnings)
Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
Catch ex As Exception
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
End Try
MR.Dispose()
End If
sw.Stop()
If sw.Elapsed.TotalSeconds > 5 Then
GuardaLog($"Reporte:{RutaReporte} | Tiempo Renderizado Milisegundos: {sw.ElapsedMilliseconds},Total Segundos: {sw.Elapsed.TotalSeconds} ")
End If
Return Bytes
End Function
Public Sub ImprimirbytesPDF(ByVal context As HttpContext, bytes As Byte(), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional Descarga As Boolean = False)
'limpio ReportViwer
Dim mimeType As String = Nothing
@@ -181,6 +231,7 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Public Property CveCliente As Integer
Public Property NombreCliente As String
Public Property Fecha As DateTime
Public Property FechaVencimiento As DateTime
Public Property CveSubCentroCosto As Integer
Public Property CveTipoDocumento As Integer
Public Property TipoDocumento As String
@@ -271,10 +322,21 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Public Property RegimenFiscal As String
End Class
Public Class DatosSATWS
Public Property SelloCFDI As String
Public Property SelloSAT As String
Public Property CadenaOriginal As String
Public Property SerieCertificadoSAT As String
Public Property FechaCertificado As String
Public Property CertificadoContribuyente As String
Public Property QR As String
End Class
Public Class ParametroWS
Public Property Factura As FacturaWS
Public Property Cliente As ClienteWS
Public Property Empresa As EmpresaWS
Public Property Timbrado As DatosSATWS
End Class

View File

@@ -11,40 +11,64 @@ Imports Extensiones
Imports System.IO
Imports Modelos
Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
Private Property CveEmpresaFacturar As Integer = 143
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "application/json"
Try
If context.Request.InputStream IsNot Nothing Then
Using reader As New StreamReader(context.Request.InputStream)
Dim json = reader.ReadToEnd
context.Response.ContentType = "text/plain"
Dim Retorno As Boolean = False
If Not String.IsNullOrEmpty(json) Then
Dim JsonRequest As JObject = JObject.Parse(json)
If JsonRequest IsNot Nothing Then
Dim Metodo = JsonRequest("Metodo").ToString()
If Metodo = "FactMasivaRemisiones" Then
Dim pCveEmpresa = JsonRequest("CveEmpresa").ToString()
Dim pFechaI As String = ""
Dim pFechaF As String = ""
If JsonRequest("FechaI") IsNot Nothing AndAlso JsonRequest("FechaF") IsNot Nothing Then
pFechaI = JsonRequest("FechaI")
pFechaF = JsonRequest("FechaF")
End If
IniciaFacturacionMasiva(context, pCveEmpresa, pFechaI, pFechaF)
End If
End If
End If
End Using
Try
'If context.Request.InputStream IsNot Nothing Then
' Using reader As New StreamReader(context.Request.InputStream)
' Dim json = reader.ReadToEnd
' If Not String.IsNullOrEmpty(json) Then
' Dim JsonRequest As JObject = JObject.Parse(json)
' If JsonRequest IsNot Nothing Then
' Dim Metodo = JsonRequest("Metodo").ToString()
' If Metodo = "FactMasivaRemisiones" Then
' Dim pCveEmpresa = JsonRequest("CveEmpresa").ToString()
' Dim pFechaI As String = ""
' Dim pFechaF As String = ""
' If JsonRequest("FechaI") IsNot Nothing AndAlso JsonRequest("FechaF") IsNot Nothing Then
' pFechaI = JsonRequest("FechaI")
' pFechaF = JsonRequest("FechaF")
' End If
' IniciaFacturacionMasiva(context, CveEmpresaFacturar, pFechaI, pFechaF)
' End If
' End If
' End If
' End Using
'End If
Dim Metodo = If(context.Request("Metodo") = Nothing, "", context.Request("Metodo").ToString())
If Metodo = "FactMasivaRemisiones" Then
Dim pFechaI As String = ""
Dim pFechaF As String = ""
If context.Request("FechaI") IsNot Nothing AndAlso context.Request("FechaF") IsNot Nothing Then
pFechaI = context.Request("FechaI")
pFechaF = context.Request("FechaF")
End If
Retorno = IniciaFacturacionMasiva(CveEmpresaFacturar, pFechaI, pFechaF)
End If
Catch ex As Exception
ex.GuardaLog(ex.Message)
End Try
End Try
If Retorno Then
context.Response.Write("True")
Else
context.Response.Write("False")
End If
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
@@ -53,7 +77,8 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
End Get
End Property
Private Sub IniciaFacturacionMasiva(ByVal context As HttpContext, pCveEmpresa As String, pFechaI As String, pFechaF As String)
Private Function IniciaFacturacionMasiva(pCveEmpresa As String, pFechaI As String, pFechaF As String) As Boolean
Dim Retorno As Boolean = True
Dim JsonRetorno As New JObject()
Dim CveEmpresa As Integer = pCveEmpresa.ToEntero()
If CveEmpresa > 0 Then
@@ -71,7 +96,10 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
FechaI = New DateTime(DomingoAnterior.Year, DomingoAnterior.Month, DomingoAnterior.Day, 0, 0, 0)
FechaF = New DateTime(Sabado.Year, Sabado.Month, Sabado.Day, 23, 59, 59)
JsonRetorno = EjecutarFacturacionMasiva(Usuario, FechaI, FechaF, Usuario.Empresa.FacturaProduccion)
JsonRetorno = EjecutarFacturacionMasiva(Usuario, FechaI, FechaF, Usuario.Empresa.FacturaProduccion)
Else
Retorno = False
GuardaLogFacturacion("Ejecución no permitida, no es el dia permitido para ejecucion o no se espeficaron las fechas")
End If
Else
FechaI = pFechaI.ToDateTime()
@@ -79,11 +107,13 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
JsonRetorno = EjecutarFacturacionMasiva(Usuario, FechaI, FechaF, Usuario.Empresa.FacturaProduccion)
End If
End If
context.Response.Write(JsonRetorno)
End Sub
End If
GuardaLogFacturacion("Ejecución Exitosa, se generaron las siguientes facturas:")
GuardaLogFacturacion(JsonRetorno.ToString())
Return Retorno
End Function
Public Shared Function GetNextWeekday(ByVal start As DateTime, ByVal day As DayOfWeek, hora As TimeSpan) As DateTime

View File

@@ -3146,6 +3146,8 @@ Partial Class Compras_Compras
ViewState("CveProveedor") = ObjProveedor.CveProveedor
ViewState("CveTipoProveedor") = ObjProveedor.CveTipoProveedor
If ObjProveedor.CveTipoProveedor = 1 Then LblProveedor.Text = "Proveedor:" Else LblProveedor.Text = "Acreedor:"
CveTipoConcepto = ObjProveedor.CveTipoProveedor
'Conta ContPAQ
ViewState("CtaProveedor") = ObjProveedor.IdCtaContProveedores

View File

@@ -1444,9 +1444,9 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("Concepto", ConceptoFormato))
params.Add(New ReportParameter("Almacen", Almacen))
params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("CveTipoAlmacen", Almacen))
params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Folio", Folio))
params.Add(New ReportParameter("FacturaProveedor", If(CveCompra > 0, dr("SerieFolio").ToString, "")))
@@ -1456,6 +1456,10 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("Fecha", Fecha))
End If
If UsuarioActual.CveEmpresa = 72 Then
params.Add(New ReportParameter("CveTipoAlmacen", CveTipoAlmacen.ToString()))
End If
params.Add(New ReportParameter("Observaciones", Observaciones))
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then

View File

@@ -0,0 +1,104 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepLibroDiario.aspx.vb" Inherits="Contabilidad2_RepLibroDiario" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Libro Diario
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="ImgExcel" Visible="false" runat="server"><i class="fa fa-ad-excel"></i> Generar EXCEL</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="Imprimir" Visible="false" runat="server"><i class="fa fa-print"></i> Imprimir</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ImgExcel" />
<asp:PostBackTrigger ControlID="Imprimir" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" CssClass="btn btn-primary" Text="Consultar" Width="100px" OnClick="BtnConsultar_Click" Enabled="false"/>
</div>
<div class="titlefiltros caption ">
<div class="row">
<label class="col-md-1" style="width: 90px; padding-right: 2px;">Fecha Inicio:</label>
<div class="col-md-2" style="width: 140px;">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 80px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaDel" runat="server" CssClass="form-control" Width="99%" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalendarioDel" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaDel" runat="server" TargetControlID="TxtFechaDel" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarioDel" runat="server" TargetControlID="TxtFechaDel" PopupButtonID="ImgCalendarioDel" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaDel" runat="server" ControlToValidate="TxtFechaDel" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFecha2Del" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaDel" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1" style="width: 80px; padding-right: 2px;">Fecha Fin:</label>
<div class="col-md-2" style="width: 140px;">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 80px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaAl" runat="server" CssClass="form-control" Width="99%" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalendarioAl" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaAl" runat="server" TargetControlID="TxtFechaAl" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarioAl" runat="server" TargetControlID="TxtFechaAl" PopupButtonID="ImgCalendarioAl" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaAl" runat="server" ControlToValidate="TxtFechaAl" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFecha2Al" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaAl" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server" style="margin-left: 15px; margin-right: 15px;">
<ContentTemplate>
<asp:GridView ID="GvDatos" CssClass="table table-striped table-hover Widthall" GridLines="None" AutoGenerateColumns="False" runat="server">
<Columns>
<asp:BoundField HeaderText="Fecha" DataField="Fecha" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField HeaderText="Tipo" DataField="TipoPoliza" />
<asp:BoundField HeaderText="Poliza" DataField="FolioPoliza" />
<asp:BoundField HeaderText="Concepto" DataField="Concepto" />
<asp:BoundField HeaderText="Cuenta" DataField="Codigo" />
<asp:BoundField HeaderText="Nombre" DataField="Nombre" />
<asp:BoundField HeaderText="Descripción" DataField="Descripcion" />
<asp:BoundField HeaderText="Cargos" DataField="Cargos" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.00}" />
<asp:BoundField HeaderText="Abonos" DataField="Abonos" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.00}" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,144 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class Contabilidad2_RepLibroDiario
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtDatos As DataTable
Get
DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property FechaInicio As Date
Get
FechaInicio = ViewState("FechaInicio").ToString.ToDate
End Get
Set(value As Date)
ViewState("FechaInicio") = value
End Set
End Property
Private Property FechaFin As Date
Get
FechaFin = ViewState("FechaFin").ToString.ToDate
End Get
Set(value As Date)
ViewState("FechaFin") = 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
InicializaValores()
BtnConsultar.Enabled = True
End If
End Sub
Private Sub InicializaValores()
TxtFechaDel.Text = $"01/01/{Now.Year}"
TxtFechaAl.Text = Now.ToShortDateString
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
#Region "C A R G A - D A T O S"
Private Sub CargaDatos()
FechaInicio = If(IsDate(TxtFechaDel.Text), TxtFechaDel.Text.ToDate, MinFecha)
FechaFin = If(IsDate(TxtFechaAl.Text), TxtFechaAl.Text.ToDate, MaxFecha)
'FechaInicio = New Date(2016, 1, 1)
'FechaFin = New Date(2016, 1, 31)
Dim ObjConta As New ClsContabilidad
If ObjConta.GetLibroDiario(FechaInicio, FechaFin, UsuarioActual.CveEmpresa) Then
DtDatos = ObjConta.DtResultados
Else
DtDatos = Nothing
End If
ObjConta.Dispose()
GvDatos.DataSource = DtDatos
GvDatos.DataBind()
UpDatos.Update()
If DtDatos IsNot Nothing Then
ImgExcel.Visible = True
Imprimir.Visible = True
Else
ImgExcel.Visible = False
Imprimir.Visible = False
End If
End Sub
#End Region
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
''CABECERA
'If e.Row.DBCampo("TipoRenglon").ToString.ToEntero = 1 Then
' e.Row.Font.Bold = True
' e.Row.Cells(4).Text = ""
' e.Row.Cells(5).Text = ""
' e.Row.Cells(6).Text = ""
' e.Row.Cells(7).Text = ""
' e.Row.Cells(8).Text = ""
' e.Row.CssClass = "SubTotales" '
'End If
'DETALLE
If e.Row.DBCampo("Codigo") <> "" Then
e.Row.Cells(0).Text = ""
e.Row.Cells(1).Text = ""
e.Row.Cells(2).Text = ""
e.Row.Cells(3).Text = ""
End If
'SUBTOTAL
If e.Row.DBCampo("Codigo") = "" Then
e.Row.Font.Bold = True
e.Row.Cells(0).Text = ""
e.Row.Cells(1).Text = ""
e.Row.Cells(2).Text = ""
e.Row.Cells(3).Text = ""
e.Row.Cells(4).Text = ""
e.Row.Cells(5).Text = ""
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(6).Text = "Total:"
e.Row.CssClass = "SubTotales"
End If
'TOTAL
If e.Row.DBCampo("TipoRenglon").ToString.ToEntero = 4 Then
e.Row.Font.Bold = True
e.Row.Cells(0).Text = ""
e.Row.Cells(1).Text = ""
e.Row.Cells(2).Text = ""
e.Row.Cells(3).Text = ""
e.Row.Cells(4).Text = ""
e.Row.Cells(5).Text = ""
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(6).Text = "Total:"
e.Row.CssClass = "Totales"
End If
End If
End Sub
End Class

View File

@@ -1295,6 +1295,7 @@
</GroupExpressions>
<PageBreak>
<BreakLocation>End</BreakLocation>
<ResetPageNumber>true</ResetPageNumber>
</PageBreak>
<Variables>
<Variable Name="UsuarioRegistro">
@@ -1331,9 +1332,11 @@
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<KeepTogether>true</KeepTogether>
<DataSetName>DataSet1</DataSetName>
<PageBreak>
<BreakLocation>End</BreakLocation>
<ResetPageNumber>true</ResetPageNumber>
</PageBreak>
<Top>0.05076cm</Top>
<Height>3.18542cm</Height>
@@ -1642,7 +1645,8 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox35</rd:DefaultName>
<Left>17.03312cm</Left>
<Top>0.26458cm</Top>
<Left>16.57041cm</Left>
<Height>0.52564cm</Height>
<Width>2.8175cm</Width>
<ZIndex>2</ZIndex>
@@ -1790,7 +1794,8 @@
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<Code>REM Reset Page Number:
<Code>
REM Reset Page Number:
Shared offset As Integer
Shared newPage As Object
Shared currentgroup1 As Object
@@ -1822,7 +1827,8 @@
End If
End If
Return newPage
End Function</Code>
End Function
</Code>
<EmbeddedImages>
<EmbeddedImage Name="jam3">
<MIMEType>image/jpeg</MIMEType>

View File

@@ -866,11 +866,77 @@
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Observaciones.Value</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>3.8986cm</Top>
<Left>0.17882cm</Left>
<Height>0.97952cm</Height>
<Width>19.04079cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>OBSERVACIONES:</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>3.11339cm</Top>
<Left>0.18166cm</Left>
<Height>0.60882cm</Height>
<Width>3.98167cm</Width>
<ZIndex>5</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>1.75444in</Height>
<Height>1.94921in</Height>
<Style />
</Body>
<Width>7.59789in</Width>
<Width>7.6851in</Width>
<Page>
<PageHeader>
<Height>4.936cm</Height>
@@ -1195,12 +1261,12 @@
</Style>
</PageHeader>
<PageFooter>
<Height>2.33028cm</Height>
<Height>2.93363cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Line Name="Line2">
<Top>0.92688cm</Top>
<Top>1.1404cm</Top>
<Left>0.05012cm</Left>
<Height>0cm</Height>
<Width>19.16949cm</Width>
@@ -1229,7 +1295,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox12</rd:DefaultName>
<Top>1.03271cm</Top>
<Top>1.22061cm</Top>
<Left>0.12893cm</Left>
<Height>0.44125cm</Height>
<Width>1.36232cm</Width>
@@ -1264,7 +1330,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox18</rd:DefaultName>
<Top>1.03271cm</Top>
<Top>1.22061cm</Top>
<Left>1.49125cm</Left>
<Height>0.44125cm</Height>
<Width>5.21516cm</Width>
@@ -1297,7 +1363,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox12</rd:DefaultName>
<Top>1.03271cm</Top>
<Top>1.22061cm</Top>
<Left>7.7587cm</Left>
<Height>0.44125cm</Height>
<Width>2.68521cm</Width>
@@ -1333,7 +1399,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox18</rd:DefaultName>
<Top>1.03271cm</Top>
<Top>1.22061cm</Top>
<Left>10.44391cm</Left>
<Height>0.44125cm</Height>
<Width>3.44953cm</Width>
@@ -1368,7 +1434,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Top>1.03271cm</Top>
<Top>1.22061cm</Top>
<Left>15.59511cm</Left>
<Height>0.38981cm</Height>
<Width>3.61081cm</Width>
@@ -1401,7 +1467,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox29</rd:DefaultName>
<Top>1.47396cm</Top>
<Top>1.66186cm</Top>
<Left>0.12912cm</Left>
<Height>0.41981cm</Height>
<Width>5.78083cm</Width>
@@ -1419,7 +1485,7 @@
<Rectangle Name="Rectangle1">
<ReportItems>
<Line Name="Line6">
<Top>0.19459cm</Top>
<Top>0.3175cm</Top>
<Left>1.19476cm</Left>
<Height>0cm</Height>
<Width>5.13525cm</Width>
@@ -1447,9 +1513,9 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox31</rd:DefaultName>
<Top>0.37098cm</Top>
<Top>0.4239cm</Top>
<Left>0.77992cm</Left>
<Height>0.09729cm</Height>
<Height>0.56472cm</Height>
<Width>5.95755cm</Width>
<ZIndex>1</ZIndex>
<Style>
@@ -1463,7 +1529,7 @@
</Style>
</Textbox>
<Line Name="Line7">
<Top>0.19459cm</Top>
<Top>0.3175cm</Top>
<Left>13.20536cm</Left>
<Height>0cm</Height>
<Width>5.24108cm</Width>
@@ -1492,9 +1558,9 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox31</rd:DefaultName>
<Top>0.3357cm</Top>
<Top>0.38862cm</Top>
<Left>12.80849cm</Left>
<Height>0.13257cm</Height>
<Height>0.6cm</Height>
<Width>5.95755cm</Width>
<ZIndex>3</ZIndex>
<Style>
@@ -1507,89 +1573,11 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Line Name="Line1">
<Top>0.75931cm</Top>
<Left>0.05417cm</Left>
<Height>0cm</Height>
<Width>19.1695cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Color>#0e2455</Color>
<Style>Solid</Style>
</Border>
</Style>
</Line>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>OBSERVACIONES:</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>0.46827cm</Top>
<Left>0.1196cm</Left>
<Height>0.18521cm</Height>
<Width>3.98167cm</Width>
<ZIndex>5</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Observaciones.Value</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>0.86514cm</Top>
<Left>0.05417cm</Left>
<Height>0.04437cm</Height>
<Width>19.07699cm</Width>
<ZIndex>6</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Left>0.05922cm</Left>
<Height>0.90952cm</Height>
<Top>0.04233cm</Top>
<Left>0.05012cm</Left>
<Height>0.98862cm</Height>
<Width>19.22367cm</Width>
<ZIndex>7</ZIndex>
<Visibility>

File diff suppressed because it is too large Load Diff

View File

@@ -812,25 +812,28 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
int CveVendedor = ObjVentas.DtResultados.Rows[0]["CveVendedor"].ToEntero();
int CveCliente = ObjVentas.DtResultados.Rows[0]["CveCliente"].ToEntero();
DataRow Vendedor = get_GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveVendedor = {0}",CveVendedor));
DataRow VendedorAsistente = get_GlobalDTVendedores(UsuarioActual.CveEmpresa,VendedorTipo:3).FiltroPrimero(string.Format("CveSuperior = {0}", CveVendedor));
DataRow Cliente = get_GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente : CveCliente).FiltroPrimero("");
string CobranzaCorreo = "";
string CorreoEntregaAlmacen = "";
string CorreoEntregaCompras = "";
string CorreoVendedor = "";
string CorreoAdicionalNotificacionesVendedor = "";
string CorreoNotificaciones = ObjVentas.DtResultados.Rows[0]["CorreoNotificacion"] != null ? ObjVentas.DtResultados.Rows[0]["CorreoNotificacion"].ToString():"";
string CorreoAsistente = "";
if (Cliente != null) {
CobranzaCorreo=Cliente["CobranzaCorreo"].ToString();
CorreoEntregaAlmacen=Cliente["CorreoEntregaAlmacen"].ToString();
CorreoEntregaCompras = Cliente["CorreoEntregaCompras"].ToString();
}
if (Vendedor != null)
{
CorreoVendedor=Vendedor["Correo"].ToString();
CorreoAdicionalNotificacionesVendedor=Vendedor["CorreoAdicionalNotificaciones"].ToString();
//CorreoAdicionalNotificacionesVendedor=Vendedor["CorreoAdicionalNotificaciones"].ToString();
}
string CorreosConcat = String.Format("{0};{1};{2};{3};{4}", CobranzaCorreo, CorreoEntregaAlmacen, CorreoEntregaCompras, CorreoVendedor, CorreoAdicionalNotificacionesVendedor);
if (VendedorAsistente != null)
{
CorreoAsistente = VendedorAsistente["Correo"].ToString();
}
string CorreosConcat = String.Format("{0};{1};{2};{3};{4}", CorreoEntregaAlmacen, CorreoEntregaCompras, CorreoVendedor, CorreoNotificaciones, CorreoAsistente);
return CorreosConcat;
}
ObjVentas.Dispose();

View File

@@ -175,6 +175,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
ViewState["Folio"] = value;
}
}
#endregion
@@ -1008,6 +1009,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
int CveCliente = DbRowVenta["CveCliente"].ToString().ToEntero();
int CveVendedor = DbRowVenta["CveVendedor"].ToString().ToEntero();
string CorreoNotificacion = DbRowVenta["CorreoNotificacion"] != null ? DbRowVenta["CorreoNotificacion"].ToString():"";
SerieFolio = String.Format("{0}-{1}", DbRowVenta["Serie"].ToString(), DbRowVenta["Folio"].ToString().ToEntero());
NombreCliente = DbRowVenta["ClienteNombre"].ToString();
@@ -1027,7 +1029,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
Destinatario = "sig.buzon02@gmail.com"; // CORREO PRUEBA
if (UsuarioActual.Empresa.Funcionalidad(280) == "1" && CveCliente > 0 && CveVendedor > 0)
{
Destinatario = getCorreoNotificacion(CveCliente, CveVendedor);
Destinatario = getCorreoNotificacion(CveCliente, CveVendedor,CorreoNotificacion);
}
if (ObjVentas.GetVentaDetalle(CveVenta))
@@ -1037,20 +1039,24 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
}
}
ObjVentas.Dispose();
}
}
private string getCorreoNotificacion(int CveCliente, int CveVendedor)
private string getCorreoNotificacion(int CveCliente, int CveVendedor,string CorreoNotificacion)
{
DataRow DatosCliente = get_GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveCliente = {0}", CveCliente));
DataRow DatosVendedor = get_GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveVendedor = {0}", CveVendedor));
string CorreoAsistente = get_GlobalDTVendedores(UsuarioActual.CveEmpresa,VendedorTipo:3).FiltroPrimeroValor("Correo", string.Format("CveSuperior = {0}", CveVendedor));
if (DatosCliente != null && DatosVendedor != null)
{
StringBuilder correos = new StringBuilder("");
if (DatosCliente["CorreoEntregaCompras"].ToString().Length > 0) correos.Append(string.Format("{0};", DatosCliente["CorreoEntregaCompras"].ToString()));
if (DatosCliente["CorreoEntregaAlmacen"].ToString().Length > 0) correos.Append(string.Format("{0};", DatosCliente["CorreoEntregaAlmacen"].ToString()));
if (DatosVendedor["Correo"].ToString().Length > 0) correos.Append(string.Format("{0};", DatosVendedor["Correo"].ToString()));
if (DatosVendedor["CorreoAdicionalNotificaciones"].ToString().Length > 0) correos.Append(string.Format("{0};", DatosVendedor["CorreoAdicionalNotificaciones"].ToString()));
correos.Append(CorreoNotificacion + ";");
correos.Append(CorreoAsistente + ";");
//if (DatosVendedor["CorreoAdicionalNotificaciones"].ToString().Length > 0) correos.Append(string.Format("{0};", DatosVendedor["CorreoAdicionalNotificaciones"].ToString()));
return correos.ToString();
}
return "";
@@ -1104,7 +1110,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
string detalle = string.Format("<tr><td style='width:25%'>{0}</td><td style='width:25%'>{1}</td><td style='width:50%'>{2}</td></tr>", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]);
DetalleTable += detalle;
}
CargaDatosCorreo(CveVenta);
StringBuilder strBody = new StringBuilder();
strBody.Append("<html>");
strBody.Append("<head>");

View File

@@ -1408,7 +1408,8 @@ Partial Class Inventarios_EntradasSalidas
Else
ErrorAC = True
End If
Else
ErrorAC = True
End If
End If

View File

@@ -3222,14 +3222,17 @@ Partial Class Inventarios_EntregaAlmacen
Dim Destinatario As String = ""
Dim MensajeEnviado = False
Dim tCvecliente As Integer
Dim tCveVendedor As Integer
Dim bytes() As Byte = Nothing
Dim ObjVentas As New ClsVentas()
Dim strBody As New StringBuilder
If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then
Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("")
Destinatario = String.Format("{0};{1}", dr("CorreoNotificacion"), dr("CorreoVendedorVenta"))
tCveVendedor = dr("CveVendedor").ToString.ToEntero
Dim CorreoVendedor As String = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo", String.Format("CveVendedor = {0}", tCveVendedor))
Dim CorreoAsistente As String = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=3).FiltroPrimeroValor("Correo", String.Format("CveSuperior = {0}", CveVendedor))
Destinatario = String.Format("{0};{1};{2}", dr("CorreoNotificacion"), CorreoVendedor, CorreoAsistente)
tCvecliente = dr("CveCliente").ToString.ToEntero
Dim drC As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=tCvecliente).FiltroPrimero("")

View File

@@ -70,7 +70,7 @@
</div>
<div class="portlet-body rowpadding">
<asp:GridView ID="GvPaqueteriasGuias" runat="server" AutoGenerateColumns="False"
DataKeyNames="CvePaqueteriaGuia,Folio,SerieFolio,FechaIng,Nombre,Contacto,Estatus,CobranzaCorreo,CorreoEntregaAlmacen,CorreoEntregaCompras,Correo,CorreoAdicionalNotificaciones,CveVenta,PedidoContrato,OrdenCompra,NombreComercial,TipoDocto"
DataKeyNames="CvePaqueteriaGuia,Folio,SerieFolio,FechaIng,Nombre,Contacto,Estatus,CobranzaCorreo,CorreoEntregaAlmacen,CorreoEntregaCompras,Correo,CorreoAdicionalNotificaciones,CveVenta,PedidoContrato,OrdenCompra,NombreComercial,TipoDocto,CorreoNotificacion,CveVendedor"
EmptyDataText="No se encontraron registros" ToolTip="Listado de Temas"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD"
data-sort="true"

View File

@@ -199,13 +199,14 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
private void MandarNotificacionCorreo(GridViewRow row)
{
string CobranzaCorreo = row.DataKey("CobranzaCorreo");
string CorreoEntregaAlmacen = row.DataKey("CorreoEntregaAlmacen");
string CorreoEntregaCompras = row.DataKey("CorreoEntregaCompras");
string CorreoVendedor = row.DataKey("Correo");
string CorreoAdicionalNotificacionesVendedor = row.DataKey("CorreoAdicionalNotificaciones");
string CorreoNotificacion = row.DataKey("CorreoNotificacion");
int CveVendedor = row.DataKey("CveVendedor").ToEntero();
string CorreoAsistente = get_GlobalDTVendedores(UsuarioActual.CveEmpresa,VendedorTipo:3).FiltroPrimeroValor("Correo",string.Format("CveSuperior = {0}", CveVendedor));
string Para = string.Format("{0};{1};{2};{3}", CorreoVendedor, CorreoAdicionalNotificacionesVendedor, CobranzaCorreo, CorreoEntregaCompras);
string Para = string.Format("{0};{1};{2};{3};{4}", CorreoVendedor, CorreoNotificacion, CorreoEntregaCompras,CorreoEntregaAlmacen,CorreoAsistente);
string LogCorreo = string.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoEntregaAlmacen, Para);
LogCorreo.GuardaLog();

View File

@@ -216,26 +216,21 @@
</div>
</div>
<div class="portlet-body">
<asp:GridView ID="GvDatosArmado" DataKeyNames="Cantidad,CvePS,CveUM,Consec,Inv_CveMetodoInventario,AplicaSeccion,AplicaSerie,AplicaCaducidad,AplicaLote" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<asp:GridView ID="GvDatosArmado" DataKeyNames="Cantidad,CvePS,CveUM,Consec,AplicaSeccion,AplicaSerie,AplicaCaducidad,AplicaLote" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Cant. Necesaria" DataField="Cantidad" ItemStyle-Width="15%" DataFormatString="{0:###,###,###,##0.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Cant. Disponible" DataField="CantidadDisponible2" ItemStyle-Width="15%" DataFormatString="{0:###,###,###,##0.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Producto/Servicio" DataField="CodigoPS" ItemStyle-Width="40%" />
<asp:BoundField HeaderText="Unidad Medida" DataField="UnidadMedida" ItemStyle-Width="20%" />
<asp:TemplateField HeaderText="Serie Paquete">
<asp:TemplateField HeaderText="Serie">
<ItemTemplate>
<asp:Button Text="Serie" ID="BtnSerie" OnClick="BtnSerie_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" />
<asp:LinkButton Text="<i class='fa fa-star'></i>" ID="BtnSeriePaquete" OnClick="BtnSeriePaquete_Click" CssClass="btn btn-xs btn-primary" runat="server" Visible="false" Style="float: left;" data-toggle="tooltip" title="Seleccionar como serie del paquete" />
<asp:LinkButton Text="<i class='fa fa-star'></i>" ID="BtnSeriePaquete" OnClick="BtnSeriePaquete_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" data-toggle="tooltip" title="Seleccionar como serie del paquete" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sección Almacén">
<asp:TemplateField HeaderText="Sección">
<ItemTemplate>
<asp:DropDownList ID="DdlSeccionAlmacen" DataTextField="Seccion" AppendDataBoundItems="true" DataValueField="CveSeccion" CssClass="select2me" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Caducidad">
<ItemTemplate>
<asp:TextBox ID="TxtCaducidad" CssClass="form-control input-sm" runat="server" Width="80px" Style="text-align: right;"></asp:TextBox>
<asp:DropDownList ID="DdlSeccionAlmacen" DataTextField="SeccionAlmacen" AppendDataBoundItems="true" DataValueField="CveSeccionAlmacen" CssClass="select2me" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Lote">
@@ -243,11 +238,12 @@
<asp:TextBox ID="TxtLote" CssClass="form-control input-sm" runat="server" Width="80px" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Serie">
<asp:TemplateField HeaderText="Fecha Caducidad">
<ItemTemplate>
<asp:TextBox ID="TxtSerie" CssClass="form-control input-sm" runat="server" Width="80px" Style="text-align: right;"></asp:TextBox>
<asp:TextBox ID="TxtCaducidad" CssClass="form-control input-sm" runat="server" Width="80px" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -488,7 +484,7 @@
</div>
<div class="portlet-body">
<asp:GridView ID="GvDatosDesarmado" DataKeyNames="Cantidad,CvePS,CveUM,Inv_CveMetodoInventario,Consec" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<asp:GridView ID="GvDatosDesarmado" DataKeyNames="Cantidad,CvePS,CveUM, AplicaSeccion,AplicaSerie,AplicaCaducidad,AplicaLote,Consec" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
@@ -509,6 +505,11 @@
<asp:Button Text="Serie" ID="BtnSerie" OnClick="BtnSerie_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sección">
<ItemTemplate>
<asp:DropDownList ID="DdlSeccionAlmacen" DataTextField="SeccionAlmacen" AppendDataBoundItems="true" DataValueField="CveSeccionAlmacen" CssClass="select2me" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

View File

@@ -88,14 +88,16 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
ViewState("CveCliente") = value
End Set
End Property
Private Property CveTipoPS As Integer
Private Property AplicaSerie As Boolean
Get
Return CType(ViewState("CveTipoPS"), Integer)
Return CType(ViewState("AplicaSerie"), Boolean)
End Get
Set(value As Integer)
ViewState("CveTipoPS") = value
Set(value As Boolean)
ViewState("AplicaSerie") = value
End Set
End Property
Private Property DtSeriesDesarmado As DataTable
Get
Return CType(ViewState("DtSeriesDesarmado"), DataTable)
@@ -208,7 +210,9 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Dim ObjProductosServicios As New ClsProductosServicios
Dim DtDatos As New DataTable
Dim CveUMTemp = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteArmado.SelectedValue.ToEntero).FiltroPrimeroValor("CveUM").ToEntero
Dim drP As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteArmado.SelectedValue.ToEntero).FiltroPrimero("")
Dim AplicaSerie As Boolean = False
Dim CveUMTemp = drP("CveUM").ToString.ToEntero
If ObjProductosServicios.GetPaqueteDetalle(DdlPaqueteArmado.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, CveUMTemp, TxtCantidadArmado.Text.ToDouble, DdlAlmacenArmado.SelectedValue.ToEntero, TxtFechaArmado.Text.ToDate, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente)) Then
DtDatos = ObjProductosServicios.DtResultados.FiltraParametros("CveTipoPS = 2").Copy
Else
@@ -240,15 +244,15 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
End If
Next
Dim AplicaSerie As String = ""
If ErrorExistencias Then
Alert(TextoExistencias, TipoMensaje.MsgAdvertencia)
Else
AplicaSerie = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteArmado.SelectedValue.ToEntero).FiltroPrimeroValor("AplicaSerie")
AplicaSerie = CBool(drP("AplicaSerie"))
BtnGuadarArmado.Visible = True
End If
If AplicaSerie = "True" Then
If AplicaSerie Then
DivSeriesPaqueteArmado.Visible = True
Dim Dt As New DataTable
Dt.Columns.Add("Row", GetType(Integer))
@@ -274,9 +278,14 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
GvDatosArmado.DataSource = DtDatos
GvDatosArmado.DataBind()
If ErrorExistencias Then
GvDatosArmado.Columns(4).Visible = False
End If
GvDatosArmado.Columns(5).Visible = DtDatos.MAX("AplicaSeccion") = "True"
'GvDatosArmado.Columns(6).Visible = DtDatos.MAX("Serie", "") <> ""
GvDatosArmado.Columns(6).Visible = False 'DtDatos.MAX("Lote", "") <> ""
GvDatosArmado.Columns(7).Visible = False 'DtDatos.MAX("FechaCaducidad", "FechaCaducidad is not null").ToDate > MinFecha
'If ErrorExistencias Then
' GvDatosArmado.Columns(4).Visible = False
'End If
UpDatosArmado.Update()
UpGeneralesArmado.Update()
@@ -285,7 +294,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
DtDatosDetalle.Clear()
BtnGuadarDesarmado.Visible = False
TotalDesarmado.Visible = False
CveTipoPS = -1
AplicaSerie = False
TxtSerieDesarmado.Text = ""
CvePaqueteDesarmado = -1
TipoMovimiento = 2
@@ -299,7 +308,9 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
BtnAgregarSerieDesarmado.Enabled = True
Dim CveUMTemp = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteDesarmado.SelectedValue.ToEntero).FiltroPrimeroValor("CveUM").ToEntero
Dim drP As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteDesarmado.SelectedValue.ToEntero).FiltroPrimero("")
Dim CveUMTemp = drP("CveUM").ToString.ToEntero
CveVendedor = If(RowApartadosDesarmado.Visible, DdlVendedorDesarmado.SelectedValue.ToEntero, -1)
CveCliente = If(RowClienteDesarmado.Visible, DdlClienteDesarmado.SelectedValue.ToEntero, -1)
Dim FechaFin As String = TxtFechaDesarmado.Text.ToDateTime.ToString("yyyy/MM/dd 23:59")
@@ -314,7 +325,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Alert($"No hay existencia suficiente del paquete <b>""{DdlPaqueteDesarmado.SelectedItem.Text}""</b> para desarmar. Por favor rectifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
Exit Sub
Else
CveTipoPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPaqueteDesarmado.SelectedValue.ToEntero).FiltroPrimeroValor("Inv_CveMetodoInventario").ToEntero
AplicaSerie = CBool(drP("AplicaSerie"))
End If
@@ -343,8 +354,8 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Next
End If
If CveTipoPS = 5 Then
GvDatosDesarmado.Columns(4).Visible = True
If AplicaSerie Then
DivSeriesPaqueteDesarmado.Visible = True
CreaDtSeriesDesarmado()
DtSeriesDesarmado.Clear()
@@ -363,6 +374,9 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
GvDatosDesarmado.DataSource = DtDatos
GvDatosDesarmado.DataBind()
GvDatosDesarmado.Columns(4).Visible = CBool(DtDatos.MAX("AplicaSerie"))
GvDatosDesarmado.Columns(5).Visible = CBool(DtDatos.MAX("AplicaSeccion"))
BtnGuadarDesarmado.Visible = True
TotalDesarmado.Visible = True
@@ -404,7 +418,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Select Case (Tipo)
Case 1 ' ARMADO
For Each gvr As GridViewRow In GvDatosArmado.Rows
If gvr.DataKey("Inv_CveMetodoInventario").ToEntero = 5 Then
If gvr.DataKey("AplicaSerie") = "True" Then
If gvr.DataKey("Cantidad").ToEntero <> DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec"))).Rows.Count Then
Alert("Es necesario ingresas todas las series de los componentes.", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -413,7 +427,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Next
Case 2 ' DESARMADO
For Each gvr As GridViewRow In GvDatosDesarmado.Rows
If gvr.DataKey("Inv_CveMetodoInventario").ToEntero = 5 Then
If gvr.DataKey("AplicaSerie") = "True" Then
If gvr.DataKey("Cantidad").ToEntero <> DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec"))).Rows.Count Then
Alert("Es necesario ingresas todas las series de los componentes.", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -423,7 +437,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
End Select
'VALIDA SI EL PAQUETE ES DE SERIE QUE SE INGRESEN TODAS LAS SERIES (CANTIDAD)
If CveTipoPS = 5 Then
If AplicaSerie Then
Select Case (Tipo)
Case 1 ' ARMADO
For Each gvr As GridViewRow In GvSeriesPaqueteArmado.Rows
@@ -458,7 +472,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Case 1 ' ARMADO
'SALIDA COMPONENTES
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenArmado, 5, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesArmado.Text, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente))
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenArmado, 5, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesArmado.Text, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), Modulo:="ARMPAQ1")
FolioSalida = ObjInventario.Folio
If CveMovimientoSalida <= 0 Then
@@ -472,7 +486,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Dim Lote As String = If(Gvr.FCTextBox("TxtLote").Text = "", "-1", Gvr.FCTextBox("TxtLote").Text)
Dim FechaCaducidad As String = If(Gvr.FCTextBox("TxtCaducidad").Text = "", "-1", Gvr.FCTextBox("TxtCaducidad").Text)
Dim CveSeccionAlmacen As Integer = Gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero()
If Gvr.DataKey("Inv_CveMetodoInventario").ToString.ToEntero = 5 Then
If CBool(Gvr.DataKey("AplicaSerie")) Then
For Each Dr As DataRow In DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec").ToEntero)).Rows
If Not ObjInventario.GetExistenciasPS(Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenArmado.SelectedValue.ToEntero, FechaMovto:=Fecha.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Serie:=Dr("Serie").ToString, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente)) >= 1 Then
MensajeError = String.Format("El Producto <b>{0}</b> con Serie: <b>{1}</b> no tiene existencia suficiente", Dr("PS"), Dr("Serie"))
@@ -506,7 +520,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
'ENTRADA PAQUETE
If Not TieneError Then
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenArmado, 19, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesArmado.Text, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), CveMovimientoRelacionado:=CveMovimientoSalida)
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenArmado, 19, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesArmado.Text, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="ARMPAQ2")
FolioEntrada = ObjInventario.Folio
If CveMovimientoEntrada <= 0 Then
@@ -520,14 +534,22 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Next
PUTemp = PUTemp / LbCantidadArmado.Text.ToDecimal
Dim CvePSTemp = CvePaqueteArmado
Dim CveUMTemp = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteArmado).FiltroPrimeroValor("CveUM").ToEntero
Dim CveSeccionAlmacen As Integer = -1
Dim Drp As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteArmado).FiltroPrimero("")
If CveTipoPS = 5 Then
Dim CveUMTemp As Integer = Drp("CveUM").ToString.ToEntero
Dim AplicaSeccion As Boolean = CBool(Drp("AplicaSeccion"))
If AplicaSeccion Then
CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacenArmado, CvePaqueteArmado).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero
End If
If AplicaSerie Then
Dim ContadorPaquete = 1
Dim DtSeriesComponentes As New DataTable
For Each Gvr As GridViewRow In GvSeriesPaqueteArmado.Rows
'AGREGA MOVTO DETALLE DE LA ENTRADA DEL PAQUETE
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, 1, CveUMTemp, CvePSTemp, PUTemp, -1, Serie:=Gvr.FCTextBox("TxtSerie").Text.Trim) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, 1, CveUMTemp, CvePSTemp, PUTemp, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Gvr.FCTextBox("TxtSerie").Text.Trim) Then
TieneError = True
MensajeError = "Ocurrió un error al guardar los detalles con serie del movimiento de entrada"
Exit For
@@ -535,7 +557,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
'INGRESA EN TABLA DE CONTROL DE PAQUETES CON SERIE
For Each Gvr2 As GridViewRow In GvDatosArmado.Rows
If Gvr2.DataKey("Inv_CveMetodoInventario").ToString.ToEntero = 5 Then
If CBool(Gvr2.DataKey("AplicaSerie")) Then
DtSeriesComponentes = New DataTable
DtSeriesComponentes = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr2.DataKey("Consec").ToEntero)).Copy
Dim CantidadComponente = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr2.DataKey("Consec").ToEntero)).Rows.Count / LbCantidadArmado.Text.ToEntero
@@ -552,7 +574,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
ContadorPaquete = ContadorPaquete + 1
Next
Else
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, LbCantidadArmado.Text.ToDouble, CveUMTemp, CvePSTemp, PUTemp, -1) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, LbCantidadArmado.Text.ToDouble, CveUMTemp, CvePSTemp, PUTemp, CveSeccionAlmacen:=CveSeccionAlmacen) Then
TieneError = True
MensajeError = "Ocurrió un error al guardar los detalles del movimiento de entrada"
End If
@@ -569,7 +591,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
'SALIDA PAQUETE
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenDesarmado, 20, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesDesarmado.Text, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente))
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenDesarmado, 20, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesDesarmado.Text, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), Modulo:="ARMPAQ3")
FolioSalida = ObjInventario.Folio
If CveMovimientoSalida <= 0 Then
@@ -579,12 +601,18 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
End If
Dim CvePSTemp = CvePaqueteDesarmado
Dim CveUMTemp = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteDesarmado).FiltroPrimeroValor("CveUM").ToEntero
Dim CveSeccionAlmacen As Integer = -1
Dim Drp As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePaqueteDesarmado).FiltroPrimero("")
If CveTipoPS = 5 Then
Dim CveUMTemp As Integer = Drp("CveUM").ToString.ToEntero
Dim AplicaSeccion As Boolean = CBool(Drp("AplicaSeccion"))
If AplicaSeccion Then
CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacenDesarmado, CvePaqueteDesarmado).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero
End If
If AplicaSerie Then
For Each Gvr As GridViewRow In GvSeriesPaqueteDesarmado.Rows
'AGREGA MOVTO DETALLE DE LA SALIDA DEL PAQUETE
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, 1, CveUMTemp, CvePSTemp, 0, -1, Serie:=Gvr.DataKey("Serie").ToString) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, 1, CveUMTemp, CvePSTemp, 0, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Gvr.DataKey("Serie").ToString) Then
TieneError = True
MensajeError = "Ocurrió un error al guardar los detalles con serie del movimiento de salida"
Exit For
@@ -598,7 +626,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
End If
Next
Else
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, TxtCantidadDesarmado.Text.ToDouble, CveUMTemp, CvePSTemp, 0, -1) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, TxtCantidadDesarmado.Text.ToDouble, CveUMTemp, CvePSTemp, 0, CveSeccionAlmacen:=CveSeccionAlmacen) Then
TieneError = True
MensajeError = "Ocurrió un error al guardar los movimientos de salida"
End If
@@ -607,7 +635,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
'ENTRADA COMPONENTES
If Not TieneError Then
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenDesarmado, 4, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesDesarmado.Text, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), CveMovimientoRelacionado:=CveMovimientoSalida)
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenDesarmado, 4, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservacionesDesarmado.Text, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="ARMPAQ4")
FolioEntrada = ObjInventario.Folio
If CveMovimientoEntrada <= 0 Then
@@ -616,16 +644,20 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Else
For Each Gvr As GridViewRow In GvDatosDesarmado.Rows
If Gvr.DataKey("Cantidad").ToString.ToDouble > 0 Then
If Gvr.DataKey("Inv_CveMetodoInventario").ToString.ToEntero = 5 Then
If CBool(Gvr.DataKey("AplicaSeccion")) Then
CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacenDesarmado, CvePaqueteDesarmado).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero
End If
If CBool(Gvr.DataKey("AplicaSerie")) Then
For Each Dr As DataRow In DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec").ToEntero)).Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, 1, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.FCTextBox("TxtCosto").Text.ToDecimal, -1, Serie:=Dr("Serie").ToString) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, 1, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.FCTextBox("TxtCosto").Text.ToDecimal, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Dr("Serie").ToString) Then
MensajeError = "Ocurrió un error al guardar los detalles con serie del movimiento de entrada. Por favor vuelva a intentar."
TieneError = True
Exit For
End If
Next
Else
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Gvr.DataKey("Cantidad").ToString.ToDouble, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.FCTextBox("TxtCosto").Text.ToDecimal, -1) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Gvr.DataKey("Cantidad").ToString.ToDouble, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.FCTextBox("TxtCosto").Text.ToDecimal, CveSeccionAlmacen:=CveSeccionAlmacen) Then
MensajeError = "Ocurrió un error al guardar los detalles del movimiento de entrada. Por favor vuelva a intentar."
TieneError = True
Exit For
@@ -662,7 +694,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Private Sub Limpia(Tipo As Integer)
DtDatosDetalle.Clear()
CveTipoPS = -1
AplicaSerie = False
'If Tipo = 1 Then
@@ -719,20 +751,18 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Protected Sub GvDatosArmado_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosArmado.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("Inv_CveMetodoInventario") = "5" Then
If CBool(e.Row.DBCampo("AplicaSerie")) Then
e.Row.FCButton("BtnSerie").Visible = True
e.Row.FCButton("BtnSerie").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°1", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PS"), e.Row.DBCampo("Cantidad"), e.Row.DBCampo("Consec"))
e.Row.FCLinkButton("BtnSeriePaquete").CommandArgument = e.Row.DBCampo("Consec")
'Dim Contador = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", e.Row.DBCampo("Consec"))).Rows.Count
'e.Row.FCTextBox("TbCantidadF").Text = Contador.ToString
If CveTipoPS = 5 Then
If AplicaSerie Then
e.Row.FCLinkButton("BtnSeriePaquete").Visible = True
e.Row.FCLinkButton("BtnSeriePaquete").Attributes.Add("data-toggle", "tooltip")
End If
GvDatosArmado.Columns(4).Visible = True
Else
e.Row.FCButton("BtnSerie").Visible = False
End If
@@ -740,16 +770,14 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
If e.Row.DataKey("AplicaSeccion") = "False" Then
e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
Else
e.Row.FCDropDownList("DdlSeccionAlmacen").DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1)
e.Row.FCDropDownList("DdlSeccionAlmacen").DataBind()
e.Row.FCDropDownList("DdlSeccionAlmacen").Items.Insert(0, New ListItem("Seleccione", "-1"))
CargaSeccionesAlmacen(e.Row.FCDropDownList("DdlSeccionAlmacen"), DdlAlmacenArmado.SelectedValue.ToEntero, e.Row.DBCampo("CvePS").ToEntero, UsuarioActual.CveEmpresa)
End If
e.Row.FCTextBox("TxtCaducidad").Visible = e.Row.DataKey("AplicaCaducidad") = "True"
e.Row.FCTextBox("TxtLote").Visible = e.Row.DataKey("AplicaLote") = "True"
e.Row.FCTextBox("TxtSerie").Visible = e.Row.DataKey("AplicaSerie") = "True"
''FUNCIONALIDAD PISTOLA DE CODIGOS
'If UsuarioActual.Empresa.Funcionalidad(132) = "1" And e.Row.DBCampo("CodigoBarras").Trim <> "" Then
' e.Row.FCTextBox("TbCantidadF").Enabled = False
@@ -763,13 +791,17 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
Protected Sub GvDatosDesarmado_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosDesarmado.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("Inv_CveMetodoInventario") = "5" Then
If CBool(e.Row.DBCampo("AplicaSerie")) Then
e.Row.FCButton("BtnSerie").Visible = True
e.Row.FCButton("BtnSerie").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°2", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PS"), e.Row.DBCampo("Cantidad"), e.Row.DBCampo("Consec"))
Else
e.Row.FCButton("BtnSerie").Visible = False
End If
If e.Row.DataKey("AplicaSeccion") = "False" Then
e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
Else
CargaSeccionesAlmacen(e.Row.FCDropDownList("DdlSeccionAlmacen"), DdlAlmacenDesarmado.SelectedValue.ToEntero, e.Row.DBCampo("CvePS").ToEntero, UsuarioActual.CveEmpresa)
End If
e.Row.FCTextBox("TxtCosto").Attributes.Add("onkeyup", "SumaValores();")

View File

@@ -204,13 +204,13 @@
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró ningun Traspaso de Almacén"
ToolTip="Remisiones sin Facturar"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD"
data-sort="true" Style="text-align: center;" GridLines="None">
data-sort="true" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Disponible" DataField="Cantidad" DataFormatString="{0:#,##0.00####}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="Unidad" DataField="UnidadMedida" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="Código" DataField="Codigo" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="Producto" DataField="PS" ItemStyle-Width="40%" ItemStyle-HorizontalAlign="Left"/>
<asp:BoundField HeaderText="Serie" DataField="Serie" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left"/>
<asp:BoundField HeaderText="Unidad" DataField="UnidadMedida" ItemStyle-Width="5%" />
<asp:BoundField HeaderText="Código" DataField="Codigo" ItemStyle-Width="5%" />
<asp:BoundField HeaderText="Producto" DataField="PS" ItemStyle-HorizontalAlign="Left"/>
<asp:BoundField HeaderText="Serie" DataField="Serie" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Left"/>
<asp:BoundField HeaderText="Valor" DataField="Valor" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:n}" />
</Columns>
<HeaderStyle CssClass="Titulos" />

View File

@@ -77,7 +77,7 @@ Partial Class RepTraspasoAlmacen
If ObjInventarios.RepTraspasoAlmacen(FechaI.ToDate, FechaF.ToDate, DdlAlmacenOrigen.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero, ChkRecibido.Checked, UsuarioActual.CveEmpresa) Then
GvDatos.DataSource = ObjInventarios.DtResultados
DtInventarios = ObjInventarios.DtResultados
GvDatos.Columns(4).Visible = DtInventarios.MAX("Serie") <> ""
End If
ObjInventarios.Dispose()

View File

@@ -1799,13 +1799,12 @@ Partial Class OC
DdlProyectoContrato.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Private Sub CargaSubProyectos()
Dim Filtro As String = If(DdlProyecto.SelectedValue.ToEntero > 0, String.Format("CveProyecto = {0}", DdlProyecto.SelectedValue.ToEntero), "")
Dim Filtro As String = If(DdlProyecto.SelectedValue.ToEntero > 0 AndAlso UsuarioActual.Empresa.Tipo_CentroCosto.Contiene(4, 5), String.Format("CveProyecto = {0}", DdlProyecto.SelectedValue.ToEntero), "")
DdlSubProyecto.Items.Clear()
If Filtro <> "" Or UsuarioActual.Empresa.Tipo_CentroCosto = 1 Or UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.DataSource = DtEstatusUsuarios.FiltraParametros(Filtro, "", {"CveSubProyecto", "SubProyecto"}) 'If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, CveEmpresaActual, -1, 1), GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, CveEmpresaActual, 1)) 'DtEstatusUsuarios.FiltraParametros(Filtro, "", {"CveSubProyecto", "SubProyecto"}) ' GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
End If
DdlSubProyecto.DataSource = DtEstatusUsuarios.FiltraParametros(Filtro, "", {"CveSubProyecto", "SubProyecto"}) 'If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, CveEmpresaActual, -1, 1), GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, CveEmpresaActual, 1)) 'DtEstatusUsuarios.FiltraParametros(Filtro, "", {"CveSubProyecto", "SubProyecto"}) ' GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Private Sub CargaSubProyectosEdit(DdlSP As DropDownList, CveProyectoEdit As Integer)

View File

@@ -13,118 +13,172 @@
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<%--<li>
<asp:LinkButton runat="server" ID="BtnAgregarDocumento" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Documento"></asp:LinkButton>
<li>
<asp:LinkButton runat="server" ID="LkbNuevaVersion" OnClick="LkbNuevaVersion_Click" data-toggle="tooltip" data-placement="left" title="Agregar una nueva versión de este documento" Text="<i class='fa fa-plus'></i>Crear Nueva Versión"></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkPDF" runat="server"><i class="fa fa-ad-pdf"></i> Imprimir PDF</asp:LinkButton>
<asp:LinkButton runat="server" ID="LbPruebas" OnClick="LbPruebas_Click" data-toggle="tooltip" data-placement="left" title="Agregar una nueva versión de este documento" Text="<i class='fa fa-plus'></i>Pruebas"></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-ad-excel"></i> Imprimir Excel</asp:LinkButton>
</li>--%>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpCliente" runat="server" UpdateMode="Conditional" class="portlet light xspadding bordered whitoutcol" style="width: 100%;">
<ContentTemplate>
<div class="portlet-body form-horizontal form-row-sepe formnombottom" style="padding-top: 0px; margin-top: -5px;">
<div class="row form-group" style="width: 100%">
<asp:UpdatePanel ID="UpDerecha" runat="server" UpdateMode="Conditional" class="col-md-2" style="width: 50%;">
<ContentTemplate>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblDescripción" Text="Descripción" />
<asp:TextBox runat="server" ID="TxtDescripcion" class="form-control" />
<asp:RequiredFieldValidator ID="RfvTxtDescripcion" runat="server" ControlToValidate="TxtDescripcion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
<div style="display:table;width:100%">
<asp:UpdatePanel ID="UpCliente" runat="server" UpdateMode="Conditional" class="portlet light xspadding bordered whitoutcol" style="width: 100%;">
<ContentTemplate>
<div class="portlet-body form-horizontal form-row-sepe formnombottom" style="padding-top: 0px; margin-top: -5px;">
<div class="row form-group" style="width: 100%">
<asp:UpdatePanel ID="UpDerecha" runat="server" UpdateMode="Conditional" class="col-md-2" style="width: 50%;">
<ContentTemplate>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblDescripción" Text="Descripción" />
<asp:TextBox runat="server" ID="TxtDescripcion" class="form-control" />
<asp:RequiredFieldValidator ID="RfvTxtDescripcion" runat="server" ControlToValidate="TxtDescripcion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblCategoria" Text="Categoría" /><br />
<asp:DropDownList runat="server" ID="DdlCategoria" CssClass="select2me" Style="width: 30%" DataValueField="CveCategoria" DataTextField="Categoria" OnSelectedIndexChanged="DdlCategoria_SelectedIndexChanged" AutoPostBack="true">
</asp:DropDownList>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblSubCategoria" Text="Subcategoría" /><br />
<asp:DropDownList runat="server" ID="DdlSubCategoria" CssClass="select2me" Style="width: 30%" DataValueField="CveSubCategoria" DataTextField="SubCategoria">
</asp:DropDownList>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px" runat="server" id="DivEstatusInicial">
<asp:Label runat="server" ID="Label3" Text="Estatus: En Proceso" /><br />
</div>
<br runat="server" id="brEstatusInicial"/>
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px" runat="server" id="DivEstatus" visible="false">
<asp:Label runat="server" ID="LblEstatus" Text="Estatus" /><br />
<asp:DropDownList runat="server" ID="DdlEstatus" CssClass="select2me" Style="width: 30%">
<asp:ListItem Value="1" Text="En Proceso" />
<asp:ListItem Value="2" Text="Aprobado" />
<asp:ListItem Value="3" Text="Rechazado" />
</asp:DropDownList>
</div>
<br runat="server" id="brEstatus" visible="false"/>
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblVersion" Text="Versión" />
<asp:TextBox runat="server" ID="TxtVersion" class="form-control" Style="width: 30%" />
<asp:RequiredFieldValidator ID="RfvTxtVersion" runat="server" ControlToValidate="TxtVersion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Versión''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblResponsable" Text="Responsable" />
<asp:TextBox runat="server" ID="TxtResponsable" class="form-control" Style="width: 50%" />
<asp:RequiredFieldValidator ID="RfvTxtResponsable" runat="server" ControlToValidate="TxtResponsable" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Responsable''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblObs" Text="Observaciones" />
<textarea runat="server" id="TxtObs" class="form-control" style="border: 1px solid #e5e5e5" rows="2"></textarea>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<div runat="server" id="DivFileDropZone">
<asp:Label runat="server" ID="LblDocumentoFile" Text="Documento" />
<asp:TextBox ID="TxtDocumentoFile" CssClass="ADSdropzone hidden" runat="server" Style="height: 100px"></asp:TextBox>
</div>
<div runat="server" id="DivDescargarArchivo" visible="false">
<asp:Label runat="server" ID="LblDocumentoCargado" Text="Documento cargado:" />
<asp:LinkButton runat="server" ID="LkbDescargarArchivo" Text="" OnClick="LkbDescargarArchivo_Click" />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LkbDescargarArchivo" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpIzquierda" runat="server" UpdateMode="Conditional" class="col-md-2" style="width: 50%;">
<ContentTemplate>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; height: 200px; text-align: center">
<asp:Label runat="server" ID="LblUsuarios" Text="Usuarios" Font-Size="14px" /><br />
<br />
<div class="text-right" style="">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuarios.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4; border: 1px solid #e5e5e5" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuarios.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:UpdatePanel ID="UpDatosUsuarios" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvUsuarios" runat="server" AutoGenerateColumns="False" DataKeyNames="CveUsuario,Usuario,Correo" EmptyDataText="No se encontraron Categorías de Documentos Registrados"
ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover ScrollAD" Style="text-align: center; width: 100%; overflow-x: hidden"
GridLines="None" OnRowDataBound="GvUsuarios_RowDataBound">
<Columns>
<asp:BoundField HeaderText="Nombre" DataField="Nombre" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Unir">
<ItemTemplate>
<asp:CheckBox runat="server" ID="ChkUnir" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Aprobar" Visible="false">
<ItemTemplate>
<asp:CheckBox runat="server" ID="ChkAprobar" OnCheckedChanged="ChkAprobar_Checked" AutoPostBack="true" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Propuesta" Visible="false" ItemStyle-Width="15%">
<ItemTemplate>
<div class="row">
<div class="col-md-4" style="width:50%;text-align:right;padding-right:unset">
<asp:LinkButton runat="server" ID="LkbSubirPropuesta" OnClick="LkbSubirPropuesta_Click" AlternateText="Subir" CausesValidation="False" s CssClass="btn btn-circle btn-sm green" Text="<i title='Subir Documento' class='fa fa-upload' title='Subir Documento' ></i>" />
</div>
<div class="col-md-4" style="width:50%;text-align:left;;padding-right:unset">
<asp:LinkButton runat="server" ID="LkbDescargarPropuesta" OnClick="LkbDescargarPropuesta_Click" AlternateText="Descargar" CausesValidation="False" CssClass="btn btn-circle btn-sm blue" CssStyle="" Text="<i title='Subir Documento' class='fa fa-download' title='Descargar Documento' ></i>" />
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="row">
<div class="col-md-1" style="text-align: center; width: 100%" runat="server" id="DivBotonesAcciones">
<br />
<asp:LinkButton runat="server" ID="LkbGuardar" OnClick="LblGuardar_Click" Text="Guardar" class="btn btn-primary" ValidationGroup="GrpDoc" />
<asp:LinkButton runat="server" ID="LkbActualizar" OnClick="LbkActualizar_Click" Text="Actualizar" class="btn btn-primary" ValidationGroup="GrpDoc" Visible="false" />
<asp:LinkButton runat="server" ID="LkbPublicar" OnClick="LkbPublicar_Click" Text="Publicar" class="btn btn-primary" ValidationGroup="GrpDoc" visible="false"/>
<br />
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblSubCategoria" Text="Subcategoría" /><br />
<asp:DropDownList runat="server" ID="DdlSubCategoria" CssClass="select2me" Style="width: 30%" DataValueField="CveSubCategoria" DataTextField="SubCategoria">
</asp:DropDownList>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblEstatus" Text="Estatus" /><br />
<asp:DropDownList runat="server" ID="DdlEstatus" CssClass="select2me" Style="width: 30%">
<asp:ListItem Value="1" Text="En Proceso" />
<asp:ListItem Value="2" Text="Aprobado" />
<asp:ListItem Value="1" Text="Rechazado" />
</asp:DropDownList>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblVersion" Text="Versión" />
<asp:TextBox runat="server" ID="TxtVersion" class="form-control" Style="width: 30%" />
<asp:RequiredFieldValidator ID="RfvTxtVersion" runat="server" ControlToValidate="TxtVersion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Versión''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblResponsable" Text="Responsable" />
<asp:TextBox runat="server" ID="TxtResponsable" class="form-control" Style="width: 50%" />
<asp:RequiredFieldValidator ID="RfvTxtResponsable" runat="server" ControlToValidate="TxtResponsable" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Responsable''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblObs" Text="Observaciones" />
<textarea runat="server" id="TxtObs" class="form-control" style="border: 1px solid #e5e5e5" rows="2"></textarea>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<div>
<asp:Label runat="server" ID="LblDocumentoFile" Text="Documento" />
<asp:TextBox ID="TxtDocumentoFile" CssClass="ADSdropzone hidden" runat="server" Style="height: 100px"></asp:TextBox>
</div>
<div runat="server" id="DivDescargarArchivo" visible="false">
<asp:Label runat="server" ID="LblDocumentoCargado" Text="Documento cargado:" />
<asp:LinkButton runat="server" ID="LkbDescargarArchivo" Text="" OnClick="LkbDescargarArchivo_Click"/>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LkbDescargarArchivo" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpIzquierda" runat="server" UpdateMode="Conditional" class="col-md-2" style="width: 50%;">
<ContentTemplate>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; height: 150px; text-align: center">
<asp:Label runat="server" ID="LblUsuarios" Text="Usuarios" Font-Size="14px" /><br /><br />
<div class="text-right" style="">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuarios.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4; border:1px solid #e5e5e5" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuarios.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:UpdatePanel ID="UpDatosUsuarios" runat="server" UpdateMode="Conditional">
</div>
<div id="DivAgregarPropuesta" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvUsuarios" runat="server" AutoGenerateColumns="False" DataKeyNames="CveUsuario,Usuario,Correo" EmptyDataText="No se encontraron Categorías de Documentos Registrados"
ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover Widthall ScrollAD"
Style="margin-top: -10px; text-align: center; width: 100%; overflow-x: hidden" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Nombre" DataField="Nombre" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Unir">
<ItemTemplate>
<asp:CheckBox runat="server" ID="ChkUnir" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Propuesta:</asp:Literal></h4>
</div>
<div class="modal-body">
<asp:Label runat="server" ID="Label1" Text="Subir Archivo de Propuesta:" style="font-size:15px"/>
<br />
<asp:TextBox ID="TxtArchivoPropuesta" CssClass="ADSdropzone hidden" runat="server" Style="height: 100px"></asp:TextBox>
<br />
<asp:Label runat="server" ID="Label2" Text="Comentarios:" style="font-size:15px"/>
<textarea runat="server" id="TxtComentarios" class="form-control" style="border: 1px solid #e5e5e5" rows="2"></textarea>
</div>
<div class="modal-footer">
<asp:Button ID="BtnAgregarPropuesta" OnClick="BtnAgregarPropuesta_Click" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="row">
<div class="col-md-1" style="text-align: center; width: 100%">
<br />
<asp:LinkButton runat="server" ID="LkbGuardar" OnClick="LblGuardar_Click" Text="Guardar" class="btn btn-primary" ValidationGroup="GrpDoc"/>
<br />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">

View File

@@ -11,6 +11,19 @@ using System.Text;
public partial class OI_DocumentoDetalle : ClsPaginas
{
private int CveUsuarioResponsable
{
get
{
return ViewState["CveUsuarioResponsable"].ToString().ToEntero();
}
set
{
ViewState["CveUsuarioResponsable"] = value;
}
}
private int CveDocumento
{
get
@@ -50,6 +63,32 @@ public partial class OI_DocumentoDetalle : ClsPaginas
}
}
private int CveUsuarioSeleccionado
{
get
{
return ViewState["CveUsuarioSeleccionado"].ToString().ToEntero();
}
set
{
ViewState["CveUsuarioSeleccionado"] = value;
}
}
private int CveAsignacion
{
get
{
return ViewState["CveAsignacion"].ToString().ToEntero();
}
set
{
ViewState["CveAsignacion"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
@@ -74,25 +113,73 @@ public partial class OI_DocumentoDetalle : ClsPaginas
private void CargarMensajeNuevoEditado()
{
string MensajeNuevoEditado = Page.Request["Mensaje"];
if (MensajeNuevoEditado == "Nuevo")
switch (MensajeNuevoEditado)
{
Alert("El Documento ha sido creado correctamente");
}else if(MensajeNuevoEditado == "Editado")
{
Alert("Los cambios en el Documento han sido guardado correctamente");
case "Nuevo":
Alert("El Documento ha sido creado correctamente");
break;
case "NuevaVersion":
Alert("Nueva versión del Documento creado correctamente");
break;
case "Publicado":
Alert("Documento publicado");
break;
}
}
private void CargarUsuarios()
{
GvUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa);
GvUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 1");
GvUsuarios.DataBind();
}
private void CargarUsuariosParticipantes()
{
DataTable UsuariosAux = null;
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoAutorizacion(this.CveDocumento))
{
GvUsuarios.DataSource = ObjOI.DtResultados;
UsuariosAux = ObjOI.DtResultados;
}
ObjOI.Dispose();
GvUsuarios.DataBind();
IndicarQuienesYaAutorizaron(UsuariosAux);
}
private void IndicarQuienesYaAutorizaron(DataTable Usuarios)
{
if (Usuarios != null)
{
GridViewRowCollection UsuariosEnGrid = GvUsuarios.Rows;
foreach (GridViewRow Usuario in UsuariosEnGrid)
{
int CveUsuario = Usuario.DataKey("CveUsuario").ToEntero();
string FechaAprobacion = Usuarios.FiltroPrimeroValor("FechaAprobacion", string.Format("CveUsuario = {0}", CveUsuario));
Usuario.FCCheckBox("ChkAprobar").Checked = FechaAprobacion != "" || (UsuarioActual.CveUsuario == CveUsuarioResponsable && CveUsuario == UsuarioActual.CveUsuario);
}
}
}
protected void GvUsuarios_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton LkbSubirPropuestaAux = e.Row.FCLinkButton("LkbSubirPropuesta");
ScriptManager.GetCurrent(this).RegisterPostBackControl(LkbSubirPropuestaAux);
LinkButton LkbDescargarPropuestaAux = e.Row.FCLinkButton("LkbDescargarPropuesta");
ScriptManager.GetCurrent(this).RegisterPostBackControl(LkbDescargarPropuestaAux);
}
}
private void CargarSubCategoria()
{
DdlSubCategoria.Items.Clear();
int CveCategoria = DdlCategoria.SelectedValue.ToEntero();
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoSubCategoria())
if (ObjOI.GetDocumentoSubCategoria(CveCategoria: CveCategoria))
{
DdlSubCategoria.DataSource = ObjOI.DtResultados;
DdlSubCategoria.DataBind();
@@ -114,7 +201,10 @@ public partial class OI_DocumentoDetalle : ClsPaginas
{
DataRow Documento = ObjOI.DtResultados.Rows[0];
CveUsuarioResponsable = Documento["CveUsuario"].ToString().ToEntero();
TxtDescripcion.Text = Documento["Descripcion"].ToString();
DdlCategoria.SelectedValue = Documento["CveCategoria"].ToString();
CargarSubCategoria();
DdlSubCategoria.SelectedValue = Documento["CveSubCategoria"].ToString();
DdlEstatus.SelectedValue = Documento["CveEstatus"].ToString();
TxtVersion.Text = Documento["Version"].ToString();
@@ -122,13 +212,8 @@ public partial class OI_DocumentoDetalle : ClsPaginas
TxtObs.InnerText = Documento["Observacion"].ToString();
ArchivoAdjuntoNombre = Documento["ArchivoFisico"].ToString();
if (ArchivoAdjuntoNombre.Contains("_"))
{
string[] ArchivoAux = Documento["ArchivoFisico"].ToString().Split('_');
string ArchivoAdjunto = ArchivoAux[1];
LkbDescargarArchivo.Text = ArchivoAdjunto;
DivDescargarArchivo.Visible = true;
}
LkbDescargarArchivo.Text = ArchivoAdjuntoNombre;
DivDescargarArchivo.Visible = true;
}
}
ObjOI.Dispose();
@@ -152,28 +237,102 @@ public partial class OI_DocumentoDetalle : ClsPaginas
private void ConfiguracionActualizar()
{
LkbGuardar.Text = "Actualizar";
LkbGuardar.Visible = false;
LkbActualizar.Visible = true;
LkbPublicar.Visible = true;
GvUsuarios.Columns[1].Visible = false;
GvUsuarios.Columns[2].Visible = true;
GvUsuarios.Columns[3].Visible = true;
}
private void ConfigurarGridUsuariosParticipantes()
{
int CveUsuarioActual = UsuarioActual.CveUsuario;
GridViewRowCollection Usuarios = GvUsuarios.Rows;
foreach (GridViewRow Usuario in Usuarios)
{
int CveUsuarioIteracion = Usuario.DataKey("CveUsuario").ToEntero();
if (CveUsuarioIteracion != CveUsuarioActual)
{
Usuario.FCCheckBox("ChkAprobar").Enabled = false;
Usuario.FCLinkButton("LkbSubirPropuesta").Visible = false;
}
}
}
private void ConfigurarCamposDetalleSegunUsuario()
{
if (UsuarioActual.CveUsuario != CveUsuarioResponsable)
{
TxtDescripcion.Enabled = false;
DdlSubCategoria.Enabled = false;
DdlEstatus.Enabled = false;
TxtVersion.Enabled = false;
TxtResponsable.Enabled = false;
TxtObs.Disabled = true;
DivFileDropZone.Visible = false;
LkbActualizar.Visible = false;
}
}
private void ConfigurarSegunEstatus()
{
bool MostrarSegunAprobado = (DdlEstatus.SelectedValue == "2");
DivBotonesAcciones.Visible = !MostrarSegunAprobado;
UpAgregar.Visible = MostrarSegunAprobado;
}
private void CargarCategorias()
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoCategoria())
{
DdlCategoria.DataSource = ObjOI.DtResultados;
}
ObjOI.Dispose();
DdlCategoria.DataBind();
DdlCategoria.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlSubCategoria.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
protected void DdlCategoria_SelectedIndexChanged(object sender, EventArgs e)
{
if (DdlCategoria.SelectedValue != "-1")
{
CargarSubCategoria();
}
}
private void EstatusMostrar(bool Mostrar)
{
DivEstatus.Visible = Mostrar;
brEstatus.Visible = Mostrar;
DivEstatusInicial.Visible = !Mostrar;
brEstatusInicial.Visible = !Mostrar;
}
private void Cargar()
{
CargarUsuarios();
CargarSubCategoria();
CargarCategorias();
CargarResponsable();
CargarCveDocumento();
CargarUsuarios();
if (this.CveDocumento > 0)
{
EstatusMostrar(true);
CargarDocumentoYaExistente();
CargarUsuariosParticipantes();
CargarUsuariosAutorizo();
ConfiguracionActualizar();
ConfigurarGridUsuariosParticipantes();
ConfigurarCamposDetalleSegunUsuario();
CargarMensajeNuevoEditado();
}
ConfigurarSegunEstatus();
}
#endregion
#region "GENERAR DOCUMENTO"
protected void LblGuardar_Click(object sender, EventArgs e)
{
ClsOIEventos ObjOI = new ClsOIEventos();
@@ -191,7 +350,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
if (!TieneError) { CorreosNotificacion = GuardarUsuariosQueAutorizan(CveDocumento, RutaArchivo, ref ObjOI, ref TieneError); }//asignamos a los usuarios que participaran en aprovar este documento
if (!TieneError)
{
ArchivoNotifiacion = GenerarArchivoByte(RutaArchivo);
ArchivoNotifiacion = GenerarArchivoByte(CveDocumento, RutaArchivo);
NotificarPorCorreo(CorreosNotificacion, RutaArchivo, ArchivoNotifiacion);
}
@@ -199,7 +358,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
if (!TieneError)
{
ObjOI.Commit();
string ParamMensaje = LkbGuardar.Text == "Guardar" ? "Nuevo" : "Editado";//Esto indica la acción de usuario la cual se mostrará como alert al cargar la página
string ParamMensaje = LkbGuardar.Text == "Guardar" ? "Nuevo" : "NuevaVersion";//Esto indica la acción de usuario la cual se mostrará como alert al cargar la página
Response.Redirect(string.Format("/OI/DocumentoDetalle.aspx?CveDocumento={0}&Mensaje={1}", CveDocumento, ParamMensaje));
}
else
@@ -215,7 +374,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
{
int CveDocumentoPadre = this.CveDocumento > 0 ? this.CveDocumento : -1; //Asociamos el nuevo insert con un CveDocumento ya generado en caso de ser una nueva versión del documento
int CveDocumento = ObjOI.AddDocumento(DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, DdlEstatus.SelectedValue.ToEntero(),
int CveDocumento = ObjOI.AddDocumento(DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, 1,
"", TxtResponsable.Text, CveDocumentoPadre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
if (!(CveDocumento > 0))
{
@@ -254,7 +413,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
if (GvRow.FCCheckBox("ChkUnir").Checked && !TieneError)
{
int CveUsuario = GvRow.DataKey("CveUsuario").ToEntero();
if (!ObjOI.AddDocumentoAutorizacion(CveDocumento, CveUsuario, RutaArchivo))
if (!ObjOI.AddDocumentoAutorizacion(CveDocumento, CveUsuario, ""))
{
TieneError = true;
this.ErrorMensaje = "Hubo un error al asignar los usuarios a este documento";
@@ -271,32 +430,70 @@ public partial class OI_DocumentoDetalle : ClsPaginas
}
#endregion
#region "ACTUALIZAR DOCUMENTO"
protected void LbkActualizar_Click(object sender, EventArgs e)
{
string Archivo = ActualizarArchivoEnDirectorio();
ActualizarDocumentoYaExistente(Archivo);
Cargar();
UpCliente.Update();
Alert("Documento actualizado");
}
private string ActualizarArchivoEnDirectorio()
{
string ArchivoFisicoActualizado = ArchivoAdjuntoNombre;
if (TxtDocumentoFile.Text != "[]")
{
string RutaArchivo = string.Format(@"{0}DocumentosRepo\{1}\{2}", UsuarioActual.Empresa.Ruta, this.CveDocumento, ArchivoAdjuntoNombre);
if (File.Exists(RutaArchivo))
{
File.Delete(RutaArchivo);
}
ArchivoFisicoActualizado = GuardarArchivo(this.CveDocumento);
}
return ArchivoFisicoActualizado;
}
private void ActualizarDocumentoYaExistente(string ArchivoFisico)
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (!ObjOI.UpdateDocumento(this.CveDocumento, DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, DdlEstatus.SelectedValue.ToEntero(),
ArchivoFisico, UsuarioActual.Nombre, ModExtensiones.MinFecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
Alert("Error al actualizar", ModExtensiones.TipoMensaje.MsgError);
}
ObjOI.Dispose();
}
#endregion
#region "ARCHIVO ADJUNTO"
private string GuardarArchivo(int CveDocumento)
{
string RutaArchivo = "-1";
List<Archivo> Filesgral = TxtDocumentoFile.getfiles().Archivos;
//Si no existe la carpeta donde se guardan se crea
if (!Directory.Exists(UsuarioActual.Empresa.Ruta + @"\DocumentosRepo\" + CveDocumento))
{
Directory.CreateDirectory(UsuarioActual.Empresa.Ruta + @"\DocumentosRepo\" + CveDocumento);
}
if (TxtDocumentoFile.Text != "[]")
{
foreach (Archivo fileItem in Filesgral)
{
try
{
string Version = TxtVersion.Text;
string NombreArchivo = fileItem.filenameO;
//Preparamos la ruta donde moveremos el archivo cargado
string NombreArchivoGuardado = string.Format("{0}_{1}", CveDocumento, NombreArchivo);
string RutaDestino = UsuarioActual.Empresa.Ruta + @"DocumentosRepo\" + NombreArchivoGuardado;
string RutaDestino = string.Format(@"{0}DocumentosRepo\{1}\{2}", UsuarioActual.Empresa.Ruta, CveDocumento, NombreArchivo);
//Si no existe la carpeta donde se guardan se crea
if (!Directory.Exists(UsuarioActual.Empresa.Ruta + @"\DocumentosRepo"))
{
Directory.CreateDirectory(UsuarioActual.Empresa.Ruta + @"\DocumentosRepo");
}
//Movemos el archivo de la carpeta temporal hacia la carpeta de la empresa
System.IO.File.Move(fileItem.FileUrl, RutaDestino);
RutaArchivo = NombreArchivoGuardado;
RutaArchivo = NombreArchivo;
}
catch (Exception e)
{
@@ -305,12 +502,36 @@ public partial class OI_DocumentoDetalle : ClsPaginas
}
}
}
else if (this.CveDocumento > 0)
{
try
{
if (ArchivoAdjuntoNombre != "")
{
string RutaOrigen = string.Format(@"{0}DocumentosRepo\{1}\{2}", UsuarioActual.Empresa.Ruta, this.CveDocumento, ArchivoAdjuntoNombre);
string RutaDestino = string.Format(@"{0}DocumentosRepo\{1}\{2}", UsuarioActual.Empresa.Ruta, CveDocumento, ArchivoAdjuntoNombre);
System.IO.File.Move(RutaOrigen, RutaDestino);
RutaArchivo = ArchivoAdjuntoNombre;
}
else
{
RutaArchivo = "";
}
}
catch (Exception e)
{
Alert(e.Message);
RutaArchivo = "Error";
}
}
return RutaArchivo;
}
protected void LkbDescargarArchivo_Click(object sender, EventArgs e)
{
string Ruta = string.Format("{0}Empresas/{1}/DocumentosRepo/{2}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, ArchivoAdjuntoNombre);
string Ruta = string.Format("{0}Empresas/{1}/DocumentosRepo/{2}/{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, this.CveDocumento, ArchivoAdjuntoNombre);
byte[] archivoBytes = File.ReadAllBytes(Ruta);
HttpContext.Current.Response.Clear();
@@ -357,9 +578,9 @@ public partial class OI_DocumentoDetalle : ClsPaginas
}
}
private byte[] GenerarArchivoByte(string NombreArchivo)
private byte[] GenerarArchivoByte(int CveDocumento, string NombreArchivo)
{
string ArchivoEnviar = string.Format(@"{0}DocumentosRepo\{1}", UsuarioActual.Empresa.Ruta, NombreArchivo);
string ArchivoEnviar = string.Format(@"{0}DocumentosRepo\{1}\{2}", UsuarioActual.Empresa.Ruta, CveDocumento, NombreArchivo);
if (File.Exists(ArchivoEnviar))
{
System.IO.FileStream fs = System.IO.File.Open(ArchivoEnviar, System.IO.FileMode.Open, System.IO.FileAccess.Read);
@@ -376,4 +597,180 @@ public partial class OI_DocumentoDetalle : ClsPaginas
}
#endregion
#region "PROPUESTAS DE USUARIOS"
private DataRow GetUsuarioParticipante(int CveUsuario)
{
DataRow UsuarioRetorno = null;
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoAutorizacion(this.CveDocumento))
{
UsuarioRetorno = ObjOI.DtResultados.FiltroPrimero(string.Format("CveUsuario = {0}", CveUsuario));
}
ObjOI.Dispose();
return UsuarioRetorno;
}
protected void LkbSubirPropuesta_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
int CveUsuarioSeleccionado = GvRow.DataKey("CveUsuario").ToEntero();
DataRow UsuarioSeleccionado = GetUsuarioParticipante(CveUsuarioSeleccionado);
this.CveUsuarioSeleccionado = CveUsuarioSeleccionado;
this.CveAsignacion = UsuarioSeleccionado["CveAutorizacion"].ToString().ToEntero();
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarPropuesta"));
}
protected void LkbDescargarPropuesta_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
int CveUsuario = GvRow.DataKey("CveUsuario").ToEntero();
DataRow UsuarioSeleccionado = GetUsuarioParticipante(CveUsuario);
string Propuesta = UsuarioSeleccionado["Adjunto"] == null ? "" : UsuarioSeleccionado["Adjunto"].ToString();
string Ruta = string.Format("{0}Empresas/{1}/DocumentosRepo/{2}/{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, this.CveDocumento, Propuesta);
if (File.Exists(Ruta))
{
byte[] archivoBytes = File.ReadAllBytes(Ruta);
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment;filename={0}", Propuesta));
HttpContext.Current.Response.AddHeader("Content-Length", archivoBytes.Length.ToString());
HttpContext.Current.Response.OutputStream.Write(archivoBytes, 0, archivoBytes.Length);
HttpContext.Current.Response.End();
}
else
{
Alert("El Usuario no ha realizado una propuesta", ModExtensiones.TipoMensaje.MsgAdvertencia);
}
}
protected void BtnAgregarPropuesta_Click(object sender, EventArgs e)
{
string Archivo = SubirPropuestaEnDirectorio(this.CveUsuarioSeleccionado);
ActualizarUsuario(this.CveAsignacion, Archivo);
}
private string SubirPropuestaEnDirectorio(int CveUsuario)
{
List<Archivo> Filesgral = TxtArchivoPropuesta.getfiles().Archivos;
string fileNameReturn = "-1";
if (TxtArchivoPropuesta.Text != "[]")
{
foreach (Archivo fileItem in Filesgral)
{
try
{
string NombreArchivo = fileItem.filenameO;
fileNameReturn = string.Format("{0}_{1}", CveUsuario, NombreArchivo);
string RutaDestino = string.Format(@"{0}DocumentosRepo\{1}\{2}_{3}", UsuarioActual.Empresa.Ruta, this.CveDocumento, CveUsuario, NombreArchivo);
System.IO.File.Move(fileItem.FileUrl, RutaDestino);
}
catch (Exception ex)
{
Alert(ex.Message);
}
}
}
return fileNameReturn;
}
private void ActualizarUsuario(int CveAutorizacion, string Archivo)
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (!ObjOI.UpdateDocumentoAutorizacion(CveAutorizacion, this.CveDocumento, TxtComentarios.InnerText, Archivo, ModExtensiones.MinFecha))
{
Alert("Error al actualizar el archivo subido propuesto por el usuario");
}
ObjOI.Dispose();
}
#endregion
#region "APROBACIÓN DEL DOCUMENTO"
protected void ChkAprobar_Checked(object sender, EventArgs e)
{
CheckBox SelectedCheckBox = (CheckBox)sender;
GridViewRow UsuarioAux = (GridViewRow)((Control)sender).Parent.Parent;
int CveUsuario = UsuarioAux.DataKey("CveUsuario").ToEntero();
DataRow Usuario = GetUsuarioParticipante(CveUsuario);
AprobacionDeUsuario(Usuario, SelectedCheckBox.Checked);
}
private void AprobacionDeUsuario(DataRow Usuario, bool Autorizar)
{
int CveAutorizacion = Usuario["CveAutorizacion"].ToString().ToEntero();
ClsOIEventos ObjOI = new ClsOIEventos();
if (Autorizar)
{
if (ObjOI.UpdateDocumentoAutorizacion(CveAutorizacion, -1, "-1", "-1", DateTime.Now))
{
Alert("Haz aprobado la versión actual del Documento");
}
}
else
{
if (ObjOI.DesaprobarDocumentoAutorizacion(CveAutorizacion))
{
Alert("Haz desaprobado la versión actual del Documento");
}
}
ObjOI.Dispose();
}
protected void LkbPublicar_Click(object sender, EventArgs e)
{
GridViewRowCollection Usuarios = GvUsuarios.Rows;
bool Aprobado = true;
foreach (GridViewRow Usuario in Usuarios)
{
if (!Usuario.FCCheckBox("ChkAprobar").Checked)
{
Aprobado = false;
break;
}
}
if (Aprobado)
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.UpdateDocumento(this.CveDocumento, DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, 2, "-1", TxtResponsable.Text,
DateTime.Now, -1, -1, UsuarioActual.CveEmpresa))
{
Alert("Documento publicado");
}
ObjOI.Dispose();
}
else
{
Alert("Los usuarios participantes aún no autorizan este Documento");
}
Response.Redirect(string.Format("/OI/DocumentoDetalle.aspx?CveDocumento={0}&Mensaje={1}", this.CveDocumento, "Publicado"));
}
#endregion
#region "NUEVA VERSION"
protected void LkbNuevaVersion_Click(object sender, EventArgs e)
{
CargarUsuarios();
LkbGuardar.Text = "Crear Nueva Versión";
DivBotonesAcciones.Visible = true;
LkbActualizar.Visible = false;
LkbPublicar.Visible = false;
LkbGuardar.Visible = true;
GvUsuarios.Columns[1].Visible = true;
GvUsuarios.Columns[2].Visible = false;
GvUsuarios.Columns[3].Visible = false;
EstatusMostrar(false);
UpCliente.Update();
}
#endregion
protected void LbPruebas_Click(object sender,EventArgs e)
{
Cargar();
UpCliente.Update();
Alert("Documento actualizado");
}
}

View File

@@ -10953,7 +10953,7 @@ Partial Class Ventas
If ObjFactura.TipoDocto.Contiene("Egs") Then
IdCtaContable = GlobalDTClasificaciones(ObjFactura.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToEntero()
Else
IdCtaContable = GlobalDTClasificaciones(ObjFactura.CveEmpresa).FiltroPrimeroValor("IdCuentaIngresos", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToEntero()
IdCtaContable = GlobalDTClasificaciones(ObjFactura.CveEmpresa).FiltroPrimeroValor("IdCuentaDescuento", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToEntero()
End If
If importeMovimiento <> 0 Then