This commit is contained in:
Antonio Gonzalez
2020-08-20 18:18:38 -07:00
9 changed files with 555 additions and 414 deletions

View File

@@ -9,6 +9,9 @@ Imports Extensiones
Imports System.IO Imports System.IO
Imports Microsoft.Reporting.WebForms Imports Microsoft.Reporting.WebForms
Imports ADSistemaLibrary.SatXml
Imports ADSistemaLibrary.SatXml.XmlSatCFDI
Public Class GenerarPDFFactura : Implements IHttpHandler Public Class GenerarPDFFactura : Implements IHttpHandler
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
@@ -19,11 +22,12 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Public ReadOnly Property EsProduccion As Boolean Public ReadOnly Property EsProduccion As Boolean
Get Get
If IsNothing(System.Configuration.ConfigurationManager.AppSettings("EsProduccion")) Then Return False
Return False 'If IsNothing(System.Configuration.ConfigurationManager.AppSettings("EsProduccion")) Then
Else ' Return False
Return (System.Configuration.ConfigurationManager.AppSettings("EsProduccion").ToString() = "1") 'Else
End If ' Return (System.Configuration.ConfigurationManager.AppSettings("EsProduccion").ToString() = "1")
'End If
End Get End Get
End Property End Property
@@ -46,96 +50,211 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Dim Formato As String = "" Dim Formato As String = ""
If datos.API_SALI Then Dim Xml = New System.Xml.XmlDocument()
Formato = ModExtensiones.DirectorioBaseEmpresas + "Empresas/Grales/ReporteAPISali.rdlc" Xml.LoadXml(datos.XML)
Else Dim ArchivoXML = $"{context.Server.MapPath("/")}/Temp/{DateTime.UtcNow.Ticks}_{datos.Factura.Serie}-{datos.Factura.Folio}.xml"
Formato = ModExtensiones.DirectorioBaseEmpresas + "Empresas/Grales/ReporteAPI.rdlc" Xml.Save(ArchivoXML)
End If
Parametros.Add(New ReportParameter("Empresa", datos.Empresa.Empresa)) ImprimirbytesPDF(context, GenerarCFDi(context, ArchivoXML, datos), "Factura")
Parametros.Add(New ReportParameter("RFC", datos.Empresa.RFC))
Parametros.Add(New ReportParameter("DomicilioExpedicion", datos.Empresa.DomicilioFiscal))
Parametros.Add(New ReportParameter("Serie", datos.Factura.Serie))
Parametros.Add(New ReportParameter("Folio", datos.Factura.Folio))
Parametros.Add(New ReportParameter("Fecha", datos.Factura.Fecha))
Parametros.Add(New ReportParameter("ClienteNombre", datos.Cliente.NombreComercial))
Parametros.Add(New ReportParameter("ClienteDireccion", datos.Cliente.Calle + " Colonia " + datos.Cliente.Colonia + " " + datos.Cliente.Ciudad + ", " + datos.Cliente.Estado))
Parametros.Add(New ReportParameter("ClienteLugar", datos.Cliente.Ciudad))
Parametros.Add(New ReportParameter("ClienteRFC", datos.Cliente.RFC))
Parametros.Add(New ReportParameter("ImporteLetra", datos.Factura.Total.Texto2Letras()))
Parametros.Add(New ReportParameter("FormaPago", datos.Factura.FormaPago))
Parametros.Add(New ReportParameter("MetodoPago", datos.Factura.MetodoPago))
Parametros.Add(New ReportParameter("SelloCFDI", datos.Timbrado.SelloCFDI))
Parametros.Add(New ReportParameter("SelloSAT", datos.Timbrado.SelloSAT))
Parametros.Add(New ReportParameter("CadenaOriginal", datos.Timbrado.CadenaOriginal))
Parametros.Add(New ReportParameter("FolioFiscal", datos.Factura.UUID))
Parametros.Add(New ReportParameter("SerieCertificadoSAT", datos.Timbrado.SerieCertificadoSAT))
Parametros.Add(New ReportParameter("FechaCertificado", datos.Timbrado.FechaCertificado))
Parametros.Add(New ReportParameter("CertificadoContribuyente", datos.Timbrado.CertificadoContribuyente))
Parametros.Add(New ReportParameter("UsoCFDI", datos.Factura.UsoCFDI))
Parametros.Add(New ReportParameter("Vencimiento", datos.Factura.FechaVencimiento))
Parametros.Add(New ReportParameter("SubTotal", datos.Factura.SubTotal))
Parametros.Add(New ReportParameter("Descuentos", datos.Factura.Descuentos))
Parametros.Add(New ReportParameter("IVA", datos.Factura.IVA))
Parametros.Add(New ReportParameter("IEPS", datos.Factura.IEPS))
Parametros.Add(New ReportParameter("Total", datos.Factura.Total))
Parametros.Add(New ReportParameter("QR", datos.Timbrado.QR))
Dim DtDatos As New DataTable 'If datos.API_SALI Then
DtDatos.Columns.Add(New DataColumn("Cantidad", GetType(Decimal))) ' Dim Xml = New System.Xml.XmlDocument()
DtDatos.Columns.Add(New DataColumn("UnidadMedida", GetType(String))) ' Xml.LoadXml(datos.XML)
DtDatos.Columns.Add(New DataColumn("PS", GetType(String))) ' Dim ArchivoXML = $"{context.Server.MapPath("/")}/Temp/{DateTime.UtcNow.Ticks}_{datos.Factura.Serie}-{datos.Factura.Folio}.xml"
DtDatos.Columns.Add(New DataColumn("PU", GetType(Decimal))) ' Xml.Save(ArchivoXML)
DtDatos.Columns.Add(New DataColumn("IVA", GetType(Decimal)))
DtDatos.Columns.Add(New DataColumn("IEPS", GetType(Decimal)))
DtDatos.Columns.Add(New DataColumn("Descuento", GetType(Decimal)))
DtDatos.Columns.Add(New DataColumn("Total", GetType(Decimal)))
Dim DtImpuestos As New DataTable ' ImprimirbytesPDF(context, GenerarCFDi(context, ArchivoXML, datos), "Factura")
DtImpuestos.Columns.Add(New DataColumn("Impuesto", GetType(String))) 'Else
DtImpuestos.Columns.Add(New DataColumn("Tipo", GetType(String))) ' Formato = ModExtensiones.DirectorioBaseEmpresas + "Empresas/Grales/ReporteAPI.rdlc"
DtImpuestos.Columns.Add(New DataColumn("Base", GetType(Decimal)))
DtImpuestos.Columns.Add(New DataColumn("TipoFactor", GetType(String)))
DtImpuestos.Columns.Add(New DataColumn("TasaOCuota", GetType(String)))
DtImpuestos.Columns.Add(New DataColumn("Importe", GetType(Decimal)))
For Each PS In datos.Factura.ListaProductos ' Parametros.Add(New ReportParameter("Empresa", datos.Empresa.Empresa))
Dim Row = DtDatos.NewRow() ' Parametros.Add(New ReportParameter("RFC", datos.Empresa.RFC))
Row("Cantidad") = PS.Cantidad ' Parametros.Add(New ReportParameter("DomicilioExpedicion", datos.Empresa.DomicilioFiscal))
Row("UnidadMedida") = PS.UnidadMedida ' Parametros.Add(New ReportParameter("Serie", datos.Factura.Serie))
Row("PS") = PS.CodigoPS ' Parametros.Add(New ReportParameter("Folio", datos.Factura.Folio))
Row("PU") = PS.PU ' Parametros.Add(New ReportParameter("Fecha", datos.Factura.Fecha))
Row("IVA") = PS.IVA ' Parametros.Add(New ReportParameter("ClienteNombre", datos.Cliente.NombreComercial))
Row("IEPS") = PS.IEPS ' Parametros.Add(New ReportParameter("ClienteDireccion", datos.Cliente.Calle + " Colonia " + datos.Cliente.Colonia + " " + datos.Cliente.Ciudad + ", " + datos.Cliente.Estado))
Row("Descuento") = PS.Descuento ' Parametros.Add(New ReportParameter("ClienteLugar", datos.Cliente.Ciudad))
Row("Total") = (PS.Cantidad * PS.PU) + PS.IVA + PS.IEPS ' Parametros.Add(New ReportParameter("ClienteRFC", datos.Cliente.RFC))
' Parametros.Add(New ReportParameter("ImporteLetra", datos.Factura.Total.Texto2Letras()))
' Parametros.Add(New ReportParameter("FormaPago", datos.Factura.FormaPago))
' Parametros.Add(New ReportParameter("MetodoPago", datos.Factura.MetodoPago))
' Parametros.Add(New ReportParameter("SelloCFDI", datos.Timbrado.SelloCFDI))
' Parametros.Add(New ReportParameter("SelloSAT", datos.Timbrado.SelloSAT))
' Parametros.Add(New ReportParameter("CadenaOriginal", datos.Timbrado.CadenaOriginal))
' Parametros.Add(New ReportParameter("FolioFiscal", datos.Factura.UUID))
' Parametros.Add(New ReportParameter("SerieCertificadoSAT", datos.Timbrado.SerieCertificadoSAT))
' Parametros.Add(New ReportParameter("FechaCertificado", datos.Timbrado.FechaCertificado))
' Parametros.Add(New ReportParameter("CertificadoContribuyente", datos.Timbrado.CertificadoContribuyente))
' Parametros.Add(New ReportParameter("UsoCFDI", datos.Factura.UsoCFDI))
' Parametros.Add(New ReportParameter("Vencimiento", datos.Factura.FechaVencimiento))
' Parametros.Add(New ReportParameter("SubTotal", datos.Factura.SubTotal))
' Parametros.Add(New ReportParameter("Descuentos", datos.Factura.Descuentos))
' Parametros.Add(New ReportParameter("IVA", datos.Factura.IVA))
' Parametros.Add(New ReportParameter("IEPS", datos.Factura.IEPS))
' Parametros.Add(New ReportParameter("Total", datos.Factura.Total))
' Parametros.Add(New ReportParameter("QR", datos.Timbrado.QR))
DtDatos.Rows.Add(Row) ' Dim DtDatos As New DataTable
Next ' DtDatos.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
' DtDatos.Columns.Add(New DataColumn("UnidadMedida", GetType(String)))
' DtDatos.Columns.Add(New DataColumn("PS", GetType(String)))
' DtDatos.Columns.Add(New DataColumn("PU", GetType(Decimal)))
' DtDatos.Columns.Add(New DataColumn("IVA", GetType(Decimal)))
' DtDatos.Columns.Add(New DataColumn("IEPS", GetType(Decimal)))
' DtDatos.Columns.Add(New DataColumn("Descuento", GetType(Decimal)))
' DtDatos.Columns.Add(New DataColumn("Total", GetType(Decimal)))
Dim RowImpuesto = DtImpuestos.NewRow() ' Dim DtImpuestos As New DataTable
RowImpuesto("Impuesto") = "IVA" ' DtImpuestos.Columns.Add(New DataColumn("Impuesto", GetType(String)))
RowImpuesto("Tipo") = "Traslado" ' DtImpuestos.Columns.Add(New DataColumn("Tipo", GetType(String)))
RowImpuesto("Base") = datos.Factura.SubTotal ' DtImpuestos.Columns.Add(New DataColumn("Base", GetType(Decimal)))
RowImpuesto("TipoFactor") = "Tasa" ' DtImpuestos.Columns.Add(New DataColumn("TipoFactor", GetType(String)))
RowImpuesto("TasaOCuota") = "16%" ' DtImpuestos.Columns.Add(New DataColumn("TasaOCuota", GetType(String)))
RowImpuesto("Importe") = datos.Factura.IVA ' DtImpuestos.Columns.Add(New DataColumn("Importe", GetType(Decimal)))
DtImpuestos.Rows.Add(RowImpuesto) ' For Each PS In datos.Factura.ListaProductos
' Dim Row = DtDatos.NewRow()
' Row("Cantidad") = PS.Cantidad
' Row("UnidadMedida") = PS.UnidadMedida
' Row("PS") = PS.CodigoPS
' Row("PU") = PS.PU
' Row("IVA") = PS.IVA
' Row("IEPS") = PS.IEPS
' Row("Descuento") = PS.Descuento
' Row("Total") = (PS.Cantidad * PS.PU) + PS.IVA + PS.IEPS
ListaDS.Add(New ReportDataSource("DsProductos", DtDatos)) ' DtDatos.Rows.Add(Row)
ListaDS.Add(New ReportDataSource("DsImpuestos", DtImpuestos)) ' Next
ImprimirbytesPDF(context, StreamPDF(context, Formato, ListaDS, Parametros), "Factura") ' Dim RowImpuesto = DtImpuestos.NewRow()
' RowImpuesto("Impuesto") = "IVA"
' RowImpuesto("Tipo") = "Traslado"
' RowImpuesto("Base") = datos.Factura.SubTotal
' RowImpuesto("TipoFactor") = "Tasa"
' RowImpuesto("TasaOCuota") = "16%"
' RowImpuesto("Importe") = datos.Factura.IVA
' DtImpuestos.Rows.Add(RowImpuesto)
' ListaDS.Add(New ReportDataSource("DsProductos", DtDatos))
' ListaDS.Add(New ReportDataSource("DsImpuestos", DtImpuestos))
' ImprimirbytesPDF(context, StreamPDF(context, Formato, ListaDS, Parametros), "Factura")
'End If
Else
retorno = "no hay datossss"
End If End If
Catch ex As Exception Catch ex As Exception
retorno = ex.ToString()
ex.GuardaLog(ex.ToString()) ex.GuardaLog(ex.ToString())
context.Response.Write(retorno) context.Response.Write(retorno)
End Try End Try
End Sub End Sub
Private Function GenerarCFDi(ByVal context As HttpContext, RutaXml As String, datos As ParametroWS) As Byte()
Dim bytes As Byte() = Nothing
Dim objxml As XmlSatCFDI = XmlSatCFDI.readXML(RutaXml)
Dim rutaReporte As String = "\Empresas\Grales\Formatos\FacturaSALI.rdlc"
Dim QR As ClbNegBICFDv3_2.ClsNegCBBGenerar = New ClbNegBICFDv3_2.ClsNegCBBGenerar()
Dim cQr As Byte() = QR.GenerarCBBBytes(objxml.emisor.Rfc, objxml.receptor.Rfc, objxml.comprobante.Total, objxml.complemento.UUID)
Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter)()
parametros.Add(New ReportParameter("comprobante_Certificado", objxml.comprobante.Certificado))
parametros.Add(New ReportParameter("comprobante_CondicionesDePago", objxml.comprobante.CondicionesDePago))
parametros.Add(New ReportParameter("comprobante_Confirmacion", objxml.comprobante.Confirmacion))
parametros.Add(New ReportParameter("comprobante_Fecha", objxml.comprobante.Fecha))
parametros.Add(New ReportParameter("comprobante_Serie", objxml.comprobante.Serie))
parametros.Add(New ReportParameter("comprobante_Folio", objxml.comprobante.Folio))
parametros.Add(New ReportParameter("comprobante_Descuento", objxml.comprobante.Descuento.ToString("N2")))
parametros.Add(New ReportParameter("comprobante_SubTotal", objxml.comprobante.SubTotal.ToString("N2")))
parametros.Add(New ReportParameter("comprobante_Total", objxml.comprobante.Total.ToString("N2")))
parametros.Add(New ReportParameter("comprobante_Version", objxml.comprobante.Version))
parametros.Add(New ReportParameter("comprobante_TipoDeComprobante", objxml.comprobante.TipoDeComprobanteTexto))
parametros.Add(New ReportParameter("comprobante_FormaPago", objxml.comprobante.FormaPagoTexto))
parametros.Add(New ReportParameter("comprobante_LugarExpedicion", objxml.comprobante.LugarExpedicion))
parametros.Add(New ReportParameter("comprobante_NoCertificado", objxml.comprobante.NoCertificado))
parametros.Add(New ReportParameter("comprobante_Sello", objxml.comprobante.Sello))
parametros.Add(New ReportParameter("comprobante_Moneda", objxml.comprobante.Moneda))
parametros.Add(New ReportParameter("comprobante_TipoCambio", objxml.comprobante.TipoCambio.ToString("N2")))
parametros.Add(New ReportParameter("comprobante_MetodoPago", objxml.comprobante.MetodoPagoTexto))
parametros.Add(New ReportParameter("emisor_Rfc", objxml.emisor.Rfc))
parametros.Add(New ReportParameter("emisor_Nombre", objxml.emisor.Nombre))
parametros.Add(New ReportParameter("emisor_RegimenFiscal", objxml.emisor.RegimenFiscalTexto))
parametros.Add(New ReportParameter("emisor_Direccion", datos.Empresa.DomicilioFiscal))
parametros.Add(New ReportParameter("receptor_Rfc", objxml.receptor.Rfc))
parametros.Add(New ReportParameter("receptor_Nombre", objxml.receptor.Nombre))
parametros.Add(New ReportParameter("receptor_NumRegIdTrib", objxml.receptor.NumRegIdTrib))
parametros.Add(New ReportParameter("receptor_ResidenciaFiscal", objxml.receptor.ResidenciaFiscal))
parametros.Add(New ReportParameter("receptor_UsoCFDI", objxml.receptor.UsoCFDITexto))
parametros.Add(New ReportParameter("complemento_FechaTimbrado", objxml.complemento.FechaTimbrado))
parametros.Add(New ReportParameter("complemento_NoCertificadoSAT", objxml.complemento.NoCertificadoSAT))
parametros.Add(New ReportParameter("complemento_RfcProvCertif", objxml.complemento.RfcProvCertif))
parametros.Add(New ReportParameter("complemento_SelloCFD", objxml.complemento.SelloCFD))
parametros.Add(New ReportParameter("complemento_SelloSAT", objxml.complemento.SelloSAT))
parametros.Add(New ReportParameter("complemento_UUID", objxml.complemento.UUID))
parametros.Add(New ReportParameter("complemento_CadenaOriginal", objxml.complemento.CadenaOriginal))
Dim ds As New List(Of ReportDataSource)
Dim rdsTotales As ReportDataSource = New ReportDataSource()
Dim ltotales As List(Of utilValores) = New List(Of utilValores)()
ltotales.Add(New utilValores("Subtotal", objxml.comprobante.SubTotal.ToString("N2")))
If objxml.comprobante.Descuento > 0 Then
ltotales.Add(New utilValores("Descuento", objxml.comprobante.Descuento.ToString("N2")))
End If
For Each item As CFDIImpuesto In objxml.Impuestos
If item.Importe > 0 Then
Dim TasaOCuota As Decimal = 0
Decimal.TryParse(item.TasaOCuota, TasaOCuota)
ltotales.Add(New utilValores($"Impuestos {item.Tipo} {item.ImpuestoTexto} {(If(item.TipoFactor = "Tasa", (TasaOCuota * 100).ToString("N4"), item.TasaOCuota))} {(If(item.TipoFactor = "Tasa", "%", ""))}", item.Importe.ToString("N2")))
End If
Next
ltotales.Add(New utilValores("Total", objxml.comprobante.Total.ToString("N2")))
rdsTotales.Name = "dsTotales"
rdsTotales.Value = ltotales
ds.Add(rdsTotales)
Dim rds2 As ReportDataSource = New ReportDataSource()
Dim limagenes As List(Of utilImage) = New List(Of utilImage)()
limagenes.Add(New utilImage(cQr))
rds2.Name = "dsImagenes"
rds2.Value = limagenes
ds.Add(rds2)
Dim rdsrelacionados As ReportDataSource = New ReportDataSource()
rdsrelacionados.Name = "dsRelacionados"
rdsrelacionados.Value = objxml.cFDIRelacionados
ds.Add(rdsrelacionados)
Dim rds1 As ReportDataSource = New ReportDataSource()
rds1.Name = "dsConceptos"
rds1.Value = objxml.GetConceptosforpdf()
ds.Add(rds1)
Try
bytes = StreamPDF(context, rutaReporte, ds, parametros)
System.IO.File.Delete(RutaXml)
Catch ex As Exception
End Try
Return bytes
End Function
Public Function StreamPDF(ByVal context As HttpContext, 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(ByVal context As HttpContext, 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 'limpio ReportViwer
Dim sw As New System.Diagnostics.Stopwatch() Dim sw As New System.Diagnostics.Stopwatch()
@@ -150,8 +269,8 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
If EsProduccion Then If EsProduccion Then
Dim CveUsuario As Integer = 0 Dim CveUsuario As Integer = -1
Dim CveEmpresa As Integer = 0 Dim CveEmpresa As Integer = -1
Dim wsreport As New WSRDLC.WebServiceSoapClient Dim wsreport As New WSRDLC.WebServiceSoapClient
Dim params As New List(Of WSRDLC.ReportParameter) Dim params As New List(Of WSRDLC.ReportParameter)
@@ -175,6 +294,7 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Bytes = wsreport.StreamPDFBytes(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario) Bytes = wsreport.StreamPDFBytes(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
wsreport = Nothing wsreport = Nothing
params = Nothing params = Nothing
Else Else
If IsNothing(MR) Then MR = New ReportViewer If IsNothing(MR) Then MR = New ReportViewer
Try Try
@@ -364,8 +484,10 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Public Property Factura As FacturaWS Public Property Factura As FacturaWS
Public Property Cliente As ClienteWS Public Property Cliente As ClienteWS
Public Property Empresa As EmpresaWS Public Property Empresa As EmpresaWS
Public Property Timbrado As DatosSATWS
Public Property API_SALI As Boolean Public Property API_SALI As Boolean
Public Property Timbrado As DatosSATWS
Public Property XML As String
End Class End Class

View File

@@ -650,7 +650,7 @@
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpReclasificarSubProyecto"> <asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpReclasificarSubProyecto">
<ContentTemplate> <ContentTemplate>
<div class="row"> <div class="row">
<div class="col-md-1" style="width:100%"> <div class="col-md-1" style="width: 100%">
<asp:DropDownList ID="DdlAsignarProyecto" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto"> <asp:DropDownList ID="DdlAsignarProyecto" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
@@ -658,7 +658,7 @@
<%--<br runat="server" id="brProyectoSubProyecto" style="display:none"/>--%> <%--<br runat="server" id="brProyectoSubProyecto" style="display:none"/>--%>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-1" style="width:100%"> <div class="col-md-1" style="width: 100%">
<asp:DropDownList ID="DdlAsignaSubProyecto" runat="server" CssClass="form-control input-sm select2me" AutoPostBack="true" OnSelectedIndexChanged="DdlAsignaSubProyecto_SelectedIndexChanged" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto"> <asp:DropDownList ID="DdlAsignaSubProyecto" runat="server" CssClass="form-control input-sm select2me" AutoPostBack="true" OnSelectedIndexChanged="DdlAsignaSubProyecto_SelectedIndexChanged" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
@@ -1232,7 +1232,7 @@
<asp:Literal ID="LtlPS" runat="server" Text='<%# Eval("CodigoPS") %>'></asp:Literal> <asp:Literal ID="LtlPS" runat="server" Text='<%# Eval("CodigoPS") %>'></asp:Literal>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Serie" Visible="false" > <asp:TemplateField HeaderText="Serie" Visible="false">
<ItemTemplate> <ItemTemplate>
<asp:Literal ID="LtlSerie" Text='<%# Eval("Serie") %>' runat="server" /> <asp:Literal ID="LtlSerie" Text='<%# Eval("Serie") %>' runat="server" />
<asp:TextBox ID="TxtSerie" AutoPostBack="false" Text='<%# Eval("Serie") %>' Visible="false" runat="server" /> <asp:TextBox ID="TxtSerie" AutoPostBack="false" Text='<%# Eval("Serie") %>' Visible="false" runat="server" />
@@ -2559,7 +2559,7 @@
<asp:UpdatePanel ID="UpFacturar" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpFacturar" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:Button ID="BtnGuardar" CssClass="btn btn-primary " runat="server" ValidationGroup="GrpGuardar" data-toggle="confirmation" data-popout="true" data-original-title="<b>Verifique los datos para continuar</b>. <br/><br/> <center>¿Seguro de registrar el documento con la información actual?</center>" data-btn-ok-label="si" Text="Registrar Compra" /> <asp:Button ID="BtnGuardar" CssClass="btn btn-primary " runat="server" ValidationGroup="GrpGuardar" data-toggle="confirmation" data-popout="true" data-original-title="<b>Verifique los datos para continuar</b>. <br/><br/> <center>¿Seguro de registrar el documento con la información actual?</center>" data-btn-ok-label="si" Text="Registrar Compra" />
<asp:Button ID="BtnActualizar" CssClass="btn btn-success" runat="server" Text="Actualizar Compra" ValidationGroup="GrpGuardar" Visible="False" /> <asp:Button ID="BtnActualizar" CssClass="btn btn-success" runat="server" Text="Actualizar Compra" ValidationGroup="GrpGuardar" Visible="False" />
<br /> <br />
<br /> <br />
@@ -3895,9 +3895,9 @@
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div style="border: 1px solid black; width: 85%;"> <div style="border: 1px solid black; width: 85%;margin-left: 7.5%;display:block">
<asp:Panel ID="PnlContado" runat="server" Visible="False"> <asp:Panel ID="PnlContado" runat="server" Visible="False">
<asp:RadioButtonList ID="RBLContado" runat="server" RepeatDirection="Horizontal" AutoPostBack="True" RepeatColumns="3"> <asp:RadioButtonList ID="RBLContado" runat="server" RepeatDirection="Horizontal" Style="margin:auto" AutoPostBack="True" RepeatColumns="3">
<asp:ListItem Value="1" Selected="True">Bancos</asp:ListItem> <asp:ListItem Value="1" Selected="True">Bancos</asp:ListItem>
<asp:ListItem Value="3">Créditos</asp:ListItem> <asp:ListItem Value="3">Créditos</asp:ListItem>
<asp:ListItem Value="5">Acreedores</asp:ListItem> <asp:ListItem Value="5">Acreedores</asp:ListItem>
@@ -3909,14 +3909,14 @@
</div> </div>
<br /> <br />
<div style="text-align:center">
<asp:CheckBox runat="server" ID="ChkCreditoMultiple" AutoPostBack="true" Text="Multiple Crédito" />
</div>
<asp:CheckBox runat="server" ID="ChkCreditoMultiple" AutoPostBack="true" Text="Multiple Crédito" />
<br />
<br /> <br />
<div runat="server" id="DivReembolso"> <div runat="server" id="DivReembolso">
<asp:Panel ID="Panel1" CssClass="chequesie text-small" runat="server" Width="470px" Visible="true"> <asp:Panel ID="Panel1" CssClass="text-small" runat="server" Width="100%" Visible="true" BorderStyle="Solid" BorderColor="#6A92AD" BorderWidth="2px">
<div class="chequesie1"> <div class="chequesie1">
<div class="row"> <div class="row">
<div class="col-md-2" style="width: 90%; margin-left: 5%; margin-right: 5%; text-align: left"> <div class="col-md-2" style="width: 90%; margin-left: 5%; margin-right: 5%; text-align: left">
@@ -3926,15 +3926,16 @@
<div class="row"> <div class="row">
<div class="col-md-2" style="width: 90%; margin-left: 5%; margin-right: 5%; text-align: left"> <div class="col-md-2" style="width: 90%; margin-left: 5%; margin-right: 5%; text-align: left">
<asp:TextBox ID="TxtNumeroReembolso" runat="server" Width="100%" /> <asp:TextBox ID="TxtNumeroReembolso" runat="server" Width="100%" />
<%-- <asp:RequiredFieldValidator ID="RFVNumeroReembolso" runat="server" ControlToValidate="TxtNumeroReembolso" InitialValue="" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Numero de Reembolsoxx''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator> <%-- <asp:RequiredFieldValidator ID="RFVNumeroReembolso" runat="server" ControlToValidate="TxtNumeroReembolso" InitialValue="" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Numero de Reembolsoxx''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCENumeroReembolso" runat="server" HighlightCssClass="vco" TargetControlID="RFVNumeroReembolso" Width="300px"></ajax:ValidatorCalloutExtender>--%> <ajax:ValidatorCalloutExtender ID="VCENumeroReembolso" runat="server" HighlightCssClass="vco" TargetControlID="RFVNumeroReembolso" Width="300px"></ajax:ValidatorCalloutExtender>--%>
</div> </div>
</div> </div>
<br />
</div> </div>
<div class="chequesie2"> <div class="chequesie2">
<div class="row"> <div class="row">
<div class="col-md-2" style="width: 90%; margin-left: 4%; margin-right: 5%; text-align: left"> <div class="col-md-2" style="width: 90%; margin-left: 4%; margin-right: 5%; text-align: left">
<label>Caja Chica:</label> <asp:Label runat="server" ID="LblCheq">Caja Chica:</asp:Label>
</div> </div>
</div> </div>
<div id="DivPersonalReembolso" runat="server" visible="false" class="row"> <div id="DivPersonalReembolso" runat="server" visible="false" class="row">
@@ -3952,6 +3953,7 @@
</div> </div>
</div> </div>
<br/>
</div> </div>
</asp:Panel> </asp:Panel>
<table> <table>
@@ -4204,8 +4206,8 @@
</asp:TemplateField> </asp:TemplateField>
</Columns> </Columns>
<%--<RowStyle CssClass="TextoAlterno" /> <%--<RowStyle CssClass="TextoAlterno" />
<AlternatingRowStyle CssClass="TextoAlterno" /> <AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />--%> <HeaderStyle CssClass="Titulos" />--%>
</asp:GridView> </asp:GridView>
<asp:HiddenField ID="HiddenField2" runat="server" ClientIDMode="Static" Value="0" /> <asp:HiddenField ID="HiddenField2" runat="server" ClientIDMode="Static" Value="0" />
</ContentTemplate> </ContentTemplate>
@@ -4260,7 +4262,7 @@
<asp:RequiredFieldValidator ID="RFVCreditoDetalle" runat="server" ControlToValidate="DdlCreditoDetalle" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Crédito''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpContado"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVCreditoDetalle" runat="server" ControlToValidate="DdlCreditoDetalle" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Crédito''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpContado"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECreditoDetalle" runat="server" HighlightCssClass="vco" TargetControlID="RFVCreditoDetalle" Width="300px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCECreditoDetalle" runat="server" HighlightCssClass="vco" TargetControlID="RFVCreditoDetalle" Width="300px"></ajax:ValidatorCalloutExtender>
</div> </div>
</div> </div>

View File

@@ -16,9 +16,6 @@
<li> <li>
<asp:LinkButton runat="server" ID="LkbNuevaVersion" OnClick="LkbNuevaVersion_Click" data-toggle="tooltip" data-placement="left" title="Agregar una nueva versión de este documento" Text="<i class='fa fa-plus'></i>Crear Nueva Versión"></asp:LinkButton> <asp:LinkButton runat="server" ID="LkbNuevaVersion" OnClick="LkbNuevaVersion_Click" data-toggle="tooltip" data-placement="left" title="Agregar una nueva versión de este documento" Text="<i class='fa fa-plus'></i>Crear Nueva Versión"></asp:LinkButton>
</li> </li>
<li>
<asp:LinkButton runat="server" ID="LbPruebas" OnClick="LbPruebas_Click" data-toggle="tooltip" data-placement="left" title="Agregar una nueva versión de este documento" Text="<i class='fa fa-plus'></i>Pruebas"></asp:LinkButton>
</li>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</asp:Content> </asp:Content>

View File

@@ -192,8 +192,9 @@ public partial class OI_DocumentoDetalle : ClsPaginas
TxtResponsable.Text = UsuarioActual.Nombre; TxtResponsable.Text = UsuarioActual.Nombre;
} }
private void CargarDocumentoYaExistente() private bool CargarDocumentoYaExistente()
{ {
bool SeCargoInfo = false;
ClsOIEventos ObjOI = new ClsOIEventos(); ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumento(this.CveDocumento, UsuarioActual.CveEmpresa)) if (ObjOI.GetDocumento(this.CveDocumento, UsuarioActual.CveEmpresa))
{ {
@@ -214,9 +215,15 @@ public partial class OI_DocumentoDetalle : ClsPaginas
ArchivoAdjuntoNombre = Documento["ArchivoFisico"].ToString(); ArchivoAdjuntoNombre = Documento["ArchivoFisico"].ToString();
LkbDescargarArchivo.Text = ArchivoAdjuntoNombre; LkbDescargarArchivo.Text = ArchivoAdjuntoNombre;
DivDescargarArchivo.Visible = true; DivDescargarArchivo.Visible = true;
SeCargoInfo = true;
}else
{
this.CveDocumento = -1;
} }
} }
ObjOI.Dispose(); ObjOI.Dispose();
return SeCargoInfo;
} }
private void CargarUsuariosAutorizo() private void CargarUsuariosAutorizo()
@@ -320,13 +327,15 @@ public partial class OI_DocumentoDetalle : ClsPaginas
if (this.CveDocumento > 0) if (this.CveDocumento > 0)
{ {
EstatusMostrar(true); EstatusMostrar(true);
CargarDocumentoYaExistente(); if (CargarDocumentoYaExistente())
CargarUsuariosParticipantes(); {
CargarUsuariosAutorizo(); CargarUsuariosParticipantes();
ConfiguracionActualizar(); CargarUsuariosAutorizo();
ConfigurarGridUsuariosParticipantes(); ConfiguracionActualizar();
ConfigurarCamposDetalleSegunUsuario(); ConfigurarGridUsuariosParticipantes();
CargarMensajeNuevoEditado(); ConfigurarCamposDetalleSegunUsuario();
CargarMensajeNuevoEditado();
}
} }
ConfigurarSegunEstatus(); ConfigurarSegunEstatus();
} }
@@ -766,11 +775,4 @@ public partial class OI_DocumentoDetalle : ClsPaginas
UpCliente.Update(); UpCliente.Update();
} }
#endregion #endregion
protected void LbPruebas_Click(object sender,EventArgs e)
{
Cargar();
UpCliente.Update();
Alert("Documento actualizado");
}
} }

View File

@@ -43,17 +43,24 @@ public partial class OI_Documentos : ClsPaginas
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer); GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
string ArchivoFisico = GvRow.DataKey("ArchivoFisico"); string ArchivoFisico = GvRow.DataKey("ArchivoFisico");
string NombreArchivo = ArchivoFisico.Split('_')[1]; string CveDocumento = GvRow.DataKey("CveDocumento");
//string NombreArchivo = ArchivoFisico.Split('_')[1];
string Ruta = string.Format("{0}Empresas/{1}/DocumentosRepo/{2}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, ArchivoFisico); string Ruta = string.Format("{0}Empresas/{1}/DocumentosRepo/{2}/{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, CveDocumento, ArchivoFisico);
byte[] archivoBytes = File.ReadAllBytes(Ruta); if (File.Exists(Ruta))
{
byte[] archivoBytes = File.ReadAllBytes(Ruta);
HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType = "application/octet-stream"; HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment;filename={0}", NombreArchivo)); HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment;filename={0}", ArchivoFisico));
HttpContext.Current.Response.AddHeader("Content-Length", archivoBytes.Length.ToString()); HttpContext.Current.Response.AddHeader("Content-Length", archivoBytes.Length.ToString());
HttpContext.Current.Response.OutputStream.Write(archivoBytes, 0, archivoBytes.Length); HttpContext.Current.Response.OutputStream.Write(archivoBytes, 0, archivoBytes.Length);
HttpContext.Current.Response.End(); HttpContext.Current.Response.End();
}else
{
Alert("No se ha cargado Documento",ModExtensiones.TipoMensaje.MsgAdvertencia);
}
} }
} }

View File

@@ -151,7 +151,7 @@
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" AutoGenerateColumns="False"
EmptyDataText="No se encontraron registros" data-sort="true" Width="99%" EmptyDataText="No se encontraron registros" data-sort="true" Width="99%"
DataKeyNames="CveCliente,CveMoneda,Saldo,Folio,CveVenta,NombreComercial,CveVentaAmortizacion,SerieFolioAmortizacion,SerieFolio,Total, DataKeyNames="CveCliente,CveMoneda,Saldo,Folio,CveVenta,NombreComercial,CveVentaAmortizacion,SerieFolioAmortizacion,SerieFolio,Total,
Fecha,FechaAmortizacion,SubTotal,SubTotalAmortizacion,ImporteAmortizacion,CveIE,Tipo,SaldoAcumulativo"> Fecha,FechaAmortizacion,SubTotal,SubTotalAmortizacion,ImporteAmortizacion,CveIE,Tipo,SaldoAcumulativo,CveSubProyecto">
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
<ItemTemplate> <ItemTemplate>

View File

@@ -359,16 +359,22 @@ public partial class Ventas_RepAnticipo_NC_IXCDetalle : ClsPaginas
} }
} }
} }
else
{
break;
}
CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepNCXAplicar", 6, Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("CveMoneda").ToEntero(), TxtFecha.Text.ToDate(), "Saldo de NC por Sistema", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepNCXAplicar", 6, Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("CveMoneda").ToEntero(), TxtFecha.Text.ToDate(), "Saldo de NC por Sistema", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, Saldo, Gv.DataKey("Folio").ToString(), ConceptoContable2, TxtConcepto.Text, TxtFecha.Text.ToDate(), IdCtaContable, -1, CveIE, CveVenta, CveCliente: Gv.DataKey("CveCliente").ToEntero(), ImporteMX: Saldo, CveCuenta: CveCuenta)) if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, Saldo, Gv.DataKey("Folio").ToString(), ConceptoContable2, TxtConcepto.Text, TxtFecha.Text.ToDate(), IdCtaContable, -1, CveIE, CveVenta, CveCliente: Gv.DataKey("CveCliente").ToEntero(), ImporteMX: Saldo, CveCuenta: CveCuenta))
{ {
MsgError = "Ocurrio un error al saldar el movimiento"; MsgError = "Ocurrio un error al saldar el movimiento";
break;
} }
if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, Gv.DataKey("Saldo").ToDecimal(), Gv.DataKey("Folio").ToString(), 78, TxtConcepto.Text, TxtFecha.Text.ToDate(), UsuarioActual.Empresa.IdCuentaOtrosIngresos, -1, CveIE, CveVenta, ImporteMX: Gv.DataKey("Saldo").ToDecimal(), CveCuenta: -1)) if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, Gv.DataKey("Saldo").ToDecimal(), Gv.DataKey("Folio").ToString(), 78, TxtConcepto.Text, TxtFecha.Text.ToDate(), UsuarioActual.Empresa.IdCuentaOtrosIngresos, -1, CveIE, CveVenta, ImporteMX: Gv.DataKey("Saldo").ToDecimal(), CveCuenta: -1, CveSubProyecto: Gv.DataKey("CveSubProyecto").ToEntero()))
{ {
MsgError = "Ocurrio un error al saldar el movimiento"; MsgError = "Ocurrio un error al saldar el movimiento";
break;
} }
} }

View File

@@ -16656,6 +16656,7 @@ Partial Class Ventas
' End If ' End If
'End If 'End If
'Creamos el movimiento 'Creamos el movimiento
Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, ConceptoEntrada, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, ConceptoEntrada, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1,
CveMovimientoRelacionado:=CveMovimientoRelacionado, Modulo:="Vta/E4") CveMovimientoRelacionado:=CveMovimientoRelacionado, Modulo:="Vta/E4")
@@ -16680,7 +16681,7 @@ Partial Class Ventas
Dim Serie As String = MovDet("Serie").ToString() Dim Serie As String = MovDet("Serie").ToString()
Dim Lote As String = MovDet("Lote").ToString() Dim Lote As String = MovDet("Lote").ToString()
Dim FechaCaducidad As Date = MovDet("FechaCaducidad").ToString.ToDate Dim FechaCaducidad As Date = MovDet("FechaCaducidad").ToString.ToDate
Dim CveSeccionAlmacen As Integer = MovDet("CveSeccionAlmacen").ToString.ToEntero Dim CveSeccionAlmacen As Integer = -3 'SE DEBE CALCULAR LA SECCION EL EN TRIGGER DE INVENTARIOS
Dim Consec As Integer = DtRemisionesTmpDT.FiltroPrimeroValor("Consec", $"CveVentaDetalle = {MovDet("CveVentaDetalle").ToString()}").ToEntero() Dim Consec As Integer = DtRemisionesTmpDT.FiltroPrimeroValor("Consec", $"CveVentaDetalle = {MovDet("CveVentaDetalle").ToString()}").ToEntero()
'COMIENZA: VENTADETALLE 'COMIENZA: VENTADETALLE
@@ -22703,7 +22704,6 @@ Partial Class Ventas
End If End If
End Sub End Sub
Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1) As DataTable Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1) As DataTable
Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0 Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0
@@ -22750,9 +22750,13 @@ Partial Class Ventas
Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100 Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100
Dim FiltroStr As String = "" Dim FiltroStr As String = ""
Dim importePuTemp As Decimal = 0 Dim importePuTemp As Decimal = 0
Dim TotalImpuestosLocales As Decimal = 0 Dim TotalImpuestosLocalesVentaOriginal As Decimal = 0
Dim TotalImpuestosLocalesRecalculado As Decimal = 0
'CALCULA LO EQUIVALENTE EN IMPUSTOS LOCALES
If TmpDTImpuestos IsNot Nothing AndAlso TmpDTImpuestos.Rows.Count > 0 Then If TmpDTImpuestos IsNot Nothing AndAlso TmpDTImpuestos.Rows.Count > 0 Then
TotalImpuestosLocales = TmpDTImpuestos.SUM("Importe").ToDecimal() TotalImpuestosLocalesVentaOriginal = TmpDTImpuestos.SUM("Importe").ToDecimal()
TotalImpuestosLocalesRecalculado = TotalImpuestosLocalesVentaOriginal * Porcentaje
End If End If
For Each Dr As DataRow In DtImpuestosLocal.Rows For Each Dr As DataRow In DtImpuestosLocal.Rows
@@ -22760,7 +22764,7 @@ Partial Class Ventas
importePuTemp = (Porcentaje * (TmpDT.SUM("TotalImporte", FiltroStr).ToDecimal() - TmpDT.SUM("Descuento", FiltroStr).ToDecimal())) importePuTemp = (Porcentaje * (TmpDT.SUM("TotalImporte", FiltroStr).ToDecimal() - TmpDT.SUM("Descuento", FiltroStr).ToDecimal()))
If Not AplicaImpuestosLocales Then If Not AplicaImpuestosLocales Then
importePuTemp = importePuTemp - TotalImpuestosLocales importePuTemp = importePuTemp - TotalImpuestosLocalesVentaOriginal
End If End If
Dr("ImporteTotal") = importePuTemp.RoundSQL(2) Dr("ImporteTotal") = importePuTemp.RoundSQL(2)
@@ -22780,9 +22784,11 @@ Partial Class Ventas
Next Next
Dim importeNC = (DtImpuestosLocal.SUMD("ImporteTotal") + DtImpuestosLocal.SUMD("ImporteIVA") + DtImpuestosLocal.SUMD("ImporteIEPS") - DtImpuestosLocal.SUMD("ImporteRetIVA") - DtImpuestosLocal.SUMD("ImporteRetISR")) Dim importeNC = (DtImpuestosLocal.SUMD("ImporteTotal") + DtImpuestosLocal.SUMD("ImporteIVA") + DtImpuestosLocal.SUMD("ImporteIEPS") - DtImpuestosLocal.SUMD("ImporteRetIVA") - DtImpuestosLocal.SUMD("ImporteRetISR"))
If AplicaImpuestosLocales Then If AplicaImpuestosLocales Then
Importe = Importe + TotalImpuestosLocales Importe = Importe + TotalImpuestosLocalesRecalculado
End If End If
'codigo para ajuste de centavo, si el importe total no cuadra con los totales 'codigo para ajuste de centavo, si el importe total no cuadra con los totales
Dim difTmp As Decimal = Importe - importeNC Dim difTmp As Decimal = Importe - importeNC
@@ -22800,7 +22806,6 @@ Partial Class Ventas
'CargaNCDT(CveVentaNC, Importe.ToDecimal) 'CargaNCDT(CveVentaNC, Importe.ToDecimal)
Return DtImpuestosLocal Return DtImpuestosLocal
End Function End Function
Private Sub AgregaTempDT(ByRef TmpDT As DataTable, CvePS As Integer, PS As String, Codigo As String, CodigoPS As String, CveTipoPS As Integer, CveTipoInvPS As Integer, CveUM As Integer, UM As String, Private Sub AgregaTempDT(ByRef TmpDT As DataTable, CvePS As Integer, PS As String, Codigo As String, CodigoPS As String, CveTipoPS As Integer, CveTipoInvPS As Integer, CveUM As Integer, UM As String,
CveClasificacion As Integer, Clasificacion As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, CveClasificacion As Integer, Clasificacion As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String,
Obs As String, Cantidad As Double, PU As Double, PorcentajeIVA As Double, ImporteIVA As Double, PorcentajeRetIVA As Double, ImporteRetIVA As Double, Obs As String, Cantidad As Double, PU As Double, PorcentajeIVA As Double, ImporteIVA As Double, PorcentajeRetIVA As Double, ImporteRetIVA As Double,