Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -55,6 +55,16 @@ Public Class ClsPaginas
|
||||
|
||||
#Region "Propiedades"
|
||||
|
||||
Private Property SubReportData As Modelos.MSubReportData
|
||||
Get
|
||||
Return If(IsNothing(ViewState("SubReportData")), Nothing, DirectCast(ViewState("SubReportData"), Modelos.MSubReportData))
|
||||
End Get
|
||||
|
||||
Set(value As Modelos.MSubReportData)
|
||||
ViewState("SubReportData") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Shared ReadOnly Property UrlSitio As String
|
||||
Get
|
||||
If IsNothing(System.Configuration.ConfigurationManager.AppSettings("UrlSitio")) Then
|
||||
@@ -5905,17 +5915,17 @@ Public Class ClsPaginas
|
||||
''' <param name="NombreArchivo">Opcional Nombre del archivo que se descarga</param>
|
||||
''' <param name="Formato">Optional, Formato de Generacion PDF o Excel</param>
|
||||
''' <remarks></remarks>
|
||||
Public Sub ImprimirPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment")
|
||||
Public Sub ImprimirPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment", Optional SubReportData As Modelos.MSubReportData = Nothing)
|
||||
'limpio ReportViwer
|
||||
ImprimirbytesPDF(StreamPDF(RutaReporte, DataSource, Parametros, NombreArchivo, Formato, MR), NombreArchivo, Formato, Content_Disposition:=Content_Disposition)
|
||||
ImprimirbytesPDF(StreamPDF(RutaReporte, DataSource, Parametros, NombreArchivo, Formato, MR, SubReportData), NombreArchivo, Formato, Content_Disposition:=Content_Disposition)
|
||||
End Sub
|
||||
Public Function StreamPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing) As Byte()
|
||||
Public Function StreamPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing, Optional SubReportData As Modelos.MSubReportData = Nothing) As Byte()
|
||||
Dim lrds As New List(Of ReportDataSource)
|
||||
Dim rds As New ReportDataSource
|
||||
rds.Name = RDSName
|
||||
rds.Value = DtDatos
|
||||
lrds.Add(rds)
|
||||
Return StreamPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR)
|
||||
Return StreamPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR, SubReportData)
|
||||
End Function
|
||||
'Public Function StreamPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte()
|
||||
' 'limpio ReportViwer
|
||||
@@ -5959,10 +5969,13 @@ Public Class ClsPaginas
|
||||
' Return Bytes
|
||||
'End Function
|
||||
|
||||
Public Function StreamPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte()
|
||||
Public Function StreamPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing, Optional SubReportData As Modelos.MSubReportData = Nothing) As Byte()
|
||||
'limpio ReportViwer
|
||||
Dim sw As New System.Diagnostics.Stopwatch()
|
||||
sw.Start()
|
||||
|
||||
Me.SubReportData = Nothing
|
||||
|
||||
Dim Bytes As Byte() = Nothing
|
||||
|
||||
Dim CveUsuario As Integer = 0
|
||||
@@ -5988,7 +6001,7 @@ Public Class ClsPaginas
|
||||
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
|
||||
End If
|
||||
|
||||
If EsProduccion Then
|
||||
If EsProduccion AndAlso SubReportData Is Nothing Then
|
||||
|
||||
Dim wsreport As New WSRDLC.WebServiceSoapClient
|
||||
Dim params As New List(Of WSRDLC.ReportParameter)
|
||||
@@ -6008,12 +6021,21 @@ Public Class ClsPaginas
|
||||
reportobjects.Add(ojext)
|
||||
End If
|
||||
Next
|
||||
|
||||
For Each rpds As ReportParameter In Parametros
|
||||
Dim param As New WSRDLC.ReportParameter
|
||||
param.Name = rpds.Name
|
||||
param.Values = {rpds.Values(0)}
|
||||
|
||||
'SI ES TEXTO, QUITAR TABS Y OTROS ESPACIOS QUE DEN PROBLEMAS AL MANDAR LA PETICION
|
||||
If rpds IsNot Nothing AndAlso rpds.Values IsNot Nothing AndAlso rpds.Values.Count > 0 AndAlso rpds.Values(0) IsNot Nothing AndAlso rpds.Values(0).GetType() = GetType(String) Then
|
||||
param.Values = {rpds.Values(0).Replace(vbVerticalTab, "")}
|
||||
Else
|
||||
param.Values = {rpds.Values(0)}
|
||||
End If
|
||||
|
||||
params.Add(param)
|
||||
Next
|
||||
|
||||
Bytes = wsreport.StreamNEWPDFBytes(RutaReporte, ds, reportobjects.ToArray(), params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
|
||||
wsreport = Nothing
|
||||
params = Nothing
|
||||
@@ -6028,9 +6050,16 @@ Public Class ClsPaginas
|
||||
|
||||
MR.LocalReport.ReportPath = RutaReporte
|
||||
MR.ProcessingMode = ProcessingMode.Local
|
||||
|
||||
If SubReportData IsNot Nothing Then
|
||||
Me.SubReportData = SubReportData
|
||||
AddHandler MR.LocalReport.SubreportProcessing, AddressOf LocalReport_SubreportProcessing
|
||||
End If
|
||||
|
||||
MR.LocalReport.EnableExternalImages = True
|
||||
MR.LocalReport.SetParameters(Parametros)
|
||||
MR.LocalReport.Refresh()
|
||||
|
||||
Dim Warnings As Warning() = Nothing
|
||||
Dim StreamIds As String() = Nothing
|
||||
Dim MimeType As String = Nothing
|
||||
@@ -6099,6 +6128,14 @@ Public Class ClsPaginas
|
||||
Return Bytes
|
||||
End Function
|
||||
|
||||
Private Sub LocalReport_SubreportProcessing(ByVal sender As Object, ByVal e As SubreportProcessingEventArgs)
|
||||
If SubReportData IsNot Nothing Then
|
||||
For Each ds In SubReportData.DataSources
|
||||
e.DataSources.Add(ds)
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Function ImprimirPDFCrystal(RutaReporte As String, DataSource As DataTable, Parametros As List(Of CrystalParametro), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportDocument = Nothing) As Byte()
|
||||
'limpio ReportViwer
|
||||
Dim sw As New System.Diagnostics.Stopwatch()
|
||||
@@ -6218,6 +6255,45 @@ Public Class ClsPaginas
|
||||
Return Bytes
|
||||
End Function
|
||||
|
||||
Public Function ImprimirPDFPyME(RutaReporte As String, DataSource As DataSet, Parametros As List(Of CrystalParametro), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As StiReport = Nothing) As Byte()
|
||||
|
||||
If IsNothing(MR) Then MR = New Stimulsoft.Report.StiReport()
|
||||
Dim Bytes As Byte() = Nothing
|
||||
Try
|
||||
MR.Load(RutaReporte)
|
||||
MR.Dictionary.DataSources.Clear()
|
||||
MR.RegData(DataSource)
|
||||
Dim Lista = MR.Dictionary.Variables.ToList()
|
||||
For Each item As CrystalParametro In Parametros
|
||||
If Lista.Exists(Function(a) a.Name = item.Nombre) Then
|
||||
MR.Dictionary.Variables(item.Nombre).Value = item.Valor.ToString
|
||||
End If
|
||||
Next
|
||||
|
||||
MR.Dictionary.Synchronize()
|
||||
MR.IsRendered = False
|
||||
MR.Render(False)
|
||||
Dim pdfSettings As New Stimulsoft.Report.Export.StiPdfExportSettings()
|
||||
Dim MemoryStream As New MemoryStream
|
||||
Select Case Formato
|
||||
Case "PDF"
|
||||
MR.ExportDocument(Stimulsoft.Report.StiExportFormat.Pdf, MemoryStream, pdfSettings)
|
||||
Case "EXCEL"
|
||||
MR.ExportDocument(Stimulsoft.Report.StiExportFormat.Excel2007, MemoryStream, pdfSettings)
|
||||
End Select
|
||||
|
||||
Bytes = MemoryStream.ToArray
|
||||
MR.RenderedPages.Clear()
|
||||
MR.Dispose()
|
||||
MemoryStream.Dispose()
|
||||
Catch ex As Exception
|
||||
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
|
||||
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
|
||||
'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
|
||||
End Try
|
||||
Return Bytes
|
||||
End Function
|
||||
|
||||
Public Function StreamPDFTest(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte()
|
||||
'limpio ReportViwer
|
||||
|
||||
@@ -6346,7 +6422,534 @@ Public Class ClsPaginas
|
||||
#End Region
|
||||
|
||||
#Region "IMPRIMIR FACTURA"
|
||||
Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True) As Byte()
|
||||
Public Sub PdfFacturaPyME(ByRef Vta As Modelos.Factura, DT As DataTable, Optional Guardar As Boolean = True)
|
||||
Dim retorno As Byte() = Nothing
|
||||
|
||||
'DATOS GENERALES
|
||||
Dim Ruta As String = UsuarioActual.Empresa.Ruta
|
||||
Dim PathXML As String = $"{Ruta}XML\{Vta.TipoDocto}\{Vta.SerieFolio}.xml"
|
||||
Dim NombreArchivo As String = ""
|
||||
Dim NombreArchivoDescarga As String = ""
|
||||
Dim TipoDocumento As String = ""
|
||||
Dim TipoDocumentoRef As String = ""
|
||||
Dim AplicaPagare As String = "1"
|
||||
|
||||
Dim RFCReceptor As String = ""
|
||||
|
||||
If String.IsNullOrEmpty(Vta.RFCReceptor) Then
|
||||
RFCReceptor = Vta.Cliente.RFC
|
||||
If Vta.FacturarSucursal Then
|
||||
If Vta.ClienteSucursal IsNot Nothing Then
|
||||
RFCReceptor = Vta.ClienteSucursal.RFC
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
RFCReceptor = Vta.RFCReceptor
|
||||
End If
|
||||
|
||||
Dim RutaCBB As String = String.Format("{0}CBB\{1}.jpg", Ruta, Vta.SerieFolio)
|
||||
Dim ImagenCBB As New System.IO.FileInfo(RutaCBB)
|
||||
Dim ImgCBB As String '= String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio)
|
||||
|
||||
Dim ImagenPath = String.Format("{0}Formatos\Suc{1}\logo.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal)
|
||||
Dim Logo As New System.IO.FileInfo(ImagenPath)
|
||||
Dim ImgLogo = New Uri(String.Format("{0}Empresas/{1}/Formatos/Suc{2}.png", UrlSitio, UsuarioActual.CveEmpresa, Vta.CveSucursal)).AbsoluteUri
|
||||
|
||||
Dim SBDomicilioSucursal As New StringBuilder()
|
||||
Dim CiudadSucursal As String = String.Format("{0},{1}", Vta.SubProyecto.Municipio, Vta.SubProyecto.Estado)
|
||||
Dim DomicilioSucursal As String = ""
|
||||
|
||||
SBDomicilioSucursal.AppendFormat("{0}", Vta.SubProyecto.Calle)
|
||||
If Vta.SubProyecto.NoExt.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(" No.Ext: {0}", Vta.SubProyecto.NoExt)
|
||||
If Vta.SubProyecto.NoInt.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(", No.Int: {0}", Vta.SubProyecto.NoInt)
|
||||
If Vta.SubProyecto.Colonia.Length > 0 Then SBDomicilioSucursal.AppendFormat(", Col: {0}", Vta.SubProyecto.Colonia)
|
||||
If Vta.SubProyecto.CP.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(", CP: {0}", Vta.SubProyecto.CP)
|
||||
If CiudadSucursal.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", CiudadSucursal)
|
||||
If Vta.SubProyecto.Pais.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", Vta.SubProyecto.Pais)
|
||||
|
||||
DomicilioSucursal = SBDomicilioSucursal.ToString
|
||||
|
||||
Dim Fecha As String = Vta.Fecha.ToShortDateString
|
||||
|
||||
Dim SBDireccion As New StringBuilder()
|
||||
Dim SBLugar As New StringBuilder()
|
||||
Dim ClienteDireccion As String
|
||||
Dim ClienteLugar As String
|
||||
|
||||
'SI ESTA TIMBRADA - CON XML
|
||||
If File.Exists(PathXML) AndAlso Vta.Serie <> "VistaPrevia" Then 'Cuando es vista previe y coincide la serie y folio se ponen los datos fiscales
|
||||
Dim XmlDoc As New System.Xml.XmlDocument
|
||||
XmlDoc.Load(PathXML)
|
||||
|
||||
Dim TC As Decimal = 1
|
||||
Try
|
||||
TC = XmlDoc.DocumentElement.Attributes("TipoCambio").InnerText.ToDecimal
|
||||
Catch ex As Exception
|
||||
TC = 1
|
||||
End Try
|
||||
|
||||
Vta.FechaEmision = XmlDoc.DocumentElement.Attributes("fecha").InnerText.ToDate
|
||||
Vta.NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("noCertificado").InnerText
|
||||
|
||||
Dim validaElemento = XmlDoc.DocumentElement("cfdi:Complemento")
|
||||
|
||||
If Not IsNothing(validaElemento) Then
|
||||
For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1
|
||||
If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:TimbreFiscalDigital" Then
|
||||
Vta.FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText
|
||||
Vta.NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("noCertificadoSAT").InnerText
|
||||
Vta.FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText.ToDate
|
||||
Vta.SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloCFD").InnerText
|
||||
Vta.SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloSAT").InnerText
|
||||
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
Vta.FolioFiscal = "Sin Timbrar"
|
||||
Vta.NoSerieCertificado = "Sin Timbrar"
|
||||
Vta.SelloCFDi = "Sin Timbrar"
|
||||
Vta.SelloSAT = "Sin Timbrar"
|
||||
End If
|
||||
|
||||
'SIN TIMBRAR - SIN XML
|
||||
Else
|
||||
Vta.FolioFiscal = "Sin Timbrar"
|
||||
Vta.NoSerieCertificado = "Sin Timbrar"
|
||||
Vta.SelloCFDi = "Sin Timbrar"
|
||||
Vta.SelloSAT = "Sin Timbrar"
|
||||
End If
|
||||
|
||||
'DIRECCION CLIENTE
|
||||
If Vta.CveClienteSucursal.ToEntero > 0 Then
|
||||
'Si cliente tiene Noint, NoExt, CP
|
||||
SBDireccion.AppendFormat("{0}", Vta.ClienteSucursal.Direccion)
|
||||
If Vta.ClienteSucursal.NoExt.Length > 0 Then SBDireccion.AppendFormat(", No.Ext: {0}", Vta.ClienteSucursal.NoExt)
|
||||
If Vta.ClienteSucursal.NoInt.Length > 0 Then SBDireccion.AppendFormat(", No.Int: {0}", Vta.ClienteSucursal.NoInt)
|
||||
If UsuarioActual.CveEmpresa <> 66 Then SBDireccion.AppendFormat(", Col: {0}", Vta.ClienteSucursal.Colonia)
|
||||
|
||||
If Not (UsuarioActual.CveEmpresa.Contiene(66, 81, 109) AndAlso Vta.TipoDocto = "Cot") Then
|
||||
If Vta.ClienteSucursal.CP.Length > 0 Then SBDireccion.AppendFormat(", CP: {0} ", Vta.ClienteSucursal.CP.Trim)
|
||||
End If
|
||||
|
||||
'Si cliente tiene Local, CD, Edo, Pais
|
||||
If Vta.ClienteSucursal.Localidad IsNot Nothing AndAlso Vta.ClienteSucursal.Localidad.Length > 0 Then SBLugar.AppendFormat("Loc: {0}, ", Vta.ClienteSucursal.Localidad)
|
||||
If Vta.ClienteSucursal.Municipio IsNot Nothing AndAlso Vta.ClienteSucursal.Municipio.Length > 0 Then SBLugar.AppendFormat("Cd: {0}, ", Vta.ClienteSucursal.Municipio)
|
||||
If Vta.ClienteSucursal.Estado IsNot Nothing AndAlso Vta.ClienteSucursal.Estado.Length > 0 Then SBLugar.AppendFormat(" Edo: {0}, ", Vta.ClienteSucursal.Estado)
|
||||
If Vta.ClienteSucursal.Pais IsNot Nothing AndAlso Vta.ClienteSucursal.Pais.Length > 0 Then SBLugar.AppendFormat(" País: {0} ", Vta.ClienteSucursal.Pais)
|
||||
Else
|
||||
SBDireccion.AppendFormat("{0}", Vta.Cliente.Direccion)
|
||||
If Vta.Cliente.NoExt.Length > 0 Then SBDireccion.AppendFormat(", No.Ext: {0}", Vta.Cliente.NoExt)
|
||||
If Vta.Cliente.NoInt.Length > 0 Then SBDireccion.AppendFormat(", No.Int: {0}", Vta.Cliente.NoInt)
|
||||
If UsuarioActual.CveEmpresa <> 66 Then SBDireccion.AppendFormat(", Col: {0}", Vta.Cliente.Colonia)
|
||||
|
||||
If Not (UsuarioActual.CveEmpresa.Contiene(66, 81, 109) AndAlso Vta.TipoDocto = "Cot") Then
|
||||
If Vta.Cliente.CP.Length > 0 Then SBDireccion.AppendFormat(", CP: {0} ", Vta.Cliente.CP.Trim)
|
||||
End If
|
||||
|
||||
'Si cliente tiene Local, CD, Edo, Pais
|
||||
If Vta.Cliente.Localidad IsNot Nothing AndAlso Vta.Cliente.Localidad.Length > 0 Then SBLugar.AppendFormat("Loc: {0}, ", Vta.Cliente.Localidad)
|
||||
If Vta.Cliente.Ciudad IsNot Nothing AndAlso Vta.Cliente.Ciudad.Length > 0 Then SBLugar.AppendFormat("Cd: {0}, ", Vta.Cliente.Ciudad)
|
||||
If Vta.Cliente.Estado IsNot Nothing AndAlso Vta.Cliente.Estado.Length > 0 Then SBLugar.AppendFormat(" Edo: {0}, ", Vta.Cliente.Estado)
|
||||
If Vta.Cliente.Pais IsNot Nothing AndAlso Vta.Cliente.Pais.Length > 0 Then SBLugar.AppendFormat(" País: {0} ", Vta.Cliente.Pais)
|
||||
|
||||
End If
|
||||
|
||||
ClienteDireccion = SBDireccion.ToString
|
||||
ClienteLugar = SBLugar.ToString
|
||||
SBDireccion.Clear()
|
||||
SBLugar.Clear()
|
||||
|
||||
'LOGO
|
||||
Dim LogoRuta As String = ""
|
||||
'POR SUCURSAL
|
||||
LogoRuta = String.Format("{0}Formatos\Suc{1}.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal)
|
||||
If File.Exists(LogoRuta) Then
|
||||
LogoRuta = String.Format("file://{0}Formatos\Suc{1}.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal)
|
||||
'POR EMPRESA
|
||||
Else
|
||||
LogoRuta = String.Format("{0}Formatos\Logo.png", UsuarioActual.Empresa.Ruta)
|
||||
If File.Exists(LogoRuta) Then
|
||||
'LogoRuta = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
||||
LogoRuta = String.Format("{0}", LogoRuta)
|
||||
End If
|
||||
End If
|
||||
'LogoRuta = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
||||
LogoRuta = String.Format("{0}", LogoRuta)
|
||||
'Si no tiene CBB, SE GENERA
|
||||
If Not ImagenCBB.Exists Then
|
||||
Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar()
|
||||
CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFCReceptor, Vta.Total.ToString.ToDecimal, Vta.FolioFiscal, RutaCBB)
|
||||
End If
|
||||
ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio)
|
||||
|
||||
Dim CadenaOriginals As String = "||1.0|" + Vta.FolioFiscal + "|" + Vta.FechaCertificacion.ToString("yyyy-MM-dd") + "T" + Vta.FechaCertificacion.ToString("HH:mm:ss") + "|" + Vta.SelloCFDi + "|" + Vta.NoSerieCertificado + "||"
|
||||
If Not ImagenCBB.Exists Then ImgCBB = ""
|
||||
Dim RutaFormato As String = ""
|
||||
|
||||
|
||||
'AQUI EMPIEZA LOS PARAMETROS
|
||||
Try
|
||||
Dim params = New List(Of CrystalParametro)
|
||||
|
||||
'CLIENTE
|
||||
params.Add(New CrystalParametro("ClienteCodigo", Vta.Cliente.Codigo))
|
||||
params.Add(New CrystalParametro("ClienteNombre", If(Vta.ClienteSucursal.ImprimeNombreSucursal = "True", If(Vta.CveClienteSucursal > 0, Vta.ClienteSucursal.Sucursal, Vta.Cliente.Nombre), If(Vta.AtencionA <> "" AndAlso Vta.TipoDocto.Contiene("Ing", "Rem") AndAlso RFCReceptor = "XAXX010101000", $"{Vta.Cliente.Nombre}({Vta.AtencionA})", Vta.Cliente.Nombre))))
|
||||
params.Add(New CrystalParametro("ClienteDireccion", ClienteDireccion))
|
||||
params.Add(New CrystalParametro("ClienteLugar", ClienteLugar))
|
||||
|
||||
|
||||
'TOTALES
|
||||
params.Add(New CrystalParametro("SubTotal", Vta.SubTotal.ToString.FormatoNumero(2)))
|
||||
params.Add(New CrystalParametro("Descuento", Vta.Descuento.ToString.FormatoNumero(2)))
|
||||
params.Add(New CrystalParametro("Amortizacion", Vta.Amortizacion.ToString.FormatoNumero(2)))
|
||||
params.Add(New CrystalParametro("SubTotal2", (Vta.SubTotal - Vta.Descuento - Vta.Amortizacion).ToString.FormatoNumero(2)))
|
||||
params.Add(New CrystalParametro("IVA", Vta.IVA.ToString.FormatoNumero(2)))
|
||||
params.Add(New CrystalParametro("RetIVA", Vta.RetIVA.ToString.FormatoNumero(2)))
|
||||
params.Add(New CrystalParametro("RetISR", Vta.RetISR.ToString.FormatoNumero(2)))
|
||||
params.Add(New CrystalParametro("Total", Vta.Total.ToString.FormatoNumero(2)))
|
||||
params.Add(New CrystalParametro("ImporteLetra", Vta.Total.ToString.ToDouble.Texto2Letras(Vta.CveMoneda)))
|
||||
|
||||
'DATOS GENERALES
|
||||
params.Add(New CrystalParametro("Observaciones", Vta.Observaciones))
|
||||
params.Add(New CrystalParametro("CveVendedor", Vta.CveVendedor.ToString))
|
||||
'params.Add(New CrystalParametro("Status", Vta.EstatusFactura))
|
||||
params.Add(New CrystalParametro("FechaSolicitud", Vta.Fecha.ToString("dd/MMMM/yyyy"))) ' se puede omitir
|
||||
params.Add(New CrystalParametro("Serie", Vta.Serie))
|
||||
params.Add(New CrystalParametro("Folio", Vta.Folio.ToString))
|
||||
params.Add(New CrystalParametro("DomicilioSucursal", DomicilioSucursal))
|
||||
params.Add(New CrystalParametro("Vencimiento", Vta.FechaVencimiento.ToString("dd/MM/yyyy")))
|
||||
params.Add(New CrystalParametro("FolioFiscal", Vta.FolioFiscal))
|
||||
params.Add(New CrystalParametro("FechaCertificacion", String.Format("{0}T{1}", Vta.FechaCertificacion.ToString("yyyy-MM-dd"), Vta.FechaCertificacion.ToString("HH:mm:ss"))))
|
||||
params.Add(New CrystalParametro("SelloCFDI", Vta.SelloCFDi))
|
||||
params.Add(New CrystalParametro("CadenaSAT", CadenaOriginals))
|
||||
params.Add(New CrystalParametro("SelloSAT", Vta.SelloSAT))
|
||||
|
||||
params.Add(New CrystalParametro("QR", ImgCBB))
|
||||
params.Add(New CrystalParametro("ClienteRFC", RFCReceptor))
|
||||
params.Add(New CrystalParametro("FormaPago", Vta.FormaPagoText))
|
||||
params.Add(New CrystalParametro("Moneda", Vta.Moneda))
|
||||
params.Add(New CrystalParametro("TipoCambio", Vta.TipoCambio.ToString))
|
||||
params.Add(New CrystalParametro("CondicionPago", Vta.CondicionesPagoText))
|
||||
params.Add(New CrystalParametro("CadenaOriginal", CadenaOriginals))
|
||||
params.Add(New CrystalParametro("SerieCertificadoSAT", Vta.NoSerieCertificado))
|
||||
params.Add(New CrystalParametro("CertificadoContribuyente", Vta.NoSerieCertificadoContribuyente))
|
||||
params.Add(New CrystalParametro("NumCta", Vta.NumeroCuenta))
|
||||
params.Add(New CrystalParametro("LogoPath", LogoRuta))
|
||||
|
||||
'VENDEDOR
|
||||
Dim RowVendedor As DataRow = GlobalDTVendedores(-1).FiltroPrimero(String.Format("CveVendedor = {0}", Vta.CveVendedor.ToString))
|
||||
If Not IsNothing(RowVendedor) Then
|
||||
params.Add(New CrystalParametro("VendedorNombre", RowVendedor("Vendedor").ToString))
|
||||
params.Add(New CrystalParametro("VendedorMail", RowVendedor("Correo").ToString))
|
||||
params.Add(New CrystalParametro("VendedorTelefono", RowVendedor("Telefono").ToString))
|
||||
params.Add(New CrystalParametro("VendedorCelular", RowVendedor("Celular").ToString))
|
||||
|
||||
End If
|
||||
|
||||
params.Add(New CrystalParametro("CiudadSucursal", CiudadSucursal))
|
||||
params.Add(New CrystalParametro("OC", Vta.Det_OrdenCompra.ToString))
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(508) = "1" Then
|
||||
params.Add(New CrystalParametro("IEPS", Vta.IEPS.ToString.FormatoNumero(2)))
|
||||
End If
|
||||
|
||||
If Vta.CveClienteSucursal > 0 Then
|
||||
params.Add(New CrystalParametro("ClienteContactoMail", Vta.ClienteSucursal.CorreoSucursal))
|
||||
params.Add(New CrystalParametro("ClienteTelefono", Vta.ClienteSucursal.TelefonoSucursal))
|
||||
Else
|
||||
params.Add(New CrystalParametro("ClienteContactoMail", Vta.Cliente.MailCotizacion))
|
||||
params.Add(New CrystalParametro("ClienteTelefono", If(Vta.TipoDocto.Contiene("Ing", "Rem") AndAlso Vta.Cliente.Telefono.Length > 6, Vta.Cliente.Telefono, Vta.TelefonoGenerico)))
|
||||
End If
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(17) Then
|
||||
params.Add(New CrystalParametro("MetodoPago", Vta.ClaveMetodoPagoSAT.ToString))
|
||||
Else
|
||||
params.Add(New CrystalParametro("MetodoPago", Vta.MetodoPago.ToString))
|
||||
End If
|
||||
|
||||
|
||||
Select Case Vta.TipoDocto
|
||||
Case "Ing"
|
||||
NombreArchivo = "Factura"
|
||||
NombreArchivoDescarga = "Factura"
|
||||
TipoDocumento = "INGRESO"
|
||||
|
||||
'GENERAL
|
||||
params.Add(New CrystalParametro("TipoDocumento", NombreArchivoDescarga))
|
||||
params.Add(New CrystalParametro("Tipo", TipoDocumento))
|
||||
params.Add(New CrystalParametro("Ref", TipoDocumentoRef))
|
||||
params.Add(New CrystalParametro("AplicaPagare", AplicaPagare))
|
||||
|
||||
'VSH
|
||||
If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122, 145) Then
|
||||
'DATOS CLIENTES
|
||||
Dim ClienteRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", Vta.CveCliente.ToString))
|
||||
Dim DatosCliente = ""
|
||||
If ClienteRow IsNot Nothing Then
|
||||
DatosCliente = String.Format("{0} | {1} | {2}", Vta.SubProyecto.Municipio, ClienteRow("CuentaContable"), ClienteRow("Codigo"))
|
||||
End If
|
||||
params.Add(New CrystalParametro("DatosClientes", DatosCliente))
|
||||
params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto))
|
||||
End If
|
||||
|
||||
'COMPU, DN DIFUSA
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80, 119) Then
|
||||
params.Add(New CrystalParametro("EstatusFactura", If(Vta.TipoEstatus = 5, Vta.EstatusFactura, "")))
|
||||
params.Add(New CrystalParametro("EstatusEntrega", If(Vta.Inv_CveEstatusEntrega = 1, Vta.Inv_EstatusEntrega, "")))
|
||||
params.Add(New CrystalParametro("PedidoContrato", Vta.PedidoContrato))
|
||||
params.Add(New CrystalParametro("DescripcionContrato", Vta.NumeroDescripcionContrato))
|
||||
|
||||
params.Add(New CrystalParametro("MonedaAbreviatura", If(Vta.MonedaAbreviatura.ToString IsNot Nothing, Vta.MonedaAbreviatura.ToString, "")))
|
||||
params.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre))
|
||||
params.Add(New CrystalParametro("FechaImpresion", Now.ToDateTime.ToString))
|
||||
params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto))
|
||||
|
||||
'INE COMPLEMENTOS
|
||||
If UsuarioActual.CveEmpresa.Contiene(72) Then
|
||||
Dim INETipoProceso As String = ""
|
||||
Dim INETipoComite As String = ""
|
||||
Dim INEIdContabilidad As Integer = 0
|
||||
If Vta.ComplementoINE IsNot Nothing Then
|
||||
INETipoProceso = Vta.ComplementoINE.INETipoProceso
|
||||
INETipoComite = Vta.ComplementoINE.INETipoComite
|
||||
INEIdContabilidad = Vta.ComplementoINE.INEIdContabilidad
|
||||
End If
|
||||
params.Add(New CrystalParametro("INETipoProceso", INETipoProceso))
|
||||
params.Add(New CrystalParametro("INETipoComite", INETipoComite))
|
||||
params.Add(New CrystalParametro("INEIdContabilidad", INEIdContabilidad))
|
||||
params.Add(New CrystalParametro("Referencia", Vta.Cliente.ReferenciaFiscal))
|
||||
params.Add(New CrystalParametro("ClienteContacto", Vta.AtencionA))
|
||||
End If
|
||||
|
||||
'DIRECCION ENVIO
|
||||
If Vta.EnviarA.CveDireccionEnvio > 0 Then
|
||||
Dim StrEnvioDi As New StringBuilder
|
||||
StrEnvioDi.AppendFormat("{0}", Vta.EnviarA.EnvioDireccion)
|
||||
If Vta.EnviarA.EnvioNoExt IsNot Nothing AndAlso Vta.EnviarA.EnvioNoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.EnviarA.EnvioNoExt)
|
||||
If Vta.EnviarA.EnvioNoInt IsNot Nothing AndAlso Vta.EnviarA.EnvioNoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.EnviarA.EnvioNoInt)
|
||||
|
||||
params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString))
|
||||
params.Add(New CrystalParametro("EnvioNoExt", Vta.EnviarA.EnvioNoExt))
|
||||
params.Add(New CrystalParametro("EnvioNoInt", Vta.EnviarA.EnvioNoInt))
|
||||
params.Add(New CrystalParametro("EnvioColonia", Vta.EnviarA.EnvioColonia))
|
||||
params.Add(New CrystalParametro("EnvioCiudad", Vta.EnviarA.EnvioCiudad))
|
||||
params.Add(New CrystalParametro("EnvioEstado", Vta.EnviarA.EnvioEstado))
|
||||
params.Add(New CrystalParametro("EnvioContacto", Vta.EnviarA.EnvioContacto))
|
||||
params.Add(New CrystalParametro("EnvioDepartamento", Vta.EnviarA.EnvioDepartamento))
|
||||
params.Add(New CrystalParametro("EnvioCP", Vta.EnviarA.EnvioCP))
|
||||
Else
|
||||
If Vta.CveClienteSucursal.ToEntero > 0 Then
|
||||
Dim StrEnvioDi As New StringBuilder
|
||||
StrEnvioDi.AppendFormat("{0}", Vta.ClienteSucursal.Direccion)
|
||||
If Vta.ClienteSucursal.NoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.ClienteSucursal.NoExt)
|
||||
If Vta.ClienteSucursal.NoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.ClienteSucursal.NoInt)
|
||||
params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString))
|
||||
params.Add(New CrystalParametro("EnvioColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, "")))
|
||||
params.Add(New CrystalParametro("EnvioCiudad", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, "")))
|
||||
params.Add(New CrystalParametro("EnvioEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, "")))
|
||||
params.Add(New CrystalParametro("EnvioCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, "")))
|
||||
Else
|
||||
Dim StrEnvioDi As New StringBuilder
|
||||
StrEnvioDi.AppendFormat("{0}", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, ""))
|
||||
If Vta.Cliente.NoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.Cliente.NoExt)
|
||||
If Vta.Cliente.NoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.Cliente.NoInt)
|
||||
params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString))
|
||||
params.Add(New CrystalParametro("EnvioColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, "")))
|
||||
params.Add(New CrystalParametro("EnvioCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, "")))
|
||||
params.Add(New CrystalParametro("EnvioEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, "")))
|
||||
params.Add(New CrystalParametro("EnvioCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, "")))
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'CLIENTE SUCURSAL
|
||||
If Vta.CveClienteSucursal.ToEntero > 0 Then
|
||||
params.Add(New CrystalParametro("ClienteCalle", If(Vta.ClienteSucursal.Direccion.Length > 0, Vta.ClienteSucursal.Direccion, "")))
|
||||
params.Add(New CrystalParametro("ClienteColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, "")))
|
||||
params.Add(New CrystalParametro("ClienteCiudad", If(Vta.ClienteSucursal.Localidad IsNot Nothing And Vta.ClienteSucursal.Localidad.Length > 0, Vta.ClienteSucursal.Localidad, "")))
|
||||
params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, "")))
|
||||
params.Add(New CrystalParametro("ClienteEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, "")))
|
||||
params.Add(New CrystalParametro("ClienteCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, "")))
|
||||
params.Add(New CrystalParametro("ClienteNoInt", If(Vta.ClienteSucursal.NoInt.Length > 0, Vta.ClienteSucursal.NoInt, "")))
|
||||
params.Add(New CrystalParametro("ClienteNoExt", If(Vta.ClienteSucursal.NoExt.Length > 0, Vta.ClienteSucursal.NoExt, "")))
|
||||
params.Add(New CrystalParametro("ClientePais", If(Vta.ClienteSucursal.Pais.Length > 0, Vta.ClienteSucursal.Pais, "")))
|
||||
Else
|
||||
params.Add(New CrystalParametro("ClienteCalle", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, "")))
|
||||
params.Add(New CrystalParametro("ClienteColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, "")))
|
||||
params.Add(New CrystalParametro("ClienteCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, "")))
|
||||
params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.Cliente.Ciudad.Length > 0, Vta.Cliente.Ciudad, "")))
|
||||
params.Add(New CrystalParametro("ClienteEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, "")))
|
||||
params.Add(New CrystalParametro("ClienteCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, "")))
|
||||
params.Add(New CrystalParametro("ClienteNoInt", If(Vta.Cliente.NoInt.Length > 0, Vta.Cliente.NoInt, "")))
|
||||
params.Add(New CrystalParametro("ClienteNoExt", If(Vta.Cliente.NoExt.Length > 0, Vta.Cliente.NoExt, "")))
|
||||
params.Add(New CrystalParametro("ClientePais", If(Vta.Cliente.Pais.Length > 0, Vta.Cliente.Pais, "")))
|
||||
End If
|
||||
End If
|
||||
|
||||
RutaFormato = String.Format("{0}Formatos\{1}.mrt", UsuarioActual.Empresa.Ruta, NombreArchivo)
|
||||
|
||||
Case "Egs"
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then
|
||||
NombreArchivo = "NotaCredito"
|
||||
Else
|
||||
NombreArchivo = "Factura"
|
||||
End If
|
||||
NombreArchivoDescarga = "Nota de Crédito"
|
||||
TipoDocumento = "EGRESO"
|
||||
TipoDocumentoRef = String.Format(": Ref.:{0}", Vta.RefDocto)
|
||||
AplicaPagare = "0"
|
||||
|
||||
'GENERAL
|
||||
params.Add(New CrystalParametro("TipoDocumento", NombreArchivoDescarga))
|
||||
params.Add(New CrystalParametro("Tipo", TipoDocumento))
|
||||
params.Add(New CrystalParametro("Ref", TipoDocumentoRef))
|
||||
params.Add(New CrystalParametro("AplicaPagare", AplicaPagare))
|
||||
params.Add(New CrystalParametro("Fecha", String.Format("{0}T{1}", Vta.Fecha.ToString("yyyy-MM-dd"), Vta.Fecha.ToString("HH:mm:ss"))))
|
||||
|
||||
'ALAN YEPIZ
|
||||
If UsuarioActual.CveEmpresa.Contiene(123) Then
|
||||
params.Add(New CrystalParametro("DiaExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Day)))
|
||||
params.Add(New CrystalParametro("MesExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Month)))
|
||||
params.Add(New CrystalParametro("AñoExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Year)))
|
||||
End If
|
||||
|
||||
'COMPU, DN DIFUSA
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80, 119) Then
|
||||
params.Add(New CrystalParametro("EstatusFactura", If(Vta.TipoEstatus = 5, Vta.EstatusFactura, "")))
|
||||
params.Add(New CrystalParametro("EstatusEntrega", If(Vta.Inv_CveEstatusEntrega = 1, Vta.Inv_EstatusEntrega, "")))
|
||||
params.Add(New CrystalParametro("PedidoContrato", Vta.PedidoContrato))
|
||||
|
||||
params.Add(New CrystalParametro("MonedaAbreviatura", If(Vta.MonedaAbreviatura.ToString IsNot Nothing, Vta.MonedaAbreviatura.ToString, "")))
|
||||
params.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre))
|
||||
params.Add(New CrystalParametro("FechaImpresion", Now.ToDateTime.ToString))
|
||||
params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto))
|
||||
|
||||
'CLIENTE SUCURSAL
|
||||
If Vta.CveClienteSucursal.ToEntero > 0 Then
|
||||
params.Add(New CrystalParametro("ClienteCalle", If(Vta.ClienteSucursal.Direccion.Length > 0, Vta.ClienteSucursal.Direccion, "")))
|
||||
params.Add(New CrystalParametro("ClienteColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, "")))
|
||||
params.Add(New CrystalParametro("ClienteCiudad", If(Vta.ClienteSucursal.Localidad IsNot Nothing And Vta.ClienteSucursal.Localidad.Length > 0, Vta.ClienteSucursal.Localidad, "")))
|
||||
params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, "")))
|
||||
params.Add(New CrystalParametro("ClienteEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, "")))
|
||||
params.Add(New CrystalParametro("ClienteCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, "")))
|
||||
params.Add(New CrystalParametro("ClienteNoInt", If(Vta.ClienteSucursal.NoInt.Length > 0, Vta.ClienteSucursal.NoInt, "")))
|
||||
params.Add(New CrystalParametro("ClienteNoExt", If(Vta.ClienteSucursal.NoExt.Length > 0, Vta.ClienteSucursal.NoExt, "")))
|
||||
params.Add(New CrystalParametro("ClientePais", If(Vta.ClienteSucursal.Pais.Length > 0, Vta.ClienteSucursal.Pais, "")))
|
||||
Else
|
||||
params.Add(New CrystalParametro("ClienteCalle", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, "")))
|
||||
params.Add(New CrystalParametro("ClienteColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, "")))
|
||||
params.Add(New CrystalParametro("ClienteCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, "")))
|
||||
params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.Cliente.Ciudad.Length > 0, Vta.Cliente.Ciudad, "")))
|
||||
params.Add(New CrystalParametro("ClienteEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, "")))
|
||||
params.Add(New CrystalParametro("ClienteCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, "")))
|
||||
params.Add(New CrystalParametro("ClienteNoInt", If(Vta.Cliente.NoInt.Length > 0, Vta.Cliente.NoInt, "")))
|
||||
params.Add(New CrystalParametro("ClienteNoExt", If(Vta.Cliente.NoExt.Length > 0, Vta.Cliente.NoExt, "")))
|
||||
params.Add(New CrystalParametro("ClientePais", If(Vta.Cliente.Pais.Length > 0, Vta.Cliente.Pais, "")))
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
RutaFormato = String.Format("{0}Formatos\{1}.mrt", UsuarioActual.Empresa.Ruta, "Factura")
|
||||
Case Else
|
||||
NombreArchivo = ""
|
||||
TipoDocumento = ""
|
||||
End Select
|
||||
If NombreArchivo = "" Then
|
||||
GuardaLog("No se especifico el tipo de Impresion de venta (Venta, Remision, Cotización, Nota de Crédito).")
|
||||
Exit Sub
|
||||
End If
|
||||
'TERMINA REGION PARAMETROS
|
||||
|
||||
Dim lrds As New List(Of ReportDataSource)
|
||||
'Si es ECLIPSE CREAR COLUMAS PARA FIRMAS EN DtDetalle.
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 15, 17, 71, 76, 125) Then
|
||||
Dim DtDetalleFirmas As New DataTable
|
||||
DtDetalleFirmas.TableName = "DetalleFirma"
|
||||
DtDetalleFirmas = Vta.DtDetalle.Copy()
|
||||
|
||||
'SI NO TIENE LAS COLUMNAS DE FIRMAS LAS CREA.
|
||||
If Not DtDetalleFirmas.Columns.Contains("Titulo") Then
|
||||
DtDetalleFirmas.Columns.Add("Titulo", GetType(String))
|
||||
DtDetalleFirmas.Columns.Add("Nombre", GetType(String))
|
||||
DtDetalleFirmas.Columns.Add("Puesto", GetType(String))
|
||||
DtDetalleFirmas.Columns.Add("Lado", GetType(Integer))
|
||||
End If
|
||||
|
||||
'Se llenan los Rows de las columnas con los datos del DtFirmas
|
||||
For i As Integer = 0 To Vta.DtFirmas.Rows.Count - 1
|
||||
'Si DtDetalle es menor al DtFirmas, crea un nuevo Row en DtDetalle y le asigna valor, Si no solo asigna valor
|
||||
If DtDetalleFirmas.Rows.Count < i + 1 Then
|
||||
Dim Dr = DtDetalleFirmas.NewRow
|
||||
Dr("Titulo") = Vta.DtFirmas(i)("Titulo").ToString
|
||||
Dr("Nombre") = Vta.DtFirmas(i)("Nombre").ToString
|
||||
Dr("Puesto") = Vta.DtFirmas(i)("Puesto").ToString
|
||||
Dr("Lado") = Vta.DtFirmas(i)("Lado").ToString.ToEntero
|
||||
DtDetalleFirmas.Rows.Add(Dr)
|
||||
Else
|
||||
DtDetalleFirmas(i)("Titulo") = Vta.DtFirmas(i)("Titulo").ToString
|
||||
DtDetalleFirmas(i)("Nombre") = Vta.DtFirmas(i)("Nombre").ToString
|
||||
DtDetalleFirmas(i)("Puesto") = Vta.DtFirmas(i)("Puesto").ToString
|
||||
DtDetalleFirmas(i)("Lado") = Vta.DtFirmas(i)("Lado").ToString.ToEntero
|
||||
End If
|
||||
Next i
|
||||
|
||||
Dim rds As New ReportDataSource With {.Name = "DsOC", .Value = DtDetalleFirmas}
|
||||
lrds.Add(rds)
|
||||
Else
|
||||
Dim rds As New ReportDataSource With {.Name = "DsOC", .Value = Vta.DtDetalle}
|
||||
lrds.Add(rds)
|
||||
End If
|
||||
|
||||
Dim rds1 As New ReportDataSource With {.Name = "DataSet1", .Value = If(Vta.DtDeduccion IsNot Nothing, Vta.DtDeduccion, New DataTable)} ' sino esta creado el objeto, lo creamos, para que no truene el reporte
|
||||
lrds.Add(rds1)
|
||||
|
||||
'DETALLE FIRMAS
|
||||
|
||||
Dim rds2 As New ReportDataSource With {.Name = "DataSet2", .Value = If(Vta.DtFirmas IsNot Nothing, Vta.DtFirmas, New DataTable)} ' sino esta creado el objeto, lo creamos, para que no truene el reporte
|
||||
lrds.Add(rds2)
|
||||
|
||||
Dim Archivo As New System.IO.FileInfo(RutaFormato)
|
||||
|
||||
Dim DataSet As New DataSet
|
||||
Vta.DtDetalle.TableName = "Datos"
|
||||
Vta.DtDeduccion.TableName = "Deduccion"
|
||||
DataSet.Tables.Add(Vta.DtDetalle.Copy)
|
||||
DataSet.Tables.Add(Vta.DtDeduccion.Copy)
|
||||
|
||||
If Archivo.Exists Then
|
||||
ImprimirbytesPDF(ImprimirPDFPyME(RutaFormato, DataSet, params, NombreArchivo, "PDF", MR:=Nothing), "Factura")
|
||||
If Guardar Then
|
||||
Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio))
|
||||
If Not ArchivoPDF.Exists Then
|
||||
Try
|
||||
DirectoryExistsCreate(String.Format("{0}PDF", UsuarioActual.Empresa.Ruta))
|
||||
DirectoryExistsCreate(String.Format("{0}PDF\{1}", UsuarioActual.Empresa.Ruta, Vta.TipoDocto))
|
||||
File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno)
|
||||
Catch ex As Exception
|
||||
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
|
||||
End Try
|
||||
Else
|
||||
Try
|
||||
ArchivoPDF.Delete()
|
||||
File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno)
|
||||
Catch ex As Exception
|
||||
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
|
||||
End Try
|
||||
End If
|
||||
End If
|
||||
|
||||
Else
|
||||
params.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
|
||||
params.Add(New CrystalParametro("RFC", UsuarioActual.Empresa.RFC))
|
||||
ImprimirbytesPDF(ImprimirPDFPyME(RutaFormato, DataSet, params, NombreArchivo, "PDF", MR:=Nothing), "Factura")
|
||||
End If
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
|
||||
End Try
|
||||
End Sub
|
||||
Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True, Optional SubReportData As Modelos.MSubReportData = Nothing) As Byte()
|
||||
Dim retorno As Byte() = Nothing
|
||||
|
||||
' Dim ObjVentas As New ClsVentas
|
||||
@@ -7166,6 +7769,13 @@ Public Class ClsPaginas
|
||||
'Next
|
||||
'ast.ToString.GuardaLog()
|
||||
|
||||
'PASAR LOS PARAMETROS SI TIENE SUBREPORTE
|
||||
If SubReportData IsNot Nothing Then
|
||||
For Each parametro As ReportParameter In SubReportData.Parametros
|
||||
params.Add(parametro)
|
||||
Next
|
||||
End If
|
||||
|
||||
Dim Archivo As New System.IO.FileInfo(RutaFormato)
|
||||
If Archivo.Exists Then
|
||||
'If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
|
||||
@@ -7174,7 +7784,7 @@ Public Class ClsPaginas
|
||||
'Else
|
||||
' retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
|
||||
'End If
|
||||
retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
|
||||
retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing, SubReportData:=SubReportData)
|
||||
|
||||
Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio))
|
||||
If Guardar Then
|
||||
@@ -7204,7 +7814,7 @@ Public Class ClsPaginas
|
||||
'Else
|
||||
' retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
|
||||
'End If
|
||||
retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
|
||||
retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing, SubReportData:=SubReportData)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
|
||||
@@ -7243,12 +7853,12 @@ Public Class ClsPaginas
|
||||
End If
|
||||
|
||||
'SITIO DE PRUEBA EN IIS
|
||||
Dim Url = New Uri(String.Format("{0}{1}", "http://localhost:2202/", Opcion))
|
||||
|
||||
Try
|
||||
Dim dataSourceArray As New JArray()
|
||||
Dim paramsArray As New JArray()
|
||||
|
||||
Dim Url = New Uri(String.Format("{0}{1}", "http://localhost:2202/", Opcion))
|
||||
|
||||
Try
|
||||
Dim dataSourceArray As New JArray()
|
||||
Dim paramsArray As New JArray()
|
||||
|
||||
For Each rds As ReportDataSource In DataSource
|
||||
dataSourceArray.Add(New JObject(New JProperty("Nombre", rds.Name), New JProperty("Valor", JArray.Parse(JsonConvert.SerializeObject(rds.Value)))))
|
||||
Next
|
||||
@@ -7262,10 +7872,10 @@ Public Class ClsPaginas
|
||||
New JProperty("ruta", RutaReporte),
|
||||
New JProperty("parametros", paramsArray),
|
||||
New JProperty("dataSource", dataSourceArray)
|
||||
)
|
||||
|
||||
Dim data = New StringContent(payload.ToString(), Encoding.UTF8, "application/json")
|
||||
|
||||
)
|
||||
|
||||
Dim data = New StringContent(payload.ToString(), Encoding.UTF8, "application/json")
|
||||
|
||||
Using httpClient = New HttpClient()
|
||||
Using request = New HttpRequestMessage(HttpMethod.Post, Url)
|
||||
'request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks)))
|
||||
@@ -7275,10 +7885,10 @@ Public Class ClsPaginas
|
||||
Bytes = response.Content.ReadAsByteArrayAsync().Result
|
||||
End If
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al descargar la factura", ex)
|
||||
End Try
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al descargar la factura", ex)
|
||||
End Try
|
||||
|
||||
sw.Stop()
|
||||
|
||||
|
||||
@@ -35,6 +35,20 @@ Namespace Modelos
|
||||
Public Property CveEmpresa As Integer
|
||||
|
||||
End Class
|
||||
<Serializable>
|
||||
Public Class MSubReportData
|
||||
Public Sub New()
|
||||
Me.Nombre = ""
|
||||
Me.SerieFolio = ""
|
||||
Me.Parametros = New List(Of ReportParameter)
|
||||
Me.DataSources = New List(Of ReportDataSource)
|
||||
End Sub
|
||||
|
||||
Public Property Nombre As String
|
||||
Public Property SerieFolio As String
|
||||
Public Property Parametros As List(Of ReportParameter)
|
||||
Public Property DataSources As List(Of ReportDataSource)
|
||||
End Class
|
||||
|
||||
Public Class Evento
|
||||
Public Sub New()
|
||||
|
||||
@@ -381,7 +381,7 @@ Public Class Timbres
|
||||
Public Property CartaPorte As CFDICartaPorte
|
||||
End Class
|
||||
|
||||
Public Shared Function PreParaCartaPorteFactura(CveTimbre As Integer, Obj As Modelos.Factura, UsuarioActual As Usuario) As MMensajeCartaPorte
|
||||
Public Shared Function PreParaCartaPorteFactura(CveTimbre As Integer, UsuarioActual As Usuario) As MMensajeCartaPorte
|
||||
Dim Retorno As New MMensajeCartaPorte
|
||||
|
||||
Try
|
||||
@@ -405,7 +405,7 @@ Public Class Timbres
|
||||
|
||||
Dim ObjGrales As New ClsGenerales
|
||||
|
||||
If ObjGrales.GetGralTimbre(CveTimbre, "Man", FI, FF, -1, UsuarioActual.CveEmpresa, -1) Then
|
||||
If ObjGrales.GetGralTimbre(CveTimbre, "Ing", FI, FF, -1, UsuarioActual.CveEmpresa, -1) Then
|
||||
|
||||
If ObjGrales.DtResultados.Rows.Count = 1 Then
|
||||
Dim DtMovimientos As DataTable = Nothing
|
||||
@@ -472,16 +472,6 @@ Public Class Timbres
|
||||
End If
|
||||
|
||||
|
||||
If drT("ClaveTipoRemolque1").ToString <> "" Then
|
||||
Dim Rem1 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque1"), .Placa = drT("PlacaRemolque1")}
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem1)
|
||||
End If
|
||||
|
||||
If drT("ClaveTipoRemolque2").ToString <> "" Then
|
||||
Dim Rem2 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque2"), .Placa = drT("PlacaRemolque2")}
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem2)
|
||||
End If
|
||||
|
||||
|
||||
Dim DomOrigen As CFDICartaPorteDomicilio = Nothing
|
||||
DomOrigen = New CFDICartaPorteDomicilio With {.Calle = drT("DirOriCalle").ToString,
|
||||
@@ -575,7 +565,7 @@ Public Class Timbres
|
||||
.ClaveUnidad = drr("SATClaveUM").ToString,
|
||||
.Unidad = drr("UM").ToString,
|
||||
.Dimensiones = drr("Dimensiones").ToString,
|
||||
.PesoenKg = drr("PesoKg").ToString.ToDecimal,
|
||||
.PesoenKg = drr("PesoKg").ToString.ToDecimal * drr("Cantidad").ToString.ToDecimal,
|
||||
.MaterialPeligroso = If(drr("ClaveMaterialPeligroso").ToString <> "", "Sí", ""),
|
||||
.ClaveMaterialPeligroso = drr("ClaveMaterialPeligroso").ToString,
|
||||
.Embalaje = drr("ClaveEmbalaje").ToString,
|
||||
@@ -586,7 +576,7 @@ Public Class Timbres
|
||||
.UUIDComercioExt = ""
|
||||
}
|
||||
|
||||
Dim DetalleMercancia As New CFDICartaPorteMercanciaDetalleMercancia With {.PesoNeto = drr("PesoKg").ToString.ToDecimal, .NumPiezas = drr("Cantidad").ToString.ToDecimal}
|
||||
Dim DetalleMercancia As New CFDICartaPorteMercanciaDetalleMercancia With {.PesoNeto = drr("PesoKg").ToString.ToDecimal * drr("Cantidad").ToString.ToDecimal, .NumPiezas = drr("Cantidad").ToString.ToDecimal}
|
||||
conceptoCarta.DetalleMercancia = DetalleMercancia
|
||||
|
||||
Dim MercanciaTransporta As New CFDICartaPorteMercanciaTransporta With {.Cantidad = drr("Cantidad").ToString.ToDecimal, .IDOrigen = "OR000001", .IDDestino = "DE000001"}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
4609
Empresas/13/Formatos/CartaPorteTimbrado.rdlc
Normal file
4609
Empresas/13/Formatos/CartaPorteTimbrado.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -76,7 +76,7 @@ public partial class Ventas_RepCancelacionesPorAtender : ClsPaginas
|
||||
protected void btnAceptar_Click(object sender, EventArgs e)
|
||||
{
|
||||
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||
Cancelacion.CancelacionSoapClient objServicio = new Cancelacion.CancelacionSoapClient();
|
||||
Cancelacion2022.CancelacionSoapClient objServicio = new Cancelacion2022.CancelacionSoapClient();
|
||||
try
|
||||
{
|
||||
|
||||
@@ -98,7 +98,7 @@ public partial class Ventas_RepCancelacionesPorAtender : ClsPaginas
|
||||
//var acusesat = Timbrado.VerificarVigenciaSAT(Uuid, RFC, RFCReceptor, Total, true);
|
||||
//if (acusesat != null && acusesat.EsCancelable.Contains("Cancelable"))
|
||||
//{
|
||||
Cancelacion.StructCancel resp = objServicio.AceptaRechaza(RFCReceptor, PACUsuario, PACContrasenia, CertB64, KeyB64, ClaveReceptor, Uuid, "Aceptación");
|
||||
Cancelacion2022.StructCancel resp = objServicio.AceptaRechaza(RFCReceptor, PACUsuario, PACContrasenia, CertB64, KeyB64, ClaveReceptor, Uuid, "Aceptación");
|
||||
if (resp.Estado == 0)
|
||||
{
|
||||
Alert("Aceptación de cancelación exitosa");
|
||||
@@ -126,7 +126,7 @@ public partial class Ventas_RepCancelacionesPorAtender : ClsPaginas
|
||||
protected void btnRechazar_Click(object sender, EventArgs e)
|
||||
{
|
||||
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||
Cancelacion.CancelacionSoapClient objServicio = new Cancelacion.CancelacionSoapClient();
|
||||
Cancelacion2022.CancelacionSoapClient objServicio = new Cancelacion2022.CancelacionSoapClient();
|
||||
|
||||
try
|
||||
{
|
||||
@@ -145,7 +145,7 @@ public partial class Ventas_RepCancelacionesPorAtender : ClsPaginas
|
||||
|
||||
//var acusesat = Timbrado.VerificarVigenciaSAT(Uuid, "", RFCReceptor, total, true);
|
||||
|
||||
Cancelacion.StructCancel resp = objServicio.AceptaRechaza(RFCReceptor, PACUsuario, PACContrasenia, CertB64, KeyB64, ClaveReceptor, Uuid, "Rechazo");
|
||||
Cancelacion2022.StructCancel resp = objServicio.AceptaRechaza(RFCReceptor, PACUsuario, PACContrasenia, CertB64, KeyB64, ClaveReceptor, Uuid, "Rechazo");
|
||||
if (resp.Estado == 0)
|
||||
{
|
||||
Alert("Aceptación de cancelación exitosa");
|
||||
@@ -160,7 +160,7 @@ public partial class Ventas_RepCancelacionesPorAtender : ClsPaginas
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//Alert(ex.ToString(), ModExtensiones.TipoMensaje.MsgError);
|
||||
//Alert(ex.ToString(), ModExtensiones.TipoMensaje.MsgError);
|
||||
this.OnError("Ocurrió un error al rechazar la cancelación", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2467,21 +2467,27 @@
|
||||
<div class="row rowpadding">
|
||||
<label class="col-md-2">Emitir:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:CheckBox ID="ChkEmitirCartaPorte" runat="server" CssClass="chksino" Text=" " />
|
||||
<asp:CheckBox ID="ChkEmitirCartaPorte" runat="server" CssClass="chksino" Text=" " OnCheckedChanged="ChkEmitirCartaPorte_CheckedChanged" AutoPostBack="true" />
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row rowpadding">
|
||||
<label class="col-md-2">Origen:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:TextBox ID="TxtOrigenCP" runat="server" Enabled="false" Text="" CssClass="form-control input-sm"></asp:TextBox>
|
||||
<asp:DropDownList ID="DdlDireccionOrigen" runat="server" AutoPostBack="true" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="SucursalClienteVentaDireccion" DataValueField="CveDireccionEnvio" Width="100%" OnSelectedIndexChanged="DdlDireccionOrigen_SelectedIndexChanged">
|
||||
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<%--<asp:TextBox ID="TxtOrigenCP" runat="server" Enabled="false" Text="" CssClass="form-control input-sm"></asp:TextBox>--%>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row rowpadding">
|
||||
<label class="col-md-2">Destino:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:TextBox ID="TxtDestinoCP" runat="server" Enabled="false" Text="" CssClass="form-control input-sm"></asp:TextBox>
|
||||
<asp:DropDownList ID="DdlDireccionDestino" runat="server" AutoPostBack="true" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="SucursalClienteVentaDireccion" DataValueField="CveDireccionEnvio" Width="100%" OnSelectedIndexChanged="DdlDireccionDestino_SelectedIndexChanged">
|
||||
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<%--<asp:TextBox ID="TxtDestinoCP" runat="server" Enabled="false" Text="" CssClass="form-control input-sm"></asp:TextBox>--%>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
@@ -5956,11 +5962,54 @@
|
||||
<h4 class="modal-title">Registrar Mercancía</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtCantidadMercancia" runat="server" ClientIDMode="Static" CssClass="form-control" CausesValidation="true"></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender ID="FTEMercancia" runat="server" TargetControlID="TxtCantidadMercancia" FilterType="Numbers, Custom" ValidChars="." />
|
||||
<asp:RequiredFieldValidator ID="RFVMercancia" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtCantidadMercancia" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddPSMercancia"></asp:RequiredFieldValidator>
|
||||
<label for="<%= TxtCantidadMercancia.ClientID.ToString()%>">Cantidad:</label>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<label class="col-md-3 truncate" style="color: #888888; font-family: 'Open Sans', sans-serif; direction: ltr; font-size: 12px;">Agregar Flete:</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:CheckBox ID="ChkAgregarFlete" runat="server" CssClass="chksino" Text=" " OnCheckedChanged="ChkAgregarFlete_CheckedChanged" Checked="true"
|
||||
AutoPostBack="true" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DivServicioFlete" runat="server" visible="True" class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<label for="<%= DdlPSFlete.ClientID.ToString()%>">Servicio:</label>
|
||||
<ADS:Dropdownlost runat="server" ID="DdlPSFlete" CssStyle="width: 100%;" CssClass=" form-control input-sm DdlPS" IncluyeTodos="false" CssClassDdl="select2me form-control" DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<label class="col-md-3 truncate" style="color: #888888; font-family: 'Open Sans', sans-serif; direction: ltr; font-size: 12px;">Observaciones:</label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:TextBox ID="TxtObservacionesMercancia" CssClass="form-control input-sm" runat="server" Rows="2" TextMode="MultiLine" Width="100%" MaxLength="50"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtCantidadMercancia" runat="server" ClientIDMode="Static" CssClass="form-control" CausesValidation="true"></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender ID="FTEMercancia" runat="server" TargetControlID="TxtCantidadMercancia" FilterType="Numbers, Custom" ValidChars="." />
|
||||
<asp:RequiredFieldValidator ID="RFVMercancia" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtCantidadMercancia" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddPSMercancia"></asp:RequiredFieldValidator>
|
||||
<label for="<%= TxtCantidadMercancia.ClientID.ToString()%>">Cantidad:</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
@@ -5970,6 +6019,16 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtPrecioMercancia" inputmode="numeric" runat="server" onkeyup="Recalcula();" CausesValidation="true" lang="nb" ClientIDMode="Static" Text="0.00" MaxLength="12" ValidationGroup="GrpAddPSMercancia" Width="200px" CssClass="form-control "></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender ID="FTBPrecioMercancia" runat="server" TargetControlID="TxtPrecioMercancia" FilterType="Custom, Numbers" ValidChars="." />
|
||||
<asp:RequiredFieldValidator ID="RFVPrecioMercancia" runat="server" ControlToValidate="TxtPrecioMercancia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Precio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddPSMercancia"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEPrecioM1" runat="server" HighlightCssClass="vco" TargetControlID="RFVPrecioMercancia" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<asp:CustomValidator ID="CVPrecioMercancia" runat="server" ClientValidationFunction="ValidaDecimal6digits" ControlToValidate="TxtPrecioMercancia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Precio''</b> no tiene el formato correcto. Por favor rectifique y vuelva a intentar." ValidateEmptyText="True" ValidationGroup="GrpAddPSMercancia"></asp:CustomValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEPrecioM2" runat="server" HighlightCssClass="vco" TargetControlID="CVPrecioMercancia" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<label for="<%= TxtPrecioMercancia.ClientID.ToString()%>">Precio:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="LnkAddPSMercancia" OnClick="LnkAddPSMercancia_Click" runat="server" CssClass="btn btn-success" Text="Agregar" ValidationGroup="GrpAddPSMercancia"></asp:LinkButton>
|
||||
|
||||
@@ -228,6 +228,14 @@ Partial Class Ventas
|
||||
ViewState("TmpDTEnvioDireccion") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property TmpDTDireccionCP As DataTable
|
||||
Get
|
||||
Return If(IsNothing(ViewState("TmpDTDireccionCP")), Nothing, CType(ViewState("TmpDTDireccionCP"), DataTable))
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("TmpDTDireccionCP") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property IdPoliza As Integer
|
||||
Get
|
||||
@@ -1346,6 +1354,22 @@ Partial Class Ventas
|
||||
ViewState("RegimenFiscalCliente") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property RegimenSociedad As String
|
||||
Get
|
||||
Return IfNull(ViewState("RegimenSociedad"), "").ToString()
|
||||
End Get
|
||||
Set(value As String)
|
||||
ViewState("RegimenSociedad") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property TipoPersona As Boolean
|
||||
Get
|
||||
Return CBool(IfNull(ViewState("TipoPersona"), False))
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("TipoPersona") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property Adjunto As String
|
||||
Get
|
||||
Return If(IsNothing(ViewState("Adjunto")), "", ViewState("Adjunto").ToString())
|
||||
@@ -2327,7 +2351,7 @@ Partial Class Ventas
|
||||
UpFacturar.Update()
|
||||
'CargaTiposDocumentos()
|
||||
TrEmitir.Visible = False
|
||||
If UsuarioActual.CveRol = 1 Then
|
||||
If UsuarioActual.CveRol = 1 AndAlso UsuarioActual.CveEmpresa = 1 Then
|
||||
DivCartaPorte.Visible = True
|
||||
End If
|
||||
ViewState("EstablecioFolio") = False
|
||||
@@ -2491,6 +2515,7 @@ Partial Class Ventas
|
||||
CargaClasificaciones()
|
||||
CargaPS(-1, DdlPS)
|
||||
CargaPS(-1, DdlPSMercancia)
|
||||
CargaPS(-1, DdlPSFlete)
|
||||
'CargaPSRemision(-1, DdlPSRemision)
|
||||
CargaPSPyME(-1, DdlPSPyME)
|
||||
|
||||
@@ -4953,7 +4978,7 @@ Partial Class Ventas
|
||||
If DbRowVenta("CveDireccionEnvio").ToString().ToEntero() > 0 AndAlso DbRowVenta("CveDireccionEnvio").ToString() IsNot Nothing Then
|
||||
ChkDireccionEnvio.Checked = True
|
||||
DdlDireccionEnvio.SelectedValueExist(DbRowVenta("CveDireccionEnvio").ToString().ToEntero())
|
||||
DdlDireccionEnvio_SelectedIndexChanged(DdlDireccionEnvio, EventArgs.Empty)
|
||||
'DdlDireccionEnvio_SelectedIndexChanged(DdlDireccionEnvio, EventArgs.Empty)
|
||||
DdlDireccionEnvio.Enabled = False
|
||||
ChkDireccionEnvio.Enabled = False
|
||||
DdlDireccionEnvio.Visible = True
|
||||
@@ -6110,8 +6135,11 @@ Partial Class Ventas
|
||||
ViewState("CliLocalidad") = If(ObjCliente.Localidad.Trim.Length = 0, ObjCliente.Ciudad.Trim, ObjCliente.Localidad.Trim)
|
||||
ViewState("CliPais") = ObjCliente.Pais
|
||||
ImprimeNombreSucursal = ObjCliente.ImprimeNombreSucursal
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
|
||||
RegimenFiscalCliente = ObjCliente.DtResultados(0)("CodigoRegimenFiscal").ToString()
|
||||
RegimenSociedad = ObjCliente.DtResultados(0)("RegimenSociedad").ToString()
|
||||
TipoPersona = CBool(ObjCliente.DtResultados(0)("TipoPersona"))
|
||||
CargaUsoCFDI()
|
||||
End If
|
||||
'ViewState("NumCtaPago") = ObjCliente.NumCtaPago
|
||||
@@ -6137,7 +6165,7 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
'HABILITA LA OPCION DE DIRECCION DE ENVIO
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 72, 119, 140) Then
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 13, 72, 119, 140) Then
|
||||
trDireccionEnvio.Visible = True
|
||||
CargaDireccionesEnvio()
|
||||
End If
|
||||
@@ -7259,7 +7287,7 @@ Partial Class Ventas
|
||||
DdlClasificacion.DataBind()
|
||||
DdlClasificacionPyME.DataBind()
|
||||
End Sub
|
||||
Private Sub CargaPS(CveClasificacion As Integer, Objeto As ADServerControl.Dropdownlost)
|
||||
Private Sub CargaPS(CveClasificacion As Integer, Objeto As ADServerControl.Dropdownlost, Optional AplicaParaVenta As Boolean = True)
|
||||
|
||||
Objeto.setEsWebService(UsuarioActual.Empresa.Funcionalidad(141).ToString() = "1")
|
||||
|
||||
@@ -7285,7 +7313,9 @@ Partial Class Ventas
|
||||
Objeto.ddlWS.Attributes.Add("data-cveclasificacion", CveClasificacion.ToString())
|
||||
Objeto.ddlWS.Attributes.Add("data-pagina", "ventas/ventas")
|
||||
Objeto.ddlWS.Attributes.Add("data-Estatus", "1")
|
||||
Objeto.ddlWS.Attributes.Add("data-AplicaparaVenta", "1")
|
||||
If AplicaParaVenta Then
|
||||
Objeto.ddlWS.Attributes.Add("data-AplicaparaVenta", "1")
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
@@ -8249,6 +8279,22 @@ Partial Class Ventas
|
||||
DtOCTmpDT = TmpDT.Copy
|
||||
TmpDTError = TmpDT.Copy
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Egs", "Dev") Then
|
||||
If RegimenFiscalCliente.Contiene("-1", "") Then
|
||||
Alert("El cliente no tiene asignado un régimen fiscal.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim EsPersonaMoral As Boolean = (TipoPersona = True)
|
||||
If EsPersonaMoral AndAlso String.IsNullOrEmpty(RegimenSociedad) Then
|
||||
Alert("El cliente no tiene asignado un regimen de sociedad.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If (Me.FacturarSucursal AndAlso DdlSucursalCliente.SelectedValue.ToEntero() > 0 AndAlso (Me.ClienteSucursal IsNot Nothing AndAlso String.IsNullOrEmpty(Me.ClienteSucursal.RFC))) Then
|
||||
Alert("La sucursal no tiene asignada un RFC.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
@@ -8270,11 +8316,11 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
If ChkEmitirCartaPorte.Checked Then
|
||||
If String.IsNullOrEmpty(TxtOrigenCP.Text.Trim()) Then
|
||||
If DdlDireccionOrigen.SelectedValue.ToEntero() <= 0 Then
|
||||
Alert("La carta porte no tiene un origen definido.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
If String.IsNullOrEmpty(TxtDestinoCP.Text.Trim()) Then
|
||||
If DdlDireccionDestino.SelectedValue.ToEntero() <= 0 Then
|
||||
Alert("La carta porte no tiene un destino definido.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -9319,7 +9365,7 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
If ChkEmitirCartaPorte.Checked AndAlso CveTimbreCartaPorte > 0 Then
|
||||
Dim RespCartaPorte = Timbres.PreParaCartaPorteFactura(CveTimbreCartaPorte, ObjFactura, UsuarioActual)
|
||||
Dim RespCartaPorte = Timbres.PreParaCartaPorteFactura(CveTimbreCartaPorte, UsuarioActual)
|
||||
If Not RespCartaPorte.TieneError Then
|
||||
ObjFactura.Timbre.Complementos.CartaPorte = RespCartaPorte.CartaPorte
|
||||
Else
|
||||
@@ -11464,7 +11510,11 @@ Partial Class Ventas
|
||||
Timbre.Receptor.DomicilioFiscalReceptor = Obj.ClienteSucursal.CP
|
||||
Else
|
||||
Timbre.Receptor.RFC = Obj.Cliente.RFC
|
||||
Timbre.Receptor.Nombre = Obj.Cliente.NombreComercial
|
||||
If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
|
||||
Timbre.Receptor.Nombre = Obj.Cliente.Nombre
|
||||
Else
|
||||
Timbre.Receptor.Nombre = Obj.Cliente.NombreComercial
|
||||
End If
|
||||
Timbre.Receptor.DomicilioFiscalReceptor = Obj.Cliente.CP
|
||||
End If
|
||||
|
||||
@@ -16250,12 +16300,12 @@ Partial Class Ventas
|
||||
Dim TmpDTComplementosTimbrado As New DataTable
|
||||
PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
|
||||
|
||||
Dim RespCartaPorte = Timbres.PreParaCartaPorteFactura(CveTimbreCartaPorteVenta, ObjFactura, UsuarioActual)
|
||||
Dim RespCartaPorte = Timbres.PreParaCartaPorteFactura(CveTimbreCartaPorteVenta, UsuarioActual)
|
||||
If Not RespCartaPorte.TieneError Then
|
||||
ObjFactura.Timbre.Complementos.CartaPorte = RespCartaPorte.CartaPorte
|
||||
Else
|
||||
Exit Sub
|
||||
Alert(RespCartaPorte.Mensaje, TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then
|
||||
@@ -21567,6 +21617,11 @@ Partial Class Ventas
|
||||
ObjConta.Dispose()
|
||||
ObjBancos.Dispose()
|
||||
If ObjAC IsNot Nothing Then ObjAC.Dispose()
|
||||
|
||||
'REGENERAR EL PDF
|
||||
If Not OcurrioError Then
|
||||
DescargarFactura(CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Regenerar:=True)
|
||||
End If
|
||||
End Sub
|
||||
Private Sub BtnActualizarCuentaTerminal_Click(sender As Object, e As EventArgs) Handles BtnActualizarCuentaTerminal.Click
|
||||
Dim ObjVentas As New ClsVentas
|
||||
@@ -22871,14 +22926,14 @@ Partial Class Ventas
|
||||
If ChkDireccionEnvio.Checked Then
|
||||
DdlDireccionEnvio.Visible = True
|
||||
LnkOtraDireccion.Visible = True
|
||||
DdlDireccionEnvio_SelectedIndexChanged(DdlDireccionEnvio, EventArgs.Empty)
|
||||
'DdlDireccionEnvio_SelectedIndexChanged(DdlDireccionEnvio, EventArgs.Empty)
|
||||
Else
|
||||
DdlDireccionEnvio.Visible = False
|
||||
LnkOtraDireccion.Visible = False
|
||||
If SucursalDestinoCP IsNot Nothing Then
|
||||
SucursalDestinoCP = Nothing
|
||||
SucursalDestinoCP = New Modelos.SucursalModel
|
||||
TxtDestinoCP.Text = ""
|
||||
'TxtDestinoCP.Text = ""
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
@@ -22918,7 +22973,7 @@ Partial Class Ventas
|
||||
TxtEnvioTel.Text = ""
|
||||
CargaDireccionesEnvio()
|
||||
DdlDireccionEnvio.SelectedValueExist(CveDireccionEnvio)
|
||||
DdlDireccionEnvio_SelectedIndexChanged(DdlDireccionEnvio, EventArgs.Empty)
|
||||
'DdlDireccionEnvio_SelectedIndexChanged(DdlDireccionEnvio, EventArgs.Empty)
|
||||
End If
|
||||
|
||||
ObjClientes.Dispose()
|
||||
@@ -33085,8 +33140,8 @@ Partial Class Ventas
|
||||
|
||||
' Return File
|
||||
'End Function
|
||||
Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, CveUsuarioCreo As Integer, Optional GetBytes As Boolean = True) 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", CveVenta))))
|
||||
Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, CveUsuarioCreo As Integer, Optional GetBytes As Boolean = True, Optional Regenerar As Boolean = False) 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®ENERAR={1}", CveVenta, If(Regenerar, "1", "0")))))
|
||||
Dim File As Byte() = Nothing
|
||||
Try
|
||||
Using httpClient = New HttpClient()
|
||||
@@ -34256,7 +34311,7 @@ Partial Class Ventas
|
||||
TxtFechaLlegadaCP.Enabled = False
|
||||
|
||||
Using ObjGral As New ClsGenerales
|
||||
If ObjGral.GetGralTimbre(-1, "Man", MinFecha, MaxFecha, 0, UsuarioActual.CveEmpresa, -1, CveVenta:=CveVenta) AndAlso ObjGral.DtResultados.Rows.Count > 0 Then
|
||||
If ObjGral.GetGralTimbre(-1, "Ing", MinFecha, MaxFecha, 0, UsuarioActual.CveEmpresa, -1, CveVenta:=CveVenta) AndAlso ObjGral.DtResultados.Rows.Count > 0 Then
|
||||
Dim RowCP As DataRow = ObjGral.DtResultados.Rows(0)
|
||||
|
||||
Me.CveTimbreCartaPorteVenta = RowCP("CveTimbre").ToString().ToEntero()
|
||||
@@ -34392,7 +34447,7 @@ Partial Class Ventas
|
||||
End If
|
||||
Next
|
||||
|
||||
CveTimbre = ObjGral.AddGralTimbre("Man", DdlSubProyectoDatos.SelectedValue.ToEntero, TxtFecha.Text.ToDate, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEntregaAlmacen:=CveEntregaAlmacen, AplicaCP:=True, CveVenta:=ObjFactura.CveVenta)
|
||||
CveTimbre = ObjGral.AddGralTimbre("Ing", DdlSubProyectoDatos.SelectedValue.ToEntero, TxtFecha.Text.ToDate, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEntregaAlmacen:=CveEntregaAlmacen, AplicaCP:=True, CveVenta:=ObjFactura.CveVenta)
|
||||
|
||||
If Not CveTimbre > 0 Then
|
||||
ErrorProceso = True
|
||||
@@ -34524,12 +34579,80 @@ Partial Class Ventas
|
||||
GuardaLog(ex.ToString())
|
||||
End Try
|
||||
|
||||
TxtOrigenCP.Text = SBDomicilioSucursal.ToString
|
||||
'TxtOrigenCP.Text = SBDomicilioSucursal.ToString
|
||||
|
||||
UpEmitirTransitorio.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlDireccionEnvio_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
'If SucursalDestinoCP Is Nothing Then
|
||||
' SucursalDestinoCP = New Modelos.SucursalModel
|
||||
'Else
|
||||
' SucursalDestinoCP = Nothing
|
||||
' SucursalDestinoCP = New Modelos.SucursalModel
|
||||
'End If
|
||||
|
||||
|
||||
'If TmpDTEnvioDireccion IsNot Nothing AndAlso TmpDTEnvioDireccion.FiltraParametros(String.Format("CveDireccionEnvio = {0}", DdlDireccionEnvio.SelectedValue.ToEntero())).Rows.Count > 0 Then
|
||||
|
||||
' Dim Row As DataRow = TmpDTEnvioDireccion.FiltroPrimero(String.Format("CveDireccionEnvio = {0}", DdlDireccionEnvio.SelectedValue.ToEntero()))
|
||||
' If Row IsNot Nothing Then
|
||||
|
||||
' SucursalDestinoCP.Direccion = Row("EnvioDireccion").ToString()
|
||||
' SucursalDestinoCP.Colonia = Row("EnvioColonia").ToString()
|
||||
' SucursalDestinoCP.Municipio = Row("EnvioCiudad").ToString()
|
||||
' SucursalDestinoCP.CveEstado = Row("CveEstado").ToString().ToEntero()
|
||||
' SucursalDestinoCP.Estado = Row("EnvioEstado").ToString()
|
||||
' SucursalDestinoCP.CvePais = Row("CvePais").ToString().ToEntero()
|
||||
' SucursalDestinoCP.Pais = Row("Pais").ToString()
|
||||
' SucursalDestinoCP.CP = Row("EnvioCP").ToString()
|
||||
|
||||
' TxtDestinoCP.Text = String.Format("{0} col. {1},CP:{2}, {3},{4},{5}", SucursalDestinoCP.Direccion, SucursalDestinoCP.Colonia, SucursalDestinoCP.CP, SucursalDestinoCP.Municipio, SucursalDestinoCP.Estado, SucursalDestinoCP.Pais)
|
||||
' Else
|
||||
' TxtDestinoCP.Text = ""
|
||||
' End If
|
||||
'Else
|
||||
' TxtDestinoCP.Text = ""
|
||||
'End If
|
||||
|
||||
UpEmitirTransitorio.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlDireccionOrigen_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
If SucursalOrigenCP Is Nothing Then
|
||||
SucursalOrigenCP = New Modelos.SucursalModel
|
||||
Else
|
||||
SucursalOrigenCP = Nothing
|
||||
SucursalOrigenCP = New Modelos.SucursalModel
|
||||
End If
|
||||
|
||||
|
||||
If TmpDTDireccionCP IsNot Nothing AndAlso TmpDTDireccionCP.FiltraParametros(String.Format("CveDireccionEnvio = {0}", DdlDireccionOrigen.SelectedValue.ToEntero())).Rows.Count > 0 Then
|
||||
|
||||
Dim Row As DataRow = TmpDTDireccionCP.FiltroPrimero(String.Format("CveDireccionEnvio = {0}", DdlDireccionOrigen.SelectedValue.ToEntero()))
|
||||
If Row IsNot Nothing Then
|
||||
|
||||
SucursalOrigenCP.Direccion = Row("EnvioDireccion").ToString()
|
||||
SucursalOrigenCP.Colonia = Row("EnvioColonia").ToString()
|
||||
SucursalOrigenCP.Municipio = Row("EnvioCiudad").ToString()
|
||||
SucursalOrigenCP.CveEstado = Row("CveEstado").ToString().ToEntero()
|
||||
SucursalOrigenCP.Estado = Row("EnvioEstado").ToString()
|
||||
SucursalOrigenCP.CvePais = Row("CvePais").ToString().ToEntero()
|
||||
SucursalOrigenCP.Pais = Row("Pais").ToString()
|
||||
SucursalOrigenCP.CP = Row("EnvioCP").ToString()
|
||||
|
||||
'TxtDestinoCP.Text = String.Format("{0} col. {1},CP:{2}, {3},{4},{5}", SucursalDestinoCP.Direccion, SucursalDestinoCP.Colonia, SucursalDestinoCP.CP, SucursalDestinoCP.Municipio, SucursalDestinoCP.Estado, SucursalDestinoCP.Pais)
|
||||
Else
|
||||
'TxtDestinoCP.Text = ""
|
||||
End If
|
||||
Else
|
||||
'TxtDestinoCP.Text = ""
|
||||
End If
|
||||
|
||||
UpEmitirTransitorio.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlDireccionDestino_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
If SucursalDestinoCP Is Nothing Then
|
||||
SucursalDestinoCP = New Modelos.SucursalModel
|
||||
Else
|
||||
@@ -34538,9 +34661,9 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
|
||||
If TmpDTEnvioDireccion IsNot Nothing AndAlso TmpDTEnvioDireccion.FiltraParametros(String.Format("CveDireccionEnvio = {0}", DdlDireccionEnvio.SelectedValue.ToEntero())).Rows.Count > 0 Then
|
||||
If TmpDTDireccionCP IsNot Nothing AndAlso TmpDTDireccionCP.FiltraParametros(String.Format("CveDireccionEnvio = {0}", DdlDireccionDestino.SelectedValue.ToEntero())).Rows.Count > 0 Then
|
||||
|
||||
Dim Row As DataRow = TmpDTEnvioDireccion.FiltroPrimero(String.Format("CveDireccionEnvio = {0}", DdlDireccionEnvio.SelectedValue.ToEntero()))
|
||||
Dim Row As DataRow = TmpDTDireccionCP.FiltroPrimero(String.Format("CveDireccionEnvio = {0}", DdlDireccionDestino.SelectedValue.ToEntero()))
|
||||
If Row IsNot Nothing Then
|
||||
|
||||
SucursalDestinoCP.Direccion = Row("EnvioDireccion").ToString()
|
||||
@@ -34552,20 +34675,20 @@ Partial Class Ventas
|
||||
SucursalDestinoCP.Pais = Row("Pais").ToString()
|
||||
SucursalDestinoCP.CP = Row("EnvioCP").ToString()
|
||||
|
||||
TxtDestinoCP.Text = String.Format("{0} col. {1},CP:{2}, {3},{4},{5}", SucursalDestinoCP.Direccion, SucursalDestinoCP.Colonia, SucursalDestinoCP.CP, SucursalDestinoCP.Municipio, SucursalDestinoCP.Estado, SucursalDestinoCP.Pais)
|
||||
'TxtDestinoCP.Text = String.Format("{0} col. {1},CP:{2}, {3},{4},{5}", SucursalDestinoCP.Direccion, SucursalDestinoCP.Colonia, SucursalDestinoCP.CP, SucursalDestinoCP.Municipio, SucursalDestinoCP.Estado, SucursalDestinoCP.Pais)
|
||||
Else
|
||||
TxtDestinoCP.Text = ""
|
||||
'TxtDestinoCP.Text = ""
|
||||
End If
|
||||
Else
|
||||
TxtDestinoCP.Text = ""
|
||||
'TxtDestinoCP.Text = ""
|
||||
End If
|
||||
|
||||
UpEmitirTransitorio.Update()
|
||||
End Sub
|
||||
Protected Sub LnkAgregarMercancia_Click(sender As Object, e As EventArgs)
|
||||
TxtCantidadMercancia.Text = ""
|
||||
DdlPSMercancia.SelectedValue = ""
|
||||
DdlPSMercancia.SelectedText = "Seleccione"
|
||||
'DdlPSMercancia.SelectedValue = ""
|
||||
'DdlPSMercancia.SelectedText = "Seleccione"
|
||||
|
||||
UpAgregarMercancia.Update()
|
||||
RegistraScript("$('#DivAddMercancia').modal('show');", "M1")
|
||||
@@ -34599,9 +34722,45 @@ Partial Class Ventas
|
||||
GvMercanciasCP.DataSource = DtMercancias
|
||||
GvMercanciasCP.DataBind()
|
||||
|
||||
If ChkAgregarFlete.Checked Then
|
||||
Dim CvePSServicio As Integer = DdlPSFlete.SelectedValue.ToEntero()
|
||||
If CvePSServicio > 0 Then
|
||||
Dim Cantidad As Decimal = TxtCantidadMercancia.Text.ToDecimal
|
||||
Dim PU As Decimal = TxtPrecioMercancia.Text.Trim.ToDecimal
|
||||
Dim Descuento As Decimal = 0
|
||||
Dim CveUM As Integer = -1
|
||||
Dim UnidadMedida As String = ""
|
||||
Dim CveClasificacion As Integer = -1
|
||||
Dim Clasificacion As String = ""
|
||||
|
||||
Dim drPSFlete As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSServicio).FiltroPrimero("")
|
||||
If DrPS IsNot Nothing Then
|
||||
CveUM = drPSFlete("CveUnidadMedida").ToString().ToEntero()
|
||||
CveClasificacion = drPSFlete("CveClasificacion").ToString().ToEntero()
|
||||
End If
|
||||
|
||||
Dim CveSubProyecto As Integer = DdlSubProyectoDatos.SelectedValue.ToEntero()
|
||||
Dim CveProyecto = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProyecto", "").ToEntero()
|
||||
|
||||
Dim Proyecto As String = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("Proyecto", "").ToString()
|
||||
|
||||
AgregarProductoServicio(Cantidad, CveUM, UnidadMedida, CveClasificacion, Clasificacion,
|
||||
CvePSServicio, "", TxtObservacionesMercancia.Text.Trim, PU, Descuento,
|
||||
CveProyecto, Proyecto, CveSubProyecto, DdlSubProyectoDatos.SelectedItem.Text,
|
||||
Serie:="", TiempoEntrega:="", CuentaPredial:="", RegeneraIEPS:=ClienteDesglosaIEPS, CvePromocionDetalle:=-1,
|
||||
ImporteProntoPago:=0)
|
||||
|
||||
CalculaUsados()
|
||||
|
||||
CalculaTotalesVenta()
|
||||
Else
|
||||
Alert("No se agrego el servicio del flete", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
TxtCantidadMercancia.Text = ""
|
||||
DdlPSMercancia.SelectedValue = ""
|
||||
DdlPSMercancia.SelectedText = "Seleccione"
|
||||
TxtObservacionesMercancia.Text = ""
|
||||
|
||||
UpAgregarMercancia.Update()
|
||||
UpEmitirTransitorio.Update()
|
||||
@@ -34664,5 +34823,109 @@ Partial Class Ventas
|
||||
End Sub
|
||||
|
||||
|
||||
Protected Sub ChkEmitirCartaPorte_CheckedChanged(sender As Object, e As EventArgs)
|
||||
If ChkEmitirCartaPorte.Checked AndAlso CveCliente > 0 Then
|
||||
Dim ObjClientes As New ClsClientes
|
||||
If ObjClientes.DireccionEnvioGet(-1, CveCliente, -1) Then
|
||||
TmpDTDireccionCP = ObjClientes.DtResultados.FiltraParametros(String.Format("Estatus = 1"))
|
||||
End If
|
||||
ObjClientes.Dispose()
|
||||
Else
|
||||
TmpDTDireccionCP = Nothing
|
||||
End If
|
||||
|
||||
DdlDireccionOrigen.DataSource = TmpDTDireccionCP
|
||||
DdlDireccionOrigen.DataBind()
|
||||
|
||||
DdlDireccionDestino.DataSource = TmpDTDireccionCP
|
||||
DdlDireccionDestino.DataBind()
|
||||
End Sub
|
||||
Protected Sub ChkAgregarFlete_CheckedChanged(sender As Object, e As EventArgs)
|
||||
|
||||
DivServicioFlete.Visible = ChkAgregarFlete.Checked
|
||||
|
||||
UpAgregarMercancia.Update()
|
||||
End Sub
|
||||
Protected Sub DdlPSMercancia_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DdlPSMercancia.selectedindexchange
|
||||
Dim CvePSParametro As Integer = DdlPSMercancia.SelectedValue.ToEntero()
|
||||
If CvePSParametro > 0 Then
|
||||
|
||||
Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPSMercancia.SelectedValue.ToEntero()).FiltroPrimero("")
|
||||
If drPS IsNot Nothing Then
|
||||
Dim CveClasificacion As Integer = drPS("CveClasificacion").ToString().ToEntero()
|
||||
'SUGIERE PRECIO
|
||||
Dim PrecioSugerido As Decimal = 0
|
||||
Dim tPrecioSugerido As Decimal = 0
|
||||
tPrecioSugerido = drPS("Precio").ToString().ToDecimal
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(1) Then
|
||||
Dim ObjPS As New ClsProductosServicios
|
||||
If ObjPS.GetPorcentajeProductos(CveCliente) Then
|
||||
Dim PrecioAplicado = ObjPS.DtResultados.FiltraParametros($"CvePS = {CvePSParametro}").FiltroPrimeroValor("PrecioA").ToDecimal
|
||||
If PrecioAplicado > 0 Then
|
||||
PrecioSugerido = PrecioAplicado
|
||||
End If
|
||||
End If
|
||||
ObjPS.Dispose()
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(404).ToEntero > 0 Then 'cuando el valor es 10.- secuencia Cliente/Sucursal, 20 - sucursal/cliente
|
||||
Dim TipoPrecioLista As Integer = UsuarioActual.Empresa.Funcionalidad(404).ToEntero
|
||||
' si es 10. primero el cliente
|
||||
Dim CvePrecioListaPS As Integer
|
||||
Dim PorcentajePrecio As Decimal = 0
|
||||
|
||||
If TipoPrecioLista = 10 Then
|
||||
|
||||
CvePrecioListaPS = Me.CvePrecioListaCliente
|
||||
If CvePrecioListaPS <= 0 Then
|
||||
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
|
||||
End If
|
||||
Else
|
||||
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
|
||||
If CvePrecioListaPS <= 0 Then
|
||||
CvePrecioListaPS = Me.CvePrecioListaCliente 'GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
|
||||
End If
|
||||
End If
|
||||
|
||||
If CvePrecioListaPS > 0 Then
|
||||
Dim ObjPS As New ClsProductosServicios
|
||||
If ObjPS.GetPSPreciosLista(UsuarioActual.CveEmpresa, CvePrecioListaPS, CvePS:=CvePSParametro) Then
|
||||
PrecioSugerido = ObjPS.DtResultados.FiltroPrimeroValor("PrecioLista").ToDecimal
|
||||
PorcentajePrecio = ObjPS.DtResultados.FiltroPrimeroValor("Porcentaje").ToDecimal
|
||||
End If
|
||||
ObjPS.Dispose()
|
||||
End If
|
||||
|
||||
If PrecioSugerido = 0 Then
|
||||
Dim ObjInventarios As New ClsInventarios
|
||||
Dim CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidadMercancia.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveTipoAlmacen:=1)
|
||||
'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal
|
||||
If CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidadMercancia.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1)
|
||||
ObjInventarios.Dispose()
|
||||
If CostoPS > 0 And PorcentajePrecio > 0 Then
|
||||
PrecioSugerido = ((PorcentajePrecio / 100) + 1) * CostoPS
|
||||
End If
|
||||
End If
|
||||
CvePrecioLista = CvePrecioListaPS
|
||||
End If
|
||||
|
||||
|
||||
If PrecioSugerido > 0 Then
|
||||
Dim PrecioBaseCosto As Decimal = 0
|
||||
PrecioBaseCosto = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion).FiltroPrimeroValor("PrecioBaseCosto", "").ToDecimal
|
||||
|
||||
If PrecioBaseCosto > 0 Then
|
||||
PrecioSugerido = PrecioSugerido * ((PrecioBaseCosto / 100) + 1)
|
||||
End If
|
||||
End If
|
||||
|
||||
If PrecioSugerido <= 0 Then PrecioSugerido = tPrecioSugerido
|
||||
|
||||
TxtPrecioMercancia.Text = PrecioSugerido.ToString("#,###.####") ' que muestre hasta los 4 digitos si lo requiere
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user