From 2bf555ee3af25074674961e03d909bd30175aa9f Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 22 Sep 2020 15:58:12 -0700 Subject: [PATCH 1/8] Facturacion ciclica --- Contratos/Contrato.aspx.vb | 35 +- Contratos/FacturacionMasiva.aspx | 2 +- Contratos/FacturacionMasiva.aspx.vb | 561 ++++++++++++---------------- 3 files changed, 279 insertions(+), 319 deletions(-) diff --git a/Contratos/Contrato.aspx.vb b/Contratos/Contrato.aspx.vb index 4a59ab77a..59f211c7d 100644 --- a/Contratos/Contrato.aspx.vb +++ b/Contratos/Contrato.aspx.vb @@ -705,9 +705,12 @@ Partial Class Contratos_Default End If TipoContrato = DdlTipoContrato.SelectedValue.ToEntero - TxtDescripcionTipoContrato.Text = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue)(0)("Descripcion").ToString() - TxtDescripcionTipoContrato.Visible = True - + If GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue).Rows.Count > 0 Then + TxtDescripcionTipoContrato.Text = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue)(0)("Descripcion").ToString() + TxtDescripcionTipoContrato.Visible = True + End If + + CargaContratoPadre() UpProyecto.Update() End Sub @@ -725,6 +728,15 @@ Partial Class Contratos_Default TableDatosCabecera.Visible = True End If + If CveTipoContrato = 25 Then + DvMax.Visible = False + DvMin.Visible = False + DvTotal.Visible = False + + DivFianzas.Visible = False + DivImpuestosLocales.Visible = False + End If + ElseIf modalidadDetalleInt = 2 Then ModalidadDetalle = 2 @@ -735,6 +747,15 @@ Partial Class Contratos_Default If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then TableDatosCabecera.Visible = True + End If + + If CveTipoContrato = 25 Then + DvMax.Visible = False + DvMin.Visible = False + DvTotal.Visible = False + + DivFianzas.Visible = False + DivImpuestosLocales.Visible = False End If End If @@ -755,11 +776,13 @@ Partial Class Contratos_Default Exit Sub End If + Me.CveTipoContrato = DdlTipoContrato.SelectedValue.ToEntero + 'Dim TipoMov = GlobalDTContratosTipos.FiltroPrimeroValor("TipoMovimiento", $"CveContratoTipo='{CveTipoContrato}'").ToEntero - If rpCompra.Checked Then - Dim CveContratoTipo = DdlTipoContrato.SelectedValue.ToEntero - Response.Redirect($"/Contratos/Presupuestos.aspx?CveContrato=-1&CveContratoTipo={CveContratoTipo}") + If rpCompra.Checked Then + + Response.Redirect($"/Contratos/Presupuestos.aspx?CveContrato=-1&CveContratoTipo={Me.CveTipoContrato}") 'RegistraScript("window.location='/Contratos/Presupuestos.aspx") Else diff --git a/Contratos/FacturacionMasiva.aspx b/Contratos/FacturacionMasiva.aspx index c4366650e..ad378c4fb 100644 --- a/Contratos/FacturacionMasiva.aspx +++ b/Contratos/FacturacionMasiva.aspx @@ -93,7 +93,7 @@
- + diff --git a/Contratos/FacturacionMasiva.aspx.vb b/Contratos/FacturacionMasiva.aspx.vb index b005a874d..d43c26fc3 100644 --- a/Contratos/FacturacionMasiva.aspx.vb +++ b/Contratos/FacturacionMasiva.aspx.vb @@ -166,350 +166,279 @@ Partial Class Contratos_FacturacionMasiva End Sub Protected Sub ImgFacturarTodos_Click(sender As Object, e As EventArgs) Handles BtnFacturar.Click - Dim FacturadoCorrecto = True + EjecutarFacturacion() + End Sub + + Private Sub EjecutarFacturacion() + Dim FacturadoCorrecto = True + Dim sb As New StringBuilder() + For Each row As GridViewRow In GvCiclosComerciales.Rows If row.FCCheckBox("chkDis").Checked Then - FacturadoCorrecto = EmitirImprimir(row.DataKey("CveCicloComercial").ToString.ToEntero) + Dim fecha As DateTime = DateTime.Now ', row.DataKey("FechaVenc").ToString.ToDateTime() + Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat + Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper() + + Dim Etiqueta As String = String.Format("{0} - {1}", nombreMes, fecha.Year) + + Dim Resp = EmitirImprimir(row.DataKey("CveCicloComercial").ToString.ToEntero, Etiqueta) + + For Each Msg In Resp.Mensajes + sb.AppendFormat("{0}

", Msg) + Next + If Not FacturadoCorrecto Then If Mensaje = "" Then Alert("Ocurrió un error al facturar masivamente, por favor contacte a soporte técnico", TipoMensaje.MsgAdvertencia) Else Alert($"{Mensaje} en el contrato {row.DataKey("NumeroContrato").ToString}", TipoMensaje.MsgAdvertencia) End If - Exit For End If End If Next - If FacturadoCorrecto Then - Alert("Los periodos se facturaron correctamente") - TxtObservaciones.Text = "" - End If + + If sb.ToString().Length > 0 Then + Alert($"Se generaron las siguientes facturas:

{sb.ToString()}") + Else + Alert("No se generaron facturas", TipoMensaje.MsgAdvertencia) + End If + CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero) RegistraScript("$('#divAgregar').modal('hide')") - UpBodyEstatus.Update() + UpBodyEstatus.Update() End Sub - Protected Sub btnFacturarAqui_Click(sender As Object, e As EventArgs) - CveCicloComercial = CType(sender, LinkButton).CommandArgument.ToEntero - CreaObjetosVenta() - - If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then - Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError) - ObjFactura = Nothing - Exit Sub - End If - - - If ObjFactura.CveCliente > 0 Then - If DTDetalle.Rows.Count > 0 Then - - Dim ObjVentas As New ClsVentas() - Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) - Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL()) - Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL()) - Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL()) - Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL()) - Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL()) - Dim ObjContPaq As ClsContPAQi = Nothing - 'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL()) - ErrorList = New List(Of String) - MensajeAlert = New StringBuilder - - - 'CONTABILIDAD AUTOMATICA Y AC - If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then - ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa) - End If - - - 'GUARDA VENTA - GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS) - - If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then - If Not ObjContr.CicloComercialUpdate(CveCicloComercial, True, UsuarioActual.CveEmpresa) Then - ErrorList.Add("No se pudo actualizar ") - End If - End If - - If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then - ObjVentas.Commit() - If ObjContPaq IsNot Nothing Then ObjContPaq.Commit() - ViewState("CveVenta") = ObjFactura.CveVenta - - - Dim SeTimbro As Boolean = False - 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO - - If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then - If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then - - Dim sw As New Diagnostics.Stopwatch - sw.Start() - - 'FACTURA INGRESO/EGRESO - Dim ObjTimbrado As New Timbrado - - - SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) - - sw.Stop() - GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC) - End If - - - 'MENSAJE PRINCIPAL - MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.

", ObjFactura.TipoDocumento, ObjFactura.SerieFolio)) - - - If SeTimbro Then - 'XML - Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) - If File.Exists(ArchivoXML) Then - MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) - End If - - 'IMPRESION - GeneraPDFFactura(False) - Else - MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.") - End If - - 'MUESTA ALERT OK - Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";") - Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion) - - ObjFactura = Nothing - Else - ObjVentas.RollBack() - If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack() - - For Each ErrorItem In ErrorList - Alert(ErrorItem, TipoMensaje.MsgAdvertencia) - Next - - 'MUESTA ALERT ERROR - Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError) - End If - - ObjVentas.Dispose() - ObjConta.Dispose() - ObjInventario.Dispose() - ObjContr.Dispose() - ErrorList = Nothing - MensajeAlert = Nothing - If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() - CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero) - Else - ObjVentas.RollBack() - If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack() - - For Each ErrorItem In ErrorList - Alert(ErrorItem, TipoMensaje.MsgAdvertencia) - Next - - 'MUESTA ALERT ERROR - Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError) - ObjVentas.Dispose() - ObjConta.Dispose() - ObjInventario.Dispose() - ObjContr.Dispose() - 'ObjFolios.Dispose() - ErrorList = Nothing - MensajeAlert = Nothing - If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() - - End If - Else - Mensaje = "Las facturas del contrato" - End If - End If - - + Protected Sub btnFacturarAqui_Click(sender As Object, e As EventArgs) + EjecutarFacturacion() End Sub - Private Function EmitirImprimir(pCveCicloComercial As Integer) As Boolean - Dim retorno As Boolean = False + Private Function EmitirImprimir(pCveCicloComercial As Integer, Etiqueta As String) As Modelos.Factura.MMensajeFactura + Dim Resp As New Modelos.Factura.MMensajeFactura ViewState("CveCicloComercial") = pCveCicloComercial - CreaObjetosVenta() + CreaObjetosVenta(Etiqueta) If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError) ObjFactura = Nothing - Return False + Return Resp End If If ObjFactura.CveCliente > 0 Then - If DTDetalle.Rows.Count > 0 Then + If DTDetalle.Rows.Count > 0 Then + + Resp = ObjFactura.EmitirFactura() - Dim ObjVentas As New ClsVentas() - Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) - Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL()) - Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL()) - Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL()) - Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL()) - Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL()) - Dim ObjContPaq As ClsContPAQi = Nothing - 'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL()) - ErrorList = New List(Of String) - MensajeAlert = New StringBuilder + 'Dim ObjVentas As New ClsVentas() + 'Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) + 'Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL()) + 'Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL()) + 'Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL()) + 'Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL()) + 'Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL()) + 'Dim ObjContPaq As ClsContPAQi = Nothing + ''Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL()) + 'ErrorList = New List(Of String) + 'MensajeAlert = New StringBuilder - 'CONTABILIDAD AUTOMATICA Y AC - If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then - ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa) - End If + ''CONTABILIDAD AUTOMATICA Y AC + 'If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then + ' ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa) + 'End If - 'GUARDA VENTA - GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS) + ''GUARDA VENTA + 'GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS) - If pCveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then - If Not ObjContr.CicloComercialUpdate(pCveCicloComercial, True, UsuarioActual.CveEmpresa) Then - ErrorList.Add("No se pudo actualizar ") - End If - End If + 'If pCveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then + ' If Not ObjContr.CicloComercialUpdate(pCveCicloComercial, True, UsuarioActual.CveEmpresa) Then + ' ErrorList.Add("No se pudo actualizar ") + ' End If + 'End If - If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then - ObjVentas.Commit() - If ObjContPaq IsNot Nothing Then ObjContPaq.Commit() - ViewState("CveVenta") = ObjFactura.CveVenta + 'If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then + ' ObjVentas.Commit() + ' If ObjContPaq IsNot Nothing Then ObjContPaq.Commit() + ' ViewState("CveVenta") = ObjFactura.CveVenta - Dim SeTimbro As Boolean = False - 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO + ' Dim SeTimbro As Boolean = False + ' 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO - If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then - If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then + ' If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then + ' If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then - Dim sw As New Diagnostics.Stopwatch - sw.Start() + ' Dim sw As New Diagnostics.Stopwatch + ' sw.Start() - 'FACTURA INGRESO/EGRESO - Dim ObjTimbrado As New Timbrado + ' 'FACTURA INGRESO/EGRESO + ' Dim ObjTimbrado As New Timbrado - SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) + ' SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) - sw.Stop() - GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC) - End If + ' sw.Stop() + ' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC) + ' End If - 'MENSAJE PRINCIPAL - MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.

", ObjFactura.TipoDocumento, ObjFactura.SerieFolio)) + ' 'MENSAJE PRINCIPAL + ' MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.

", ObjFactura.TipoDocumento, ObjFactura.SerieFolio)) - If SeTimbro Then - 'XML - Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) - If File.Exists(ArchivoXML) Then - MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) - End If + ' If SeTimbro Then + ' 'XML + ' Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) + ' If File.Exists(ArchivoXML) Then + ' MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) + ' End If - 'IMPRESION - GeneraPDFFactura(False) - Else - MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.") - End If + ' 'IMPRESION + ' GeneraPDFFactura(False) + ' Else + ' MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.") + ' End If - 'MUESTA ALERT OK - Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";") - retorno = True - ObjFactura = Nothing - Else - ObjVentas.RollBack() - If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack() + ' 'MUESTA ALERT OK + ' Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";") + ' retorno = True + ' ObjFactura = Nothing + ' Else + ' ObjVentas.RollBack() + ' If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack() - For Each ErrorItem In ErrorList - Alert(ErrorItem, TipoMensaje.MsgAdvertencia) - Next + ' For Each ErrorItem In ErrorList + ' Alert(ErrorItem, TipoMensaje.MsgAdvertencia) + ' Next - 'MUESTA ALERT ERROR - Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError) - End If + ' 'MUESTA ALERT ERROR + ' Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError) + ' End If - ObjVentas.Dispose() - ObjConta.Dispose() - ObjInventario.Dispose() - ObjContr.Dispose() - ErrorList = Nothing - MensajeAlert = Nothing - If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() - Else - ObjVentas.RollBack() - If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack() + ' ObjVentas.Dispose() + ' ObjConta.Dispose() + ' ObjInventario.Dispose() + ' ObjContr.Dispose() + ' ErrorList = Nothing + ' MensajeAlert = Nothing + ' If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() + 'Else + ' ObjVentas.RollBack() + ' If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack() - For Each ErrorItem In ErrorList - Alert(ErrorItem, TipoMensaje.MsgAdvertencia) - Next + ' For Each ErrorItem In ErrorList + ' Alert(ErrorItem, TipoMensaje.MsgAdvertencia) + ' Next - 'MUESTA ALERT ERROR - Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError) - ObjVentas.Dispose() - ObjConta.Dispose() - ObjInventario.Dispose() - ObjContr.Dispose() - 'ObjFolios.Dispose() - ErrorList = Nothing - MensajeAlert = Nothing - If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() - End If + ' 'MUESTA ALERT ERROR + ' Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError) + ' ObjVentas.Dispose() + ' ObjConta.Dispose() + ' ObjInventario.Dispose() + ' ObjContr.Dispose() + ' 'ObjFolios.Dispose() + ' ErrorList = Nothing + ' MensajeAlert = Nothing + ' If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose() + 'End If Else Mensaje = "No se pudo completar facturación por que no se encontraron partidas " End If End If TmpDT.Clear() - Return retorno + Return Resp End Function - Private Sub CreaDTVentas() + Private Sub CreaDTVentas() TmpDT = New DataTable - TmpDT.Columns.Add("CveVenta", GetType(Integer)) - TmpDT.Columns.Add("Consec", GetType(Integer)) - TmpDT.Columns.Add("Cantidad", GetType(Double)) - TmpDT.Columns.Add("Codigo", GetType(String)) - TmpDT.Columns.Add("CveUM", GetType(Integer)) - TmpDT.Columns.Add("UM", GetType(String)) - TmpDT.Columns.Add("CveClasificacion", GetType(Integer)) - TmpDT.Columns.Add("Clasificacion", GetType(String)) - TmpDT.Columns.Add("CvePS", GetType(Integer)) - TmpDT.Columns.Add("PS", GetType(String)) - TmpDT.Columns.Add("CodigoPS", GetType(String)) - TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer)) - TmpDT.Columns.Add("SerieLote", GetType(String)) - TmpDT.Columns.Add("Obs", GetType(String)) - TmpDT.Columns.Add("TiempoEntrega", GetType(String)) - TmpDT.Columns.Add("PU", GetType(Double)) - TmpDT.Columns.Add("IVA", GetType(Double)) - TmpDT.Columns.Add("IEPS", GetType(Double)) - TmpDT.Columns.Add("Descuento", GetType(Double)) - TmpDT.Columns.Add("TipoDescuento", GetType(Integer)) - TmpDT.Columns.Add("Total", GetType(Double)) - TmpDT.Columns.Add("CveProyecto", GetType(Integer)) - TmpDT.Columns.Add("Proyecto", GetType(String)) - TmpDT.Columns.Add("CveSubProyecto", GetType(Integer)) - TmpDT.Columns.Add("SubProyecto", GetType(String)) - TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer)) - TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) - TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer)) - TmpDT.Columns.Add("Observacion", GetType(String)) - TmpDT.Columns.Add("SATClaveUM", GetType(String)) - TmpDT.Columns.Add("SATClaveProdServ", GetType(String)) - TmpDT.Columns.Add("CuentaPredial", GetType(String)) - TmpDT.Columns.Add("NoIdentificacion", GetType(String)) - TmpDT.Columns.Add("TotalImporte", GetType(Double)) - TmpDT.Columns.Add("PorcentajeIVA", GetType(Double)) - TmpDT.Columns.Add("ImporteIVA", GetType(Double)) - TmpDT.Columns.Add("PorcentajeIEPS", GetType(Double)) - TmpDT.Columns.Add("ImporteIEPS", GetType(Double)) - TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Double)) - TmpDT.Columns.Add("ImporteRetIVA", GetType(Double)) - TmpDT.Columns.Add("PorcentajeRetISR", GetType(Double)) - TmpDT.Columns.Add("ImporteRetISR", GetType(Double)) - + TmpDT.Columns.Add("CveVenta", GetType(Integer)) + TmpDT.Columns.Add("Consec", GetType(Integer)) + TmpDT.Columns.Add("Cantidad", GetType(Decimal)) + TmpDT.Columns.Add("Codigo", GetType(String)) + TmpDT.Columns.Add("CveUM", GetType(Integer)) + TmpDT.Columns.Add("UM", GetType(String)) + TmpDT.Columns.Add("SATClaveUM", GetType(String)) + TmpDT.Columns.Add("CveClasificacion", GetType(Integer)) + TmpDT.Columns.Add("Clasificacion", GetType(String)) + TmpDT.Columns.Add("CvePS", GetType(Integer)) + TmpDT.Columns.Add("PS", GetType(String)) + TmpDT.Columns.Add("CodigoPS", GetType(String)) + TmpDT.Columns.Add("SATClaveProdServ", GetType(String)) + TmpDT.Columns.Add("NoIdentificacion", GetType(String)) + TmpDT.Columns.Add("CveTipoPS", GetType(Integer)) + TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer)) + TmpDT.Columns.Add("Serie", GetType(String)) + TmpDT.Columns.Add("CuentaPredial", GetType(String)) + TmpDT.Columns.Add("Obs", GetType(String)) + TmpDT.Columns.Add("TiempoEntrega", GetType(String)) + TmpDT.Columns.Add("PU", GetType(Decimal)) + TmpDT.Columns.Add("IVA", GetType(Decimal)) + TmpDT.Columns.Add("ImporteIVA", GetType(Decimal)) + TmpDT.Columns.Add("PorcentajeIVA", GetType(Decimal)) + TmpDT.Columns.Add("ImporteRetIVA", GetType(Decimal)) + TmpDT.Columns.Add("ImporteRetISR", GetType(Decimal)) + TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Decimal)) + TmpDT.Columns.Add("PorcentajeRetISR", GetType(Decimal)) + TmpDT.Columns.Add("ImporteIEPS", GetType(Decimal)) + TmpDT.Columns.Add("IEPS", GetType(Decimal)) + TmpDT.Columns.Add("PorcentajeIEPS", GetType(Decimal)) + TmpDT.Columns.Add("Descuento", GetType(Decimal)) + TmpDT.Columns.Add("TipoDescuento", GetType(Integer)) + TmpDT.Columns.Add("TotalImporte", GetType(Decimal)) + TmpDT.Columns.Add("Total", GetType(Decimal)) + 'Para uso del módulo contable + TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer)) + TmpDT.Columns.Add("IdCtaContVentas", GetType(Integer)) + TmpDT.Columns.Add("AplicaParaConcepto", GetType(Boolean)) + TmpDT.Columns.Add("CveProyecto", GetType(Integer)) + TmpDT.Columns.Add("Proyecto", GetType(String)) + TmpDT.Columns.Add("CveSubProyecto", GetType(Integer)) + TmpDT.Columns.Add("SubProyecto", GetType(String)) + TmpDT.Columns.Add("CveVentaDetallePadre", GetType(Integer)) + + 'TipoDescuento: 1 = Descuento * PU; 2 = Descuento por Total del concepto + TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer)) + TmpDT.Columns.Add("CveFuenteRecaudacion", GetType(Integer)) + 'Contratos + TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) + 'Remisiones a Facturas + TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer)) + TmpDT.Columns.Add("CveVentaDetalleRemision", GetType(Integer)) + TmpDT.Columns.Add("CveVentaDetalleCotizacion", GetType(Integer)) + + 'Pedido2 a Facturas + TmpDT.Columns.Add("CveVentaDetallePedido2", GetType(Integer)) + + TmpDT.Columns.Add("Origen", GetType(Integer)) + 'Ordenes Servicio + TmpDT.Columns.Add("CveOS", GetType(Integer)) + TmpDT.Columns.Add("CveOSDetalle", GetType(Integer)) + TmpDT.Columns.Add("SeFacturara", GetType(Integer)) + TmpDT.Columns.Add("Folio", GetType(Integer)) + TmpDT.Columns.Add("Estatus", GetType(String)) + 'Ordenamiento + TmpDT.Columns.Add("Orden", GetType(Integer)) + TmpDT.Columns.Add("TipoDocto", GetType(String)) + 'OC + TmpDT.Columns.Add("CveOrdenCompraDetalle", GetType(Integer)) + TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) + + TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer)) + TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal)) + TmpDT.Columns.Add("CantidadFacturadaCot", GetType(Decimal)) + TmpDT.Columns.Add("CantidadFacturadaPed2", GetType(Decimal)) + TmpDT.Columns.Add("CantidadInventario", GetType(Decimal)) + + TmpDT.Columns.Add("ClaveSATFraccionArancelaria", GetType(String)) + TmpDT.Columns.Add("ClaveSATUnidadAduana", GetType(String)) + TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String)) + TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String)) + + TmpDT.Columns.Add("CveTamaño", GetType(Integer)) + TmpDT.Columns.Add("EsCargo", GetType(Boolean)) End Sub - Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False) + Private Sub CreaObjetosVenta(Etiqueta As String, Optional VistaPrevia As Boolean = False) Dim ObjFolios As New ClsGralFolios() Dim Folio As String = "" Dim Serie As String = "" @@ -518,10 +447,9 @@ Partial Class Contratos_FacturacionMasiva Dim Proyecto As String = "" Dim SubProyecto As String = "" - - - ObjFactura = New Modelos.Factura - Dim objContratos As New ClsContratos + ObjFactura = New Modelos.Factura(UsuarioActual) + ObjFactura.DirectorioServidor = Server.MapPath("/") + ObjFactura.CveCicloComercial = CveCicloComercial Dim DR As DataRow = DTCicloComercial.FiltroPrimero($"CveCicloComercial = {CveCicloComercial}") ObjFactura.Version = "3.3" @@ -544,7 +472,7 @@ Partial Class Contratos_FacturacionMasiva ObjFactura.MetodoPago = "Efectivo" ObjFactura.FechaPago = DateTime.Today ObjFactura.MotivoDescuento = "" - ObjFactura.Observaciones = DR("Observaciones").ToString + ObjFactura.Observaciones = Etiqueta + " " + TxtObservaciones.Text + " " + DR("Observaciones").ToString ObjFactura.FechaEjecucion = DateTime.Today 'ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {1}") ObjFactura.UsuarioCreo = UsuarioActual.Usuario @@ -587,15 +515,16 @@ Partial Class Contratos_FacturacionMasiva End If DT.Dispose() End If - ObjFolios.Dispose() - + ObjFolios.Dispose() + + Dim objContratos As New ClsContratos If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then DTDetalle = objContratos.DtResultados Else DTDetalle = Nothing End If - - objContratos.Dispose() + objContratos.Dispose() + Dim DtR As DataRow ObjFactura.SubTotal = SUM(DTDetalle, "Total").ToDecimal ObjFactura.IVA = SUM(DTDetalle, "ImporteIVA").ToDecimal @@ -607,34 +536,27 @@ Partial Class Contratos_FacturacionMasiva ObjFactura.Folio = Folio.ToEntero For Each row As DataRow In DTDetalle.Rows + Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("") + DtR = TmpDT.NewRow DtR("CveVenta") = -1 DtR("Codigo") = row("Codigo") DtR("Consec") = TmpDT.Rows.Count + 1 DtR("Cantidad") = row("CantidadContratada") DtR("CveUM") = row("CveUM") - DtR("UM") = row("UM") + DtR("UM") = row("UM") + DtR("SATClaveUM") = row("SATClaveUM") DtR("CveClasificacion") = row("CveClasificacion") DtR("Clasificacion") = row("Clasificacion") DtR("CvePS") = row("CvePS") DtR("PS") = row("PS") - DtR("CodigoPS") = row("CodigoPS") - DtR("Obs") = "" - DtR("PU") = row("PU") - DtR("Descuento") = 0 - DtR("TipoDescuento") = 0 - DtR("CveProyecto") = CveProyecto - DtR("Proyecto") = Proyecto - DtR("CveSubProyecto") = CveSubProyecto - DtR("SubProyecto") = SubProyecto - DtR("CveVentaDetalle") = 0 - DtR("CveContratoDetalle") = row("CveContratoDetalle") - DtR("Observacion") = row("Observacion") - DtR("SATClaveUM") = row("SATClaveUM") + DtR("CodigoPS") = row("CodigoPS") DtR("SATClaveProdServ") = row("SATClaveProdServ") - DtR("CuentaPredial") = row("CuentaPredial") - DtR("NoIdentificacion") = row("NoIdentificacion") - DtR("TotalImporte") = row("Total") + DtR("NoIdentificacion") = row("NoIdentificacion") + DtR("CveTipoPS") = DrPS("CveTipoPS") + DtR("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario") + DtR("Obs") = Etiqueta + " " + TxtObservaciones.Text + " " + row("Observacion").ToString + DtR("PU") = row("PU") DtR("IVA") = row("PorcentajeIVA") DtR("PorcentajeIVA") = row("PorcentajeIVA") DtR("ImporteIVA") = row("ImporteIVA") @@ -644,6 +566,17 @@ Partial Class Contratos_FacturacionMasiva DtR("ImporteRetIVA") = row("ImporteRetIVA") DtR("PorcentajeRetISR") = row("PorcentajeRetISR") DtR("ImporteRetISR") = row("ImporteRetISR") + DtR("Descuento") = 0 + DtR("TipoDescuento") = 0 + DtR("CveProyecto") = CveProyecto + DtR("Proyecto") = Proyecto + DtR("CveSubProyecto") = CveSubProyecto + DtR("SubProyecto") = SubProyecto + DtR("CveVentaDetalle") = 0 + DtR("CveContratoDetalle") = row("CveContratoDetalle") + DtR("CuentaPredial") = row("CuentaPredial") + DtR("TotalImporte") = row("Total") + TmpDT.Rows.Add(DtR) Next @@ -952,7 +885,9 @@ Partial Class Contratos_FacturacionMasiva IdCtaContable = 0 CveCuenta = 0 Multiplicador = (Row("Multiplicador").ToString.ToEntero) - Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", "") + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", "") + + Dim PorcentajeImpuesto As Decimal = 0 Select Case ConceptoContable Case 1 'Cliente @@ -1077,6 +1012,7 @@ Partial Class Contratos_FacturacionMasiva FechaMovimiento = ObjFactura.FechaPago IdCtaContable = UsuarioActual.Empresa.IdCuentaIVAxTrasladar If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" + PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIVA").ToDecimal Case 38 'IEPS por Trasladar If Not ObjFactura.TipoDocto.Contiene("Rem") Then @@ -1089,7 +1025,8 @@ Partial Class Contratos_FacturacionMasiva IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladar").ToString.ToEntero CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladarSIG").ToString.ToEntero End If - End If + End If + PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIEPS").ToDecimal End If End Select @@ -1101,7 +1038,7 @@ Partial Class Contratos_FacturacionMasiva idCuentaContabilizacion = 0 End If - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento)) Then + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), PorcentajeImpuesto:=PorcentajeImpuesto) Then ErrorPrepoliza = True Else ViewState("SeGuardoPrePoliza") = True From 719a06b1c9cbda446145cfc07a213b6e426b89b8 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 22 Sep 2020 15:58:51 -0700 Subject: [PATCH 2/8] No deducibles --- Compras/Compras.aspx.vb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 6c267c75d..725e284e0 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -16933,6 +16933,8 @@ Partial Class Compras_Compras CargaRetIVAConcepto() CargaRetISRConcepto() + Dim NumNoDed As Integer = TmpDT.COUNT("CvePS", "NoDeducible = True ") + If NumNoDed > 0 Then GvPS.Columns(10).Visible = True 'visualiza columnas de nodeducibles If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then InicializaAplicaNCFact() From ccb05c21a09bebe91800d2be8927210921bdd9d6 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 22 Sep 2020 16:01:13 -0700 Subject: [PATCH 3/8] Cambios en mensajes de traspaso --- Inventarios/RecepcionAlmacen.aspx | 23 +++++++++++++++++++++-- Inventarios/RecepcionAlmacen.aspx.vb | 17 +++++++++++------ 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx index a4d52dd3d..e0791c45f 100644 --- a/Inventarios/RecepcionAlmacen.aspx +++ b/Inventarios/RecepcionAlmacen.aspx @@ -283,7 +283,7 @@
- +
@@ -360,6 +360,18 @@ + <%--ADVERTENCIA--%> +
+
+
+
+ + Información: + +
+
+
+
@@ -418,7 +430,7 @@ + DataKeyNames="EntregaDirecta,Consec,CodigoBarras,CvePS,CveUM,PU,CantidadC,CantidadF,UM,PS,CveCompraDetalle,CveOrdenCompraDetalle,PUExtranjero,AplicaSerieLote,CveClasificacion,Codigo,CveVentaDetalle,CostoIndirecto,CveTamaño,Lote,AplicaSeccion,AplicaLote,AplicaCaducidad,AplicaSerie" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None"> @@ -1005,6 +1017,13 @@ }); } + if ($('#DivTraspasoDevolucion')) { + $("#DivTraspasoDevolucion").pulsate("destroy"); + jQuery('#DivTraspasoDevolucion').pulsate({ + color: "#faebcc" + }); + } + }); } diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index 027ccf5b3..539feae18 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -377,7 +377,7 @@ Partial Class Inventarios_RecepcionAlmacen ViewState("CveVendedor") = value End Set End Property - Private Property RealizarTraspasoAlmacenDevolucion() As Boolean + Private Property RealizarTraspasoAlmacenDevolucion As Boolean Get Return If(IsNothing(ViewState("RealizarTraspasoAlmacenDevolucion")), False, CBool(ViewState("RealizarTraspasoAlmacenDevolucion"))) End Get @@ -926,11 +926,16 @@ Partial Class Inventarios_RecepcionAlmacen DtRecepcion = ObjInventario.DtResultados.Copy() End If - If TipoMovimiento = 2 AndAlso GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=21).Rows.Count > 0 Then + CveAlmacenDevolucionProveedor = DtRecepcion.Rows(0)("CveAlmacenDevolucionProveedor").ToString.ToEntero + + If TipoMovimiento = 2 AndAlso CveAlmacenDevolucionProveedor > 0 Then RealizarTraspasoAlmacenDevolucion = True - CveAlmacenDevolucionProveedor = DtRecepcion.Rows(0)("CveAlmacenDevolucionProveedor").ToString.ToEntero - 'CreaDTAlmacenDevolucion() - 'CargaAlmacenes(-1, "21", CveTipoCompra) + + DivTraspasoDevolucion.Visible = True + LtlTextoDevolucion.Text = "La mercancía sera trasladada desde el almacen seleccionado al almacén de devolución" + ElseIf TipoMovimiento = 2 AndAlso GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=21).Rows.Count = 0 Then + LtlTextoDevolucion.Text = "La mercancía sera devuelta ha el almacen seleccionado." + DivTraspasoDevolucion.Visible = True End If DtDatosDetalle = Nothing @@ -3261,7 +3266,7 @@ Partial Class Inventarios_RecepcionAlmacen Msg.AppendFormat("Movimiento de Salida: Folio: {0}", String.Format("{1}", CveMovimientoSalidaTraspaso, FolioSalidaTraspaso)) Msg.AppendFormat("
Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalidaTraspaso))) - Msg.AppendFormat("
Movimiento de Entrada: Folio: {0}", link) + Msg.AppendFormat("

Movimiento de control: Folio: {0}", link) Msg.AppendFormat("
Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento))) End If From 33d1348d1f23310db22c3944f5a86d21229b40b1 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Tue, 22 Sep 2020 16:01:24 -0700 Subject: [PATCH 4/8] Aplicar CveSubProyecto a conceptos 69,177,64,65,211 --- Bancos/FluctuacionCambiaria.aspx | 11 +- Bancos/FluctuacionCambiaria.aspx.vb | 413 ++++++++-------- Bancos/PopIECompras.aspx.vb | 584 ++++++++++++----------- Bancos/ProveedoresAbonar.aspx.vb | 13 +- Compras/Compras.aspx.vb | 51 +- Compras/ReembolsosComprobaciones.aspx | 2 +- Compras/ReembolsosComprobaciones.aspx.vb | 12 +- Compras/RepNotasCredito.aspx | 3 +- Compras/RepNotasCredito.aspx.vb | 3 +- Compras/eFacturas.aspx | 2 +- Contabilidad/RegPrePolizaS.aspx.vb | 18 +- Inventarios/PrestamosdeProveedor.aspx.vb | 5 +- OC/OC.aspx.vb | 8 +- Ventas/ClientesAbonar.aspx.vb | 9 +- 14 files changed, 649 insertions(+), 485 deletions(-) diff --git a/Bancos/FluctuacionCambiaria.aspx b/Bancos/FluctuacionCambiaria.aspx index 47d0375be..c74d540a3 100644 --- a/Bancos/FluctuacionCambiaria.aspx +++ b/Bancos/FluctuacionCambiaria.aspx @@ -145,9 +145,18 @@
TC:
-
+
+ +
+ +
+
+ + +
+
diff --git a/Bancos/FluctuacionCambiaria.aspx.vb b/Bancos/FluctuacionCambiaria.aspx.vb index 00b3f2881..3a522c442 100644 --- a/Bancos/FluctuacionCambiaria.aspx.vb +++ b/Bancos/FluctuacionCambiaria.aspx.vb @@ -19,6 +19,7 @@ Partial Class Bancos_FluctuacionCambiaria Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then + CargarCentrosDeCosto(Nothing, DdlSubproyecto, Nothing, LblSubProyecto) CargaUltimaFluctuacion() End If End Sub @@ -218,13 +219,19 @@ Partial Class Bancos_FluctuacionCambiaria End If ObjBancos.Dispose() GvFiliales.DataBind() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION COMPRAS" - + Protected Sub BtnGeneraCompras_Click(sender As Object, e As EventArgs) + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Conta.IniciaTransacSQL() @@ -245,7 +252,6 @@ Partial Class Bancos_FluctuacionCambiaria IdCtaGanancia = UsuarioActual.Empresa.IdCuentaGananciaCambiaria '1230 Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias - Total = LblTotal.ToDecimal If Total > 0 Then CveConceptoContable = 64 @@ -257,8 +263,11 @@ Partial Class Bancos_FluctuacionCambiaria CveCuenta = CveCuentaPerdida idCta = idCtaPerdida TipoMovto = False - End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + End If + + + + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -284,13 +293,20 @@ Partial Class Bancos_FluctuacionCambiaria Conta.RollBack() End If Conta.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION VENTAS" - + Protected Sub BtnGeneraVentas_Click(sender As Object, e As EventArgs) + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Conta.IniciaTransacSQL() @@ -323,7 +339,7 @@ Partial Class Bancos_FluctuacionCambiaria idCta = idCtaPerdida TipoMovto = False End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -354,13 +370,20 @@ Partial Class Bancos_FluctuacionCambiaria Conta.RollBack() End If Conta.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION BANCOS" + + Protected Sub BtnGeneraBancos_Click(sender As Object, e As EventArgs) + + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If - Protected Sub BtnGeneraBancos_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Conta.IniciaTransacSQL() @@ -417,7 +440,7 @@ Partial Class Bancos_FluctuacionCambiaria Exit For End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If End If @@ -446,13 +469,20 @@ Partial Class Bancos_FluctuacionCambiaria ObjContPaq.Dispose() End If Conta.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION DEUDOR" + + Protected Sub BtnGeneraDedudores_Click(sender As Object, e As EventArgs) + + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If - Protected Sub BtnGeneraDedudores_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) @@ -493,7 +523,7 @@ Partial Class Bancos_FluctuacionCambiaria idCta = idCtaPerdida TipoMovto = False End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -519,13 +549,18 @@ Partial Class Bancos_FluctuacionCambiaria End If Conta.Dispose() Banco.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION FILIALES" - - Protected Sub BtnGeneraFiliales_Click(sender As Object, e As EventArgs) + + Protected Sub BtnGeneraFiliales_Click(sender As Object, e As EventArgs) + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad @@ -571,7 +606,7 @@ Partial Class Bancos_FluctuacionCambiaria idCta = idCtaPerdida TipoMovto = False End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -614,13 +649,19 @@ Partial Class Bancos_FluctuacionCambiaria Conta.Dispose() Banco.Dispose() ObjContPaq.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION ACREEDORES" - - Protected Sub BtnGeneraAcreedores_Click(sender As Object, e As EventArgs) + + Protected Sub BtnGeneraAcreedores_Click(sender As Object, e As EventArgs) + + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad @@ -655,7 +696,7 @@ Partial Class Bancos_FluctuacionCambiaria idCta = idCtaPerdida TipoMovto = False End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -680,162 +721,162 @@ Partial Class Bancos_FluctuacionCambiaria Conta.RollBack() End If Conta.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION GENERAL" - - ' Protected Sub BtnGenerar_Click(sender As Object, e As EventArgs) - ' Dim AcumuladoGananciaCompras = 0.0, AcumuladoPerdidaCompras = 0.0, AcumuladoGananciaBancos = 0.0, AcumuladoPerdidaBancos = 0.0 - ' Dim IDPoliza = -1 - - ' 'Valida datos de Compras - ' For Each gvr As GridViewRow In GvCompras.Rows - ' If gvr.DataKey("SinTipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Compras") - ' 'Exit Sub - ' Else - ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then - ' AcumuladoGananciaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble - ' Else - ' AcumuladoPerdidaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1 - ' End If - ' End If - - ' End If - ' Next - - ' 'Valida datos de Bancos - ' For Each gvr As GridViewRow In GvCuentas.Rows - ' If Not gvr.DataKey("TipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Cuentas Bancarias") - ' 'Exit Sub - ' Else - ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then - ' AcumuladoGananciaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble - ' Else - ' AcumuladoPerdidaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1 - ' End If - ' End If - - ' End If - ' Next - - ' Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) - ' ObjConta.IniciaTransacSQL() - ' Dim ObjBancos As New ClsBancos - ' ObjBancos.IniciaTransacSQL() - ' Dim ErrorGenerar = False - ' Dim Fecha As Date = TxtFecha.Text.ToDate - - ' IDPoliza = ObjConta.AddPoliza(3, "Fluctuación Cambiaria", (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, UsuarioActual.CveUsuario, Fecha) - - ' If IDPoliza > 0 Then - - ' 'COMIENZA: AGREGA CUENTAS BANCARIAS - ' If AcumuladoGananciaBancos > 0 Or AcumuladoPerdidaBancos > 0 Then - ' 'Agrega movimientos - ' Dim Fluc As Double - ' For Each gvr As GridViewRow In GvCuentas.Rows - ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble - ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Cuentas Bancarias", If(Fluc > 0, "Ganancia", "Perdida")), 0, Fecha, "") Then - ' ErrorGenerar = True - ' Exit For - ' End If - ' End If - ' Next - - ' 'Agrega acumulados - ' If Not ErrorGenerar AndAlso AcumuladoGananciaBancos > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, 2195, AcumuladoGananciaBancos > 0, AcumuladoGananciaBancos, "", "Acumulado Ganancia Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then - ' ErrorGenerar = True - ' End If - ' End If - ' If Not ErrorGenerar AndAlso AcumuladoPerdidaBancos > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, 4695, AcumuladoPerdidaBancos > 0, AcumuladoPerdidaBancos, "", "Acumulado Pérdida Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then - ' ErrorGenerar = True - ' End If - ' End If - ' Else - ' ErrorGenerar = True - ' End If - ' 'TERMINA: AGREGA CUENTAS BANCARIAS - - - ' 'COMIENZA: AGREGA COMPRAS - ' If AcumuladoGananciaCompras > 0 Or AcumuladoPerdidaCompras > 0 Then - ' 'Agrega movimientos - ' Dim Fluc As Double - ' For Each gvr As GridViewRow In GvCompras.Rows - ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble - ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Compras", If(Fluc > 0, "Ganancia", "Pérdida")), 0, Fecha, "") Then - ' ErrorGenerar = True - ' Exit For - ' End If - ' End If - ' Next - - ' 'Agrega acumulados - ' If Not ErrorGenerar AndAlso AcumuladoGananciaCompras > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, Not AcumuladoGananciaCompras > 0, AcumuladoGananciaCompras, "", "Acumulado Ganancia Cambiaria de Compras", 0, Fecha, "") Then - ' ErrorGenerar = True - ' End If - ' End If - ' If Not ErrorGenerar AndAlso AcumuladoPerdidaCompras > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, Not AcumuladoPerdidaCompras > 0, AcumuladoPerdidaCompras, "", "Acumulado Pérdida Cambiaria de Compras", 0, Fecha, "") Then - ' ErrorGenerar = True - ' End If - ' End If - ' Else - ' ErrorGenerar = True - ' End If - ' 'TERMINA: AGREGA COMPRAS - - - ' Else - ' ErrorGenerar = True - ' End If - - - ' 'Agrega en Bitacoras - ' If Not ErrorGenerar Then - ' If ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - ' If Not ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - ' ErrorGenerar = True - ' End If - ' Else - ' ErrorGenerar = True - ' End If - ' End If - - - ' If Not ErrorGenerar Then - - ' ObjConta.AjustaPoliza(IDPoliza) - - ' ObjConta.Commit() - ' ObjBancos.Commit() - ' Alert(String.Format("Fluctuación realizada con exito.

Ver Póliza", IDPoliza)) - ' Else - ' ObjConta.RollBack() - ' ObjBancos.RollBack() - ' Alert("Ocurrio un error al generar la poliza", TipoMensaje.MsgAdvertencia) - ' End If - - ' ObjConta.Dispose() - ' ObjBancos.Dispose() - ' End Sub - - + + ' Protected Sub BtnGenerar_Click(sender As Object, e As EventArgs) + ' Dim AcumuladoGananciaCompras = 0.0, AcumuladoPerdidaCompras = 0.0, AcumuladoGananciaBancos = 0.0, AcumuladoPerdidaBancos = 0.0 + ' Dim IDPoliza = -1 + + ' 'Valida datos de Compras + ' For Each gvr As GridViewRow In GvCompras.Rows + ' If gvr.DataKey("SinTipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Compras") + ' 'Exit Sub + ' Else + ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then + ' AcumuladoGananciaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble + ' Else + ' AcumuladoPerdidaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1 + ' End If + ' End If + + ' End If + ' Next + + ' 'Valida datos de Bancos + ' For Each gvr As GridViewRow In GvCuentas.Rows + ' If Not gvr.DataKey("TipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Cuentas Bancarias") + ' 'Exit Sub + ' Else + ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then + ' AcumuladoGananciaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble + ' Else + ' AcumuladoPerdidaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1 + ' End If + ' End If + + ' End If + ' Next + + ' Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) + ' ObjConta.IniciaTransacSQL() + ' Dim ObjBancos As New ClsBancos + ' ObjBancos.IniciaTransacSQL() + ' Dim ErrorGenerar = False + ' Dim Fecha As Date = TxtFecha.Text.ToDate + + ' IDPoliza = ObjConta.AddPoliza(3, "Fluctuación Cambiaria", (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, UsuarioActual.CveUsuario, Fecha) + + ' If IDPoliza > 0 Then + + ' 'COMIENZA: AGREGA CUENTAS BANCARIAS + ' If AcumuladoGananciaBancos > 0 Or AcumuladoPerdidaBancos > 0 Then + ' 'Agrega movimientos + ' Dim Fluc As Double + ' For Each gvr As GridViewRow In GvCuentas.Rows + ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble + ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Cuentas Bancarias", If(Fluc > 0, "Ganancia", "Perdida")), 0, Fecha, "") Then + ' ErrorGenerar = True + ' Exit For + ' End If + ' End If + ' Next + + ' 'Agrega acumulados + ' If Not ErrorGenerar AndAlso AcumuladoGananciaBancos > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, 2195, AcumuladoGananciaBancos > 0, AcumuladoGananciaBancos, "", "Acumulado Ganancia Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then + ' ErrorGenerar = True + ' End If + ' End If + ' If Not ErrorGenerar AndAlso AcumuladoPerdidaBancos > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, 4695, AcumuladoPerdidaBancos > 0, AcumuladoPerdidaBancos, "", "Acumulado Pérdida Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then + ' ErrorGenerar = True + ' End If + ' End If + ' Else + ' ErrorGenerar = True + ' End If + ' 'TERMINA: AGREGA CUENTAS BANCARIAS + + + ' 'COMIENZA: AGREGA COMPRAS + ' If AcumuladoGananciaCompras > 0 Or AcumuladoPerdidaCompras > 0 Then + ' 'Agrega movimientos + ' Dim Fluc As Double + ' For Each gvr As GridViewRow In GvCompras.Rows + ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble + ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Compras", If(Fluc > 0, "Ganancia", "Pérdida")), 0, Fecha, "") Then + ' ErrorGenerar = True + ' Exit For + ' End If + ' End If + ' Next + + ' 'Agrega acumulados + ' If Not ErrorGenerar AndAlso AcumuladoGananciaCompras > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, Not AcumuladoGananciaCompras > 0, AcumuladoGananciaCompras, "", "Acumulado Ganancia Cambiaria de Compras", 0, Fecha, "") Then + ' ErrorGenerar = True + ' End If + ' End If + ' If Not ErrorGenerar AndAlso AcumuladoPerdidaCompras > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, Not AcumuladoPerdidaCompras > 0, AcumuladoPerdidaCompras, "", "Acumulado Pérdida Cambiaria de Compras", 0, Fecha, "") Then + ' ErrorGenerar = True + ' End If + ' End If + ' Else + ' ErrorGenerar = True + ' End If + ' 'TERMINA: AGREGA COMPRAS + + + ' Else + ' ErrorGenerar = True + ' End If + + + ' 'Agrega en Bitacoras + ' If Not ErrorGenerar Then + ' If ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + ' If Not ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + ' ErrorGenerar = True + ' End If + ' Else + ' ErrorGenerar = True + ' End If + ' End If + + + ' If Not ErrorGenerar Then + + ' ObjConta.AjustaPoliza(IDPoliza) + + ' ObjConta.Commit() + ' ObjBancos.Commit() + ' Alert(String.Format("Fluctuación realizada con exito.

Ver Póliza", IDPoliza)) + ' Else + ' ObjConta.RollBack() + ' ObjBancos.RollBack() + ' Alert("Ocurrio un error al generar la poliza", TipoMensaje.MsgAdvertencia) + ' End If + + ' ObjConta.Dispose() + ' ObjBancos.Dispose() + ' End Sub + + #End Region - + #Region "GRIDVIEWS" - + Protected Sub GvCompras_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCompras.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then 'TipoCambio = e.Row.DBCampo("TipoCambio").ToString.ToDouble diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index a2dc11030..11f73ffd5 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -451,6 +451,23 @@ Partial Class Bancos_PopIECompras End Set End Property + Private Property CveSubProyecto As Integer + Get + + If ViewState("CveSubProyecto") Is Nothing Then + Return -1 + Else + Return ViewState("CveSubProyecto").ToString.ToEntero + End If + + End Get + Set(value As Integer) + ViewState("CveSubProyecto") = value + End Set + End Property + + + #End Region @@ -668,6 +685,8 @@ Partial Class Bancos_PopIECompras TipoCambioOriginal = dr("TipoCambio").ToString.ToDecimal NombreProveedor = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", String.Format("CveProveedor = {0}", CveProveedor)) + CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + LtlTitulo.Text = "Cuentas por Pagar" LtlTipo2.Text = "Folio de la Compra" LtlTipo3.Text = "Fecha de la Compra" @@ -1473,8 +1492,9 @@ Partial Class Bancos_PopIECompras Dim CveTipoPoliza As Integer = ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa) If RBLContado.SelectedValue = "6" Then CveTipoPoliza = 3 - Dim CvePrePoliza As Integer = ObjMov.AddPrePolizas("Bancos/PopIECompras", CvePlantillaPoliza, ImportePagado, ImportePagado, CveMoneda, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=CveTipoPoliza) - + Dim CvePrePoliza As Integer = ObjMov.AddPrePolizas("Bancos/PopIECompras", CvePlantillaPoliza, ImportePagado, ImportePagado, CveMoneda, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=CveTipoPoliza) + + If Inserta Then If CvePrePoliza > 0 Then 'SE AGREGA DETALLE DE UNA COMPRA @@ -1534,6 +1554,9 @@ Partial Class Bancos_PopIECompras 'inserto las compras que voy a pagar If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then For Each Row As DataRow In ObjMov.DtResultados.Rows + + + Dim CveSubProyectoInsertar As Integer = -1 Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) Dim ImporteMovimiento As Decimal = 0 @@ -2173,187 +2196,187 @@ Partial Class Bancos_PopIECompras End If End If End If - End If - 'Case 16 'Ret ISR X Acreditar - ' If MovimientoPagar.ConceptoRetISR = 1 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = tipoCambioCompra - - ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 23 'Ret ISR Acreditable - ' If MovimientoPagar.ConceptoRetISR = 1 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento - ' If MovimientoPagar.ConceptoRetISR = 2 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento - ' If MovimientoPagar.ConceptoRetISR = 2 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If + End If + 'Case 16 'Ret ISR X Acreditar + ' If MovimientoPagar.ConceptoRetISR = 1 Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = tipoCambioCompra + + ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISR > 0 Then + ' IdCtaContable = IdCtaContRetISR + ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 23 'Ret ISR Acreditable + ' If MovimientoPagar.ConceptoRetISR = 1 Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISRAcreditable > 0 Then + ' IdCtaContable = IdCtaContRetISRAcreditable + ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento + ' If MovimientoPagar.ConceptoRetISR = 2 Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISR > 0 Then + ' IdCtaContable = IdCtaContRetISR + ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento + ' If MovimientoPagar.ConceptoRetISR = 2 Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISRAcreditable > 0 Then + ' IdCtaContable = IdCtaContRetISRAcreditable + ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If Case 14 'Iva por Acreditar If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then 'funcionalidad que toma el 100% del pago para acreditamiento de iva @@ -2577,84 +2600,84 @@ Partial Class Bancos_PopIECompras If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then MsgError = "No se pudo insertar la póliza" End If - End If - - 'Case 280 'Iva Acreditable No Deducible - ' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - ' 'funcionalidad que toma el 100% del pago para acreditamiento de iva - ' Dim TotalImporte As Decimal - - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' TotalImporte = ImportePagado.ToString.ToDecimal - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' TotalImporte = ImportePagado.ToString.ToDecimal - ' End If - - ' If TotalImporte = CompraSaldo Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.IVANoDeducible - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - ' Else - ' ImporteMovimiento = 0 - ' ImporteMX = 0 - ' End If - ' Else - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.IVANoDeducible * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - ' End If - - ' PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA - ' Dim IdCtaIVAXAcreditar As Integer = 0 - ' Dim IdCtaIVAAcreditable As Integer = 0 - - ' If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - ' IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - ' IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - ' End If - - ' IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) - - ' If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero - ' End If - ' End If + End If + + 'Case 280 'Iva Acreditable No Deducible + ' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then + ' 'funcionalidad que toma el 100% del pago para acreditamiento de iva + ' Dim TotalImporte As Decimal + + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' TotalImporte = ImportePagado.ToString.ToDecimal + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' TotalImporte = ImportePagado.ToString.ToDecimal + ' End If + + ' If TotalImporte = CompraSaldo Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.IVANoDeducible + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + ' Else + ' ImporteMovimiento = 0 + ' ImporteMX = 0 + ' End If + ' Else + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.IVANoDeducible * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + ' End If + + ' PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA + ' Dim IdCtaIVAXAcreditar As Integer = 0 + ' Dim IdCtaIVAAcreditable As Integer = 0 + + ' If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then + ' IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero + ' IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero + ' End If + + ' IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) + + ' If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero + ' End If + ' End If Case 25 'IEPS por Acreditar If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then ImporteMovimiento = MovimientoPagar.IEPS * PorcentajePago @@ -2703,7 +2726,15 @@ Partial Class Bancos_PopIECompras CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditableSIG").ToString.ToEntero End If End If - Case 64 'Ganancia + Case 64 'Ganancia + + CveSubProyectoInsertar = CveSubProyecto + + If CveSubProyectoInsertar <= 0 Then + MsgError = "No se pudo obtener el sub proyecto o centro de costo" + End If + + If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria @@ -2723,6 +2754,13 @@ Partial Class Bancos_PopIECompras ImporteMovimiento = 0 End If Case 65 'Perdida + + CveSubProyectoInsertar = CveSubProyecto + + If CveSubProyectoInsertar <= 0 Then + MsgError = "No se pudo obtener el sub proyecto o centro de costo" + End If + If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria @@ -3323,15 +3361,19 @@ Partial Class Bancos_PopIECompras If IdCtaContable = 0 Then CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) idCuentaContabilizacion = 0 - End If - - ''Conta SIG - 'If CveCuenta = 0 Then - ' CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) - ' CveCuentaContabilizacion = 0 - 'End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then + End If + + ''Conta SIG + 'If CveCuenta = 0 Then + ' CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) + ' CveCuentaContabilizacion = 0 + 'End If + + + + + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, CveSubProyecto:=CveSubProyectoInsertar, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then MsgError = "No se pudo insertar la póliza" End If diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 0cfc4dcad..284b693e4 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -3146,6 +3146,7 @@ Partial Class Bancos_ProveedoresAbonar If gr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor Dim ConceptoPartida As String = String.Format("Saldar compra {0}", gr.DataKey("SerieFolio").ToString) + CvePrePoliza = ObjConta.AddPrePolizas("Bancos/ProveedoresAbonar/Saldar", 98, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, TxtFechaIncobrable.Text.ToDate, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveMoneda > 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then @@ -3223,15 +3224,23 @@ Partial Class Bancos_ProveedoresAbonar If CveMoneda > 1 Then Dim ImporteFluctuacion As Decimal = 0 ImporteFluctuacion = Saldo * (TCPago - TCCompra) + + If CveSubProyecto <= 0 Then + MsgError = "No se pudo obtener el sub proyecto o centro de costo" + End If + + If TCCompra > TCPago Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then MsgError = "Ocurrio un error al saldar el movimiento" End If Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then MsgError = "Ocurrio un error al saldar el movimiento" End If End If + + End If diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 6c267c75d..df20c90aa 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3896,6 +3896,7 @@ Partial Class Compras_Compras '------------------INICIA VALIDACIONES------------------ Dim EstatusCredito As Integer = 0 + Dim CveSubProyecto As Integer = 0 'Credito Multiple If RBLPago.SelectedValue.ToEntero = 4 Then @@ -4062,11 +4063,14 @@ Partial Class Compras_Compras ' Dim NotHas117 As Boolean = Not UsuarioActual.TienePermisoProceso(117) ' 'verifica que tenga proyecto y clasificacion For Each Row As DataRow In TmpDT.Rows + If Row("CveSubProyecto").ToString.ToEntero <= 0 Then Alert("No se ha completado la asignacion de proyectos en la compra. ", TipoMensaje.MsgAdvertencia) Exit Sub End If + CveSubProyecto = Row("CveSubProyecto").ToString.ToEntero + If Row("CveClasificacionActualizar").ToString.ToEntero <= 0 Then 'If NotHas117 AndAlso Row("CveClasificacionActualizar").ToString.ToEntero <= 0 Then Alert("Hay productos que no tienen clasificación asignada.
Favor de asignarle una y darle guardar.", TipoMensaje.MsgAdvertencia) Exit Sub @@ -5690,6 +5694,8 @@ Partial Class Compras_Compras For Each Row As DataRow In DTPlatilla.Rows + Dim CveSubProyectoInsertar As Integer = -1 + Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False) Dim importeMovimiento As Decimal = 0 @@ -6291,6 +6297,15 @@ Partial Class Compras_Compras ' End If ' End If Case 64 'Ganancia + + + CveSubProyectoInsertar = CveSubProyecto + If CveSubProyectoInsertar <= 0 Then + ErrorPrepoliza = True + Alert("Concepto ganancia cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia) + End If + + If TCPago > 0 AndAlso TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria @@ -6307,6 +6322,12 @@ Partial Class Compras_Compras Case 65 'Perdida + CveSubProyectoInsertar = CveSubProyecto + If CveSubProyectoInsertar <= 0 Then + ErrorPrepoliza = True + Alert("Concepto perdida cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia) + End If + If TCPago > 0 AndAlso TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria @@ -6597,11 +6618,17 @@ Partial Class Compras_Compras 'SumatoriaOCINV = -SumatoriaOCINV Dim CveClasificacionCostoOC = TmpDT.FiltroPrimeroValor("CveClasificacion", "ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And ISNULL(CveTipoPS, 0) = 2").ToEntero - Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + Dim CveSubProyecto69 As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + + If CveSubProyecto69 <= 0 Then + Alert("Debe de asignar un sub proyecto o centro de constos", TipoMensaje.MsgAdvertencia) + ErrorPrepoliza = True + Exit For + End If IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacionCostoOC}").ToString.ToEntero CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {CveClasificacionCostoOC}").ToString.ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SumatoriaOCINV, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveClasificacion:=CveClasificacionCostoOC, ImporteMX:=SumatoriaOCINV, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SumatoriaOCINV, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveClasificacion:=CveClasificacionCostoOC, ImporteMX:=SumatoriaOCINV, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto69) Then ErrorPrepoliza = True Exit For End If @@ -6717,10 +6744,10 @@ Partial Class Compras_Compras Dim IdCtaContableDescCompra As Integer = UsuarioActual.Empresa.Funcionalidad(405).ToEntero - Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + Dim CveSubProyecto259 As Integer = TmpDT.MAX("CveSubProyecto").ToEntero - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=-importeMN, ImporteME:=If(tipoCambioActual = 1, 0, -importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=-importeMN, ImporteME:=If(tipoCambioActual = 1, 0, -importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then ErrorPrepoliza = True End If Else @@ -7528,7 +7555,8 @@ Partial Class Compras_Compras End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveSubProyecto:=CveSubProyectoInsertar, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True Exit For End If @@ -19617,7 +19645,18 @@ Partial Class Compras_Compras Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + + If DiferenciaInvOC.RoundSQL() <> 0 Then + + + + If CveSubProyecto <= 0 Then + Alert("Debe de asignar un sub proyecto o centro de constos.", TipoMensaje.MsgAdvertencia) + Retorno = False + End If + + CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, DiferenciaInvOC, DiferenciaInvOC, 1, Fecha, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CvePrePoliza > 0 Then diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx index 45e310410..3f432ff33 100644 --- a/Compras/ReembolsosComprobaciones.aspx +++ b/Compras/ReembolsosComprobaciones.aspx @@ -291,7 +291,7 @@ - + diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index dcbdefffc..7b60c10d5 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -637,6 +637,9 @@ Partial Class Compras_ReembolsosComprobaciones 'inserto las compras que voy a pagar For Each gvr As GridViewRow In GvCxP.Rows + + + If gvr.FCCheckBox("Chk").Checked Then ConceptoMovimiento = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}" Referencia = gvr.DataKey("SerieFolio").ToString @@ -675,14 +678,19 @@ Partial Class Compras_ReembolsosComprobaciones CveIEPago = CveIERegistrado End If + + + + + 'Otros Ingresos If (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor) Then MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor, Contabilizable:=False) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor, Contabilizable:=False) Then MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If End If diff --git a/Compras/RepNotasCredito.aspx b/Compras/RepNotasCredito.aspx index 5b30e9711..6bd25e703 100644 --- a/Compras/RepNotasCredito.aspx +++ b/Compras/RepNotasCredito.aspx @@ -98,8 +98,7 @@ + DataKeyNames="CveCompra,Saldo,CveIE,CveProveedor,CvePersonal,CveMoneda,IdCtaContProveedores,IdCtaContExtranjera,IdCtaContComplementaria,TipoCambio,CveSubProyecto"> diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb index de2e1c43d..c8b67396c 100644 --- a/Compras/RepNotasCredito.aspx.vb +++ b/Compras/RepNotasCredito.aspx.vb @@ -145,6 +145,7 @@ Partial Class Compras_RepNotasCredito CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + If CveMoneda > 1 Then IdCtaContable = gr.DataKey("IdCtaContExtranjera").ToEntero ImporteMN = (gr.DataKey("Saldo").ToDecimal * TCCompra).RoundSQL @@ -165,7 +166,7 @@ Partial Class Compras_RepNotasCredito End If IdCtaContable = UsuarioActual.Empresa.Funcionalidad(266).ToString.ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveSubProyecto:=gr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then MsgError = "Ocurrio un Error al saldar el movimiento" End If diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index 74f71680a..aef1158b7 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -67,7 +67,7 @@ Bitácora Facturas
  • - Vinculación Masiva Complementos + Vinculación Masiva Complementos
  • diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index 4bcbca048..55009d5a3 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -816,13 +816,17 @@ Partial Class ContabilidadC_RegPrePolizaS TipoMovto = False End If - If CveConcepto = 41 Then - CveIE = gvr.FCDropDownList("DdlSaldos").SelectedValue.ToEntero - Else - CveIE = -1 - End If - - + If CveConcepto <> 30 Then + + If CveConcepto = 41 Then + CveIE = gvr.FCDropDownList("DdlSaldos").SelectedValue.ToEntero + Else + CveIE = -1 + End If + + End If + + If idCuentaContabilizacion = 1 AndAlso (IdCtaContable = 0) Then idCuentaContabilizacion = 0 End If diff --git a/Inventarios/PrestamosdeProveedor.aspx.vb b/Inventarios/PrestamosdeProveedor.aspx.vb index 70fffb5d2..7db231efd 100644 --- a/Inventarios/PrestamosdeProveedor.aspx.vb +++ b/Inventarios/PrestamosdeProveedor.aspx.vb @@ -199,7 +199,10 @@ Partial Class Inventarios_PrestamosdeProveedor CveSubProyecto = ObjInventario.DtResultados.FiltraParametros($"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero } ").FiltroPrimeroValor("CveSubProyecto").ToString.ToEntero End If - + If CveSubProyecto <= 0 Then + Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia) + ErrorMovInv = True + End If Dim CveClasifCosto As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", String.Format("CvePS ={0} ", CvePS)) IdCtaContableOtro = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasifCosto}").ToEntero diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 4f86550c6..526093576 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -2819,6 +2819,12 @@ Partial Class OC If CvePrePoliza > 0 Then + If DdlSubProyecto.SelectedValue <= 0 Then + Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia) + TieneError = True + Exit For + End If + If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then ImporteME = (DiferenciaInvOC / TCInvOC).RoundSQL() ImporteMEComp = (DiferenciaInvOC - ImporteME).RoundSQL() @@ -2834,8 +2840,6 @@ Partial Class OC ' Exit For 'End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -DiferenciaInvOC, SerieFolio, 177, SerieFolio, Fecha, IdCtaContableRecepcionOCER, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=-DiferenciaInvOC, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero) Then TieneError = True Exit For diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 6534b59ca..522572c9d 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -2662,12 +2662,17 @@ Partial Class Ventas_ClientesAbonar If tCveMoneda = 2 Then Dim ImporteFluctuacion As Decimal = 0 ImporteFluctuacion = Saldo * (TCPago - TCVenta) + + If CveSubProyecto <= 0 Then + MsgError = $"No se pudo obtener el sub proyecto de la venta {gr.DataKey("SerieFolio").ToString}" + End If + If TCPago > TCVenta Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then MsgError = "Ocurrio un error al saldar el movimiento" End If Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then MsgError = "Ocurrio un error al saldar el movimiento" End If End If From c035901a9538c0940ff6ea54883bd823898b28db Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 22 Sep 2020 16:01:31 -0700 Subject: [PATCH 5/8] Refacturacion de anticipos --- Ventas/RepCancelacionesPorRespuesta.aspx.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx.cs b/Ventas/RepCancelacionesPorRespuesta.aspx.cs index 96c2c35c3..df8d7e78a 100644 --- a/Ventas/RepCancelacionesPorRespuesta.aspx.cs +++ b/Ventas/RepCancelacionesPorRespuesta.aspx.cs @@ -277,7 +277,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion, bool EsRefacturacion = false) { Modelos.Factura.MCancelacionVentaMensaje retorno = null; - var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa); + var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:true); if (EsRefacturacion) { retorno = factura.CancelarPorRefacturacion(); From 52c1f890d47d05e4e2e4b9af974ce4d4c270f22f Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Tue, 22 Sep 2020 18:38:55 -0700 Subject: [PATCH 6/8] =?UTF-8?q?154.Solicitudes=20de=20traspaso=20correcto?= =?UTF-8?q?=20notificaci=C3=B3n=20rechazo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RepMovimientosAuxiliaresCatalogo.aspx.vb | 10 +- Inventarios/TrasladoSolicitud.aspx | 48 ++++++++- Inventarios/TrasladoSolicitud.aspx.vb | 99 ++++++++++++++++--- 3 files changed, 137 insertions(+), 20 deletions(-) diff --git a/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx.vb b/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx.vb index 6d168533d..77d5c0459 100644 --- a/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx.vb +++ b/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx.vb @@ -130,11 +130,11 @@ Partial Class Conta_RepMovimientosAuxiliaresCatalogo TxtFechaDel.Text = FechaInicio.ToShortDateString End If - 'If Request("CveSubProyecto") IsNot Nothing Then - ' If IsNumeric(Request("CveSubProyecto")) Then - ' CveSubProyecto = Request("CveSubProyecto").ToString - ' End If - 'End If + If Request("CveSubProyecto") IsNot Nothing Then + If IsNumeric(Request("CveSubProyecto")) Then + DdlSubproyecto.SelectedValueExist(Request("CveSubProyecto").ToString) + End If + End If ErrorParametros = False diff --git a/Inventarios/TrasladoSolicitud.aspx b/Inventarios/TrasladoSolicitud.aspx index a210fbb38..5e5b351c2 100644 --- a/Inventarios/TrasladoSolicitud.aspx +++ b/Inventarios/TrasladoSolicitud.aspx @@ -259,8 +259,7 @@ data-toggle="confirmation" data-popout="true" data-original-title="¿Confirmar autorización?" data-btn-ok-label="Si" OnClick="LnkAceptarTraslado_Click">
    - +
    @@ -500,6 +499,51 @@ + + + + diff --git a/Inventarios/TrasladoSolicitud.aspx.vb b/Inventarios/TrasladoSolicitud.aspx.vb index 85eec4810..13286849f 100644 --- a/Inventarios/TrasladoSolicitud.aspx.vb +++ b/Inventarios/TrasladoSolicitud.aspx.vb @@ -36,19 +36,19 @@ Partial Class Inventarios_TrasladoSolicitud ViewState("CveDireccionEnvio") = value End Set End Property - 'Private Property CveUsuarioAutoriza As Integer - ' Get - ' If ViewState("CveUsuarioAutoriza") Is Nothing Then - ' Return -1 - ' Else - ' Return CType(ViewState("CveUsuarioAutoriza"), Integer) - ' End If + Private Property CveUsuarioSolicita As Integer + Get + If ViewState("CveUsuarioSolicita") Is Nothing Then + Return -1 + Else + Return CType(ViewState("CveUsuarioSolicita"), Integer) + End If - ' End Get - ' Set(value As Integer) - ' ViewState("CveUsuarioAutoriza") = value - ' End Set - 'End Property + End Get + Set(value As Integer) + ViewState("CveUsuarioSolicita") = value + End Set + End Property #End Region @@ -178,6 +178,8 @@ Partial Class Inventarios_TrasladoSolicitud HplContrato.Text = ObjInventarios.DtResultados.Rows(0)("DescripcionContrato").ToString HplContrato.NavigateUrl = $"/Contratos/Contrato.aspx?CveContrato={ObjInventarios.DtResultados.Rows(0)("CveContrato").ToString.ToEntero}" + CveUsuarioSolicita = ObjInventarios.DtResultados.Rows(0)("CveUsuario").ToString.ToEntero + '25/04/2018 CveDireccionEnvio = ObjInventarios.DtResultados.Rows(0)("CveDireccionEnvio").ToString.ToEntero If CveDireccionEnvio > 0 And ObjClientes.DireccionEnvioGet(CveDireccionEnvio, -1, -1) Then @@ -994,15 +996,85 @@ Partial Class Inventarios_TrasladoSolicitud CargaDatos() End Sub + Protected Sub LnkRechazarTraslado_Click(sender As Object, e As EventArgs) + TxtMotivoRechazo.Text = "" + UpModalRechazo.Update() + RegistraScript("$('#ModalRechazarTraslado').modal();") + + End Sub + + + Protected Sub BtnModalRechazo_Click(sender As Object, e As EventArgs) + RechazarTraslado() + End Sub + + Private Sub RechazarTraslado() + + Dim ErrorProceso As Boolean = False + + If TxtMotivoRechazo.Text.Trim.Length.ToEntero = 0 Then + Alert("El motivo de rechazo es necesario", TipoMensaje.MsgAdvertencia) + End If + + Dim ObjInven As New ClsInventarios + If ObjInven.UpdateTrasladoAutorizar(CveTraspasoSolicitud, UsuarioActual.CveEmpresa, 3, UsuarioActual.CveUsuario, Now) Then Alert("Rechazado correctamente.") + ErrorProceso = False + Else + ErrorProceso = True End If + ObjInven.Dispose() - CargaDatos() + If Not ErrorProceso Then + MandaCorreoRechazo(LbFolio.Text.ToEntero, CveTraspasoSolicitud, CveUsuarioSolicita, TxtMotivoRechazo.Text) + CargaDatos() + RegistraScript("$('#ModalRechazarTraslado').modal('hide');") + End If + + End Sub + + + Private Sub MandaCorreoRechazo(Folio As Integer, CveTraspasoSolicitud As Integer, CveUsuarioSolicita As Integer, MotivoRechazo As String) + + Dim SB As New StringBuilder + + Dim CorreoDestino As String = GlobalDTUsuarios(CveUsuarioSolicita)(0)("Correo").ToString.Trim + + + If CorreoDestino.Length > 0 Then + + + SB.AppendLine($"

    Se ha rechazado la solicitud de traspaso con folio {Folio}, el traspaso fue rechazado por el usuario {UsuarioActual.Nombre }, el traspaso fue rechazado por el motivo: {MotivoRechazo}

    ") + + + + SB.AppendLine("
    ") + SB.AppendLine("") + SB.AppendLine("") + + For Each GvRow As GridViewRow In GvDatos.Rows + + If GvRow.RowType = DataControlRowType.DataRow Then + SB.AppendLine($"") + End If + + Next + SB.AppendLine("
    Cantidad U.M. Producto Observaciones
    {GvRow.DataKey("Cantidad")} {GvRow.DataKey("UnidadMedida")} {GvRow.DataKey("CodigoPS")} {GvRow.DataKey("Observaciones")}
    ") + SB.AppendLine("
    ") + + SB.AppendLine($" Ir a solicitud de traspaso folio {Folio}") + + + + Dim MandaCorre As New ClsSisMail + MandaCorre.SendMail(ClsPaginas.EmpresaNotificaciones, CorreoDestino, $"Rechazo de Autorización de traspaso #{Folio}", SB.ToString, Displayname:="SIG Notificaciones: Rechazo de Traspaso") + + End If End Sub @@ -1057,5 +1129,6 @@ Partial Class Inventarios_TrasladoSolicitud Next GvDatos.Columns(5).Visible = Mostrar End Sub + End Class From bc7143a2612c9fd2116a7395dad33ce94f5f64d1 Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Tue, 22 Sep 2020 20:15:50 -0700 Subject: [PATCH 7/8] --- App_Code/ClsPaginas.vb | 1 + App_Code/ClsVentas.vb | 3 +- App_Code/Usuario.vb | 10 ++ Nomina/Nomina2.aspx | 22 +-- Scripts/custom.js | 49 ++++-- Sistemas/PopUpCambiaUsuario.aspx | 2 +- Sistemas/PopUpCambiaUsuarioEmpresa.aspx | 85 ++++++++++ Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb | 187 +++++++++++++++++++++ Site.master | 1 + Site.master.vb | 4 + Ventas/RepPS.aspx | 22 +++ Ventas/RepPS.aspx.vb | 27 ++- vwd.webinfo | 2 + 13 files changed, 389 insertions(+), 26 deletions(-) create mode 100644 Sistemas/PopUpCambiaUsuarioEmpresa.aspx create mode 100644 Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index e124244e4..c8384b872 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -3786,6 +3786,7 @@ Public Class ClsPaginas PaginaDict.Add("/Prospectos/PopUpBuscarProspectos.aspx".ToUpper(), -1) PaginaDict.Add("/Sistemas/PopUpCambiaUsuario.aspx".ToUpper(), -1) + PaginaDict.Add("/Sistemas/PopUpCambiaUsuarioEmpresa.aspx".ToUpper(), -1) PaginaDict.Add("/Sistemas/CatDistribuidores.aspx".ToUpper(), -1) PaginaDict.Add("/Sistemas/CatPlataformas.aspx".ToUpper(), -1) PaginaDict.Add("/Sistemas/PopUpAddUsuario.aspx".ToUpper(), -1) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 0ca3ae809..a654c7650 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -1620,7 +1620,7 @@ Public Class ClsVentas Public Function GetRepPSEcono(CveSubProyecto As Integer, CvePS As Integer, FechaI As Date, FechaF As Date, CveEmpresa As Integer, Optional CveUsuarioConsulta As Integer = -1, Optional GPO As Integer = -1, Optional CveMoneda As Integer = -1, Optional TipoCambio As Integer = -1, Optional TCEspecifico As Double = 0, - Optional Clasificacion As String = "-1", Optional Linea As String = "-1", Optional Marca As String = "-1") As Boolean + Optional Clasificacion As String = "-1", Optional Linea As String = "-1", Optional Marca As String = "-1", Optional orden As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_RepPSEconoGet") @@ -1638,6 +1638,7 @@ Public Class ClsVentas .Add("@Clasificacion", SqlDbType.VarChar).Value = Clasificacion .Add("@Linea", SqlDbType.VarChar).Value = Linea .Add("@Marca", SqlDbType.VarChar).Value = Marca + .Add("@Orden", SqlDbType.VarChar).Value = orden End With Try diff --git a/App_Code/Usuario.vb b/App_Code/Usuario.vb index 76c8a15e6..3a6066805 100644 --- a/App_Code/Usuario.vb +++ b/App_Code/Usuario.vb @@ -71,6 +71,16 @@ Public Class Usuario End If End Get End Property + Private _modoSimulacionXEmpresa As Boolean = False + Public Property ModoSimulacionXEmpresa As Boolean + Get + Return Not ModoSimulacion AndAlso (_modoSimulacionXEmpresa OrElse TienePermisoProceso(308)) + End Get + Set(value As Boolean) + + _modoSimulacionXEmpresa = value + End Set + End Property Public Property Sesion(Campo As String) As String Get diff --git a/Nomina/Nomina2.aspx b/Nomina/Nomina2.aspx index 3e5c523e2..a77d05f1b 100644 --- a/Nomina/Nomina2.aspx +++ b/Nomina/Nomina2.aspx @@ -253,19 +253,19 @@
    - - + +
    + CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall GvNominas" Style="text-align: center;" GridLines="None" data-cols="2" data-rows="2" data-heighterror="360"> - + @@ -1558,7 +1558,7 @@ diff --git a/Scripts/custom.js b/Scripts/custom.js index f3852450c..b4bf8334b 100644 --- a/Scripts/custom.js +++ b/Scripts/custom.js @@ -76,6 +76,30 @@ function FiltrarTabla(idtxt, idtable, idcontador) { } } + +function FiltrarTablaFreezcol(idtxt, idtable, idcontador) { + if ($('' + idtxt).val() == '') { $('div.ADSCroll:not(.RHeader) table' + idtable + ' tr').css('display', ''); } + else { + let idxlist = []; + $('div.ADSCroll:not(.RHeader) table' + idtable + ' tr:contains("' + $('' + idtxt).val() + '")').each(function () { let idx = $(this).index(); idxlist.push(idx) }); + + idxlist = idxlist.filter((x, i, a) => a.indexOf(x) == i) + $('div.ADSCroll:not(.RHeader) table' + idtable + ' tr:not(.ADtr):not(.SearchADHeader):not(.ADSRow):not(.Titulos)').each(function () { + let _tthis = $(this); + let idx = _tthis.index(); + if (idxlist.includes(idx)) { + _tthis.css('display', ''); + } else { + _tthis.css('display', 'none'); + + } + }); + } + if ($('' + idcontador).length > 0) { + $('' + idcontador).html('(' + $('div.ADSCroll:not(.RHeader) ' + idtable + ' tr:not(.ADtr):not(.ADSRow):not(.SearchADHeader):visible').length + '/' + $('div.ADSCroll:not(.RHeader) ' + idtable + ' tr:not(.ADtr):not(.ADSRow):not(.SearchADHeader)').length + ')'); + } +} + function clonsbuttons() { var copiasdelete = $('.clonehbutton_copy'); if (copiasdelete) { @@ -321,8 +345,8 @@ function ADScroller2() { var widthGral = $(document).width() - WidthMenos; var heightGral = $(window).height() - HeightMenos; if (Heightfijo > 0) { heightGral = Heightfijo; } - if (widthGral < 100) { widthGral = 100; } - if (heightGral < 100) { heightGral = 100; } + if (widthGral < 300) { widthGral = 300; } + if (heightGral < 300) { heightGral =300; } widthGral = Tthis.parent().parent().width(); Tthis.removeClass('ADSCROLLER2'); @@ -420,7 +444,7 @@ function ADScroller2() { var anchoc1 = divheader1.outerWidth(); var altoc1 = divheader1.outerHeight() + 15; - divheaderScroll = $('
    ').append(THeader2); + divheaderScroll = $('
    ').append(THeader2); divheader2.append(divheaderScroll); contenedor.append(divcenter); @@ -459,24 +483,29 @@ function ADScroller2() { contenedor.css('width', sizetable + altoc1); } }; - $(window).resize(function () { + let resizefncscroller = function () { + var widthGral = $(window).width() - WidthMenos; /*console.log(widthGral);*/ contenedor.css('width', 1); widthGral = Tthis.parent().parent().parent().parent().parent().width(); /* console.log(widthGral);*/ var heightGral = $(window).height() - HeightMenos; + //console.log(heightGral); if (Heightfijo > 0) { heightGral = Heightfijo; } - if (widthGral < 100) { widthGral = 100; } - if (heightGral < 100) { heightGral = 100; } + if (widthGral < 300) { widthGral = 300; } + if (heightGral < 300) { heightGral = 300; } contenedor.css('width', widthGral); divheader.css('width', widthGral); divcenter.css('width', widthGral); divheaderScroll.css('width', (widthGral - anchoc1)); - divcolsScroll.css('height', (heightGral - altoc1+20)); + divcolsScroll.css('height', (heightGral - altoc1 + 20)); divbodyScroll.css('width', (widthGral - anchoc1)); divbodyScroll.css('height', (heightGral - altoc1 + 20)); - setTimeout(sizeoftablefunc, 100); + }; + $(window).resize(function () { + setTimeout(resizefncscroller, 50); + setTimeout(sizeoftablefunc, 150); }); $('table#ADCol' + Tid + ' tr').hover( @@ -731,12 +760,13 @@ function loadadscroll() { if (height < 200) { height = 200; } - TThis.data('height', height) + TThis.data('height', height); } //ADSCROLLER2 var colVisibles = isNaN(Number(TThis.data('cols'))) ? 0 : Number(TThis.data('cols')); if (colVisibles > 0) { + if ((Number(TThis.data('heighterror'))) && !(Number(TThis.data('heightmenos')))) { TThis.data('heightmenos', TThis.data('heighterror'));} TThis.removeClass("ScrollAD"); TThis.addClass("ADSCROLLER2"); } else { @@ -1913,7 +1943,6 @@ jQuery(document).ready(function () { } }); ADSReady(); - } if (("Notification" in window)) { if (Notification.permission !== 'denied') { diff --git a/Sistemas/PopUpCambiaUsuario.aspx b/Sistemas/PopUpCambiaUsuario.aspx index c75bb1c7a..2217ac9ff 100644 --- a/Sistemas/PopUpCambiaUsuario.aspx +++ b/Sistemas/PopUpCambiaUsuario.aspx @@ -26,7 +26,7 @@
    - +
    diff --git a/Sistemas/PopUpCambiaUsuarioEmpresa.aspx b/Sistemas/PopUpCambiaUsuarioEmpresa.aspx new file mode 100644 index 000000000..ba7eb290f --- /dev/null +++ b/Sistemas/PopUpCambiaUsuarioEmpresa.aspx @@ -0,0 +1,85 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PopUpCambiaUsuarioEmpresa.aspx.vb" Inherits="Sistemas_PopUpCambiaUsuarioEmpresa" %> + + + + + + + + + + Cambio de Usuario + + + + + + + +

     Usuario Actual:  
    +

    +
    +<%--
    +
    --%> +
    Nombre de Usuario:
    +
    + <%--
    +
    + +
    +
    +
    +
    --%> + +
    +
    +
    +
    + + + + + diff --git a/Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb b/Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb new file mode 100644 index 000000000..25c34bee9 --- /dev/null +++ b/Sistemas/PopUpCambiaUsuarioEmpresa.aspx.vb @@ -0,0 +1,187 @@ +Imports ADSSession +Imports Extensiones +Imports System.Data + +Partial Class Sistemas_PopUpCambiaUsuarioEmpresa + Inherits ClsPaginas + + Property DTUsuarios() As Data.DataTable + Get + Return CType(ViewState("DTUsuarios"), DataTable) + End Get + Set(value As Data.DataTable) + ViewState("DTUsuarios") = value + End Set + End Property + + + Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load + If Not Page.IsPostBack Then + + ViewState("Orden") = "" + + If Not (UsuarioActual.CveRol = 1 OrElse UsuarioActual.ModoSimulacionXEmpresa) Then + PnlGral.Visible = False + RegistraScript("window.close();") + End If + + 'Dim DtEmp As DataTable = GlobalDTEmpresas.Copy + Dim NombreEmp As String = UsuarioActual.Empresa.Empresa + '''condición para ocultar los nombres de las empresas y ponerles "mi empresa de venta (xxx)" + ''If UsuarioActual.CveUsuario = 100 Then + + '' Dim customerRow() As Data.DataRow + '' customerRow = DtEmp.Select("") + + '' For Each drt As DataRow In customerRow + '' drt("Empresa") = "Mi Empresa de ventas (" & drt("CveEmpresa") & ")" + '' Next + + + ''End If + + CType(Me.Master, BaseMasterPage).EsPopup = True + LblUsuario.Text = String.Format("{0} - {1}", UsuarioActual.Nombre, UsuarioActual.Empresa.Empresa) + + + 'DdlEmpresa.DataSource = DtEmp '.FiltraParametros(If(UsuarioActual.CveRol = 1, "CvePlataforma IN (1,2)", $"CvePlataforma={UsuarioActual.Empresa.CvePlataforma}")) + Dim CveEmpresa As String = UsuarioActual.CveEmpresa.ToString() + + Dim splitedtext As String() = Request.Url.AbsoluteUri.Replace("http://", "").Replace("https://", "").Split("."c) + If Request.Url.AbsoluteUri.Contains("sig.agrojam.com.mx") Then + CveEmpresa = 119 + End If + + If splitedtext.Length > 0 Then + Select Case splitedtext(0).ToUpper() + Case "VSH" : CveEmpresa = "7" + Case "JAM" : CveEmpresa = "119" + Case "COMPUPROVEEDORES" : CveEmpresa = "72" + Case "DNDIFUSA" : CveEmpresa = "80" + Case "SOGO" : CveEmpresa = "8" + Case "BDH" : CveEmpresa = "140" + Case "ECONOLLANTAS" : CveEmpresa = "141" + End Select + End If + 'DdlEmpresa.DataBind() + 'DdlEmpresa.SelectedValue = CveEmpresa + + 'DdlRol.DataSource = GlobalDTRoles(DdlEmpresa.SelectedValue.ToEntero) + 'DdlRol.DataBind() + 'DdlRol.Items.Insert(0, New ListItem("Todos", "-1")) + + TxtBusqueda.Attributes.Add("data-table", gvUsuarios.ClientID) + + CargaUsuarios() + 'LblUsuario.Text = usuarioactual. + + End If + End Sub + + + Protected Sub gvUsuarios_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles gvUsuarios.RowCommand + If e.CommandName = "Usuarios" Then + Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow) + 'Dim Dt As DataTable = GlobalDTUsuarios(e.CommandArgument.ToString.ToEntero) + Dim multiempresa As Boolean = ADSSessionConfig.sessionUser.MultipleEmpresa + Dim objempresa As Empresa = ADSSessionConfig.sessionUser.Empresa + If gvr IsNot Nothing Then + + Dim tUsuario, tContraseña As String + Dim tCveEmpresa As Integer + tUsuario = gvr.DataKey("Usuario").ToString + tContraseña = gvr.DataKey("Contraseña").ToString + tCveEmpresa = gvr.DataKey("CveEmpresa").ToString.ToEntero + + Dim ObjUsuario As New ClsSisUsuarios + Dim Usuario As Usuario + 'Dim UsuarioAsignaciones As Usuario + + Usuario = ObjUsuario.ValidaUsuario(tUsuario, tContraseña, IMEI, tCveEmpresa) + 'UsuarioAsignaciones = ObjUsuario.ValidaUsuarioAsignacion(Usuario.CveUsuario, Usuario.CveEmpresa) + ObjUsuario.Dispose() + + If Usuario IsNot Nothing Then + Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario) + ADSSessionConfig.sessionUser = Usuario + ADSSessionConfig.sessionUser.CvePlataforma = 1 + If Usuario.CveRol = 1200 Then + ADSSessionConfig.sessionUser.CvePlataforma = 3 + End If + ADSSessionConfig.sessionDpage = False + ADSSessionConfig.sessionUser.MultipleEmpresa = multiempresa + ADSSessionConfig.sessionUser.ModoSimulacion = False + ADSSessionConfig.sessionUser.ModoSimulacionXEmpresa = True + + UsuarioActual.Empresa = objempresa + dt.Dispose() + + If UsuarioActual.CveCliente > 0 Then + CargaZonasHorarias(UsuarioActual) + End If + End If + + RegistraScript("gotourl();") + + End If + + End If + End Sub + Private Sub CargaZonasHorarias(ByRef UsuarioActual As Usuario) + Dim ObjClientes As New ClsClientes + Try + If ObjClientes.GetClientes(UsuarioActual.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1, Estatus:=1) Then + If ObjClientes.DtResultados.Rows.Count = 1 Then + UsuarioActual.UTCOffset = ObjClientes.DtResultados(0)("UTCOffset").ToString().ToEntero() + End If + End If + Catch ex As Exception + OnError("Ocurrió un error al obtener la zona horaria.", ex) + Finally + ObjClientes.Dispose() + End Try + End Sub + + Protected Sub BtnFiltrar_Click(sender As Object, e As EventArgs) Handles BtnFiltrar.Click + CargaUsuarios() + End Sub + +#Region "O R D E N A M I E N T O" + Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs) + Dim Orden As String = "" + Dim Campo As String = "" + Dim Literal As Literal = Nothing + Const OrdenInicial As String = "" + Dim Arg(2) As String + + Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c) + Campo = Arg(0) + Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal) + + If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then + ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo) + Literal.Text = String.Format("") + Else + ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo) + Literal.Text = String.Format("") + End If + Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString + ViewState("Orden") = Orden + CargaUsuarios(Orden) + End Sub + + Private Sub CargaUsuarios(Optional Orden As String = "Nombre") + Dim dtt As DataTable = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("CveRol <> 1") + dtt = dtt.FiltraParametros("Estatus = 1", Orden, {"CveUsuario", "Usuario", "Nombre", "Contraseña", "CveEmpresa", "Rol"}) + gvUsuarios.DataSource = dtt + gvUsuarios.DataBind() + + If (gvUsuarios.Rows.Count > 0) Then + gvUsuarios.UseAccessibleHeader = True + gvUsuarios.HeaderRow.TableSection = TableRowSection.TableHeader + End If + TxtBusqueda.Focus() + End Sub + +#End Region +End Class diff --git a/Site.master b/Site.master index ac198d1a4..5c6489dad 100644 --- a/Site.master +++ b/Site.master @@ -267,6 +267,7 @@