From d350f5fe633272a74df62e140980483a5f0dcd3c Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Mon, 3 Aug 2020 21:19:18 -0700 Subject: [PATCH 01/15] =?UTF-8?q?avance=20a=20continuaci=C3=B3n=20en=20doc?= =?UTF-8?q?umentos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsOIEventos.vb | 23 ++++ OI/DocumentoDetalle.aspx | 49 +++++++- OI/DocumentoDetalle.aspx.cs | 226 +++++++++++++++++++++++++++++++----- 3 files changed, 266 insertions(+), 32 deletions(-) diff --git a/App_Code/ClsOIEventos.vb b/App_Code/ClsOIEventos.vb index 6abe367d1..80a1ee26c 100644 --- a/App_Code/ClsOIEventos.vb +++ b/App_Code/ClsOIEventos.vb @@ -3089,6 +3089,29 @@ 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 #End Region #End Region diff --git a/OI/DocumentoDetalle.aspx b/OI/DocumentoDetalle.aspx index d5af82e6c..74d725561 100644 --- a/OI/DocumentoDetalle.aspx +++ b/OI/DocumentoDetalle.aspx @@ -78,7 +78,7 @@
- +
@@ -90,16 +90,17 @@
-

+
+
- " style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4; border:1px solid #e5e5e5" /> + " style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4; border: 1px solid #e5e5e5" /> " class="btn btn-circle btn-sm label-info">
+ ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" Style="text-align: center; width: 100%; overflow-x: hidden" + GridLines="None" OnRowDataBound="GvUsuarios_RowDataBound"> @@ -107,6 +108,17 @@ + + + + + + + + + + + @@ -118,10 +130,35 @@

- + +
+
diff --git a/OI/DocumentoDetalle.aspx.cs b/OI/DocumentoDetalle.aspx.cs index eef168503..14a1764e5 100644 --- a/OI/DocumentoDetalle.aspx.cs +++ b/OI/DocumentoDetalle.aspx.cs @@ -50,6 +50,31 @@ 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) @@ -77,7 +102,8 @@ public partial class OI_DocumentoDetalle : ClsPaginas if (MensajeNuevoEditado == "Nuevo") { Alert("El Documento ha sido creado correctamente"); - }else if(MensajeNuevoEditado == "Editado") + } + else if (MensajeNuevoEditado == "Editado") { Alert("Los cambios en el Documento han sido guardado correctamente"); } @@ -85,10 +111,33 @@ public partial class OI_DocumentoDetalle : ClsPaginas private void CargarUsuarios() { - GvUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa); + if (this.CveDocumento > 0) + { + ClsOIEventos ObjOI = new ClsOIEventos(); + if (ObjOI.GetDocumentoAutorizacion(this.CveDocumento)) + { + GvUsuarios.DataSource = ObjOI.DtResultados; + } + ObjOI.Dispose(); + } + else + { + GvUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa); + } GvUsuarios.DataBind(); } + 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() { ClsOIEventos ObjOI = new ClsOIEventos(); @@ -122,13 +171,13 @@ 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; + //if (ArchivoAdjuntoNombre.Contains("_")) + //{ + // string[] ArchivoAux = Documento["ArchivoFisico"].ToString().Split('_'); + // string ArchivoAdjunto = ArchivoAux[1]; + //} } } ObjOI.Dispose(); @@ -152,15 +201,19 @@ public partial class OI_DocumentoDetalle : ClsPaginas private void ConfiguracionActualizar() { - LkbGuardar.Text = "Actualizar"; + LkbGuardar.Visible = false; + LkbActualizar.Visible = true; + GvUsuarios.Columns[1].Visible = false; + GvUsuarios.Columns[2].Visible = true; + GvUsuarios.Columns[3].Visible = true; } private void Cargar() { - CargarUsuarios(); CargarSubCategoria(); CargarResponsable(); CargarCveDocumento(); + CargarUsuarios(); if (this.CveDocumento > 0) { CargarDocumentoYaExistente(); @@ -172,8 +225,6 @@ public partial class OI_DocumentoDetalle : ClsPaginas #endregion #region "GENERAR DOCUMENTO" - - protected void LblGuardar_Click(object sender, EventArgs e) { ClsOIEventos ObjOI = new ClsOIEventos(); @@ -191,7 +242,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); } @@ -254,7 +305,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,12 +322,57 @@ 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 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) @@ -286,17 +382,12 @@ public partial class OI_DocumentoDetalle : ClsPaginas 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 NombreArchivoGuardado = NombreArchivo; + 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) { @@ -310,7 +401,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas 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 +448,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 +467,87 @@ 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); + 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(); + } + + protected void BtnAgregarPropuesta_Click(object sender, EventArgs e) + { + + string Archivo = SubirPropuestaEnDirectorio(this.CveUsuarioSeleccionado); + ActualizarUsuario(this.CveAsignacion, Archivo); + } + + private string SubirPropuestaEnDirectorio(int CveUsuario) + { + List 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 + } \ No newline at end of file From 4e82e6a974917ee4d668105c2f27f112907ad330 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Wed, 5 Aug 2020 11:51:53 -0700 Subject: [PATCH 02/15] - --- App_Code/ClsOIEventos.vb | 19 +++ Empresas/72/Formatos/Entradas.rdlc | 182 +++++++++++++-------------- OI/DocumentoDetalle.aspx | 22 ++-- OI/DocumentoDetalle.aspx.cs | 190 ++++++++++++++++++++++++----- 4 files changed, 279 insertions(+), 134 deletions(-) diff --git a/App_Code/ClsOIEventos.vb b/App_Code/ClsOIEventos.vb index 80a1ee26c..b8eb3b700 100644 --- a/App_Code/ClsOIEventos.vb +++ b/App_Code/ClsOIEventos.vb @@ -3112,6 +3112,25 @@ Public Class ClsOIEventos 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 diff --git a/Empresas/72/Formatos/Entradas.rdlc b/Empresas/72/Formatos/Entradas.rdlc index 8a86b04cd..36bd50101 100644 --- a/Empresas/72/Formatos/Entradas.rdlc +++ b/Empresas/72/Formatos/Entradas.rdlc @@ -866,11 +866,77 @@ + + true + true + + + + + =Parameters!Observaciones.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + OBSERVACIONES: + + + + + + 2pt + 2pt + 2pt + 2pt + + - 1.75444in + 1.94921in - 2.33028cm + 2.93363cm true true - 0.92688cm + 1.1404cm 0.05012cm 0cm 19.16949cm @@ -1229,7 +1295,7 @@ Textbox12 - 1.03271cm + 1.22061cm 0.12893cm 0.44125cm 1.36232cm @@ -1264,7 +1330,7 @@ Textbox18 - 1.03271cm + 1.22061cm 1.49125cm 0.44125cm 5.21516cm @@ -1297,7 +1363,7 @@ Textbox12 - 1.03271cm + 1.22061cm 7.7587cm 0.44125cm 2.68521cm @@ -1333,7 +1399,7 @@ Textbox18 - 1.03271cm + 1.22061cm 10.44391cm 0.44125cm 3.44953cm @@ -1368,7 +1434,7 @@ Textbox3 - 1.03271cm + 1.22061cm 15.59511cm 0.38981cm 3.61081cm @@ -1401,7 +1467,7 @@ Textbox29 - 1.47396cm + 1.66186cm 0.12912cm 0.41981cm 5.78083cm @@ -1419,7 +1485,7 @@ - 0.19459cm + 0.3175cm 1.19476cm 0cm 5.13525cm @@ -1447,9 +1513,9 @@ Textbox31 - 0.37098cm + 0.4239cm 0.77992cm - 0.09729cm + 0.56472cm 5.95755cm 1 - 0.19459cm + 0.3175cm 13.20536cm 0cm 5.24108cm @@ -1492,9 +1558,9 @@ Textbox31 - 0.3357cm + 0.38862cm 12.80849cm - 0.13257cm + 0.6cm 5.95755cm 3 - - 0.75931cm - 0.05417cm - 0cm - 19.1695cm - 4 - - - - - - true - true - - - - - OBSERVACIONES: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Observaciones.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - true - 0.05922cm - 0.90952cm + 0.04233cm + 0.05012cm + 0.98862cm 19.22367cm 7 diff --git a/OI/DocumentoDetalle.aspx b/OI/DocumentoDetalle.aspx index 74d725561..62abdcdbf 100644 --- a/OI/DocumentoDetalle.aspx +++ b/OI/DocumentoDetalle.aspx @@ -72,7 +72,7 @@
-
+
@@ -99,7 +99,7 @@ @@ -110,13 +110,19 @@ - + - + - - +
+
+ +
+
+ +
+
@@ -132,6 +138,7 @@
+
@@ -148,7 +155,8 @@
- +
+
- + - + - + - + - - - - - - + @@ -243,11 +238,12 @@ - + - + +
@@ -488,7 +484,7 @@
- + @@ -509,6 +505,11 @@ + + + + + diff --git a/Inventarios/PaquetesArmadoDesarmado.aspx.vb b/Inventarios/PaquetesArmadoDesarmado.aspx.vb index 8af94a12a..d76c06fd0 100644 --- a/Inventarios/PaquetesArmadoDesarmado.aspx.vb +++ b/Inventarios/PaquetesArmadoDesarmado.aspx.vb @@ -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 ""{DdlPaqueteDesarmado.SelectedItem.Text}"" 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 {0} con Serie: {1} 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();") From 860348d7b0dc980b1451213acbb913405b17bd06 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 7 Aug 2020 11:42:24 -0700 Subject: [PATCH 10/15] -- libro de diario conta sig --- Contabilidad2/RepLibroDiario.aspx | 104 +++++++++++++++++++ Contabilidad2/RepLibroDiario.aspx.vb | 144 +++++++++++++++++++++++++++ 2 files changed, 248 insertions(+) create mode 100644 Contabilidad2/RepLibroDiario.aspx create mode 100644 Contabilidad2/RepLibroDiario.aspx.vb diff --git a/Contabilidad2/RepLibroDiario.aspx b/Contabilidad2/RepLibroDiario.aspx new file mode 100644 index 000000000..4224c2fa5 --- /dev/null +++ b/Contabilidad2/RepLibroDiario.aspx @@ -0,0 +1,104 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepLibroDiario.aspx.vb" Inherits="Contabilidad2_RepLibroDiario" %> + + + + + + + Libro Diario + + + + + + +
  • + Generar EXCEL +
  • +
  • + Imprimir +
  • +
    + + + + +
    +
    + + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + + + + + + + + + + +
    +
    + +
    +
    + + + + + + + + + + +
    +
    +
    +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + + diff --git a/Contabilidad2/RepLibroDiario.aspx.vb b/Contabilidad2/RepLibroDiario.aspx.vb new file mode 100644 index 000000000..3f01252dc --- /dev/null +++ b/Contabilidad2/RepLibroDiario.aspx.vb @@ -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 From 92728d726b97217b499c9659e7a75b55b87b0e46 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 7 Aug 2020 11:42:53 -0700 Subject: [PATCH 11/15] -- que tome la cuenta de descuento de la clasificacion --- Ventas/Ventas.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 90183a6fb..c99cb1fd4 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -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 From 81859f6e951f8c34d0eb237e5353b662fef28ecd Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 7 Aug 2020 11:43:26 -0700 Subject: [PATCH 12/15] -- validacion si usa AC, que marque error sino tiene la informacion del almacen contable --- Inventarios/EntradasSalidas.aspx.vb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 1f6a9efdf..3c28d2384 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1408,7 +1408,8 @@ Partial Class Inventarios_EntradasSalidas Else ErrorAC = True End If - + Else + ErrorAC = True End If End If From f1b7df3cfdfab8881bb38b44e9db387c2201f09c Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Fri, 7 Aug 2020 14:13:02 -0700 Subject: [PATCH 13/15] - --- App_Code/ClsOIEventos.vb | 3 +- App_Code/ClsPaginas.vb | 2 +- Compras/PopUpVerFactura.aspx.vb | 10 +- Empresas/119/Formatos/Polizas.rdlc | 12 +- General/PopUpPaqueteriasGuias.aspx.cs | 15 +- General/RepPaqueteriasGuias.aspx.cs | 14 +- Inventarios/EntregaAlmacen.aspx.vb | 7 +- Inventarios/EntregasPorRealizar.aspx | 2 +- Inventarios/EntregasPorRealizar.aspx.cs | 7 +- OI/DocumentoDetalle.aspx | 297 ++++++++++++------------ OI/DocumentoDetalle.aspx.cs | 123 ++++++++-- 11 files changed, 309 insertions(+), 183 deletions(-) diff --git a/App_Code/ClsOIEventos.vb b/App_Code/ClsOIEventos.vb index b8eb3b700..78af613be 100644 --- a/App_Code/ClsOIEventos.vb +++ b/App_Code/ClsOIEventos.vb @@ -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 diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 7cdb07053..f474affc2 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -4627,7 +4627,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 diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 3e8f29ec9..39658a220 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -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 diff --git a/Empresas/119/Formatos/Polizas.rdlc b/Empresas/119/Formatos/Polizas.rdlc index a2c8d63c8..30145ef5f 100644 --- a/Empresas/119/Formatos/Polizas.rdlc +++ b/Empresas/119/Formatos/Polizas.rdlc @@ -1295,6 +1295,7 @@ End + true @@ -1331,9 +1332,11 @@ + true DataSet1 End + true 0.05076cm 3.18542cm @@ -1642,7 +1645,8 @@ Textbox35 - 17.03312cm + 0.26458cm + 16.57041cm 0.52564cm 2.8175cm 2 @@ -1790,7 +1794,8 @@ ReportParameter1 - REM Reset Page Number: + + 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 + End Function + image/jpeg diff --git a/General/PopUpPaqueteriasGuias.aspx.cs b/General/PopUpPaqueteriasGuias.aspx.cs index 80bf6aae8..c124dbd4e 100644 --- a/General/PopUpPaqueteriasGuias.aspx.cs +++ b/General/PopUpPaqueteriasGuias.aspx.cs @@ -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(); diff --git a/General/RepPaqueteriasGuias.aspx.cs b/General/RepPaqueteriasGuias.aspx.cs index bddef6c59..5a4109349 100644 --- a/General/RepPaqueteriasGuias.aspx.cs +++ b/General/RepPaqueteriasGuias.aspx.cs @@ -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("{0}{1}{2}", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]); DetalleTable += detalle; } - + CargaDatosCorreo(CveVenta); StringBuilder strBody = new StringBuilder(); strBody.Append(""); strBody.Append(""); diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 2adc2532c..74aac45cc 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -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("") diff --git a/Inventarios/EntregasPorRealizar.aspx b/Inventarios/EntregasPorRealizar.aspx index 76ec2b76f..3bf84154d 100644 --- a/Inventarios/EntregasPorRealizar.aspx +++ b/Inventarios/EntregasPorRealizar.aspx @@ -70,7 +70,7 @@
    - <%--
  • - +
  • +
  • - Imprimir PDF +
  • -
  • - Imprimir Excel -
  • --%>
    - - -
    -
    - - -
    -
    - - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    - - -
    -
    -
    -
    - - -
    -
    - - -
    -
    -
    - - - -
    - - -
    -
    -
    +
    + + +
    +
    + + +
    +
    + + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    + + +
    +
    +
    + + + +
    + + +
    +
    +
    +
    +
    + " style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4; border: 1px solid #e5e5e5" /> + " class="btn btn-circle btn-sm label-info"> +
    + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    -
    - " style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4; border: 1px solid #e5e5e5" /> - " class="btn btn-circle btn-sm label-info"> -
    - + + + +
    +
    +
    + -
    -
    -
    - - - -
    +
    -
    - -
    - - + + +
    diff --git a/OI/DocumentoDetalle.aspx.cs b/OI/DocumentoDetalle.aspx.cs index 717c52222..ce4b59da1 100644 --- a/OI/DocumentoDetalle.aspx.cs +++ b/OI/DocumentoDetalle.aspx.cs @@ -88,6 +88,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas ViewState["CveAsignacion"] = value; } } + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) @@ -112,19 +113,23 @@ 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(); } @@ -171,8 +176,10 @@ public partial class OI_DocumentoDetalle : ClsPaginas 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(); @@ -196,6 +203,8 @@ public partial class OI_DocumentoDetalle : ClsPaginas 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(); @@ -230,6 +239,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas { LkbGuardar.Visible = false; LkbActualizar.Visible = true; + LkbPublicar.Visible = true; GvUsuarios.Columns[1].Visible = false; GvUsuarios.Columns[2].Visible = true; GvUsuarios.Columns[3].Visible = true; @@ -265,14 +275,51 @@ public partial class OI_DocumentoDetalle : ClsPaginas } } + 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() { - CargarSubCategoria(); + CargarCategorias(); CargarResponsable(); CargarCveDocumento(); CargarUsuarios(); if (this.CveDocumento > 0) { + EstatusMostrar(true); CargarDocumentoYaExistente(); CargarUsuariosParticipantes(); CargarUsuariosAutorizo(); @@ -281,6 +328,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas ConfigurarCamposDetalleSegunUsuario(); CargarMensajeNuevoEditado(); } + ConfigurarSegunEstatus(); } #endregion @@ -310,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 @@ -326,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)) { @@ -439,10 +487,8 @@ public partial class OI_DocumentoDetalle : ClsPaginas { try { - string Version = TxtVersion.Text; string NombreArchivo = fileItem.filenameO; //Preparamos la ruta donde moveremos el archivo cargado - //string NombreArchivoGuardado = NombreArchivo; string RutaDestino = string.Format(@"{0}DocumentosRepo\{1}\{2}", UsuarioActual.Empresa.Ruta, CveDocumento, NombreArchivo); //Movemos el archivo de la carpeta temporal hacia la carpeta de la empresa @@ -456,6 +502,30 @@ 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; } @@ -668,8 +738,6 @@ public partial class OI_DocumentoDetalle : ClsPaginas if (ObjOI.UpdateDocumento(this.CveDocumento, DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, 2, "-1", TxtResponsable.Text, DateTime.Now, -1, -1, UsuarioActual.CveEmpresa)) { - Cargar(); - UpCliente.Update(); Alert("Documento publicado"); } ObjOI.Dispose(); @@ -678,6 +746,31 @@ public partial class OI_DocumentoDetalle : ClsPaginas { 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"); + } } \ No newline at end of file From 98786119a86631462fc2e85c0f3963ee98d22c11 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Fri, 7 Aug 2020 16:42:34 -0700 Subject: [PATCH 14/15] Estado Resultados Horizontal --- App_Code/ClsContabilidad.vb | 20 ++++-- Contabilidad2/RepAnexoCatalogoAnual.aspx | 51 +++++++++++---- Contabilidad2/RepAnexoCatalogoAnual.aspx.vb | 21 +++++-- Contabilidad2/RepAnexoCatalogoCC.aspx | 40 ++++++++++-- Contabilidad2/RepAnexoCatalogoCC.aspx.vb | 41 +++++++----- Contabilidad2/RepAnexoCatalogoMensual.aspx | 31 +++++++-- Contabilidad2/RepAnexoCatalogoMensual.aspx.vb | 15 ++--- .../RepEstadoResultadosHorizontal.aspx | 9 +-- .../RepEstadoResultadosHorizontal.aspx.vb | 63 ++++++++++++++----- 9 files changed, 216 insertions(+), 75 deletions(-) diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index b3d744b4c..78bc5b906 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -4096,7 +4096,7 @@ Public Class ClsContabilidad Return Retorno End Function - Public Function GetAnexoCatalogoMensual(CveCuenta As Integer, Ejercicio As Integer, CveSubproyecto As Integer, CveEmpresa As Integer, Divisor As Integer, CveUsuario As Integer) As Boolean + Public Function GetAnexoCatalogoMensual(CveCuenta As Integer, Ejercicio As Integer, CveSubproyecto As Integer, CveEmpresa As Integer, Divisor As Integer, CveUsuario As Integer, Periodo As Integer) As Boolean Dim Retorno = False DataAdapter("PA_Conta_AnexoCatalogoMensualGet") @@ -4108,18 +4108,19 @@ Public Class ClsContabilidad .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@Divisor", SqlDbType.Int).Value = Divisor .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@Periodo", SqlDbType.Int).Value = Periodo End With Try SqlAdapter.Fill(Data) Retorno = True Catch ex As Exception - Me.OnError("Ocurrió un error al obtener el Estado Resultados Horizontal CC", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Me.OnError("Ocurrió un error al obtener el Estado Resultados Horizontal Mensual", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno End Function - Public Function GetAnexoCatalogoAnual(CveCuenta As Integer, Ejercicio As Integer, CveSubproyecto As Integer, CveEmpresa As Integer, EjercicioFinal As Integer, Divisor As Integer, CveUsuario As Integer) As Boolean + Public Function GetAnexoCatalogoAnual(CveCuenta As Integer, Ejercicio As Integer, CveSubproyecto As Integer, CveEmpresa As Integer, EjercicioFinal As Integer, Divisor As Integer, CveUsuario As Integer, Periodo As Integer) As Boolean Dim Retorno = False DataAdapter("PA_Conta_AnexoCatalogoAnualGet") @@ -4133,6 +4134,7 @@ Public Class ClsContabilidad .Add("@EjercicioFinal", SqlDbType.Int).Value = EjercicioFinal .Add("@Divisor", SqlDbType.Int).Value = Divisor .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@Periodo", SqlDbType.Int).Value = Periodo End With @@ -4140,12 +4142,13 @@ Public Class ClsContabilidad SqlAdapter.Fill(DSet) Retorno = True Catch ex As Exception - Me.OnError("Ocurrió un error al obtener el Estado Resultados Horizontal CC", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Me.OnError("Ocurrió un error al obtener el Estado Resultados Horizontal Anual", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno End Function - Public Function GetAnexoCatalagoCC(CveCuenta As Integer, Ejercicio As Integer, CveSubproyecto As Integer, CveEmpresa As Integer) As Boolean + + Public Function GetAnexoCatalagoCC(CveCuenta As Integer, Ejercicio As Integer, CveSubproyecto As Integer, CveEmpresa As Integer, Divisor As Integer, Periodo As Integer) As Boolean Dim Retorno = False DataAdapter("PA_Conta_AnexoCatalogoCCGet") @@ -4155,6 +4158,10 @@ Public Class ClsContabilidad .Add("@Ejercicio", SqlDbType.Int).Value = Ejercicio .Add("@CveSubproyecto", SqlDbType.Int).Value = CveSubproyecto .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Divisor", SqlDbType.Int).Value = Divisor + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@Periodo", SqlDbType.Int).Value = Periodo + End With Try @@ -6211,7 +6218,7 @@ Public Class ClsContabilidad End Function - Public Function GetEstadosAnualHorizontal(FechaI As Date, FechaF As Date, CveSubProyecto As Integer, Divisor As Integer, CveEmpresa As Integer, CveUsuario As Integer, Optional Tipo As Integer = 1) As Boolean + Public Function GetEstadosAnualHorizontal(FechaI As Date, FechaF As Date, CveSubProyecto As Integer, Divisor As Integer, CveEmpresa As Integer, CveUsuario As Integer, Optional Tipo As Integer = 1, Optional Periodo As Integer = 12) As Boolean Dim Retorno = False DataAdapter("PA_Conta2_EstadoResultadosAnualHorizontal") @@ -6224,6 +6231,7 @@ Public Class ClsContabilidad .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@Tipo", SqlDbType.Int).Value = Tipo + .Add("@Periodo", SqlDbType.Int).Value = Periodo End With diff --git a/Contabilidad2/RepAnexoCatalogoAnual.aspx b/Contabilidad2/RepAnexoCatalogoAnual.aspx index ffe9e4e8a..569e1ad17 100644 --- a/Contabilidad2/RepAnexoCatalogoAnual.aspx +++ b/Contabilidad2/RepAnexoCatalogoAnual.aspx @@ -25,17 +25,38 @@
      -
    • Ejercicio: +
    • Ejercicio Inicio:
    • +
    • Ejercicio Fin: + +
    • +
    • + + + + + + + + + + + + + + + + +
    • SubProyecto:
    • Divisor: - - - - + + + +
    @@ -159,7 +180,10 @@