--FIX varios

This commit is contained in:
2025-01-17 21:40:58 -07:00
parent 59cc423459
commit c7cd0b03a3
6 changed files with 243 additions and 95 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -593,7 +593,7 @@ iigAooooAKKKKAP/2Q==</ImageBytes>
<AllowHtmlTags>True</AllowHtmlTags>
<Brush>Transparent</Brush>
<CanGrow>True</CanGrow>
<ClientRectangle>0.12,2.4,9.62,2.28</ClientRectangle>
<ClientRectangle>0.12,2.4,9.62,2.48</ClientRectangle>
<Conditions isList="true" count="0" />
<Expressions isList="true" count="0" />
<Font>Myriad Pro,9,Regular,Point,False,0</Font>
@@ -601,8 +601,8 @@ iigAooooAKKKKAP/2Q==</ImageBytes>
<Name>Textbox20</Name>
<Page isRef="7" />
<Parent isRef="8" />
<Text>&lt;div&gt;&lt;b&gt;Facturado a:&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Cliente: &lt;/b&gt;{ClienteCodigo} - {ClienteNombre}&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;b&gt;RFC:&lt;/b&gt; {ClienteRFC}
&lt;b&gt;Colonia: &lt;/b&gt; {ClienteColonia}&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Ciudad: &lt;/b&gt;{ClienteCiudad} &lt;b&gt;Estado: &lt;/b&gt; {ClienteEstado}&lt;/div&gt;&lt;div&gt;&lt;b&gt;Municipio y/o Delegación: &lt;/b&gt;{ClienteMunicipio}&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Pais:&lt;/b&gt; {ClientePais} &lt;b&gt; CP: &lt;/b&gt;{ClienteCP}&lt;/div&gt;</Text>
<Text>&lt;div&gt;&lt;font size="8"&gt;&lt;b&gt;Facturado a:&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="8"&gt;&lt;b&gt;Cliente: &lt;/b&gt;{ClienteCodigo} - {ClienteNombre}&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="8"&gt;&lt;b&gt;RFC:&lt;/b&gt; {ClienteRFC}
&lt;b&gt;Colonia: &lt;/b&gt; {ClienteColonia}&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="8"&gt;&lt;b&gt;Ciudad: &lt;/b&gt;{ClienteCiudad} &lt;b&gt;Estado: &lt;/b&gt; {ClienteEstado}&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="8"&gt;&lt;b&gt;Municipio y/o Delegación: &lt;/b&gt;{ClienteMunicipio}&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="8"&gt;&lt;b&gt;Pais:&lt;/b&gt; {ClientePais} &lt;b&gt; CP: &lt;/b&gt;{ClienteCP}&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Myriad Pro" style="" size="8"&gt;&lt;b&gt;Régimen Fiscal:&lt;/b&gt; {ClienteRegimenFiscal}&lt;/font&gt;&lt;/div&gt;</Text>
<TextBrush>Black</TextBrush>
<TextQuality>Wysiwyg</TextQuality>
<Type>Expression</Type>
@@ -6326,8 +6326,8 @@ FUERO DE MI DOMICILIO. LA CANTIDAD DE $ {Total} SON: {(ImporteLetra)}.</Text>
<ReportAlias>Factura</ReportAlias>
<ReportChanged>12/30/2024 5:44:19 PM</ReportChanged>
<ReportCreated>7/11/2022 2:49:19 PM</ReportCreated>
<ReportFile>C:\inetpub\WWWSigGit\Empresas\189\Formatos\Factura.mrt</ReportFile>
<ReportGuid>e8b162183e2340d1bbaad55d91fb8962</ReportGuid>
<ReportFile>Factura.mrt</ReportFile>
<ReportGuid>e849bb4463e44732ae40e92228d31a35</ReportGuid>
<ReportName>Factura</ReportName>
<ReportUnit>Centimeters</ReportUnit>
<ReportVersion>2022.4.5.0</ReportVersion>

View File

@@ -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)

View File

@@ -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

View File

@@ -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 = $"<br/><div id = 'DivTipoCambioAdvertencia' class='alert alert-danger' style='padding: 5px; margin-bottom: 5px; padding-right: 25px;'><strong style = 'font-size: 20px; margin-right: 25px;' > Comprobante no emitido : </strong><br/> {MsgTimbrado}<br/>Por favor inténtelo de nuevo a través del botón 'Emitir' en ventas.</div>"
MsgTimbrado = StrEr
End If
Catch ex As Exception
GuardaLogAD(ex.ToString())
msBuild.AppendFormat("<br/>{0}<br/>", 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 = $"<br/><div id = 'DivTipoCambioAdvertencia' class='alert alert-danger' style='padding: 5px; margin-bottom: 5px; padding-right: 25px;'><strong style = 'font-size: 20px; margin-right: 25px;' > Comprobante no emitido : </strong><br/> {MsgTimbrado}<br/>Por favor inténtelo de nuevo a través del botón 'Emitir' en ventas.</div>"
MsgTimbrado = StrEr
End If
If respFactura IsNot Nothing Then
If RegistrarPago Then
msBuild.Append("<span style=""font-size:14px;"">Pago Registrado correctamente. </span> <br/><br/>")
End If
End If
msBuild.AppendFormat("<span style=""font-size:14px;""> La factura <a class=""Texto"" target=""_blank"" style=""font-size:18px;font-weight:bold;"" href=""/Ventas/Ventas.aspx?CveVenta={0}"">{1}</a> se genero correctamente. </span> <br/>", respFactura.CveVenta, respFactura.SerieFolio)
If respFactura IsNot Nothing Then
If RegistrarPago Then
msBuild.Append("<span style=""font-size:14px;"">Pago Registrado correctamente. </span> <br/><br/>")
End If
msBuild.AppendFormat("<span style=""font-size:14px;""> La factura <a class=""Texto"" target=""_blank"" style=""font-size:18px;font-weight:bold;"" href=""/Ventas/Ventas.aspx?CveVenta={0}"">{1}</a> se genero correctamente. </span> <br/>", respFactura.CveVenta, respFactura.SerieFolio)
If SeTimbro Then
Dim xml = String.Format("<ul><li><a class=""Texto"" target=""_blank"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar XML</a></li></ul>", 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("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respFactura.CveVenta)))
msBuild.AppendFormat("{0}", pdf)
If respFactura.Factura.Inv_CveMovimiento > 0 Then
msBuild.AppendFormat("<b><a target='_blank' class='Texto' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">Movimiento de Almacén</a></b><br/>", respFactura.Factura.Inv_CveMovimiento)
End If
If respNC IsNot Nothing Then
msBuild.AppendFormat("<span style=""font-size:14px;""> La nota de crédito <a class=""Texto"" target=""_blank"" style=""font-size:18px;font-weight:bold;"" href=""/Ventas/Ventas.aspx?CveVenta={0}"">{1}</a> se genero correctamente.</span> <br/>", respNC.CveVenta, respNC.SerieFolio)
If SeTimbroNC Then
Dim xml = String.Format("<ul><li><a class=""Texto"" target=""_blank"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar XML</a></li></ul>", 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("<ul><li><a class=""Texto"" target=""_blank"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar XML</a></li></ul>", 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("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respNC.CveVenta)))
msBuild.AppendFormat("{0}", pdfNC)
End If
Dim pdf = String.Format("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", respFactura.CveVenta)))
msBuild.AppendFormat("{0}", pdf)
If respFactura.Factura.Inv_CveMovimiento > 0 Then
msBuild.AppendFormat("<b><a target='_blank' class='Texto' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">Movimiento de Almacén</a></b><br/>", respFactura.Factura.Inv_CveMovimiento)
End If
If respNC IsNot Nothing Then
msBuild.AppendFormat("<span style=""font-size:14px;""> La nota de crédito <a class=""Texto"" target=""_blank"" style=""font-size:18px;font-weight:bold;"" href=""/Ventas/Ventas.aspx?CveVenta={0}"">{1}</a> se genero correctamente.</span> <br/>", respNC.CveVenta, respNC.SerieFolio)
If SeTimbroNC Then
Dim xml = String.Format("<ul><li><a class=""Texto"" target=""_blank"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar XML</a></li></ul>", 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("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul>", 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($"<br><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=AMORTIZACIONHIS&CVEIE={0}&CVEVENTA={1}&CVECLIENTE={2}&CVEVENTAAMORTIZADA={3}&MONTO={4}",
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($"<br><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=AMORTIZACIONHIS&CVEIE={0}&CVEVENTA={1}&CVECLIENTE={2}&CVEVENTAAMORTIZADA={3}&MONTO={4}",
dr("CveIE").ToString,
dr("CveVenta").ToString,
respNC.Factura.CveCliente,
respNC.CveVenta,
respNC.Factura.Total))}"">Imprimir Saldo Aplicado {dr("Folio").ToString}</a><br/>")
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($"<br><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=AMORTIZACIONHIS&CVEIE={0}&CVEVENTA={1}&CVECLIENTE={2}&CVEVENTAAMORTIZADA={3}&MONTO={4}",
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($"<br><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=AMORTIZACIONHIS&CVEIE={0}&CVEVENTA={1}&CVECLIENTE={2}&CVEVENTAAMORTIZADA={3}&MONTO={4}",
dr("CveIE").ToString,
dr("CveVenta").ToString,
respFactura.Factura.CveCliente,
respFactura.CveVenta,
respFactura.Factura.Total))}"">Imprimir Saldo Aplicado {dr("Folio").ToString}</a><br/>")
Next
Next
End If
End If
If Not String.IsNullOrEmpty(MsgTimbrado) Then
msBuild.AppendFormat("<br/>{0}<br/>", MsgTimbrado)
End If
Else
msBuild.Append($"Pago Registrado correctamente.<br/><br/> <a href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&TICKET=1&REGENERAR=1", CveVenta))}"" class='Texto'>Imprimir ticket</a>")
End If
If Not String.IsNullOrEmpty(MsgTimbrado) Then
msBuild.AppendFormat("<br/>{0}<br/>", 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.<br/><br/> <a href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&TICKET=1&REGENERAR=1", CveVenta))}"" class='Texto'>Imprimir ticket</a>")
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} <br/><a href='/Ventas/CatAutorizacionLimites.aspx?CveCliente={CveCliente}&op=ant'>Ir Activar</a>", 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