diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index f242730dd..1b88ed2c4 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3574,21 +3574,6 @@ Namespace Modelos End If Next - If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - ErrorPrepoliza = True - GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas") - - 'SIRVE PARA VER LA PREPOLIZA QUE SE VALIDA - 'If ObjConta.GetPrePolizasDetalle(ObjFactura.CvePrePoliza) Then - ' Dim DtTest = ObjConta.DtResultados - 'End If - End If - - importeMovimiento = 0 - importeMX = 0 - End If - If ErrorPrepoliza Then Exit For End If @@ -3651,15 +3636,12 @@ Namespace Modelos End If End If - If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - ErrorPrepoliza = True - GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{ObjFactura.CvePrePoliza}", "LogPrePolizas") - End If - End If - End If End If + + importeMovimiento = 0 + importeMX = 0 + End If End If diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index cdfff5558..19b3bbb23 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -352,7 +352,7 @@ Public Class Timbrado Dim UsuarioServicio As String = If(CvePACCancelacion = 2, Empresa.RFC, "rene.molina@adsistemas.mx") Dim ClaveServicio As String = If(CvePACCancelacion = 2, Empresa.RFC.ToLower, "rene2018") Dim Clave As String = Empresa.ContraseñaKey - Dim UrlServicio As String = "https://servicios.gofac.com.mx/cancelacion.asmx" ' Produccion + Dim UrlServicio As String = "https://cfdi.gofac.com.mx/timbrado.asmx" ' Produccion If Not Empresa.FacturaProduccion Then ArchivoLLave = $"{Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.key" @@ -360,6 +360,7 @@ Public Class Timbrado UsuarioServicio = "UserTest" ClaveServicio = "1234567890" + UrlServicio = "https://servicios.gofac.com.mx/cancelacion.asmx" ' Produccion End If #Region "Valida" If Not File.Exists(ArchivoCertificado) Then @@ -2877,7 +2878,7 @@ concep.DescripcionesEspecificas.NumeroSerie) Dim TimbraProduccion As Boolean = True If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo) - UrlServicio = "https://pruebas.gofac.com.mx/timbrado.asmx?WSDL" + UrlServicio = "https://cfdi.gofac.com.mx/timbrado.asmx?WSDL" If Not ClsPaginas.EsProduccion AndAlso (Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1) Then EmisorRFC = "EKU9003173C9" @@ -2897,6 +2898,8 @@ concep.DescripcionesEspecificas.NumeroSerie) UsuarioServicio = "UserTest" ClaveServicio = "1234567890" UsuarioActual.Empresa.CodigoRegimenFiscal = "601" + + UrlServicio = "https://pruebas.gofac.com.mx/timbrado.asmx?WSDL" End If #Region "Valida" diff --git a/Empresas/189/Formatos/Factura.mrt b/Empresas/189/Formatos/Factura.mrt index 1b3733a19..c576c96ae 100644 --- a/Empresas/189/Formatos/Factura.mrt +++ b/Empresas/189/Formatos/Factura.mrt @@ -593,7 +593,7 @@ iigAooooAKKKKAP/2Q== True Transparent True - 0.12,2.4,9.62,2.28 + 0.12,2.4,9.62,2.48 Myriad Pro,9,Regular,Point,False,0 @@ -601,8 +601,8 @@ iigAooooAKKKKAP/2Q== Textbox20 - <div><b>Facturado a:&nbsp;</b></div><div><b>Cliente: </b>{ClienteCodigo} - {ClienteNombre}&nbsp;</div><div><b>RFC:</b> {ClienteRFC} -<b>Colonia: </b> {ClienteColonia}&nbsp;</div><div><b>Ciudad: </b>{ClienteCiudad} <b>Estado: </b> {ClienteEstado}</div><div><b>Municipio y/o Delegación: </b>{ClienteMunicipio}&nbsp;</div><div><b>Pais:</b> {ClientePais} <b> CP: </b>{ClienteCP}</div> + <div><font size="8"><b>Facturado a:&nbsp;</b></font></div><div><font size="8"><b>Cliente: </b>{ClienteCodigo} - {ClienteNombre}&nbsp;</font></div><div><font size="8"><b>RFC:</b> {ClienteRFC} +<b>Colonia: </b> {ClienteColonia}&nbsp;</font></div><div><font size="8"><b>Ciudad: </b>{ClienteCiudad} <b>Estado: </b> {ClienteEstado}</font></div><div><font size="8"><b>Municipio y/o Delegación: </b>{ClienteMunicipio}&nbsp;</font></div><div><font size="8"><b>Pais:</b> {ClientePais} <b> CP: </b>{ClienteCP}</font></div><div><font face="Myriad Pro" style="" size="8"><b>Régimen Fiscal:</b> {ClienteRegimenFiscal}</font></div> Black Wysiwyg Expression @@ -6326,8 +6326,8 @@ FUERO DE MI DOMICILIO. LA CANTIDAD DE $ {Total} SON: {(ImporteLetra)}. Factura 12/30/2024 5:44:19 PM 7/11/2022 2:49:19 PM - C:\inetpub\WWWSigGit\Empresas\189\Formatos\Factura.mrt - e8b162183e2340d1bbaad55d91fb8962 + Factura.mrt + e849bb4463e44732ae40e92228d31a35 Factura Centimeters 2022.4.5.0 diff --git a/Ventas/CatAutorizacionLimites.aspx.vb b/Ventas/CatAutorizacionLimites.aspx.vb index 1af186047..44e55bb52 100644 --- a/Ventas/CatAutorizacionLimites.aspx.vb +++ b/Ventas/CatAutorizacionLimites.aspx.vb @@ -37,6 +37,14 @@ Partial Class Ventas_CatAutorizacionLimites DdlCliente.setEsWebService(True) DdlClienteFiltro.setEsWebService(True) + If Request("CveCliente") IsNot Nothing AndAlso Request("CveCliente").ToString().ToEntero() > 0 Then + Dim CveCliente As Integer = Request("CveCliente").ToString().ToEntero() + Dim Cliente As String = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("NombreComercial") + + DdlClienteFiltro.SelectedValue = CveCliente.ToString() + DdlCliente.SelectedText = Cliente + End If + 'Dim EsWS = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False) 'If EsWS Then ' DdlCliente.setEsWebService(True) diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index dc24d778c..682877531 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -4908,8 +4908,8 @@ Partial Class Clientes If Not TieneError Then If IVA > 0 Then - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -IVA, -IVA, 13, "Traspaso de saldos de anticipos.IVA", "Traspaso de saldos de anticipos.IVA", CveCliente:=Gvr.DataKey("CveCliente").ToEntero(), CveIE:=Gvr.DataKey("CveIE").ToEntero(), PorcentajeImpuesto:=Gvr.DataKey("PorcentajeIVA").ToDecimal, Contabilizable:=False) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, IVA, 13, "Traspaso de saldos de anticipos. IVA", "Traspaso de saldos de anticipos.IVA", CveCliente:=CveCliente, CveIE:=Gvr.DataKey("CveIE").ToEntero(), PorcentajeImpuesto:=Gvr.DataKey("PorcentajeIVA").ToDecimal, Contabilizable:=False) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -IVA, -IVA, 13, "Traspaso de saldos de anticipos.IVA", "Traspaso de saldos de anticipos.IVA", CveCliente:=Gvr.DataKey("CveCliente").ToEntero(), CveIE:=Gvr.DataKey("CveIE").ToEntero(), PorcentajeImpuesto:=Gvr.DataKey("PorcentajeIVA").ToDecimal, CveVenta:=CveVenta, Contabilizable:=False) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, IVA, 13, "Traspaso de saldos de anticipos. IVA", "Traspaso de saldos de anticipos.IVA", CveCliente:=CveCliente, CveIE:=Gvr.DataKey("CveIE").ToEntero(), PorcentajeImpuesto:=Gvr.DataKey("PorcentajeIVA").ToDecimal, CveVenta:=CveVenta, Contabilizable:=False) Then TieneError = True End If Else diff --git a/Ventas/PVCobranza.aspx.vb b/Ventas/PVCobranza.aspx.vb index f4e24585b..4aa31d642 100644 --- a/Ventas/PVCobranza.aspx.vb +++ b/Ventas/PVCobranza.aspx.vb @@ -853,94 +853,108 @@ Partial Class Ventas_PVCobranza If MsgError = "" Then ObjVentas2.Commit() Dim msBuild As New StringBuilder() - Dim MsgTimbrado As String = "" - Dim DebeTimbrar As Boolean = True + Try - Dim SeTimbro As Boolean = False - Dim SeTimbroNC As Boolean = False + Dim MsgTimbrado As String = "" + + Dim DebeTimbrar As Boolean = True + + Dim SeTimbro As Boolean = False + Dim SeTimbroNC As Boolean = False + + 'SI SE GENERO FACTURA DE INGRESO, TIMBRARLA DESPUES DE REALIZAR EL PAGO + If DebeTimbrar AndAlso respFactura IsNot Nothing Then + Try + 'VERIFICA SI SE GENERO NC + If respNC IsNot Nothing Then + AjustarTimbre(respFactura.Factura, respNC.Factura) + MsgTimbrado = TimbrarFactura(respFactura.Factura, respNC.Factura, SeTimbro, SeTimbroNC) + Else + AjustarTimbre(respFactura.Factura, Nothing) + MsgTimbrado = TimbrarFactura(respFactura.Factura, Nothing, SeTimbro, SeTimbroNC) + End If + + If Not String.IsNullOrEmpty(MsgTimbrado) Then + Dim StrEr As String = $"
Comprobante no emitido :
{MsgTimbrado}
Por favor inténtelo de nuevo a través del botón 'Emitir' en ventas.
" + MsgTimbrado = StrEr + End If + Catch ex As Exception + GuardaLogAD(ex.ToString()) + msBuild.AppendFormat("
{0}
", MsgTimbrado) + End Try - 'SI SE GENERO FACTURA DE INGRESO, TIMBRARLA DESPUES DE REALIZAR EL PAGO - If DebeTimbrar AndAlso respFactura IsNot Nothing Then - 'VERIFICA SI SE GENERO NC - If respNC IsNot Nothing Then - AjustarTimbre(respFactura.Factura, respNC.Factura) - MsgTimbrado = TimbrarFactura(respFactura.Factura, respNC.Factura, SeTimbro, SeTimbroNC) - Else - AjustarTimbre(respFactura.Factura, Nothing) - MsgTimbrado = TimbrarFactura(respFactura.Factura, Nothing, SeTimbro, SeTimbroNC) End If - If Not String.IsNullOrEmpty(MsgTimbrado) Then - Dim StrEr As String = $"
Comprobante no emitido :
{MsgTimbrado}
Por favor inténtelo de nuevo a través del botón 'Emitir' en ventas.
" - MsgTimbrado = StrEr - End If + If respFactura IsNot Nothing Then + If RegistrarPago Then + msBuild.Append("Pago Registrado correctamente.

") + End If - End If + msBuild.AppendFormat(" La factura {1} se genero correctamente.
", respFactura.CveVenta, respFactura.SerieFolio) - If respFactura IsNot Nothing Then - If RegistrarPago Then - msBuild.Append("Pago Registrado correctamente.

") - End If - - msBuild.AppendFormat(" La factura {1} se genero correctamente.
", respFactura.CveVenta, respFactura.SerieFolio) - - If SeTimbro Then - Dim xml = String.Format("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", respFactura.CveVenta, "XML", respFactura.SerieFolio, respFactura.Factura.TipoDocto))) - msBuild.AppendFormat("{0}", xml) - End If - - Dim pdf = String.Format("", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respFactura.CveVenta))) - msBuild.AppendFormat("{0}", pdf) - - If respFactura.Factura.Inv_CveMovimiento > 0 Then - msBuild.AppendFormat("Movimiento de Almacén
", respFactura.Factura.Inv_CveMovimiento) - End If - - If respNC IsNot Nothing Then - msBuild.AppendFormat(" La nota de crédito {1} se genero correctamente.
", respNC.CveVenta, respNC.SerieFolio) - If SeTimbroNC Then - Dim xml = String.Format("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", respNC.CveVenta, "XML", respNC.SerieFolio, respNC.Factura.TipoDocto))) + If SeTimbro Then + Dim xml = String.Format("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", respFactura.CveVenta, "XML", respFactura.SerieFolio, respFactura.Factura.TipoDocto))) msBuild.AppendFormat("{0}", xml) End If - Dim pdfNC = String.Format("", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respNC.CveVenta))) - msBuild.AppendFormat("{0}", pdfNC) - End If + Dim pdf = String.Format("", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respFactura.CveVenta))) + msBuild.AppendFormat("{0}", pdf) + + If respFactura.Factura.Inv_CveMovimiento > 0 Then + msBuild.AppendFormat("Movimiento de Almacén
", respFactura.Factura.Inv_CveMovimiento) + End If + + If respNC IsNot Nothing Then + msBuild.AppendFormat(" La nota de crédito {1} se genero correctamente.
", respNC.CveVenta, respNC.SerieFolio) + If SeTimbroNC Then + Dim xml = String.Format("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", respNC.CveVenta, "XML", respNC.SerieFolio, respNC.Factura.TipoDocto))) + msBuild.AppendFormat("{0}", xml) + End If + + Dim pdfNC = String.Format("", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respNC.CveVenta))) + msBuild.AppendFormat("{0}", pdfNC) + End If - If respNC IsNot Nothing Then - If respNC IsNot Nothing AndAlso respNC.Factura IsNot Nothing AndAlso respNC.Factura.DtAnticiposAplicados IsNot Nothing Then - For Each dr As DataRow In respNC.Factura.DtAnticiposAplicados.Rows - msBuild.AppendLine($"
Imprimir Saldo Aplicado {dr("Folio").ToString}
") - Next - End If + Next + End If - Else - If respFactura IsNot Nothing AndAlso respFactura.Factura IsNot Nothing AndAlso respFactura.Factura.DtAnticiposAplicados IsNot Nothing Then - For Each dr As DataRow In respFactura.Factura.DtAnticiposAplicados.Rows - msBuild.AppendLine($"
Imprimir Saldo Aplicado {dr("Folio").ToString}
") - Next + Next + End If End If + + If Not String.IsNullOrEmpty(MsgTimbrado) Then + msBuild.AppendFormat("
{0}
", MsgTimbrado) + End If + + Else + msBuild.Append($"Pago Registrado correctamente.

Imprimir ticket") End If - If Not String.IsNullOrEmpty(MsgTimbrado) Then - msBuild.AppendFormat("
{0}
", MsgTimbrado) - End If + Catch ex As Exception + GuardaLogAD(ex.ToString()) + msBuild.Append("Ocurrio un error posterior al pago") + End Try - Else - msBuild.Append($"Pago Registrado correctamente.

Imprimir ticket") - End If Alert(msBuild.ToString(), TipoMensaje.MsgInformacion) Else @@ -958,6 +972,19 @@ Partial Class Ventas_PVCobranza If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then ImpresionDirectaPDF(CveVenta) End If + + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then + 'ENVIO DE CORREO + Try + If respFactura IsNot Nothing AndAlso respFactura.Factura IsNot Nothing Then + Dim EnviarMail As Boolean = respFactura.Factura.Cliente.EnviarFactura = "Si" + Dim Hilo As New System.Threading.Thread(Sub() EnviarMailFactura(EnviarMail, respFactura.Factura, UsuarioActual)) + Hilo.Start() + End If + Catch ex As Exception + GuardaLogAD(ex.ToString()) + End Try + End If LimpiarDatos() CargaDatos() @@ -2123,9 +2150,11 @@ Partial Class Ventas_PVCobranza End Sub Protected Sub LnkSolicitarActivarAnticipo_Click(sender As Object, e As EventArgs) - Dim CveCliente As Integer = -1 + 'falta sacar a los usuarios a notificar. Dim gvr As GridViewRow = DirectCast(DirectCast(sender, LinkButton).BindingContainer, GridViewRow) + + Dim CveCliente As Integer = gvr.DataKey("CveCliente").ToEntero() Dim Folio As String = gvr.DataKey("Folio") Dim Importe As Decimal = gvr.FCTextBox(String.Format("TxtAnticipo{0}", gvr.RowIndex)).Text.ToDecimal Dim Saldo As Decimal = gvr.DataKey("Saldo").ToDecimal() @@ -2158,7 +2187,8 @@ Partial Class Ventas_PVCobranza Arr.Add($"$ {Importe}") If NumeroTelefono.Length = 12 Then - EnvioMsg = EnviarNotificacionWhatsAppPlantilla(NumeroTelefono, "solicitud_autorizacion_anticipo", Arr, $"https://grupodiaz.adssistemas.mx.com/Clientes/Clientes.aspx?CveCliente={CveCliente}") + EnvioMsg = EnviarNotificacionWhatsAppPlantilla(NumeroTelefono, "solicitud_autorizacion_anticipo", Arr, $"https://grupodiaz.adssistemas.mx.com/Ventas/CatAutorizacionLimites.aspx?CveCliente={CveCliente}") + ClsSisNotificaciones.EnviarAlerta("Solicitud de Anticipo", $"Solicitud de activación de anticipo Folio: {Folio}
Ir Activar", dr("CveUsuario").ToString, Tipo:=TipoNotificacion.ToastInformacionB) End If Next @@ -2168,7 +2198,7 @@ Partial Class Ventas_PVCobranza Dim CveIE As Integer = gvr.DataKey("CveIE").ToEntero() Dim ObjVta As New ClsVentas - If ObjVta.AddAutorizacionLimite(UsuarioActual.CveEmpresa, gvr.DataKey("CveCliente").ToEntero(), CveVendedor, Saldo, 0, UsuarioActual.CveUsuario, 1, TipoDocumento:="Ant", DiasVencidos:=1, CveVenta:=CveVenta, CveIE:=CveIE) Then + If ObjVta.AddAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, CveVendedor, Saldo, 0, UsuarioActual.CveUsuario, 1, TipoDocumento:="Ant", DiasVencidos:=1, CveVenta:=CveVenta, CveIE:=CveIE) Then Dim msgAlert = "La autorización se agregó correctamente." If EnvioMsg Then msgAlert = $"{msgAlert} Se envió una notificación de autorización a los usuarios" @@ -2775,6 +2805,131 @@ Partial Class Ventas_PVCobranza #End Region + Private Sub EnviarMailFactura(EnviaCorreo As Boolean, Factura As Modelos.Factura, UsuarioActual As Usuario) + 'GUARDA PDF + Dim LocalSerieFolio As String = Factura.SerieFolio + Dim LocalTipoDocto As String = Factura.TipoDocto + + Dim ArchivoPDF As String = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio) + + 'TIMBRADO NUEVO + Try + If Not File.Exists(ArchivoPDF) Then + GenerarPDFVenta(Factura.CveVenta, AplicaPagare:="1", GuardarPDF:=True, RegenerarPDF:=True, DescargarArchivo:=False) + End If + Catch ex As Exception + GuardaLogAD(ex.ToString()) + End Try + + Dim ErrorCorreo As Boolean = False + + If EnviaCorreo Then + If Factura IsNot Nothing Then + Dim ArchivoXML As String = String.Format("{0}XML\{1}\{2}.xml", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio) + + Try + Dim FIXML As New FileInfo(ArchivoXML) + Dim FIPDF As New FileInfo(ArchivoPDF) + If FIXML.Exists AndAlso FIPDF.Exists Then + MandaMails(UsuarioActual, Factura, Factura.TipoDocto, LocalSerieFolio, EnviaCorreo, ArchivoXML, ArchivoPDF) + Else + ErrorCorreo = True + End If + Catch ex As Exception + ErrorCorreo = True + End Try + Else + ErrorCorreo = True + End If + + If ErrorCorreo Then + Dim ObjVentas As New ClsVentas(UsuarioActual:=UsuarioActual) + If EnviaCorreo Then + ObjVentas.UpdateVentaMail(3, Factura.CveVenta) + Else + ObjVentas.UpdateVentaMail(0, Factura.CveVenta) + End If + ObjVentas.Dispose() + End If + End If + + End Sub + + + Private Sub MandaMails(UsuarioActual As Usuario, ObjFactura As Modelos.Factura, TipoDocto As String, SerieFolio As String, EnviarFactura As Boolean, XML As String, PDF As String) + + Dim ObjMail As New ClsSisMail() + Dim ResultadoMail As Integer = 0 + + Dim CorreoDestino As String = ObjFactura.Cliente.Mail + + Try + + Dim Asunto As String = String.Empty + Dim Cuerpo As String = String.Empty + + Dim TipoComprobante As String = "" + + If TipoDocto = "Ing" Then TipoComprobante = "Factura" + If TipoDocto = "Egs" Then TipoComprobante = "Nota de Crédito" + + If UsuarioActual.Empresa.PlantillaMailVenta.Trim.Length > 0 Then + Cuerpo = UsuarioActual.Empresa.PlantillaMailVenta + Cuerpo = Cuerpo.Replace("{""NombreEmpresa""}", UsuarioActual.Empresa.Empresa) + Cuerpo = Cuerpo.Replace("{""NombreCliente""}", ObjFactura.Cliente.NombreComercial) + Cuerpo = Cuerpo.Replace("{""TipoDocumento""}", TipoComprobante) + Cuerpo = Cuerpo.Replace("{""Fecha""}", ObjFactura.Fecha.ToString("dd/MM/yyyy")) + Cuerpo = Cuerpo.Replace("{""Total""}", ObjFactura.Total.ToString("N2")) + Cuerpo = Cuerpo.Replace("{""FechaVencimiento""}", ObjFactura.FechaVencimiento.ToString("dd/MM/yyyy")) + Cuerpo = Cuerpo.Replace("{""SerieFolio""}", SerieFolio) + Asunto = Asunto.Replace("{""AtencionA""}", ObjFactura.AtencionA) + Asunto = Asunto.Replace("{""Sucursal""}", ObjFactura.SubProyecto.SubProyecto) + Asunto = Asunto.Replace("{""DescripcionVenta""}", ObjFactura.DescripcionVenta) + Asunto = Asunto.Replace("{""FolioFactura""}", ObjFactura.SerieFolio) + End If + + If UsuarioActual.Empresa.AsuntoPlantillaMailVenta.Trim.Length > 0 Then + Asunto = UsuarioActual.Empresa.AsuntoPlantillaMailVenta + Asunto = Asunto.Replace("{""NombreEmpresa""}", UsuarioActual.Empresa.Empresa) + Asunto = Asunto.Replace("{""NombreCliente""}", ObjFactura.Cliente.NombreComercial) + Asunto = Asunto.Replace("{""TipoDocumento""}", TipoComprobante) + Cuerpo = Cuerpo.Replace("{""Fecha""}", ObjFactura.Fecha.ToString("dd/MM/yyyy")) + Cuerpo = Cuerpo.Replace("{""Total""}", ObjFactura.Total.ToString("N2")) + Cuerpo = Cuerpo.Replace("{""FechaVencimiento""}", ObjFactura.FechaVencimiento.ToString("dd/MM/yyyy")) + Asunto = Asunto.Replace("{""SerieFolio""}", SerieFolio) + Asunto = Asunto.Replace("{""AtencionA""}", ObjFactura.AtencionA) + Asunto = Asunto.Replace("{""Sucursal""}", ObjFactura.SubProyecto.SubProyecto) + Asunto = Asunto.Replace("{""DescripcionVenta""}", ObjFactura.DescripcionVenta) + Asunto = Asunto.Replace("{""FolioFactura""}", ObjFactura.SerieFolio) + End If + + If Not EnviarFactura Then + ResultadoMail = 0 + End If + + Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) + LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = PDF}) + LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = XML}) + + Dim DisplayName As String = "" + + If ObjMail.SendMail(UsuarioActual.Empresa, CorreoDestino, Asunto, Cuerpo, "", LSRutasMail, Displayname:=DisplayName) Then + ResultadoMail = 1 + Else + ResultadoMail = 3 + End If + + Catch ex As Exception + OnError("Ocurrió error al mandar el Mail", ex) + ResultadoMail = 3 + Finally + Dim ObjVentas As New ClsVentas(UsuarioActual:=UsuarioActual) + ObjVentas.UpdateVentaMail(ResultadoMail, ObjFactura.CveVenta) + ObjVentas.Dispose() + End Try + + End Sub + End Class Public Class MRespuestaSAT