Promociones de baterias, editar observaciones, generacion de PDF en otro hilo

This commit is contained in:
2022-06-18 14:37:58 -07:00
parent 9521b6b677
commit 4b768fdf5e
2 changed files with 209 additions and 62 deletions

View File

@@ -709,6 +709,20 @@ Partial Class PV
ViewState("CveAutorizacion") = value ViewState("CveAutorizacion") = value
End Set End Set
End Property End Property
Private Property ClienteCodigoRegimenFiscal As String
Get
If ViewState("ClienteCodigoRegimenFiscal") Is Nothing Then
ViewState("ClienteCodigoRegimenFiscal") = ""
End If
Return ViewState("ClienteCodigoRegimenFiscal").ToString
End Get
Set(value As String)
ViewState("ClienteCodigoRegimenFiscal") = value
End Set
End Property
#End Region #End Region
#Region "PROPIEDADES DE PUNTO DE VENTA" #Region "PROPIEDADES DE PUNTO DE VENTA"
@@ -2431,8 +2445,10 @@ Partial Class PV
'End If 'End If
End Sub End Sub
Private Sub CargaUsoCFDI() Private Sub CargaUsoCFDI()
If UsuarioActual.Empresa.Funcionalidad(350) <> "1" Then
DdlUsoCFDI.DataSource = GlobalDTSATUsosCFDI(UsuarioActual.Empresa.EsPersonaFisica) ClienteCodigoRegimenFiscal = "-1"
End If
DdlUsoCFDI.DataSource = GlobalDTSATUsosCFDI(UsuarioActual.Empresa.EsPersonaFisica, RegimenFiscalReceptor:=ClienteCodigoRegimenFiscal)
DdlUsoCFDI.DataBind() DdlUsoCFDI.DataBind()
End Sub End Sub
Private Sub CargaNuevaFactura(OVenta As ClsVentas) Private Sub CargaNuevaFactura(OVenta As ClsVentas)
@@ -2635,6 +2651,7 @@ Partial Class PV
ViewState("IdCtaContRetISR") = ObjCliente.IdCtaContRetISR ViewState("IdCtaContRetISR") = ObjCliente.IdCtaContRetISR
ViewState("CodCliente") = ObjCliente.Codigo ViewState("CodCliente") = ObjCliente.Codigo
ViewState("ClienteDesglosaIEPS") = ObjCliente.DesglosaIEPS ViewState("ClienteDesglosaIEPS") = ObjCliente.DesglosaIEPS
ClienteCodigoRegimenFiscal = ObjCliente.DtResultados.Rows(0)("CodigoRegimenFiscal").ToString()
If (Boolean.Parse(ObjCliente.DtResultados(0)("EsDistribuidor").ToString)) Then If (Boolean.Parse(ObjCliente.DtResultados(0)("EsDistribuidor").ToString)) Then
TrEsDistribuidor.Visible = True TrEsDistribuidor.Visible = True
@@ -2687,6 +2704,13 @@ Partial Class PV
DdlFormaPago33.SelectedValueExist(ObjCliente.CveFormaPago33.ToString) DdlFormaPago33.SelectedValueExist(ObjCliente.CveFormaPago33.ToString)
'DdlFormaPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveFormaPago33").ToString) 'DdlFormaPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveFormaPago33").ToString)
DdlUsoCFDI.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveUsoCFDI").ToString) DdlUsoCFDI.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveUsoCFDI").ToString)
'SI ES RFC GENERICO NO TIENE OBLIGACIONES FISCALES
If UsuarioActual.Empresa.Funcionalidad(350).Contiene("1") AndAlso LblRFC.Text.Contiene("XAXX010101000", "XEXX010101000") Then
'S01 Sin efectos fiscales.
DdlUsoCFDI.SelectedValueExist("23")
DdlUsoCFDI.Enabled = False
ClienteCodigoRegimenFiscal = "616"
End If
End If End If
TxtFechaPago.Text = (Now.AddDays(ObjCliente.PlazoCobranza)).ToShortDateString TxtFechaPago.Text = (Now.AddDays(ObjCliente.PlazoCobranza)).ToShortDateString
@@ -2865,6 +2889,13 @@ Partial Class PV
DdlFormaPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveFormaPago33").ToString) DdlFormaPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveFormaPago33").ToString)
DdlMetodoPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString) DdlMetodoPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString)
DdlUsoCFDI.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveUsoCFDI").ToString) DdlUsoCFDI.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveUsoCFDI").ToString)
'SI ES RFC GENERICO NO TIENE OBLIGACIONES FISCALES
If UsuarioActual.Empresa.Funcionalidad(350).Contiene("1") AndAlso LblRFC.Text.Contiene("XAXX010101000", "XEXX010101000") Then
'S01 Sin efectos fiscales.
DdlUsoCFDI.SelectedValueExist("23")
DdlUsoCFDI.Enabled = False
ClienteCodigoRegimenFiscal = "616"
End If
End If End If
If CveVenta < 0 Then TxtAtencionA.Text = ObjCliente.DtResultados.Rows(0)("Contacto").ToString If CveVenta < 0 Then TxtAtencionA.Text = ObjCliente.DtResultados.Rows(0)("Contacto").ToString
@@ -2894,6 +2925,13 @@ Partial Class PV
DdlFormaPago33.SelectedValueExist(ObjCliente.CveFormaPago33) DdlFormaPago33.SelectedValueExist(ObjCliente.CveFormaPago33)
DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33) DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33)
DdlUsoCFDI.SelectedValueExist(ObjCliente.CveUsoCFDI) DdlUsoCFDI.SelectedValueExist(ObjCliente.CveUsoCFDI)
'SI ES RFC GENERICO NO TIENE OBLIGACIONES FISCALES
If UsuarioActual.Empresa.Funcionalidad(350).Contiene("1") AndAlso LblRFC.Text.Contiene("XAXX010101000", "XEXX010101000") Then
'S01 Sin efectos fiscales.
DdlUsoCFDI.SelectedValueExist("23")
DdlUsoCFDI.Enabled = False
ClienteCodigoRegimenFiscal = "616"
End If
End If End If
End If End If
@@ -4204,12 +4242,18 @@ Partial Class PV
HdnDescuentoOriginal.Value = TxtDescuento.Text.ToDecimal().ToString() HdnDescuentoOriginal.Value = TxtDescuento.Text.ToDecimal().ToString()
LblDescuentoIncluido.Text = TxtDescuento.Text.ToDecimal().FormatoNumero(2) LblDescuentoIncluido.Text = TxtDescuento.Text.ToDecimal().FormatoNumero(2)
If PrecioSugerido > 0 AndAlso TxtDescuento.Text.ToDecimal() > 0 Then If PrecioSugerido > 0 Then
TxtPrecio.Text = PrecioSugerido.FormatoNumero() TxtPrecio.Text = PrecioSugerido.FormatoNumero()
LblPrecio1.Text = PrecioSugerido.FormatoNumero() LblPrecio1.Text = PrecioSugerido.FormatoNumero()
'RegistraScript("$get('LblPrecio1').innerText = formato_numero(" + PrecioSugerido.ToString() + ", 2, '.', ',');", "A1") 'RegistraScript("$get('LblPrecio1').innerText = formato_numero(" + PrecioSugerido.ToString() + ", 2, '.', ',');", "A1")
End If End If
If IsNumeric(TxtCantidad.Text.Trim) Then
LblTotalPS.Text = (TxtCantidad.Text.Trim.ToDouble * TxtPrecio.Text.ToDouble).ToString.FormatoNumero(2)
Else
LblTotalPS.Text = "0.00"
End If
If ChkAjuste.Checked Then If ChkAjuste.Checked Then
CalculaMesesUso() CalculaMesesUso()
UpAjuste.Update() UpAjuste.Update()
@@ -4405,6 +4449,27 @@ Partial Class PV
Descuento = 0 Descuento = 0
End If End If
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
'LTH AA Paq. 2 baterias, LTH AAA Paq. 02 baterias, LTH AA Paq. 4 baterias, LTH AAA Paq. 4 Baterias
If CvePS.Contiene(521445, 521448, 402917, 402918) Then
'SI TIENE BATERIAS AGREGADAS CON LA MARCA LTH, APLICAR PROMOCION, LA CLASIFICACION DEBE SER ACUMULADORES
If TmpDT.SUMD("Cantidad", "CveMarca IN (819,826,1085,1052) AND CveClasificacion IN (20520,20522,20513,20521,20512,20514,20229)") >= 1D Then
Descuento = 0
SeAjustoPU = True
'Paq. 2 baterias
If CvePS.Contiene(521445, 521448) Then
PUPromocion = 25D
End If
'Paq. 4 baterias
If CvePS.Contiene(402917, 402918) Then
PUPromocion = 40D
End If
PUModificado = Math.Round(PUPromocion / (1 + If(IncluyeImpuestos, PorcentajeIVA, 0)), 6)
End If
End If
End If
ObjDescuento.ImporteDescuento = Descuento ObjDescuento.ImporteDescuento = Descuento
ObjDescuento.CvePromocionDetalle = CvePromocionDetalle ObjDescuento.CvePromocionDetalle = CvePromocionDetalle
If SeAjustoPU Then If SeAjustoPU Then
@@ -4642,6 +4707,7 @@ Partial Class PV
TmpDT.Columns("EliminarDB").DefaultValue = False TmpDT.Columns("EliminarDB").DefaultValue = False
TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDT.Columns.Add("AplicaSerie", GetType(Boolean))
TmpDT.Columns.Add("CveMarca", GetType(Integer))
End Sub End Sub
@@ -5014,6 +5080,11 @@ Partial Class PV
Row("EliminarDB") = EliminarDB Row("EliminarDB") = EliminarDB
If TmpDT.Columns.Contains("CveMarca") Then
Row("CveMarca") = DrPS("CveMarca")
End If
If UsuarioActual.CveEmpresa = 119 Then If UsuarioActual.CveEmpresa = 119 Then
If Not RemisionesLista.Count > 0 Then 'SI VIENE DE REMISION NO SE CONSIDERA If Not RemisionesLista.Count > 0 Then 'SI VIENE DE REMISION NO SE CONSIDERA

View File

@@ -2619,6 +2619,7 @@ Partial Class Ventas
TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer)) TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer))
TmpDT.Columns.Add("TieneProntoPago", GetType(String)) TmpDT.Columns.Add("TieneProntoPago", GetType(String))
TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal)) TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal))
TmpDT.Columns.Add("CveMarca", GetType(Integer))
GvPS.DataSource = ObjVentas.DtResultados GvPS.DataSource = ObjVentas.DtResultados
GvPS.DataBind() GvPS.DataBind()
@@ -2638,6 +2639,7 @@ Partial Class Ventas
TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer)) TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer))
TmpDT.Columns.Add("TieneProntoPago", GetType(String)) TmpDT.Columns.Add("TieneProntoPago", GetType(String))
TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal)) TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal))
TmpDT.Columns.Add("CveMarca", GetType(Integer))
GvPS.DataSource = ObjVentas.DtResultados GvPS.DataSource = ObjVentas.DtResultados
GvPS.DataBind() GvPS.DataBind()
@@ -7661,8 +7663,14 @@ Partial Class Ventas
'EN BDH NO DEBE PODER EDITAR LOS PS 'EN BDH NO DEBE PODER EDITAR LOS PS
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
e.Row.FCLinkButton("imgE").Visible = False If ModalidadEdicion Then
e.Row.FCLinkButton("imgD").Visible = False e.Row.FCLinkButton("imgE").Visible = True
e.Row.FCLinkButton("imgD").Visible = False
Else
e.Row.FCLinkButton("imgE").Visible = False
e.Row.FCLinkButton("imgD").Visible = False
End If
End If End If
End If End If
@@ -7702,6 +7710,22 @@ Partial Class Ventas
If Me.CveVenta > 0 AndAlso UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Cot") Then If Me.CveVenta > 0 AndAlso UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Cot") Then
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False
End If End If
If CveVenta > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtCantidad").Enabled = False
GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlUnidadMedida").Enabled = False
GvPS.Rows(e.NewEditIndex).FCDropDownLost("DdlPS").Enabled = False
GvPS.Rows(e.NewEditIndex).FCDropDownLost("DdlPS").ddlWS.Attributes.Add("disabled", "disabled")
GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlUnidadMedida").Enabled = False
GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlClasificacion").Enabled = False
GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlProyecto").Enabled = False
GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlSubProyecto").Enabled = False
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtObsPS").Enabled = True
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False
End If
End Sub End Sub
Protected Sub GvPS_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvPS.RowCancelingEdit Protected Sub GvPS_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvPS.RowCancelingEdit
GvPS.EditIndex = -1 GvPS.EditIndex = -1
@@ -9488,8 +9512,15 @@ Partial Class Ventas
If File.Exists(ArchivoXML) Then If File.Exists(ArchivoXML) Then
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar XML</a></li></ul>", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar XML</a></li></ul>", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto)))
End If End If
GeneraPDFFactura(ChkEnviarFactura.Checked) 'MANDA CORREO
Try
'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 Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, CveVenta, UsuarioActual, strURLHOST))
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió un error al enviar el PDF", ex)
End Try
End If End If
'DESCARGA PDF 'DESCARGA PDF
@@ -14975,75 +15006,66 @@ 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) Private Sub GeneraPDFFactura(EnviaCorreo As Boolean, CveVenta As Integer, UsuarioActual As Usuario, strURLHOST As String)
'CASO ESPECIAL
If UsuarioActual.CveEmpresa = 8 AndAlso ObjFactura.TipoDocto.Contiene("Cot") Then
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Sucursal", DdlSubProyectoDatos.SelectedItem.Text))
'params.Add(New ReportParameter("Fecha", FechaCotizacion.ToString()))
params.Add(New ReportParameter("Folio", ObjFactura.Folio.ToString()))
params.Add(New ReportParameter("Cliente", LtlCliente.Text))
params.Add(New ReportParameter("PersonaDirige", TxtAtencionA.Text))
params.Add(New ReportParameter("Total", TxtTotal.Text))
params.Add(New ReportParameter("Observaciones", TxtObsFact.Text))
params.Add(New ReportParameter("Vendedor", DdlVendedor.SelectedItem.Text))
params.Add(New ReportParameter("PersonaDirige", TxtAtencionA.Text.Trim))
'params.Add(New ReportParameter("Folio", ""))
ImprimirPDF(String.Format("{0}Formatos\Cotizacion.rdlc", UsuarioActual.Empresa.Ruta), TmpDT, params, "Cotización", RDSName:="DsCotizacion")
End If
'Dim pdf As Byte() = Nothing
'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(ObjFactura.CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Regenerar:=True) Dim ObjetoPDF As Byte() = DescargarFactura(CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Regenerar:=True, strURLHOST:=strURLHOST)
If ObjetoPDF Is Nothing OrElse ObjetoPDF.Length = 0 Then If ObjetoPDF Is Nothing OrElse ObjetoPDF.Length = 0 Then
PdfFactura(ObjFactura, AplicaPagare:=If(ObjFactura.TipoDocto.Contiene("Ing", "Rem", "Ant"), "1", "0")) PdfFactura(ObjFactura, AplicaPagare:=If(ObjFactura.TipoDocto.Contiene("Ing", "Rem", "Ant"), "1", "0"))
End If End If
Catch ex As Exception Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgError) OnError("Ocurrió un error al generar el PDF", ex)
End Try End Try
If CveVenta > 0 Then Dim ErrorCorreo As Boolean = False
ObjFactura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
End If
LocalSerieFolio = ObjFactura.SerieFolio
LocalTipoDocto = ObjFactura.TipoDocto
'End If
'MANDA CORREO
If EnviaCorreo Then If EnviaCorreo Then
Dim ArchivoAdjunto As String = "" Factura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False)
Dim ArchivoXML = String.Format("{0}XML\{1}\{2}.xml", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio) If Factura IsNot Nothing Then
Dim ArchivoPDF = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio) 'MANDA CORREO
If Adjunto <> "" Then If EnviaCorreo Then
ArchivoAdjunto = String.Format("{0}Ventas\{1}", UsuarioActual.Empresa.Ruta, Adjunto) LocalSerieFolio = Factura.SerieFolio
LocalTipoDocto = Factura.TipoDocto
Dim ArchivoAdjunto As String = ""
Dim ArchivoXML = String.Format("{0}XML\{1}\{2}.xml", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio)
Dim ArchivoPDF = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, LocalTipoDocto, LocalSerieFolio)
If Adjunto <> "" Then
ArchivoAdjunto = String.Format("{0}Ventas\{1}", UsuarioActual.Empresa.Ruta, Adjunto)
End If
Try
Dim FIXML As New FileInfo(ArchivoXML)
Dim FIPDF As New FileInfo(ArchivoPDF)
If FIXML.Exists AndAlso FIPDF.Exists Then
MandaMails(UsuarioActual, CveVenta, Factura.TipoDocto, LocalSerieFolio, EnviaCorreo, ArchivoXML, ArchivoPDF, ArchivoAdjunto)
Else
ErrorCorreo = True
End If
Catch ex As Exception
ErrorCorreo = True
End Try
End If
Else
ErrorCorreo = True
End If End If
Try If ErrorCorreo Then
' BytesPdfCotizacion(CveVenta)
Dim Hilo As New System.Threading.Thread(Sub() MandaMails(UsuarioActual, CveVenta, DdlTipoComprobante.SelectedValue.ToString(), LocalSerieFolio, ChkEnviarFactura.Checked, ArchivoXML, ArchivoPDF, ArchivoAdjunto))
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió error al mandar Mail", ex)
Dim ObjVentas As New ClsVentas Dim ObjVentas As New ClsVentas
If ChkEnviarFactura.Checked Then If EnviaCorreo Then
ObjVentas.UpdateVentaMail(3, CveVenta) ObjVentas.UpdateVentaMail(3, CveVenta)
Else Else
ObjVentas.UpdateVentaMail(0, CveVenta) ObjVentas.UpdateVentaMail(0, CveVenta)
End If End If
ObjVentas.Dispose() ObjVentas.Dispose()
End Try End If
End If End If
End Sub End Sub
@@ -16346,7 +16368,14 @@ Partial Class Ventas
End If End If
'IMPRESION 'IMPRESION
GeneraPDFFactura(ChkEnviarFactura.Checked) Try
'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 Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, CveVenta, UsuarioActual, strURLHOST))
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió un error al enviar el PDF", ex)
End Try
If ObjFactura.TipoDocto = "Ing" AndAlso ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = "07" Then If ObjFactura.TipoDocto = "Ing" AndAlso ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = "07" Then
CreaObjetosVentaAmortizacion(Nothing, ObjTimbrado.UUID, ObjFactura.CveVentaRelacion, CveVenta) CreaObjetosVentaAmortizacion(Nothing, ObjTimbrado.UUID, ObjFactura.CveVentaRelacion, CveVenta)
@@ -18054,6 +18083,27 @@ Partial Class Ventas
Alert("No se calculó el descuento correctamente", TipoMensaje.MsgAdvertencia) Alert("No se calculó el descuento correctamente", TipoMensaje.MsgAdvertencia)
End If End If
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
'LTH AA Paq. 2 baterias, LTH AAA Paq. 02 baterias, LTH AA Paq. 4 baterias, LTH AAA Paq. 4 Baterias
If CvePS.Contiene(521445, 521448, 402917, 402918) Then
'SI TIENE BATERIAS AGREGADAS CON LA MARCA LTH, APLICAR PROMOCION, LA CLASIFICACION DEBE SER ACUMULADORES
If TmpDT.SUMD("Cantidad", "CveMarca IN (819,826,1085,1052) AND CveClasificacion IN (20520,20522,20513,20521,20512,20514,20229)") >= 1D Then
Descuento = 0
SeAjustoPU = True
'Paq. 2 baterias
If CvePS.Contiene(521445, 521448) Then
PUPromocion = 25D
End If
'Paq. 4 baterias
If CvePS.Contiene(402917, 402918) Then
PUPromocion = 40D
End If
PUModificado = Math.Round(PUPromocion / (1 + If(IncluyeImpuestos, PorcentajeIVA, 0)), 6)
End If
End If
End If
ObjDescuento.ImporteDescuento = Descuento.RoundSQL(2) ObjDescuento.ImporteDescuento = Descuento.RoundSQL(2)
ObjDescuento.CvePromocionDetalle = CvePromocionDetalle ObjDescuento.CvePromocionDetalle = CvePromocionDetalle
If SeAjustoPU Then If SeAjustoPU Then
@@ -18457,6 +18507,10 @@ Partial Class Ventas
Row("EsOutSourcing") = DrPS("EsOutSourcing") Row("EsOutSourcing") = DrPS("EsOutSourcing")
Row("EsCargo") = EsCargo Row("EsCargo") = EsCargo
If TmpDT.Columns.Contains("CveMarca") Then
Row("CveMarca") = DrPS("CveMarca")
End If
If ImporteProntoPago > 0 Then If ImporteProntoPago > 0 Then
Row("ImporteProntoPago") = ImporteProntoPago Row("ImporteProntoPago") = ImporteProntoPago
Row("TieneProntoPago") = "Si" Row("TieneProntoPago") = "Si"
@@ -18696,6 +18750,7 @@ Partial Class Ventas
TmpDT.Columns.Add("TieneProntoPago", GetType(String)) TmpDT.Columns.Add("TieneProntoPago", GetType(String))
TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal)) TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal))
TmpDT.Columns.Add("CodigoObjetoImpuesto", GetType(String)) TmpDT.Columns.Add("CodigoObjetoImpuesto", GetType(String))
TmpDT.Columns.Add("CveMarca", GetType(Integer))
TmpDT.Columns("EsOutSourcing").DefaultValue = False TmpDT.Columns("EsOutSourcing").DefaultValue = False
TmpDT.Columns("EsCargo").DefaultValue = False TmpDT.Columns("EsCargo").DefaultValue = False
@@ -20590,13 +20645,12 @@ Partial Class Ventas
Private Sub MandaMails(UsuarioActual As Usuario, CveVenta As Integer, TipoDocto As String, SerieFolio As String, EnviarFactura As Boolean, XML As String, PDF As String, Adjunto As String) Private Sub MandaMails(UsuarioActual As Usuario, CveVenta As Integer, TipoDocto As String, SerieFolio As String, EnviarFactura As Boolean, XML As String, PDF As String, Adjunto As String)
Dim ObjMail As New ClsSisMail() Dim ObjMail As New ClsSisMail()
Dim ObjVentas As New ClsVentas Dim ResultadoMail As Integer = 0
Try Try
Dim Asunto As String = String.Empty Dim Asunto As String = String.Empty
Dim Cuerpo As String = String.Empty Dim Cuerpo As String = String.Empty
Dim ResultadoMail As Integer = 0
Dim TipoComprobante = "" Dim TipoComprobante = ""
@@ -20626,7 +20680,7 @@ Partial Class Ventas
End If End If
If Not EnviarFactura Then If Not EnviarFactura Then
ObjVentas.UpdateVentaMail(0, CveVenta) ResultadoMail = 0
End If End If
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
@@ -20649,7 +20703,7 @@ Partial Class Ventas
Else Else
ResultadoMail = 3 ResultadoMail = 3
End If End If
ObjVentas.UpdateVentaMail(ResultadoMail, CveVenta)
'CASO ESPECIAL 'CASO ESPECIAL
If CveUsuarioActual = 1446 Then ' Flora If CveUsuarioActual = 1446 Then ' Flora
@@ -20664,8 +20718,10 @@ Partial Class Ventas
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió error al mandar el Mail", ex) OnError("Ocurrió error al mandar el Mail", ex)
ObjVentas.UpdateVentaMail(3, CveVenta) ResultadoMail = 3
Finally Finally
Dim ObjVentas As New ClsVentas
ObjVentas.UpdateVentaMail(ResultadoMail, CveVenta)
ObjVentas.Dispose() ObjVentas.Dispose()
End Try End Try
@@ -21143,7 +21199,7 @@ Partial Class Ventas
'EN BDH NO DEBE PERMITIR EDITAR EL PU 'EN BDH NO DEBE PERMITIR EDITAR EL PU
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
For Each Gvr As GridViewRow In GvPS.Rows For Each Gvr As GridViewRow In GvPS.Rows
Gvr.FCLinkButton("imgE").Visible = False Gvr.FCLinkButton("imgE").Visible = True
Gvr.FCLinkButton("imgD").Visible = False Gvr.FCLinkButton("imgD").Visible = False
CantidadFacturadaRemision += Gvr.DataKey("CantidadFacturadaRem").ToString().ToDouble CantidadFacturadaRemision += Gvr.DataKey("CantidadFacturadaRem").ToString().ToDouble
Next Next
@@ -21391,9 +21447,23 @@ Partial Class Ventas
'REGENERAR EL PDF 'REGENERAR EL PDF
If Not OcurrioError Then If Not OcurrioError Then
DescargarFactura(CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Regenerar:=True) Try
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() RegenerarPDF(CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, strURLHOST))
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió un error al regenerar el PDF", ex)
End Try
End If End If
End Sub End Sub
Private Sub RegenerarPDF(CveVenta As Integer, CveEmpresa As Integer, CveUsuario As Integer, strURLHOST As String)
Try
DescargarFactura(CveVenta, CveEmpresa, CveUsuario, Regenerar:=True, strURLHOST:=strURLHOST)
Catch ex As Exception
OnError("Ocurrió error al regenerar el PDF", ex)
End Try
End Sub
Private Sub BtnActualizarCuentaTerminal_Click(sender As Object, e As EventArgs) Handles BtnActualizarCuentaTerminal.Click Private Sub BtnActualizarCuentaTerminal_Click(sender As Object, e As EventArgs) Handles BtnActualizarCuentaTerminal.Click
Dim ObjVentas As New ClsVentas Dim ObjVentas As New ClsVentas
ObjVentas.IniciaTransacSQL() ObjVentas.IniciaTransacSQL()
@@ -32909,8 +32979,13 @@ Partial Class Ventas
' Return File ' Return File
'End Function 'End Function
Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, CveUsuarioCreo As Integer, Optional GetBytes As Boolean = True, Optional Regenerar As Boolean = False) As Byte() Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, CveUsuarioCreo As Integer, Optional GetBytes As Boolean = True, Optional Regenerar As Boolean = False, Optional strURLHOST As String = "") As Byte()
Dim Url = New Uri(String.Format("{0}://{1}:{2}/Compras/PopUpVerFactura.aspx?P={3}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&REGENERAR={1}", CveVenta, If(Regenerar, "1", "0")))))
If String.IsNullOrEmpty(strURLHOST) Then
strURLHOST = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port)
End If
Dim Url = New Uri(String.Format("{0}/Compras/PopUpVerFactura.aspx?P={1}", strURLHOST, Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&REGENERAR={1}", CveVenta, If(Regenerar, "1", "0")))))
Dim File As Byte() = Nothing Dim File As Byte() = Nothing
Try Try
Using httpClient = New HttpClient() Using httpClient = New HttpClient()
@@ -33676,6 +33751,7 @@ Partial Class Ventas
TmpDT.Columns.Add("CodigoObjetoImpuesto", GetType(String)) TmpDT.Columns.Add("CodigoObjetoImpuesto", GetType(String))
TmpDT.Columns.Add("CveTamaño", GetType(Integer)) TmpDT.Columns.Add("CveTamaño", GetType(Integer))
TmpDT.Columns.Add("EsCargo", GetType(Boolean)) TmpDT.Columns.Add("EsCargo", GetType(Boolean))
TmpDT.Columns.Add("CveMarca", GetType(Integer))
Return TmpDT Return TmpDT
End Function End Function