Correción en generacion de PDF en otro hilo

This commit is contained in:
2022-06-22 18:29:09 -07:00
parent d3c9834184
commit 22b672372a
2 changed files with 4638 additions and 4594 deletions

View File

@@ -4164,6 +4164,18 @@
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt> <Prompt>ReportParameter1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="CFDIVersion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="RegimenFiscalCodigo">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters> </ReportParameters>
<EmbeddedImages> <EmbeddedImages>
<EmbeddedImage Name="Logo"> <EmbeddedImage Name="Logo">

View File

@@ -9357,46 +9357,58 @@ Partial Class Ventas
idCuentaContabilizacion = 10 idCuentaContabilizacion = 10
End If End If
If AutoConta Then Try
If idCuentaContabilizacion > 0 Then If AutoConta Then
If ObjConta.ContabilizarPrePoliza(ObjFactura.CvePrePoliza, ObjFactura.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContPaq) Then If idCuentaContabilizacion > 0 Then
If ObjContPaq IsNot Nothing Then ObjContPaq.Commit() If ObjConta.ContabilizarPrePoliza(ObjFactura.CvePrePoliza, ObjFactura.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContPaq) Then
If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
Else
Alert("Ocurrió un Error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
End If
Else Else
Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError) Alert(String.Format("Falta asignación de las siguientes cuentas contables: {0}", CuentasContablesInvalidas), TipoMensaje.MsgAdvertencia)
If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
End If End If
Else Else
Alert(String.Format("Falta asignación de las siguientes cuentas contables: {0}", CuentasContablesInvalidas), TipoMensaje.MsgAdvertencia) If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC Then
If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
End If
End If End If
Catch ex As Exception
OnError("Ocurrió un error al contabilizar la factura", ex)
End Try
Else
If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC Then
If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
End If
End If
'RMF, cuando es pedido, se manda autorización. Try
If ObjFactura.TipoDocto.Contiene("PA") Then 'RMF, cuando es pedido, se manda autorización.
If ObjFactura.TipoDocto.Contiene("PA") Then
Dim Titulo As String = "Solicitud de autorización" 'usuarios de crédito y cobranza Dim Titulo As String = "Solicitud de autorización" 'usuarios de crédito y cobranza
Dim Msg As String = String.Format("{0} - Folio {1} ", DdlSubProyectoDatos.SelectedItem.Text, TxtFolio.Text) Dim Msg As String = String.Format("{0} - Folio {1} ", DdlSubProyectoDatos.SelectedItem.Text, TxtFolio.Text)
If UsuarioActual.CveEmpresa = 119 Then If UsuarioActual.CveEmpresa = 119 Then
ClsSisNotificaciones.SendNotificacionERP(1715, Titulo, Msg, 1) ClsSisNotificaciones.SendNotificacionERP(1715, Titulo, Msg, 1)
ClsSisNotificaciones.SendNotificacionERP(1815, Titulo, Msg, 1) ClsSisNotificaciones.SendNotificacionERP(1815, Titulo, Msg, 1)
ClsSisNotificaciones.SendNotificacionERP(1830, Titulo, Msg, 1) ClsSisNotificaciones.SendNotificacionERP(1830, Titulo, Msg, 1)
End If End If
End If
ViewState("CveVenta") = ObjFactura.CveVenta
If Request("CveEmbarqueManifiesto") IsNot Nothing AndAlso IsNumeric(Request("CveEmbarqueManifiesto")) AndAlso Request("CveEmbarqueManifiesto").ToEntero() > 0 Then
If ObjVentas.Embarque_ManifiestoUpvta(ObjFactura.CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Request("CveEmbarqueManifiesto").ToEntero()) Then
End If End If
End If Catch ex As Exception
GVAnticipos.DataBind() OnError("Ocurrió un error al mandar las notificaciones de autorización", ex)
End Try
Try
ViewState("CveVenta") = ObjFactura.CveVenta
If Request("CveEmbarqueManifiesto") IsNot Nothing AndAlso IsNumeric(Request("CveEmbarqueManifiesto")) AndAlso Request("CveEmbarqueManifiesto").ToEntero() > 0 Then
If ObjVentas.Embarque_ManifiestoUpvta(ObjFactura.CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Request("CveEmbarqueManifiesto").ToEntero()) Then
End If
End If
Catch ex As Exception
OnError("Ocurrió un error al actualizar el embarque", ex)
End Try
Try Try
Dim DirectoriArchivoXML As String = String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto) ' System.IO.Path.Combine() Dim DirectoriArchivoXML As String = String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto) ' System.IO.Path.Combine()
@@ -9404,7 +9416,7 @@ Partial Class Ventas
Directory.CreateDirectory(DirectoriArchivoXML) Directory.CreateDirectory(DirectoriArchivoXML)
End If End If
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió un error al generar el directorio de xml", ex)
End Try End Try
@@ -9442,31 +9454,35 @@ Partial Class Ventas
Dim TmpDT7Eleven As New DataTable Dim TmpDT7Eleven As New DataTable
Dim TmpDTComplementosTimbrado As New DataTable Dim TmpDTComplementosTimbrado As New DataTable
If AplicaFEMSA Then
PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
End If
If ChkEmitirCartaPorte.Checked AndAlso CveTimbreCartaPorte > 0 Then
Dim RespCartaPorte = Timbres.PreParaCartaPorteFactura(CveTimbreCartaPorte, UsuarioActual)
If Not RespCartaPorte.TieneError Then
ObjFactura.Timbre.Complementos.CartaPorte = RespCartaPorte.CartaPorte
Else
DebeTimbrar = False
Alert(RespCartaPorte.Mensaje, TipoMensaje.MsgAdvertencia)
End If
End If
Dim ObjTimbrado As New Timbrado Dim ObjTimbrado As New Timbrado
If DebeTimbrar Then Try
SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) If AplicaFEMSA Then
End If PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
End If
If ChkEmitirCartaPorte.Checked AndAlso CveTimbreCartaPorte > 0 Then
Dim RespCartaPorte = Timbres.PreParaCartaPorteFactura(CveTimbreCartaPorte, UsuarioActual)
If Not RespCartaPorte.TieneError Then
ObjFactura.Timbre.Complementos.CartaPorte = RespCartaPorte.CartaPorte
Else
DebeTimbrar = False
Alert(RespCartaPorte.Mensaje, TipoMensaje.MsgAdvertencia)
End If
End If
If DebeTimbrar Then
SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura)
End If
Catch ex As Exception
OnError("Ocurrió un error al generar el timbrado", ex)
End Try
Dim FolioFiscalFactura As String = ObjTimbrado.UUID Dim FolioFiscalFactura As String = ObjTimbrado.UUID
Dim MsgErrorTimbrado = ObjTimbrado.MensajeErrorCFDI Dim MsgErrorTimbrado = ObjTimbrado.MensajeErrorCFDI
ObjTimbrado = Nothing ObjTimbrado = Nothing
'NOTA DE CREDITO - REFACTURADA - CASO ESPECIAL, TIMBRADO E IMPRESION 'NOTA DE CREDITO - REFACTURADA - CASO ESPECIAL, TIMBRADO E IMPRESION
If DebeTimbrar AndAlso SeTimbro AndAlso ListaNotasCreditoGeneradas.Count > 0 Then If DebeTimbrar AndAlso SeTimbro AndAlso ListaNotasCreditoGeneradas IsNot Nothing AndAlso ListaNotasCreditoGeneradas.Count > 0 Then
Try Try
For Each NCGenerada In ListaNotasCreditoGeneradas For Each NCGenerada In ListaNotasCreditoGeneradas
If NCGenerada.Timbre IsNot Nothing Then If NCGenerada.Timbre IsNot Nothing Then
@@ -9497,45 +9513,55 @@ Partial Class Ventas
End If End If
'CANCELAR FACTURA ANTERIOR 'CANCELAR FACTURA ANTERIOR
If SeTimbro AndAlso (Me.CveDevolucion > 0 AndAlso Me.NuevaFactura = 1) Then Try
If Me.ObjFacturaNC IsNot Nothing AndAlso Me.ObjFacturaNC.CveEstatusFactura <> 5 Then If SeTimbro AndAlso (Me.CveDevolucion > 0 AndAlso Me.NuevaFactura = 1) Then
Me.ObjFacturaNC.CveEstatusRefacturacion = 2 'MARCAR COMO REFACTURADA If Me.ObjFacturaNC IsNot Nothing AndAlso Me.ObjFacturaNC.CveEstatusFactura <> 5 Then
MsgCancelacionRefacturacion = Me.ObjFacturaNC.CancelarPorRefacturacion(Me.ObjFacturaNC.CveMotivoCancelacion, Me.ObjFacturaNC.MotivoCancelacion, FolioFiscalFactura) Me.ObjFacturaNC.CveEstatusRefacturacion = 2 'MARCAR COMO REFACTURADA
MsgCancelacionRefacturacion = Me.ObjFacturaNC.CancelarPorRefacturacion(Me.ObjFacturaNC.CveMotivoCancelacion, Me.ObjFacturaNC.MotivoCancelacion, FolioFiscalFactura)
End If
End If End If
End If Catch ex As Exception
OnError("Ocurrió un error al cancelar la factura anterior.", ex)
End Try
End If End If
End If End If
End If End If
'VERIFICAR 100% AVANCE A IMPORTE Y CANTIDAD 'VERIFICAR 100% AVANCE A IMPORTE Y CANTIDAD
If ObjFactura.TipoDocto.Contiene("Ing", "Ant") AndAlso CveContrato > 0 Then Try
If ObjContr.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Then If ObjFactura.TipoDocto.Contiene("Ing", "Ant") AndAlso CveContrato > 0 Then
If ObjContr.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Then
If ObjContr.DtResultados.Rows.Count > 0 Then If ObjContr.DtResultados.Rows.Count > 0 Then
'SI ES FLEXIBLE QUE NOTIFIQUE EL MONTO MAXIMO, SI NO LO ES QUE NOTIFIQUE EL PORCENTAJE ALCANZADO... FLEXIBLE = 2, NO FLEXIBLE = 1 'SI ES FLEXIBLE QUE NOTIFIQUE EL MONTO MAXIMO, SI NO LO ES QUE NOTIFIQUE EL PORCENTAJE ALCANZADO... FLEXIBLE = 2, NO FLEXIBLE = 1
If ObjContr.DtResultados.Rows(0)("ModalidadDetalle").ToString() = "1" Then If ObjContr.DtResultados.Rows(0)("ModalidadDetalle").ToString() = "1" Then
Dim PorcentajeAvance As Double = ObjContr.DtResultados.Rows(0)("ContratoAvance").ToString().ToDouble Dim PorcentajeAvance As Double = ObjContr.DtResultados.Rows(0)("ContratoAvance").ToString().ToDouble
If PorcentajeAvance >= 100 Then If PorcentajeAvance >= 100 Then
EnviarNotificacionAvance(ObjContr.DtResultados.Rows(0)("NumeroContrato").ToString(), ObjContr.DtResultados.Rows(0)("DescripcionContrato").ToString(), ObjContr.DtResultados.Rows(0)("ContratoTipo").ToString(), ObjContr.DtResultados.Rows(0)("NombreComercial").ToString(), ObjContr.DtResultados.Rows(0)("CorreoVendedor").ToString()) EnviarNotificacionAvance(ObjContr.DtResultados.Rows(0)("NumeroContrato").ToString(), ObjContr.DtResultados.Rows(0)("DescripcionContrato").ToString(), ObjContr.DtResultados.Rows(0)("ContratoTipo").ToString(), ObjContr.DtResultados.Rows(0)("NombreComercial").ToString(), ObjContr.DtResultados.Rows(0)("CorreoVendedor").ToString())
End If
Else
Dim MontoMaximo As Double = ObjContr.DtResultados.Rows(0)("ImporteMax").ToString().ToDouble
Dim Avance As Double = ObjContr.DtResultados.Rows(0)("Avance").ToString().ToDouble
Dim PorcentajeAvance As Double = (Avance / MontoMaximo) * 100
If PorcentajeAvance >= 100 And MontoMaximo > 0 Then
EnviarNotificacionAvance(ObjContr.DtResultados.Rows(0)("NumeroContrato").ToString(), ObjContr.DtResultados.Rows(0)("DescripcionContrato").ToString(), ObjContr.DtResultados.Rows(0)("ContratoTipo").ToString(), ObjContr.DtResultados.Rows(0)("NombreComercial").ToString(), ObjContr.DtResultados.Rows(0)("CorreoVendedor").ToString(), MontoMaximo)
End If
End If End If
Else
Dim MontoMaximo As Double = ObjContr.DtResultados.Rows(0)("ImporteMax").ToString().ToDouble
Dim Avance As Double = ObjContr.DtResultados.Rows(0)("Avance").ToString().ToDouble
Dim PorcentajeAvance As Double = (Avance / MontoMaximo) * 100
If PorcentajeAvance >= 100 And MontoMaximo > 0 Then
EnviarNotificacionAvance(ObjContr.DtResultados.Rows(0)("NumeroContrato").ToString(), ObjContr.DtResultados.Rows(0)("DescripcionContrato").ToString(), ObjContr.DtResultados.Rows(0)("ContratoTipo").ToString(), ObjContr.DtResultados.Rows(0)("NombreComercial").ToString(), ObjContr.DtResultados.Rows(0)("CorreoVendedor").ToString(), MontoMaximo)
End If
End If End If
End If End If
End If End If
End If Catch ex As Exception
OnError("Ocurrió un error al notificar el avance.", ex)
End Try
'MENSAJE PRINCIPAL 'MENSAJE PRINCIPAL
MensajeAlert.AppendFormat(String.Format("<br/>La {0}: <b>{1}</b> se generó correctamente.<br/><br/>", ObjFactura.TipoDocumento, ObjFactura.SerieFolio)) MensajeAlert.AppendFormat(String.Format("<br/>La {0}: <b>{1}</b> se generó correctamente.<br/><br/>", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
@@ -9551,7 +9577,8 @@ Partial Class Ventas
Try Try
'MANDA CORREO 'MANDA CORREO
Dim strURLHOST = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port) Dim strURLHOST = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port)
Dim Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, CveVenta, UsuarioActual, strURLHOST)) Dim Factura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
Dim Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, Factura, UsuarioActual, strURLHOST))
Hilo.Start() Hilo.Start()
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió un error al enviar el PDF", ex) OnError("Ocurrió un error al enviar el PDF", ex)
@@ -9568,7 +9595,7 @@ Partial Class Ventas
Dim ArchivoEgs As New System.IO.FileInfo(String.Format("{0}Formatos/NotaCredito.rdlc", UsuarioActual.Empresa.Ruta)) Dim ArchivoEgs As New System.IO.FileInfo(String.Format("{0}Formatos/NotaCredito.rdlc", UsuarioActual.Empresa.Ruta))
If ArchivoIng.Exists Or ArchivoRem.Exists Or ArchivoIngPyMe.Exists Or ArchivoEgs.Exists Then If ArchivoIng.Exists Or ArchivoRem.Exists Or ArchivoIngPyMe.Exists Or ArchivoEgs.Exists Then
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", CveVenta))) MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta)))
Else Else
MensajeAlert.Append("Ocurrió un error al generar el PDF. Por favor vuelva a entrar a la factura para imprimir el PDF. ") MensajeAlert.Append("Ocurrió un error al generar el PDF. Por favor vuelva a entrar a la factura para imprimir el PDF. ")
End If End If
@@ -9596,7 +9623,7 @@ Partial Class Ventas
'AUTO DESCARGAR PDF 'AUTO DESCARGAR PDF
If UsuarioActual.CveEmpresa.Contiene(72, 1) Then If UsuarioActual.CveEmpresa.Contiene(72) Then
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") Then If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") Then
RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", CveVenta))}'", "Imprimir") RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", CveVenta))}'", "Imprimir")
End If End If
@@ -9700,11 +9727,16 @@ Partial Class Ventas
MensajeAlert.Clear() MensajeAlert.Clear()
'LIMPIA CONDICIONES DE PAGO - CONTADO Try
RBLPago.SelectedValue = "1" 'LIMPIA CONDICIONES DE PAGO - CONTADO
LimpiaEscondeContado() RBLPago.SelectedValue = "1"
BtnEmitirImprimir.Visible = False LimpiaEscondeContado()
ObjFactura = Nothing BtnEmitirImprimir.Visible = False
ObjFactura = Nothing
Catch ex As Exception
OnError("Ocurrió un error al limpiar los datos", ex)
End Try
Else Else
ObjVentas.RollBack() ObjVentas.RollBack()
@@ -15041,19 +15073,14 @@ Partial Class Ventas
#End Region #End Region
#Region "¡ P D F R E P O R T V I E W E R !" #Region "¡ P D F R E P O R T V I E W E R !"
Private Sub GeneraPDFFactura(EnviaCorreo As Boolean, CveVenta As Integer, UsuarioActual As Usuario, strURLHOST As String) Private Sub GeneraPDFFactura(EnviaCorreo As Boolean, Factura As Modelos.Factura, UsuarioActual As Usuario, strURLHOST As String)
'GUARDA PDF 'GUARDA PDF
Dim LocalSerieFolio As String = String.Empty Dim LocalSerieFolio As String = String.Empty
Dim LocalTipoDocto As String = String.Empty Dim LocalTipoDocto As String = String.Empty
Dim Factura As Modelos.Factura
'TIMBRADO NUEVO 'TIMBRADO NUEVO
Try Try
Dim ObjetoPDF As Byte() = DescargarFactura(CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Regenerar:=True, strURLHOST:=strURLHOST) DescargarFactura(Factura.CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Regenerar:=True, strURLHOST:=strURLHOST)
If ObjetoPDF Is Nothing OrElse ObjetoPDF.Length = 0 Then
PdfFactura(ObjFactura, AplicaPagare:=If(ObjFactura.TipoDocto.Contiene("Ing", "Rem", "Ant"), "1", "0"))
End If
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió un error al generar el PDF", ex) OnError("Ocurrió un error al generar el PDF", ex)
End Try End Try
@@ -15061,7 +15088,6 @@ Partial Class Ventas
Dim ErrorCorreo As Boolean = False Dim ErrorCorreo As Boolean = False
If EnviaCorreo Then If EnviaCorreo Then
Factura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
If Factura IsNot Nothing Then If Factura IsNot Nothing Then
'MANDA CORREO 'MANDA CORREO
If EnviaCorreo Then If EnviaCorreo Then
@@ -16406,7 +16432,8 @@ Partial Class Ventas
Try Try
'MANDA CORREO 'MANDA CORREO
Dim strURLHOST = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port) Dim strURLHOST = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port)
Dim Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, CveVenta, UsuarioActual, strURLHOST)) Dim Factura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
Dim Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, Factura, UsuarioActual, strURLHOST))
Hilo.Start() Hilo.Start()
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió un error al enviar el PDF", ex) OnError("Ocurrió un error al enviar el PDF", ex)
@@ -25484,37 +25511,42 @@ Partial Class Ventas
'1 = TODO FINO '1 = TODO FINO
'2 = ERROR '2 = ERROR
'3 = SIN CELULAR - PROBLEMA CON EL CELULAR '3 = SIN CELULAR - PROBLEMA CON EL CELULAR
Dim Mensaje = UsuarioActual.Empresa.Funcionalidad(152)
If Mensaje = "" Then Return 0
Dim Celular As String = ""
Try Try
Celular = ObjFactura.Cliente.CobranzaTelefono Dim Mensaje = UsuarioActual.Empresa.Funcionalidad(152)
Catch ex As Exception If Mensaje = "" Then Return 0
Dim Celular As String = ""
Try
Celular = ObjFactura.Cliente.CobranzaTelefono
Catch ex As Exception
End Try
If Celular.Length <> 10 Then Return 3
'ARMA MENSAJE
'4: VSH Monitoreo aviso de: Factura pendiente {SerieFolio} del {Fecha} por ${Importe} fecha limite de pago {FechaPago} Bancomer 0171426931-{ClienteNombreCorto}
Mensaje = Mensaje.Replace("{SerieFolio}", ObjFactura.SerieFolio)
Mensaje = Mensaje.Replace("{Fecha}", ObjFactura.Fecha.ToString("dd-MMM-yyyy").Replace(".", ""))
Mensaje = Mensaje.Replace("{Importe}", ObjFactura.Total.FormatoNumero)
Mensaje = Mensaje.Replace("{FechaPago}", ObjFactura.FechaPago.ToString("dd-MMM-yyyy").Replace(".", ""))
Mensaje = Mensaje.Replace("{ClienteNombreCorto}", ObjFactura.Cliente.NombreCorto)
If Mensaje = "" Then Return 2
Dim ObjMensaje As New ClsTecnoMovil
If ObjMensaje.EnviarMensajeWS(Celular, Mensaje) Then
If ObjEventos.AddEventoBitacora($"Notificación al cliente via SMS. Mensaje: {Mensaje}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=ObjFactura.CveCliente, CveVenta:=ObjFactura.CveVenta) Then
End If
Return 1
Else
Return 2
End If
Catch ex As Exception
OnError("Ocurrió un error al generar el SMS", ex)
Return 0
End Try End Try
If Celular.Length <> 10 Then Return 3
'ARMA MENSAJE
'4: VSH Monitoreo aviso de: Factura pendiente {SerieFolio} del {Fecha} por ${Importe} fecha limite de pago {FechaPago} Bancomer 0171426931-{ClienteNombreCorto}
Mensaje = Mensaje.Replace("{SerieFolio}", ObjFactura.SerieFolio)
Mensaje = Mensaje.Replace("{Fecha}", ObjFactura.Fecha.ToString("dd-MMM-yyyy").Replace(".", ""))
Mensaje = Mensaje.Replace("{Importe}", ObjFactura.Total.FormatoNumero)
Mensaje = Mensaje.Replace("{FechaPago}", ObjFactura.FechaPago.ToString("dd-MMM-yyyy").Replace(".", ""))
Mensaje = Mensaje.Replace("{ClienteNombreCorto}", ObjFactura.Cliente.NombreCorto)
If Mensaje = "" Then Return 2
Dim ObjMensaje As New ClsTecnoMovil
If ObjMensaje.EnviarMensajeWS(Celular, Mensaje) Then
If ObjEventos.AddEventoBitacora($"Notificación al cliente via SMS. Mensaje: {Mensaje}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=ObjFactura.CveCliente, CveVenta:=ObjFactura.CveVenta) Then
End If
Return 1
Else
Return 2
End If
End Function End Function
#End Region #End Region