Compras carga xml caractestes especiales, Formato Cotizacion 140 v4.0

This commit is contained in:
Oscar Irigoyen
2022-12-01 12:14:03 -07:00
parent 4024b09f86
commit f786c6863f
3 changed files with 1997 additions and 1900 deletions

View File

@@ -1,10 +1,23 @@
Option Explicit On
Option Strict On
'Imports System.Diagnostics
'Imports System.Globalization
'Imports System.IO
'Imports System.Threading.Tasks
'Imports ADSNetLibrary.SIGAPI.Helpers
'Imports Extensiones
'Imports Stimulsoft.Base
Imports System.Activities
Imports System.Data
Imports System.Diagnostics
Imports System.Globalization
Imports System.IO
Imports System.Threading.Tasks
Imports System.Xml
Imports Extensiones
Imports Newtonsoft.Json
Partial Class Compras_Compras
@@ -1765,7 +1778,7 @@ Partial Class Compras_Compras
If Validada And Not EnListadoEFOS Then
Try
XMLDoc.LoadXml(File.ReadAllText(Archivo).Replace("<br>", "").Replace("<", ""))
XMLDoc.LoadXml(File.ReadAllText(Archivo).Replace("<br>", "").Replace("<", "").Replace("o;?", ""))
Catch ex As Exception
Try
Dim oReader = New StreamReader(Archivo, Encoding.GetEncoding("ISO-8859-1"))
@@ -8304,7 +8317,7 @@ Partial Class Compras_Compras
Dim IndicePrimero As Integer = 0
For Each dRow As DataRow In TmpDT.Rows
If Boolean.Parse(dRow("AplicaIEPS").ToString) And dRow("IEPSPS").ToString.ToDecimal > 0 Then
If dRow("IEPSPS").ToString.ToDecimal > 0 Then
IndicePrimero = IndiceContador
Exit For
End If
@@ -8312,11 +8325,8 @@ Partial Class Compras_Compras
Next
If DiferenciaIEPSPS.RoundAD(2) <> 0 Then
TmpDT.Rows(IndicePrimero)("IEPSPS") = TmpDT.Rows(IndicePrimero)("IEPSPS").ToString.ToDecimal + DiferenciaIEPSPS
TmpDT.AcceptChanges()
End If
@@ -8571,9 +8581,20 @@ Partial Class Compras_Compras
PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal
Dim ImporteAntMNComision As Decimal = (ImporteAnt + ImporComisionAnticipo)
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaNueva, TipoMovimientoCompra, (ImporteAnt + ImporComisionAnticipo), "", CveConceptoCompra, "", TxtFechaPago.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMNComision, ImporteME:=If(TipoCambioAnt = 1, 0, (ImporteAnt + ImporComisionAnticipo)), TipoCambio:=TipoCambioAnt, CveSubProyecto:=CveSubProyectoAnticipo) Then
ErrorMovtosCxP = 1
'Se comento por que ya se aplica el pago en AplicaPrePolizaPagoCompra
'Dim ImporteAntMNComision As Decimal = (ImporteAnt + ImporComisionAnticipo)
'If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaNueva, TipoMovimientoCompra, (ImporteAnt + ImporComisionAnticipo), "", CveConceptoCompra, "", TxtFechaPago.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMNComision, ImporteME:=If(TipoCambioAnt = 1, 0, (ImporteAnt + ImporComisionAnticipo)), TipoCambio:=TipoCambioAnt, CveSubProyecto:=CveSubProyectoAnticipo) Then
' ErrorMovtosCxP = 1
'End If
If gvr.DataKey("TipoDocto").Contiene("Egsc") Then
CompraActual.IdCtaContableAnticipoProv = IdCtaContable
End If
If gvr.DataKey("TipoDocto").Contiene("DD") Then
CompraActual.IdCtaContableProv = IdCtaContable
End If
If CveMonedaAnticipo > 1 Then
@@ -9783,12 +9804,38 @@ Partial Class Compras_Compras
#Region "CargaXML"
Private Function ValorXML(n As XmlNode, Campo As String, Optional Retorno As String = "") As String
If UsuarioActual.CveRol = 1 Then
Try
Dim o As XmlNode = n.Attributes.Cast(Of XmlAttribute)().SingleOrDefault(Function(a) String.Compare(a.Name, Campo, True) = 0)
If o Is Nothing Then
Return Retorno
Else
Return o.Value
End If
Catch ex As Exception
Alert($"Error al leer valor nodo campo:{Campo}")
Return ""
End Try
Else
Dim o As XmlNode = n.Attributes.Cast(Of XmlAttribute)().SingleOrDefault(Function(a) String.Compare(a.Name, Campo, True) = 0)
If o Is Nothing Then
Return Retorno
Else
Return o.Value
End If
End If
End Function
Private Sub CargaComprobanteXML(XMLDoc As XmlDocument)
@@ -12242,8 +12289,30 @@ Partial Class Compras_Compras
End Sub
Protected Sub BtnContado_Click(sender As Object, e As EventArgs)
TxtRembolsoNumero.Text = TxtNumeroReembolso.Text
If RBLContado.SelectedValue.ToEntero = 6 Then ' Caja chica
DdlFuncionarioEmpleado.SelectedValueExist(-1)
DdlCuentaCajaChicaReembolso.SelectedValueExist(-1)
TxtDocumentoImporteFE.Text = ""
TextBox3.Text = ""
ViewState("CvePersonal") = -1
End If
If RBLContado.SelectedValue.ToEntero = 2 Then ' viaticos personal
DdlTipoTransaccionCaja.SelectedValueExist(-1)
DdlCuentaCaja.SelectedValueExist(-1)
TxtDocumentoFolioCaja.Text = ""
TxtDocumentoImporteCaja.Text = ""
TxtDocumentoObservacionesCaja.Text = ""
ViewState("CveCajaChica") = -1
End If
UpContado.Update()
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivContadoModal"))
End Sub
Protected Sub RblRembolso_SelectedIndexChanged(sender As Object, e As EventArgs)

View File

@@ -1,5 +1,213 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DsOC">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>06ae5329-8ff5-42b5-b7f4-6d68e5186420</rd:DataSourceID>
</DataSource>
<DataSource Name="DataSet2">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>3fde81d4-b9ca-4175-9160-5293ca8b9aa9</rd:DataSourceID>
</DataSource>
<DataSource Name="DsFirmas">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>c220a38d-e45b-4e04-917e-7dfd9cc3345f</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DsOC">
<Query>
<DataSourceName>DsOC</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="CveOrdenCompraDetalle">
<DataField>CveOrdenCompraDetalle</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="CveOrdenCompra">
<DataField>CveOrdenCompra</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="Cantidad">
<DataField>Cantidad</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="CveUnidadMedida">
<DataField>CveUnidadMedida</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="Abreviatura">
<DataField>Abreviatura</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="PS">
<DataField>PS</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CveClasificacion">
<DataField>CveClasificacion</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="Clasificacion">
<DataField>Clasificacion</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CveActivoFijo">
<DataField>CveActivoFijo</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="Codigo">
<DataField>Codigo</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TipoDato">
<DataField>TipoDato</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="CodigoAF">
<DataField>CodigoAF</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CodigoPS">
<DataField>CodigoPS</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="UnidadMedida">
<DataField>UnidadMedida</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Importe">
<DataField>Importe</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Total">
<DataField>Total</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="UM">
<DataField>UM</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Obs">
<DataField>Obs</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="SubProyecto">
<DataField>SubProyecto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="PU">
<DataField>PU</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="IEPS">
<DataField>IEPS</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="IVA">
<DataField>IVA</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Descuento">
<DataField>Descuento</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Marca">
<DataField>Marca</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DsOC</rd:DataSetName>
<rd:SchemaPath>C:\Users\Orlando Bojorquez\Documents\Visual Studio 2013\WebSites\WebSite1\App_Code\DsOC.xsd</rd:SchemaPath>
<rd:TableName>DtOCDetalle</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
<DataSet Name="DataSet1">
<Query>
<DataSourceName>DataSet2</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="ImpuestoLocal">
<DataField>ImpuestoLocal</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Importe">
<DataField>Importe</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="Nombre">
<DataField>Nombre</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ImporteT">
<DataField>ImporteT</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Orden">
<DataField>Orden</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DataSet2</rd:DataSetName>
<rd:SchemaPath>C:\Users\jesus\Documents\Visual Studio 2015\WebSites\WebSite2\App_Code\DataSet2.xsd</rd:SchemaPath>
<rd:TableName>DataTable1</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
<DataSet Name="DataSet2">
<Query>
<DataSourceName>DsFirmas</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Titulo">
<DataField>Titulo</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Nombre">
<DataField>Nombre</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Puesto">
<DataField>Puesto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Lado">
<DataField>Lado</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DsFirmas</rd:DataSetName>
<rd:SchemaPath>C:\Users\Jesus Murua\Documents\Visual Studio 2015\WebSites\WebSite2\App_Code\DsFirmas.xsd</rd:SchemaPath>
<rd:TableName>DataTable1</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Textbox Name="Textbox20">
@@ -1714,212 +1922,8 @@
<ColumnSpacing>1.27cm</ColumnSpacing>
<Style />
</Page>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DsOC">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>06ae5329-8ff5-42b5-b7f4-6d68e5186420</rd:DataSourceID>
</DataSource>
<DataSource Name="DataSet2">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>3fde81d4-b9ca-4175-9160-5293ca8b9aa9</rd:DataSourceID>
</DataSource>
<DataSource Name="DsFirmas">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>c220a38d-e45b-4e04-917e-7dfd9cc3345f</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DsOC">
<Query>
<DataSourceName>DsOC</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="CveOrdenCompraDetalle">
<DataField>CveOrdenCompraDetalle</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="CveOrdenCompra">
<DataField>CveOrdenCompra</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="Cantidad">
<DataField>Cantidad</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="CveUnidadMedida">
<DataField>CveUnidadMedida</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="Abreviatura">
<DataField>Abreviatura</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="PS">
<DataField>PS</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CveClasificacion">
<DataField>CveClasificacion</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="Clasificacion">
<DataField>Clasificacion</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CveActivoFijo">
<DataField>CveActivoFijo</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="Codigo">
<DataField>Codigo</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TipoDato">
<DataField>TipoDato</DataField>
<rd:TypeName>System.Int64</rd:TypeName>
</Field>
<Field Name="CodigoAF">
<DataField>CodigoAF</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CodigoPS">
<DataField>CodigoPS</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="UnidadMedida">
<DataField>UnidadMedida</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Importe">
<DataField>Importe</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Total">
<DataField>Total</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="UM">
<DataField>UM</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Obs">
<DataField>Obs</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="SubProyecto">
<DataField>SubProyecto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="PU">
<DataField>PU</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="IEPS">
<DataField>IEPS</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="IVA">
<DataField>IVA</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Descuento">
<DataField>Descuento</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Marca">
<DataField>Marca</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DsOC</rd:DataSetName>
<rd:SchemaPath>C:\Users\Orlando Bojorquez\Documents\Visual Studio 2013\WebSites\WebSite1\App_Code\DsOC.xsd</rd:SchemaPath>
<rd:TableName>DtOCDetalle</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
<DataSet Name="DataSet1">
<Query>
<DataSourceName>DataSet2</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="ImpuestoLocal">
<DataField>ImpuestoLocal</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Importe">
<DataField>Importe</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="Nombre">
<DataField>Nombre</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ImporteT">
<DataField>ImporteT</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Orden">
<DataField>Orden</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DataSet2</rd:DataSetName>
<rd:SchemaPath>C:\Users\jesus\Documents\Visual Studio 2015\WebSites\WebSite2\App_Code\DataSet2.xsd</rd:SchemaPath>
<rd:TableName>DataTable1</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
<DataSet Name="DataSet2">
<Query>
<DataSourceName>DsFirmas</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Titulo">
<DataField>Titulo</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Nombre">
<DataField>Nombre</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Puesto">
<DataField>Puesto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Lado">
<DataField>Lado</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DsFirmas</rd:DataSetName>
<rd:SchemaPath>C:\Users\Jesus Murua\Documents\Visual Studio 2015\WebSites\WebSite2\App_Code\DsFirmas.xsd</rd:SchemaPath>
<rd:TableName>DataTable1</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
</DataSets>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="ClienteCodigo">
<DataType>String</DataType>
@@ -2500,6 +2504,18 @@
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="CFDIVersion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="RegimenFiscalCodigo">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="Logo">

File diff suppressed because it is too large Load Diff