From 0f22e5b25c3b120fba52ca3fae7d5a6411258a74 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Thu, 5 Sep 2019 12:44:21 -0700 Subject: [PATCH 1/5] Correcion pack tres cancelacion complementos --- App_Code/Timbrado.vb | 10 ++++- Bancos/IE.aspx | 9 +++- Bancos/IE.aspx.vb | 99 +++++++++++++++++++++++++++++++++----------- LogMail.txt | 8 +++- LogTimbrado.txt | 4 ++ 5 files changed, 103 insertions(+), 27 deletions(-) diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 9ccf49d07..f9fe5c1e1 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -365,7 +365,15 @@ Public Class Timbrado If resultadoCancelacion.Exitoso Then CancelacionMensaje = resultadoCancelacion.Descripcion Dim xmlDoc As New System.Xml.XmlDocument() - xmlDoc.LoadXml(Encoding.UTF8.GetString(Convert.FromBase64String(resp.Xml))) + + Try + xmlDoc.LoadXml(Encoding.UTF8.GetString(Convert.FromBase64String(resp.Xml))) + Catch ex As Exception + xmlDoc.LoadXml(resp.Xml) + End Try + + + Dim xpath As String = "Acuse/Folios" Dim nodes = xmlDoc.SelectNodes(xpath) CancelacionState = xmlDoc.GetElementsByTagName("EstatusUUID")(0).InnerText.ToEntero diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 0e5e68162..53489d4c4 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -1185,12 +1185,19 @@ - + <%-- + + + + --%> + diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 5f49dda1f..21a8f8590 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -501,6 +501,7 @@ Partial Class Bancos_IE #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not IsPostBack Then Folio = "" @@ -3916,9 +3917,10 @@ Partial Class Bancos_IE If CancelarComplemento Then Dim ObjCancelacion As New Timbrado 'Dim ObjBanco As New ClsBancos - If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then - If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then + If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then + + If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then CargaComplementosPago() RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") ErrorCancelarComplemento = False @@ -3926,8 +3928,22 @@ Partial Class Bancos_IE End If Else - Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) + If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then + + If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then + CargaComplementosPago() + RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") + ErrorCancelarComplemento = False + Alert("El complemento se cancelo correctamente.") + End If + + Else + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) + End If + End If + + Else ErrorCancelarComplemento = False End If @@ -5538,39 +5554,34 @@ Partial Class Bancos_IE RFCReceptorCancelar = GvRow.DataKey("RFCReceptor") CvePACCancelacion = GvRow.DataKey("CvePAC").ToEntero - Dim ObjCancelacion As New Timbrado Dim ObjBanco As New ClsBancos - If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then - If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then + + If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then + + If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then CargaComplementosPago() - - ' RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") Alert("El complemento se cancelo correctamente.") End If Else - Alert("Se presento un error al cancelar el complemento.") + + If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then + + If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then + + Alert("El complemento se cancelo correctamente.") + End If + Else + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgError) + End If + End If ObjBanco.Dispose() - - - '' INICIO Version 2 - 'CveComplementoPagoCancelar = GvRow.DataKey("CveComplementoPago").ToEntero - 'FolioFiscalCancelar = GvRow.DataKey("FolioFiscal").ToString - '' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC - 'RFCReceptorCancelar = GvRow.DataKey("RFCReceptor") - 'CvePACCancelacion = GvRow.DataKey("CvePAC").ToEntero - - 'RegistraScript("$('#ModalCancelarComplemetno').modal('show');") - - 'RdlCancelarComplemento.SelectedValue = "1" - 'DivFechaCancelación.Visible = False - 'UpModalCancelarComplemetno.Update() - '' FIN Version 2 + CargaComplementosPago() End Sub @@ -5703,4 +5714,44 @@ Partial Class Bancos_IE End Sub + 'Protected Sub LnkEstatusSAT_Click(sender As Object, e As EventArgs) + + ' Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).BindingContainer, GridViewRow) + + ' Dim FolioFiscal As String = GvRow.DataKey("FolioFiscal").ToString + ' Dim RFCReceptor As String = GvRow.DataKey("RFCReceptor") + + + ' EstatusSATCancelado(FolioFiscal, UsuarioActual.Empresa.RFC, RFCReceptor) + + ' 'Dim Vigencia = Timbrado.VerificarVigenciaSAT(FolioFiscal, UsuarioActual.Empresa.RFC, RFCReceptor, "0", True) + + ' 'If Vigencia IsNot Nothing Then + ' ' Alert($"Estatus SAT: { Vigencia.Estado }") + ' 'End If + + 'End Sub + + + Function EstatusSATCancelado(FolioFiscal As String, RFCDe As String, RFCReceptor As String) As Boolean + + Dim respuesta As Boolean = False + + Dim Vigencia = Timbrado.VerificarVigenciaSAT(FolioFiscal, RFCDe, RFCReceptor, "0", True) + + If Vigencia IsNot Nothing Then + If Vigencia.Estado.ToUpper = "CANCELADO" Then + respuesta = True + Else + respuesta = False + End If + Else + respuesta = False + End If + + + + Return respuesta + End Function + End Class \ No newline at end of file diff --git a/LogMail.txt b/LogMail.txt index b29b0397b..00f4b2bed 100644 --- a/LogMail.txt +++ b/LogMail.txt @@ -1 +1,7 @@ - 28/08/2019:04:44 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 79 28/08/2019:05:48 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 80 02/09/2019:11:00 a. m. From:'signotificaciones@adssistemas.mx' - Para:'x@x.com' - Asunto:'Entrega de Factura SUCURSAL NARANJO SN-22' - CCP: '' - Adjuntos: 1 02/09/2019:11:00 a. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura SUCURSAL NARANJO SN-23' - CCP: '' - Adjuntos: 1 \ No newline at end of file + 28/08/2019:04:44 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 79 28/08/2019:05:48 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 80 02/09/2019:11:00 a. m. From:'signotificaciones@adssistemas.mx' - Para:'x@x.com' - Asunto:'Entrega de Factura SUCURSAL NARANJO SN-22' - CCP: '' - Adjuntos: 1 02/09/2019:11:00 a. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura SUCURSAL NARANJO SN-23' - CCP: '' - Adjuntos: 1 05/09/2019:11:02 a. m. From:'signotificaciones@adssistemas.mx' - Para:';' - Asunto:'Envío de complemento de pago' - CCP: '' - Adjuntos: 2 + - Ocurrió un error al mandar correo.System.InvalidOperationException: Se debe especificar un destinatario. + en System.Net.Mail.SmtpClient.Send(MailMessage message) + en ClsSisMail.FinalSend(Mail ObjMail) en C:\inetpub\WWWSIGIT\App_Code\ClsSisMail.vb:línea 129 05/09/2019:12:31 p. m. From:'signotificaciones@adssistemas.mx' - Para:';' - Asunto:'Envío de complemento de pago' - CCP: '' - Adjuntos: 2 + - Ocurrió un error al mandar correo.System.InvalidOperationException: Se debe especificar un destinatario. + en System.Net.Mail.SmtpClient.Send(MailMessage message) + en ClsSisMail.FinalSend(Mail ObjMail) en C:\inetpub\WWWSIGIT\App_Code\ClsSisMail.vb:línea 129 \ No newline at end of file diff --git a/LogTimbrado.txt b/LogTimbrado.txt index 7e80f243d..65aaf8d76 100644 --- a/LogTimbrado.txt +++ b/LogTimbrado.txt @@ -6,3 +6,7 @@ .. PAC: 2 - Verificado : (200) 200 Armado: (398) 598 Guardado: (564) 1162 Timbrado: (2342) 3504 Actualizado: (456) 3960 ..02/09/2019:11:00 a. m. .. PAC: 2 - Verificado : (170) 170 Armado: (285) 455 Guardado: (333) 788 Timbrado: (1949) 2737 Actualizado: (20) 2757 ..02/09/2019:11:00 a. m. + + .. PAC: 3 - Verificado : (37) 37 Armado: (43) 80 Genera: (0) 80 Timbrado: (7893) 7973 Actualizado: (19) 7992 ..05/09/2019:11:02 a. m. + + .. PAC: 3 - Verificado : (36) 36 Armado: (32) 68 Genera: (0) 68 Timbrado: (10604) 10672 Actualizado: (16) 10688 ..05/09/2019:12:31 p. m. From bc3f9eb0a7e2223524844519f79f036a0bcc5e6a Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Thu, 5 Sep 2019 13:52:24 -0700 Subject: [PATCH 2/5] Correcion de remisiones en refacturacion, y habilitar la autocontabilidad --- App_Code/Modelos.vb | 130 ++++++++++++++++++++++++-------------------- 1 file changed, 72 insertions(+), 58 deletions(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 0e0b12935..4303c4e15 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -1816,10 +1816,10 @@ Namespace Modelos End Sub Private Function ProcesoPrepolizas(ObjFactura As Factura, ByRef ObjConta As ClsContabilidad, CveIE As Integer, TmpDTDetalle As DataTable, ByRef objContPaqi As ClsContPAQi, Optional ValorMultiplicador As Integer = 1, ByRef Optional ObjBancos As ClsBancos = Nothing, ByRef Optional ObjVentas As ClsVentas = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing, - Optional ByRef DtRemisionesRelacionadas As DataTable = Nothing, Optional SeCancelaRemisionProceso As Boolean = False, Optional CancelarRemisiones As Boolean = False, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing) As Boolean + Optional ByRef DtRemisionesRelacionadas As DataTable = Nothing, Optional SeCancelaRemisionProceso As Boolean = False, Optional CancelarRemisiones As Boolean = False, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, + Optional CveEstatusRefacturacion As Integer = 0) As Boolean Dim ErrorPrepoliza As Boolean = False Try - Dim DT As DataTable Dim CvePlantilaPoliza As Integer Dim PorcentajeAmortizacion As Decimal = 0 @@ -2426,10 +2426,6 @@ Namespace Modelos ErrorPrepoliza = True Exit For End If - - 'If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=row2.DataKey("CveVentaNC").ToString.ToEntero, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar) Then - ' ErrorPrepoliza = True - 'End If End If End If Next @@ -2488,8 +2484,6 @@ Namespace Modelos CveVentaAmortizacionAplicar = ObjFactura.CveVenta End If - ' If UsuarioActual.CveEmpresa = 119 Then - 'código fijo en base el porcentaje iva, que se afecten las clasificaciones For i = 0 To TmpDTDetalle.Rows.Count - 1 @@ -2505,8 +2499,6 @@ Namespace Modelos Next - ' End If - DT = TmpDTDetalle.FiltraParametros($"CvePS <> {ObjFactura.CvePSAmortizacion}", "", {"CveClasificacion", "CveSubProyecto"}) If DT.Rows.Count > 0 Then @@ -2893,26 +2885,31 @@ Namespace Modelos 'Si es Facturacion de una remision cancelamos, traspasamos saldos y agregamos evento a la bitacora If (DtRemisionesRelacionadas IsNot Nothing AndAlso DtRemisionesRelacionadas.Rows.Count > 0) OrElse ObjFactura.RemisionesLista.Count > 0 Then - If ObjFactura.RemisionesLista.Count > 0 Then - For Each CveRemision As Integer In RemisionesLista - If Not ObjConta.TraspasarSaldosRemision(CveRemision, ObjFactura.CvePrePoliza, ObjFactura.CveVenta) Then - ErrorPrepoliza = True - End If + If Not ObjFactura.TipoDocto.Contiene("Ing", "Ant") Then + ErrorPrepoliza = True + ErrorList.Add("No se pueden facturar las remisiones, con ese tipo de comprobante seleccionado") + Else + If ObjFactura.RemisionesLista.Count > 0 Then + For Each CveRemision As Integer In RemisionesLista + If Not ObjConta.TraspasarSaldosRemision(CveRemision, ObjFactura.CvePrePoliza, ObjFactura.CveVenta) Then + ErrorPrepoliza = True + End If - 'Factura - If Not ObjEventos.AddEventoBitacora($"Sustituye a: Folio Factura", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=ObjFactura.CveVenta) Then - ErrorPrepoliza = True - End If + 'Factura + If Not ObjEventos.AddEventoBitacora($"Sustituye a: Folio Factura", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=ObjFactura.CveVenta) Then + ErrorPrepoliza = True + End If - 'Remision - If Not ObjEventos.AddEventoBitacora($"Refacturacion en: {ObjFactura.Folio}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveRemision) Then - ErrorPrepoliza = True - End If + 'Remision + If Not ObjEventos.AddEventoBitacora($"Refacturacion en: {ObjFactura.Folio}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveRemision) Then + ErrorPrepoliza = True + End If - If ErrorPrepoliza Then - Exit For - End If - Next + If ErrorPrepoliza Then + Exit For + End If + Next + End If End If End If @@ -2923,7 +2920,8 @@ Namespace Modelos End If 'REGRESA SALDO A LAS REMISIONES QUE SE FACTURARON EN EL INGRESO QUE SE ESTA CANCELANDO - If ObjFactura.TipoDocto = "Ing" And ValorMultiplicador = -1 AndAlso NuevaFactura <> 1 AndAlso Not SeCancelaRemisionProceso AndAlso DtRemisionesRelacionadas IsNot Nothing Then ' se debe de excluir cuando es refacturación + 'SE DEBE DE EXCLUIR CUANDO ES REFACTURACIÓN + If ObjFactura.TipoDocto = "Ing" And ValorMultiplicador = -1 AndAlso CveEstatusRefacturacion = 0 AndAlso Not SeCancelaRemisionProceso AndAlso DtRemisionesRelacionadas IsNot Nothing Then ' se debe de excluir cuando es refacturación For Each Dr As DataRow In DtRemisionesRelacionadas.Rows Dim DebeCancelar As Boolean = CancelarRemisiones AndAlso ListaRemisionesCancelar.Any(Function(CveRemision) CveRemision = Dr("CveVenta").ToString.ToEntero()) @@ -2943,23 +2941,40 @@ Namespace Modelos If ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 2) Then If ObjConta.ValorPolizaDescuadre > 0 Then If ObjConta.ValorPolizaDescuadre = 2 Then + ErrorList.Add(ObjConta.MensajePolizaDescuadre) ErrorPrepoliza = True - Alert(ObjConta.MensajePolizaDescuadre, TipoMensaje.MsgError) GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas") End If - End If End If 'Simplificacion de PrePolizas If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then If Not ObjConta.PrePolizaSimplificacion(ObjFactura.CvePrePoliza, UsuarioActual.CveEmpresa) Then - Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError) + ErrorList.Add("No se pudo simplificar los movimientos") + ErrorPrepoliza = True + End If + End If + + 'ContPAQ El movimiento 1 es el de Venta + Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" + + If UsuarioActual.CveEmpresa = 119 AndAlso ObjFactura.TipoDocto.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "NC") Then + AutoConta = False + End If + + If AutoConta Then + If idCuentaContabilizacion > 0 Then + If Not ObjConta.ContabilizarPrePoliza(ObjFactura.CvePrePoliza, ObjFactura.CveUsuario, UsuarioActual.Empresa, ObjConta:=objContPaqi) Then + ErrorList.Add("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico") + 'ErrorPrepoliza = True + End If + Else + ErrorList.Add(String.Format("Falta asignación de las siguientes cuentas contables: {0}", CuentasContablesInvalidas)) + 'ErrorPrepoliza = True End If End If - - Catch ex As Exception GuardaLog(ex.ToString()) ErrorPrepoliza = True @@ -3787,6 +3802,7 @@ Namespace Modelos End If Dim CveEstatusRefacturacion As Integer = If(ObjFactura.CveEstatusRefacturacion <= 0, 0, ObjFactura.CveEstatusRefacturacion) + Dim CancelacionFecha As Date Dim FolioFiscal As String = ObjFactura.FolioFiscal Dim CancelacionAcuse As String = "" @@ -3925,6 +3941,15 @@ Namespace Modelos Retorno.CveEstatus = CveEstatus + '0 Sin Refacturacion, 1 Refacturacion en Proceso, 3. Refacturación en proceso sin aceptación + If EsRefacturacion AndAlso CveEstatusRefacturacion = 0 Then + If CveEstatus = 5 Then + CveEstatusRefacturacion = 3 ' refacturación en proceso sin autorización de cancelación + Else + CveEstatusRefacturacion = 1 ' refacturación en proceso con autorización de cancelación + End If + End If + Dim ObjVentas As New ClsVentas() : ObjVentas.IniciaTransacSQL() Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL()) @@ -3932,11 +3957,11 @@ Namespace Modelos Dim ObjContrato As New ClsContratos(ObjVentas.IniciaTransacSQL()) Dim ObjEventos As New ClsOIEventos(ObjVentas.IniciaTransacSQL()) Dim ObjAC As ClsContPAQi = Nothing - If UsuarioActual.Empresa.UsaAC Then + + If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200) = "1" Then ObjAC = New ClsContPAQi(UsuarioActual.Empresa) : ObjAC.IniciaTransacSQL() End If - Try If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then CvePlantillaPoliza = 7 @@ -3965,8 +3990,8 @@ Namespace Modelos 'CANCELA PREPOLIZA If Not ErrorCancelar Then - ErrorCancelar = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, ObjAC, -1, ObjBancos, ObjVentas, ObjEventos, DtRemisionesRelacionadas:=DtRemisionesRelacionadas, - SeCancelaRemisionProceso:=SeCancelaRemisionProceso, CancelarRemisiones:=CancelarRemisiones, ListaRemisionesCancelar:=ListaRemisionesCancelar) + ErrorCancelar = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, ObjAC, -1, ObjBancos, ObjVentas, ObjEventos, DtRemisionesRelacionadas:=DtRemisionesRelacionadas, SeCancelaRemisionProceso:=SeCancelaRemisionProceso, + CancelarRemisiones:=CancelarRemisiones, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusRefacturacion:=CveEstatusRefacturacion) MensajeError = "Ocurrió un error al generar la prepoliza de cancelación." End If @@ -4095,15 +4120,14 @@ Namespace Modelos Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" - If UsuarioActual.CveEmpresa = 119 AndAlso ObjFactura.TipoDocto = "Ant" Then + If UsuarioActual.CveEmpresa = 119 AndAlso ObjFactura.TipoDocto.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "NC") Then AutoConta = False End If If AutoConta And Not ErrorCancelar Then - Dim ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa) If IdCtaContable > 0 Then - If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaDev, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContPaq) Then + If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaDev, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then ErrorCancelar = True MensajeError = "Ocurrió un error al contabilizar la prepoliza." End If @@ -4111,7 +4135,6 @@ Namespace Modelos Alert(String.Format("No se puede contabilizar ya que falta asignación de las cuentas contables"), TipoMensaje.MsgAdvertencia) End If - ObjContPaq.Dispose() End If Else @@ -4241,17 +4264,16 @@ Namespace Modelos End If End If - Else - 'MARCA LA VENTA PARA REALIZAR LA DEVOLUCION POSTERIORMENTE - If Not ErrorCancelar Then - If RealizarDevolucionAlmacen AndAlso CveAlmacenDevolucion > 0 Then - If Not ObjVentas.UpdateVentaRealizarDevolucion(CveVenta, RealizarDevolucionAlmacen, CveAlmacenDevolucion) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al marcar la venta para devolución" - End If + End If + + 'MARCA LA VENTA PARA REALIZAR LA DEVOLUCION POSTERIORMENTE + If Not ErrorCancelar Then + If RealizarDevolucionAlmacen AndAlso CveAlmacenDevolucion > 0 Then + If Not ObjVentas.UpdateVentaRealizarDevolucion(CveVenta, RealizarDevolucionAlmacen, CveAlmacenDevolucion) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al marcar la venta para devolución" End If End If - End If 'ACTUALIZA ESTATUS @@ -4262,14 +4284,6 @@ Namespace Modelos Case "Com" CveEstatus = 9 End Select - '0 Sin Refacturacion, 1 Refacturacion en Proceso, 3. Refacturación en proceso sin aceptación - If EsRefacturacion Then - If CveEstatus = 5 Then - CveEstatusRefacturacion = 3 ' refacturación en proceso sin autorización de cancelación - Else - CveEstatusRefacturacion = 1 ' refacturación en proceso con autorización de cancelación - End If - End If If CveEstatus.Contiene(4, 5) Then If Not ObjVentas.UpdateCancelaVenta(CveVenta, CancelacionFecha, CancelacionAcuse, UsuarioActual.CveEmpresa, CvePACCancelacion) Then From 44dae0aebb8554bfe9b869af860b3c2f052938b0 Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Thu, 5 Sep 2019 14:07:58 -0700 Subject: [PATCH 3/5] =?UTF-8?q?Se=20agreg=C3=B3=20cat=C3=A1logo=20de=20Met?= =?UTF-8?q?as?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsCRM.vb | 73 ++++++++++ App_Code/ClsPaginas.vb | 1 + CRM/CatMetas.aspx | 294 +++++++++++++++++++++++++++++++++++++++++ CRM/CatMetas.aspx.vb | 169 +++++++++++++++++++++++ 4 files changed, 537 insertions(+) create mode 100644 CRM/CatMetas.aspx create mode 100644 CRM/CatMetas.aspx.vb diff --git a/App_Code/ClsCRM.vb b/App_Code/ClsCRM.vb index 841e0b7c3..64e9473e6 100644 --- a/App_Code/ClsCRM.vb +++ b/App_Code/ClsCRM.vb @@ -1087,4 +1087,77 @@ Public Class ClsCRM End Sub #End Region +#Region "METAS" + Public Function GetMetas(FechaI As DateTime, FechaF As DateTime, Estatus As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_CRM_MetasGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@FechaI", SqlDbType.DateTime).Value = FechaI + .Add("@FechaF", SqlDbType.DateTime).Value = FechaF + .Add("@Estatus", SqlDbType.Int).Value = Estatus + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener las Metas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + Public Function AddMetas(CveVendedor As Integer, FechaI As DateTime, FechaF As DateTime, NumMeta As Integer, Importe As Decimal, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_CRM_MetasAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@FechaI", SqlDbType.DateTime).Value = FechaI + .Add("@FechaF", SqlDbType.DateTime).Value = FechaF + .Add("@NumMeta", SqlDbType.Int).Value = NumMeta + .Add("@Importe", SqlDbType.Money).Value = Importe + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar la Meta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + Public Function UpdateMetas(CveMeta As Integer, CveVendedor As Integer, FechaI As DateTime, FechaF As DateTime, NumMeta As Integer, Importe As Decimal, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_CRM_MetasUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveMeta", SqlDbType.Int).Value = CveMeta + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@FechaI", SqlDbType.DateTime).Value = FechaI + .Add("@FechaF", SqlDbType.DateTime).Value = FechaF + .Add("@NumMeta", SqlDbType.Int).Value = NumMeta + .Add("@Importe", SqlDbType.Money).Value = Importe + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar la Meta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + Public Function RemoveMetas(CveMeta As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_CRM_MetasRemove") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveMeta", SqlDbType.Int).Value = CveMeta + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar la Meta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function +#End Region End Class diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index e498feb95..0fbf298e7 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -3904,6 +3904,7 @@ Public Class ClsPaginas PaginaDict.Add("/CRM/RepAcercamientosProcesos.aspx".ToUpper(), -1) PaginaDict.Add("/CRM/RepAcercamientosRechazos.aspx".ToUpper(), -1) PaginaDict.Add("/CRM/RepAcercamientosProcesosDetalle.aspx".ToUpper(), -1) + PaginaDict.Add("/CRM/CatMetas.aspx".ToUpper(), 684) #End Region #Region "CxC" diff --git a/CRM/CatMetas.aspx b/CRM/CatMetas.aspx new file mode 100644 index 000000000..17e2476e1 --- /dev/null +++ b/CRM/CatMetas.aspx @@ -0,0 +1,294 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatMetas.aspx.vb" Inherits="CRM_CatMetas" %> + + + + + + + + Catálogo de Metas + + + + + + +
  • + +
  • + +
    +
    +
    + + + + + +
    +
    +
    + + +
    +
    +
    + +
    +
    + + + + +
    + + + + + + +
    + +
    +
    + + + + +
    + + + + + + +
    + +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + +
    +
    + " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
    +
    + +
    + + + + + + + +   + + + + + +   + + + + +   + + + + + +   + + + + +   + + + + + + + + + + + + + + + + + + +
    + + +
    +
    + + +
    +
    + +
    + + + + diff --git a/CRM/CatMetas.aspx.vb b/CRM/CatMetas.aspx.vb new file mode 100644 index 000000000..6696eacc3 --- /dev/null +++ b/CRM/CatMetas.aspx.vb @@ -0,0 +1,169 @@ +Imports System.Data +Imports Extensiones + + +Partial Class CRM_CatMetas + Inherits ClsPaginas + + Private Property CveMeta As Integer + Get + If Not ViewState("CveMeta") Is Nothing Then + Return ViewState("CveMeta").ToString.ToEntero + Else + Return -1 + End If + + End Get + Set(value As Integer) + ViewState("CveMeta") = value + End Set + + End Property + + Private Property Actualizar As Boolean + Get + If Not ViewState("Actualizar") Is Nothing Then + Return DirectCast(ViewState("Actualizar"), Boolean) + Else + Return False + End If + End Get + Set(value As Boolean) + ViewState("Actualizar") = value + End Set + End Property + + Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load + + If Not Page.IsPostBack Then + txtFechaIF.Text = Now.ToShortDateString + txtFechaFF.Text = Now.Day.ToString + "/" + (Now.Month + 1).ToString + "/" + Now.Year.ToString + CargadatosGvMeta() + End If + + End Sub + + Private Sub CargadatosGvMeta() + + Dim ObjCRM As New ClsCRM + + If ObjCRM.GetMetas(txtFechaIF.Text.ToDateTime, txtFechaFF.Text.ToDateTime, DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + GvMeta.DataSource = ObjCRM.DtResultados + Else + GvMeta.DataSource = Nothing + End If + + ObjCRM.Dispose() + + UPGvMeta.DataBind() + UpGral.Update() + + End Sub + + Protected Sub BtnAgregarMeta_Click(sender As Object, e As EventArgs) Handles BtnAgregarMeta.Click + LtlTituloModalMeta.Text = "Agregar Meta" + BtnAgregarMetaModal.Text = "Agregar" + + CargaVendedores() + txtFechaI.Text = Now.ToShortDateString + txtFechaF.Text = (Now.Day + 1).ToString + "/" + Now.Month.ToString + "/" + Now.Year.ToString + + Actualizar = False + UpGral.Update() + RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarMeta")) + + End Sub + + Private Sub CargaVendedores() + DdlVendedor.Items.Clear() + DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, 1) + DdlVendedor.DataBind() + DdlVendedor.Items.Insert(0, New ListItem("Seleccione", "-1")) + End Sub + + Protected Sub BtnAgregarMetaModal_Click(sender As Object, e As EventArgs) Handles BtnAgregarMetaModal.Click + + Dim ObjCRM As New ClsCRM + + If Not Actualizar Then + If ObjCRM.AddMetas(DdlVendedor.SelectedValue.ToEntero, txtFechaI.Text.ToDateTime, txtFechaF.Text.ToDateTime, TxtNumMeta.Text.ToEntero, TxtImporte.Text.ToDecimal, UsuarioActual.CveEmpresa) Then + + CargadatosGvMeta() + RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarMeta"), "jsHideModalMeta") + Alert("Meta Agregada Correctamente", TipoMensaje.MsgInformacion) + Else + Alert("Ocurrió un error al guardar la Meta", TipoMensaje.MsgError) + End If + Else + If ObjCRM.UpdateMetas(CveMeta, DdlVendedor.SelectedValue.ToEntero, txtFechaI.Text.ToDateTime, txtFechaF.Text.ToDateTime, TxtNumMeta.Text.ToEntero, TxtImporte.Text.ToDecimal, UsuarioActual.CveEmpresa) Then + + CargadatosGvMeta() + RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarMeta"), "jsHideModalMeta") + Alert("Meta Actualizada Correctamente", TipoMensaje.MsgInformacion) + Else + Alert("Ocurrió un error al Actualizar la Meta", TipoMensaje.MsgError) + End If + End If + + CveMeta = -1 + Actualizar = False + + ObjCRM.Dispose() + + End Sub + + Public Sub Remove_ClickMeta(sender As Object, e As EventArgs) + + Dim ObjCRM As New ClsCRM + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + CveMeta = GvRow.DataKey("CveMeta") + + If ObjCRM.RemoveMetas(CveMeta, UsuarioActual.CveEmpresa) Then + CargadatosGvMeta() + + Alert("Meta eliminada Correctamente ", TipoMensaje.MsgInformacion) + Else + Alert("Ocurrió un error al Eliminar la Meta", TipoMensaje.MsgError) + End If + + ObjCRM.Dispose() + + CargadatosGvMeta() + + CveMeta = -1 + + End Sub + + Public Sub Edit_ClickMeta(sender As Object, e As EventArgs) + + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + + LtlTituloModalMeta.Text = "Editar Meta" + BtnAgregarMetaModal.Text = "Actualizar" + Actualizar = True + + CveMeta = GvRow.DataKey("CveMeta") + + + DdlVendedor.Items.Clear() + DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, 1) + DdlVendedor.DataBind() + DdlVendedor.SelectedValueExist(GvRow.DataKey("CveVendedor").ToEntero) + + txtFechaI.Text = GvRow.DataKey("FechaI") + txtFechaF.Text = GvRow.DataKey("FechaF") + + TxtNumMeta.Text = GvRow.DataKey("NumMeta").ToEntero + + TxtImporte.Text = GvRow.DataKey("Importe").ToDecimal.ToString("###,###,###.00") + + UpModalMeta.Update() + + RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarMeta")) + + End Sub + + Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) + CargadatosGvMeta() + End Sub +End Class From af10cca9f8cbda9c3890b51dc9edefa46394bdf3 Mon Sep 17 00:00:00 2001 From: Rene Molina Date: Thu, 5 Sep 2019 16:10:51 -0700 Subject: [PATCH 4/5] concepto 13,29 cargados negativos --- Inventarios/EntradasSalidas.aspx.vb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 06016b375..79d454b1f 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1530,6 +1530,8 @@ Partial Class Inventarios_EntradasSalidas End If Case 13, 29 CveConceptoContable = 69 + TipoMovtoAlmacen = False + tValorInventario = -tValorInventario Dim drr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimero("") If drr IsNot Nothing Then CveClasificacion = drr("CveClasificacion").ToString.ToEntero From 1beb321ce2029f49978b0f984022a19f9e2a2c7b Mon Sep 17 00:00:00 2001 From: Rene Molina Date: Thu, 5 Sep 2019 17:19:21 -0700 Subject: [PATCH 5/5] cambios --- Compras/Compras.aspx.vb | 1 + Inventarios/EntradasSalidas.aspx.vb | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 64ff4233c..fd069c6b0 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1409,6 +1409,7 @@ Partial Class Compras_Compras ChkAplicaNotaCredito.Enabled = False RBLPago.Enabled = False BtnGuardar.Enabled = False + BtnGuardar.ToolTip = "Obliga a seleccionar una Orden de compra para su registro." End If diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 79d454b1f..a48a53404 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1498,9 +1498,11 @@ Partial Class Inventarios_EntradasSalidas 'Registro la prepóliza If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then Dim tValorInventario As Decimal = ObjInventario.DtResultados.SUM("Total", "").ToDecimal.RoundSQL() + Dim tValorOtro As Decimal = tValorInventario Dim idCtaContable As Integer = 0 Dim IdCtaContableOtro As Integer = UsuarioActual.Empresa.IdCuentaOtrosIngresos Dim TipoMovtoAlmacen As Boolean = False + Dim TipoMovtoOtro As Boolean = True Dim tCveSubProyecto As Integer = -1 Dim drA2 As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", DdlAlmacen.SelectedValue)) @@ -1530,8 +1532,8 @@ Partial Class Inventarios_EntradasSalidas End If Case 13, 29 CveConceptoContable = 69 - TipoMovtoAlmacen = False - tValorInventario = -tValorInventario + TipoMovtoOtro = True + tValorOtro = -tValorOtro Dim drr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimero("") If drr IsNot Nothing Then CveClasificacion = drr("CveClasificacion").ToString.ToEntero @@ -1558,7 +1560,7 @@ Partial Class Inventarios_EntradasSalidas ' End If 'Next 'Case Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovtoAlmacen, tValorInventario, TxtObservaciones.Text.Trim, CveConceptoContable, TxtObservaciones.Text.Trim, TxtFecha.Text.ToDate, IdCtaContableOtro, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=tValorInventario, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=CveClasificacion) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOtro, tValorOtro, TxtObservaciones.Text.Trim, CveConceptoContable, TxtObservaciones.Text.Trim, TxtFecha.Text.ToDate, IdCtaContableOtro, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=tValorOtro, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=CveClasificacion) Then ErrorMovInv = True End If 'End Select