diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb index a9469f6b0..111ecd684 100644 --- a/App_Code/CFDITimbre.vb +++ b/App_Code/CFDITimbre.vb @@ -344,13 +344,9 @@ Public Class CFDIConceptosImpuestos Public Property TipoFactor As String = "Tasa" Public Property TasaOCuota As Decimal = 0.00D Public Property Importe As Decimal = 0.00D ' propiedad utilizada solo para hacer ajustes, por default toma la multiplicación de base * tasa - Public Property BaseMN As Decimal = 0.00D - Public Property ImporteMN As Decimal = 0.00D - 'Public ReadOnly Property Importe As Decimal - ' Get - ' If ImporteT = 0.00 Then Return Base * TasaOCuota Else Return ImporteT - ' End Get - 'End Property + Public Property BaseMN As Decimal = 0.000000D + Public Property ImporteMN As Decimal = 0.000000D + End Class @@ -401,6 +397,7 @@ Public Class CFDIRetenciones Public Property Impuesto As String Public Property Importe As Decimal = 0.000000D Public Property TasaOCuota As String + Public Property ImporteMN As Decimal = 0.000000D End Class @@ -428,7 +425,6 @@ Public Class CFDITraslados Public Property Base As Decimal = 0.000000D Public Property ImporteMN As Decimal = 0.000000D Public Property BaseMN As Decimal = 0.000000D - Public Property EquivalenciaDR As Decimal = 0.000000D End Class @@ -463,17 +459,17 @@ Public Class CFDIComplementoPagos Public ReadOnly Property Totales As CFDIComplementoPagosTotales Get Dim tRetorno As New CFDIComplementoPagosTotales - tRetorno.MontoTotalPagos = (From c In DocumentosRelacionados Select c.ImpPagado * TipoCambioP).Sum() + tRetorno.MontoTotalPagos = (From c In DocumentosRelacionados Select c.ImpPagadoMN).Sum() - tRetorno.TotalTrasladosBaseIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.BaseMN * c.EquivalenciaDR).Sum() - tRetorno.TotalTrasladosBaseIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.BaseMN * c.EquivalenciaDR).Sum() - tRetorno.TotalTrasladosBaseIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.BaseMN * c.EquivalenciaDR).Sum() + tRetorno.TotalTrasladosBaseIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.BaseMN).Sum() + tRetorno.TotalTrasladosBaseIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.BaseMN).Sum() + tRetorno.TotalTrasladosBaseIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.BaseMN).Sum() - tRetorno.TotalTrasladosImpuestoIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.Importe * c.EquivalenciaDR).Sum() - tRetorno.TotalTrasladosImpuestoIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.ImporteMN * c.EquivalenciaDR).Sum() - tRetorno.TotalTrasladosImpuestoIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.ImporteMN * c.EquivalenciaDR).Sum() + tRetorno.TotalTrasladosImpuestoIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.Importe).Sum() + tRetorno.TotalTrasladosImpuestoIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.ImporteMN).Sum() + tRetorno.TotalTrasladosImpuestoIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.ImporteMN).Sum() - tRetorno.TotalRetencionesIEPS = (From c In Retenciones Where c.Impuesto = "003" Select c.Importe).Sum() + tRetorno.TotalRetencionesIEPS = (From c In Retenciones Where c.Impuesto = "003" Select c.ImporteMN).Sum() Return tRetorno End Get @@ -510,15 +506,15 @@ Public Class CFDIComplementoPagos For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados For Each imp As CFDIConceptosImpuestos In c.Impuestos If imp.TrasladooRetencion = "R" Then - tRetorno.Add(New CFDIRetenciones With {.Impuesto = imp.Impuesto, .Importe = imp.Importe * (1 / c.TipoCambioDR)}) - + tRetorno.Add(New CFDIRetenciones With {.Impuesto = imp.Impuesto, .Importe = imp.Importe, .ImporteMN = imp.ImporteMN}) End If Next Next If tRetorno.Count > 0 Then TRetenciones = tRetorno.GroupBy(Function(t) New With {Key t.Impuesto}) _ .Select(Function(t) New CFDIRetenciones With {.Impuesto = t.Key.Impuesto, - .Importe = t.Sum(Function(tt) tt.Importe)}) _ + .Importe = t.Sum(Function(tt) tt.Importe), + .ImporteMN = t.Sum(Function(tt) tt.ImporteMN)}) _ .OrderBy(Function(x) x.Impuesto).ToList End If @@ -535,7 +531,7 @@ Public Class CFDIComplementoPagos For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados For Each imp As CFDIConceptosImpuestos In c.Impuestos If imp.TrasladooRetencion = "T" Then - tRetorno.Add(New CFDITraslados With {.Impuesto = imp.Impuesto, .Base = imp.Base, .Importe = imp.Importe, .TasaOCuota = imp.TasaOCuota, .TipoFactor = imp.TipoFactor, .BaseMN = imp.BaseMN, .ImporteMN = imp.ImporteMN, .EquivalenciaDR = c.TipoCambioDR}) + tRetorno.Add(New CFDITraslados With {.Impuesto = imp.Impuesto, .Base = imp.Base, .Importe = imp.Importe, .TasaOCuota = imp.TasaOCuota, .TipoFactor = imp.TipoFactor, .BaseMN = imp.BaseMN, .ImporteMN = imp.ImporteMN}) End If Next Next @@ -572,6 +568,7 @@ Public Class CFDIComplementoPagosDocsRelacionados Public Property NumParcialidad As Integer = 1 Public Property ImpSaldoAnt As Decimal Public Property ImpPagado As Decimal + Public Property ImpPagadoMN As Decimal Public Property ImpSaldoInsoluto As Decimal Public Property ObjetoImpuesto As String = "01" Public Property Impuestos As List(Of CFDIConceptosImpuestos) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 1d01c1666..b9e31dd39 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -6012,11 +6012,17 @@ Public Class ClsPaginas RutaReporte = String.Format("{0}{1}", bdir, RutaReporte) End If - If EsProduccion AndAlso SubReportData Is Nothing Then + If EsProduccion Then - Dim wsreport As New WSRDLC.WebServiceSoapClient - Dim params As New List(Of WSRDLC.ReportParameter) - Dim reportobjects As New List(Of WSRDLC.ReportObjects) + Dim wsreport As New WSRDLC2.WebServiceSoapClient + Dim params As New List(Of WSRDLC2.ReportParameter) + Dim reportobjects As New List(Of WSRDLC2.ReportObjects) + + Dim jsonData As String = Nothing + + If SubReportData IsNot Nothing Then + jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(SubReportData) + End If Dim ds As New DataSet For Each rpds As ReportDataSource In DataSource @@ -6026,7 +6032,7 @@ Public Class ClsPaginas dt.TableName = rpds.Name ds.Tables.Add(dt) Else - Dim ojext As New WSRDLC.ReportObjects + Dim ojext As New WSRDLC2.ReportObjects ojext.Name = rpds.Name ojext.Value = rpds.Value reportobjects.Add(ojext) @@ -6034,7 +6040,7 @@ Public Class ClsPaginas Next For Each rpds As ReportParameter In Parametros - Dim param As New WSRDLC.ReportParameter + Dim param As New WSRDLC2.ReportParameter param.Name = rpds.Name 'SI ES TEXTO, QUITAR TABS Y OTROS ESPACIOS QUE DEN PROBLEMAS AL MANDAR LA PETICION @@ -6047,7 +6053,7 @@ Public Class ClsPaginas params.Add(param) Next - Bytes = wsreport.StreamNEWPDFBytes(RutaReporte, ds, reportobjects.ToArray(), params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario) + Bytes = wsreport.StreamNEWPDFBytes(RutaReporte, ds, reportobjects.ToArray(), params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario, jsonData) wsreport = Nothing params = Nothing ds.Dispose() : ds = Nothing @@ -9035,8 +9041,6 @@ Public Class ClsPaginas Else ' se considera que es la version 4.0 cfdVer = "http://www.sat.gob.mx/cfd/4" End If - - If Version = "4.0" Then If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then @@ -9047,8 +9051,6 @@ Public Class ClsPaginas End If End If - - namespaces.AddNamespace(Prefijo, cfdVer) namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital") namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal") @@ -9113,17 +9115,8 @@ Public Class ClsPaginas DrRelacionado("MonedaDR") = Relacionado.Attributes("MonedaDR").Value - If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso Version = "4.0" Then - - - ' Relacionado.SelectSingleNode($"//{PagoVersion}:ImpuestosDR/{PagoVersion}:TrasladosDR/{PagoVersion}:TrasladoDR", namespaces) - - 'Dim NodoImpuestosDR As XmlNode = Relacionado.SelectSingleNode($"{PagoVersion}:ImpuestosDR", namespaces) - 'Dim NodoTrasladosDR As XmlNode = NodoImpuestosDR.SelectSingleNode($"{PagoVersion}:TrasladosDR", namespaces) - 'Dim TrasladoDR As XmlNodeList = NodoTrasladosDR.ChildNodes - Dim NodosTraslados = Relacionado.SelectNodes($"{PagoVersion}:ImpuestosDR/{PagoVersion}:TrasladosDR/{PagoVersion}:TrasladoDR", namespaces) For Each NodoTraslados As XmlNode In NodosTraslados @@ -9132,7 +9125,6 @@ Public Class ClsPaginas Dim TasaOCuotaDR As String = ValorXML(NodoTraslados, "TasaOCuotaDR") Dim ImporteDR As Decimal = ValorXML(NodoTraslados, "ImporteDR").ToDecimal - If ImpuestoDR = "001" Then DrRelacionado("Tra001ImpuestoDR") = ImpuestoDR DrRelacionado("Tra001TipoFactorDR") = TipoFactor @@ -9153,19 +9145,15 @@ Public Class ClsPaginas DrRelacionado("Tra003TasaOCuotaDR") = TasaOCuotaDR DrRelacionado("Tra003ImporteDR") = ImporteDR End If - Next - For Each NodoRetenciiones As XmlNode In Relacionado.SelectNodes($"{PagoVersion}:ImpuestosDR/{PagoVersion}:RetencionesDR/{PagoVersion}:RetencionDR", namespaces) - Dim ImpuestoDR As String = ValorXML(NodoRetenciiones, "ImpuestoDR") ' ImpuestoDR Dim TipoFactor As String = ValorXML(NodoRetenciiones, "TipoFactorDR") Dim TasaOCuotaDR As String = ValorXML(NodoRetenciiones, "TasaOCuotaDR") Dim ImporteDR As Decimal = ValorXML(NodoRetenciiones, "ImporteDR").ToDecimal - If ImpuestoDR = "001" Then DrRelacionado("Ret001ImpuestoDR") = ImpuestoDR DrRelacionado("Ret001TipoFactorDR") = TipoFactor @@ -9186,20 +9174,10 @@ Public Class ClsPaginas DrRelacionado("Ret003TasaOCuotaDR") = TasaOCuotaDR DrRelacionado("Ret003ImporteDR") = ImporteDR End If - Next - - - - End If - DTConceptosPagoRelacionado.Rows.Add(DrRelacionado) - - - Next - End If Next @@ -9215,7 +9193,6 @@ Public Class ClsPaginas Cantidad = nodeconcepto.Attributes("Cantidad").InnerText CvePS = nodeconcepto.Attributes("ClaveProdServ").InnerText End If - End If Dim CadenaOriginal As String = $"||1.0| {FolioFiscal} | {FechaCertificacion.ToDate.ToShortDateString} T {FechaCertificacion.ToDateTime.ToShortTimeString} | {SelloCFDi} | {NoSerieCertificado} ||" diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 288dad8eb..6984877cd 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -2229,11 +2229,10 @@ Public Class ClsVentas End Function Public Function AddPromociones(Promocion As String, FechaInicio As Date, FechaFin As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Boolean, CveMoneda As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveSubProyecto As Integer, TipoAplicacion As String, - Optional CveMarca As Integer = -1) As Integer + Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1) As Integer Dim Retorno = -1 DataAdapter("PA_Vta_PromocionesAdd") - With SqlAdapter.SelectCommand.Parameters .Add("@Promocion", SqlDbType.VarChar).Value = Promocion .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio @@ -2247,6 +2246,7 @@ Public Class ClsVentas .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@TipoAplicacion", SqlDbType.VarChar).Value = TipoAplicacion .Add("@CveMarca", SqlDbType.Int).Value = CveMarca + .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor .Add("@CvePromocion", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -2260,11 +2260,10 @@ Public Class ClsVentas Return Retorno End Function Public Function UpdatePromociones(Promocion As String, FechaInicio As Date, FechaFin As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Boolean, - CveMoneda As Integer, CveUsuario As Integer, CvePromocion As Integer, CveSubProyecto As Integer, TipoAplicacion As Integer, CveEmpresa As Integer, Optional CveMarca As Integer = -1) As Boolean + CveMoneda As Integer, CveUsuario As Integer, CvePromocion As Integer, CveSubProyecto As Integer, TipoAplicacion As Integer, CveEmpresa As Integer, Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_PromocionesUpdate") - With SqlAdapter.SelectCommand.Parameters .Add("@Promocion", SqlDbType.VarChar).Value = Promocion .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio @@ -2278,6 +2277,7 @@ Public Class ClsVentas .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@TipoAplicacion", SqlDbType.Int).Value = TipoAplicacion .Add("@CveMarca", SqlDbType.Int).Value = CveMarca + .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb index 9ccd14525..bb4ef868d 100644 --- a/App_Code/LogicNominas.vb +++ b/App_Code/LogicNominas.vb @@ -29,7 +29,7 @@ Public Class LogicNominas ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero() ObjFactura.Serie = cfdi.Comprobante.Serie ObjFactura.Timbre = cfdi - If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC) Then + If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC, False) Then Retorno = ObjTimbrado.MensajeErrorCFDI End If End If @@ -139,6 +139,8 @@ Public Class LogicNominas Dim ClaveEstado As String = "" Dim MetodoPagoFijo As Boolean + Dim CodigoPostal As String = "" + Dim ObjIncapacidades As New List(Of CFDINominaIncapacidades) 'Conexiones a la Base de Datos Dim cfdi As New CFDITimbre @@ -175,7 +177,7 @@ Public Class LogicNominas RFC = objPersonal.RFC cfdi.Emisor.RegistroPatronal = objPersonal.DtResultados.Rows(0)("RegistroPatronal").ToString() NombreCompleto = objPersonal.NombreCompleto - + CodigoPostal = objPersonal.CP Sindicalizado = objPersonal.DtResultados.Rows(0)("Sindicalizado").ToString().ToUpper().Contiene("TRUE", "1") CURP = objPersonal.CURP NumeroSS = objPersonal.NumeroSS @@ -441,6 +443,10 @@ Public Class LogicNominas cfdi.Comprobante.FormadePago = "99" cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString() ' AHORITA SOLO SE REQUIERE ESPECIFICAR EL CODIGO POSTAL cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta + '4.0 + cfdi.Receptor.DomicilioFiscalReceptor = CodigoPostal + cfdi.Receptor.RegimenFiscalReceptor = "605" + cfdi.Nomina.Receptor.CURP = CURP cfdi.Nomina.Receptor.NSS = NumeroSS diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 7d498dd07..36bf96aae 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -1107,7 +1107,7 @@ Public Class Timbrado Dim VentaFolioFiscal, VentaSerie, VentaFolio, VentaAbreviaturaSAT, VentaMetodoPago, ObjetoImpuesto As String - Dim VentaImportePago, VentaImporteSaldoInsoluto, VentaImporteSaldoAnterior, VentaTipoCambio, VentaTipoCambioMN, PorcentajeIVA, PorcentajeIEPS As Decimal + Dim VentaImportePago, VentaImportePagoMN, VentaImporteSaldoInsoluto, VentaImporteSaldoAnterior, VentaTipoCambio, VentaTipoCambioMN, PorcentajeIVA, PorcentajeIEPS As Decimal Dim VentaNumParcialidad As Integer If dttpagos IsNot Nothing AndAlso dttpagos.Rows.Count > 0 Then @@ -1126,6 +1126,7 @@ Public Class Timbrado PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal PorcentajeIEPS = dr("PorcentajeIEPS").ToString.ToDecimal ObjetoImpuesto = dr("ObjetoImpuesto").ToString + VentaImportePagoMN = dr("VentasTotalPagado").ToString.ToDecimal '' si la moneda es igual, se omite el tipo de cambio de la venta If MonedaPago = VentaAbreviaturaSAT Then @@ -1134,7 +1135,7 @@ Public Class Timbrado 'condiciones especiales para el pago en pesos, facturas en moneda extranjera ElseIf MonedaPago = "MXN" AndAlso VentaAbreviaturaSAT <> "MXN" Then VentaTipoCambioMN = VentaTipoCambio - VentaTipoCambio = 1 / VentaTipoCambio + VentaTipoCambio = (1 / VentaTipoCambio).RoundSQL(6) End If ' For Each drr As Data.DataRow In DtFacturasPagadas.Rows @@ -1144,9 +1145,10 @@ Public Class Timbrado .MonedaDR = VentaAbreviaturaSAT, .MetodoDePagoDR = VentaMetodoPago, .ImpPagado = VentaImportePago, + .ImpPagadoMN = (VentaImportePago / VentaTipoCambio).RoundSQL, .ImpSaldoInsoluto = VentaImporteSaldoInsoluto, .ImpSaldoAnt = VentaImporteSaldoAnterior, - .TipoCambioDR = VentaTipoCambioMN, + .TipoCambioDR = VentaTipoCambio, .EquivalenciaDR = VentaTipoCambio, .NumParcialidad = VentaNumParcialidad, .ObjetoImpuesto = ObjetoImpuesto} 'If(drr("MetodoPago").ToString = "PUE", 0, drr("NumParcialidad").ToString.ToEntero)} @@ -1158,8 +1160,8 @@ Public Class Timbrado .TasaOCuota = drp("PorcentajeImpuesto").ToString().ToDecimal, .Impuesto = drp("TipoImpuesto").ToString, .Importe = drp("Importe").ToString().ToDecimal.RoundSQL, - .BaseMN = (drp("Base").ToString.ToDecimal * VentaTipoCambioMN).RoundSQL, - .ImporteMN = (drp("Importe").ToString.ToDecimal * VentaTipoCambioMN).RoundSQL + .BaseMN = (drp("Base").ToString.ToDecimal / VentaTipoCambio).RoundSQL(6), + .ImporteMN = (drp("Importe").ToString.ToDecimal * VentaTipoCambio).RoundSQL(6) } ) @@ -1183,7 +1185,7 @@ Public Class Timbrado Return Timbre End Function - Public Function TimbrarFactura(UsuarioActual As Usuario, Ventas As Modelos.Factura, Optional CvePACEspecial As Integer = -1) As Boolean + Public Function TimbrarFactura(UsuarioActual As Usuario, Ventas As Modelos.Factura, Optional CvePACEspecial As Integer = -1, Optional NomUsaPac4 As Boolean = True) As Boolean Dim Retorno As Boolean = False Dim tCvePAC As Integer = UsuarioActual.Empresa.CvePAC @@ -1219,7 +1221,7 @@ Public Class Timbrado Retorno = If(Ret = "", True, False) Case 3 - If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso NomUsaPac4 Then Retorno = TimbrarFacturaProFactV40(UsuarioActual, Ventas) Else Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas) @@ -1227,7 +1229,7 @@ Public Class Timbrado 'Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas, TmpDTConceptos, TmpDTImpuestos, TmpDTComplementos, Ruta, LstFordASN, FordGSDBM, ObjV) Case 4 - If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso NomUsaPac4 Then Dim Ret As String = TimbrarFacturaGoCFDIv40(Ventas, UsuarioActual, CvePACEspecial) If Ret <> "" Then MensajeErrorCFDI = Ret Retorno = If(Ret = "", True, False) @@ -1239,7 +1241,7 @@ Public Class Timbrado Case 5 - If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso NomUsaPac4 Then Dim Ret As String = TimbrarFacturaPADEv40(Ventas, UsuarioActual, CvePACEspecial) If Ret <> "" Then MensajeErrorCFDI = Ret Retorno = If(Ret = "", True, False) @@ -4186,9 +4188,9 @@ Public Class Timbrado If docimp.TrasladooRetencion = "T" Then Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR - Tra.BaseDR = docimp.BaseMN.RoundSQL(2) + Tra.BaseDR = docimp.Base.RoundSQL(2) Tra.ImporteDRSpecified = True - Tra.ImporteDR = docimp.ImporteMN.RoundSQL(2) + Tra.ImporteDR = docimp.Importe.RoundSQL(2) Tra.ImpuestoDR = docimp.Impuesto Tra.TipoFactorDR = docimp.TipoFactor Tra.TasaOCuotaDRSpecified = True @@ -4225,8 +4227,8 @@ Public Class Timbrado ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImpuestoP = Tra.Impuesto ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TipoFactorP = Tra.TipoFactor ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TasaOCuotaP = Tra.TasaOCuota.RoundSQL(6) - ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.Importe.RoundSQL(6) - ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.Base.RoundSQL(2) + ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.ImporteMN.RoundSQL(6) + ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.BaseMN.RoundSQL(2) x += 1 Next End If @@ -5100,7 +5102,7 @@ Public Class Timbrado doc.Serie, doc.Folio, doc.MonedaDR, - doc.TipoCambioDR, + doc.EquivalenciaDR, doc.NumParcialidad, doc.ImpSaldoAnt, doc.ImpPagado, @@ -5135,7 +5137,7 @@ Public Class Timbrado If (ObjCFDITimbre.ComplementoPagos.Retenciones).Count > 0 Then For Each Ret As CFDIRetenciones In ObjCFDITimbre.ComplementoPagos.Retenciones - cfdi.Pago20RetencionP(Ret.Impuesto, Ret.Importe) + cfdi.Pago20RetencionP(Ret.Impuesto, Ret.ImporteMN) Next End If diff --git a/App_WebReferences/WSRDLC2/Reference.svcmap b/App_WebReferences/WSRDLC2/Reference.svcmap new file mode 100644 index 000000000..070b96bcb --- /dev/null +++ b/App_WebReferences/WSRDLC2/Reference.svcmap @@ -0,0 +1,31 @@ + + + + false + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/App_WebReferences/WSRDLC2/WebService.disco b/App_WebReferences/WSRDLC2/WebService.disco new file mode 100644 index 000000000..4b396211d --- /dev/null +++ b/App_WebReferences/WSRDLC2/WebService.disco @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/App_WebReferences/WSRDLC2/WebService.wsdl b/App_WebReferences/WSRDLC2/WebService.wsdl new file mode 100644 index 000000000..b23b74472 --- /dev/null +++ b/App_WebReferences/WSRDLC2/WebService.wsdl @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/App_WebReferences/WSRDLC2/configuration.svcinfo b/App_WebReferences/WSRDLC2/configuration.svcinfo new file mode 100644 index 000000000..23094d5e1 --- /dev/null +++ b/App_WebReferences/WSRDLC2/configuration.svcinfo @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/App_WebReferences/WSRDLC2/configuration91.svcinfo b/App_WebReferences/WSRDLC2/configuration91.svcinfo new file mode 100644 index 000000000..c794b474d --- /dev/null +++ b/App_WebReferences/WSRDLC2/configuration91.svcinfo @@ -0,0 +1,201 @@ + + + + + + + WebServiceSoap1 + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + None + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Collection) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + + + http://localhost:7999/WebService.asmx + + + + + + basicHttpBinding + + + WebServiceSoap1 + + + WSRDLC2.WebServiceSoap + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + WebServiceSoap1 + + + + + + + + + + + \ No newline at end of file diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 53eb0a2b8..30ed7e51e 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -1249,6 +1249,15 @@ +
+
+ Cuenta Devolución: + + - + + +
+
diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 61c2854a9..4e604b518 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -6,6 +6,7 @@ Imports Extensiones Imports System.Web.Services Imports System.IO Imports Microsoft.Reporting.WebForms +Imports System.Xml Partial Class Bancos_IE Inherits ClsPaginas @@ -629,6 +630,13 @@ Partial Class Bancos_IE Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then + + 'PDFReciboDePagos(-1, 1336198, 87212, False) '--pago20 + 'PDFReciboDePagos(-1, 1361624, 87916, False) '--pago20 + + ''PDFReciboDePagos(-1, 1304037, 87219, False) + 'Exit Sub + Me.CveCorte = -1 Folio = "" IDCtaBeneficiario = 0 @@ -1416,7 +1424,7 @@ Partial Class Bancos_IE End If - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then + If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then If IDCtaBeneficiario = 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200) = "1" Then Alert("El Beneficiario no tiene cuenta contable vinculada. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) BtnGuardar.Enabled = False @@ -1538,7 +1546,7 @@ Partial Class Bancos_IE DivOtrosIngresosEgresos.Visible = True End If - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then + If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then If IDCtaBeneficiario = 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then Alert("El Beneficiario no tiene cuenta contable vinculada. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) BtnGuardar.Enabled = False @@ -1594,7 +1602,7 @@ Partial Class Bancos_IE HdnProvPorRetISR.Value = "0" 'ObjProveedor.RetISR.ToString IDCtaBeneficiario = ObjPersonal.IdCtaContPersonal - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then + If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then If IDCtaBeneficiario = 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then Alert("El Beneficiario no tiene cuenta contable vinculada. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) BtnGuardar.Enabled = False @@ -1836,7 +1844,6 @@ Partial Class Bancos_IE dt = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("CveTipoCuenta <> 1") ' quito las cajas chicas End If - If pCveMoneda > 0 Then dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", pCveMoneda)) End If @@ -4229,191 +4236,6 @@ Partial Class Bancos_IE #End Region - ''[IPP] IFs REEMPLAZADOS - MIRAS DE ELIMINAR 2018/08/15 - 'If Not Opcion.Contiene("DEV", "INGPC", "DevDinV") AndAlso MsgError = "" Then - - 'Dim TipoMovimiento As Boolean = True - - 'If Opcion.Contiene("ANTC") Then - ' TipoMovimiento = False - ' End If - - ''MOVIMIENTOS EGRESOS - 'If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtImporte.Text.ToDouble, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDouble, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then - 'Dim IVA As Double = 0 ' TxtImporte.Text.ToDouble * HdnProvPorIVA.Value.ToDouble - 'If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, TxtImporte.Text.ToDouble - IVA - CIF, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDouble, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DdlIEAcreedor.SelectedValue.ToEntero) Then - 'If IVA > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, IVA, Ref, 19, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDouble, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then - ' MsgError = "Detalle" - ' End If - ''intereses pagados - 'If CIF > 0 AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, CIF, Ref, 46, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveOC:=CveOrdenCompra, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=CIF, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario, CveIEDevolucion:=DDlCheques.SelectedValue.ToEntero) Then - ' MsgError = "Detalle" - ' End If - 'Else - ' MsgError = "no se pudo insertar el detalle de la póliza2" - ' End If - 'Else - ' MsgError = "no se pudo insertar el detalle de la póliza" - ' End If - - - 'If Opcion.Contiene("EGSSINFACT") AndAlso CveSolicitudViatico > 0 AndAlso MsgError = "" Then - 'If Not ObjIE.UpdateSolicitudesViaticosIE(CveSolicitudViatico, CveIE) Then - ' MsgError = "Ocurrió un Error al vincular el egreso con la solicitud de viatico." - ' End If - 'End If - - ''MOVIMIENTOS INGRESOS - DEVOLUCIONES - 'ElseIf Opcion.Contiene("DEV") AndAlso MsgError = "" Then - 'Dim CveIEOtro As Integer = If(CveProveedor > 0 Or CvePersonal > 0, DdlIEDevolucion.SelectedValue.ToEntero, CveIE) - - 'If CveCliente > 0 AndAlso Not DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDouble = 0 Then - ''RMF- CASO DONDE HAY UNA DEVOLUCION Y TENGO QUE AFECTAR LAS FACTURAS QUE SE HABIAN MARCADO COMO PAGADAS TENGO QUE REGRESARLAS A PENDIENTES - 'Dim Mov As New ClsMovimientos - 'If Mov.GetMovimientosIE(2, DdlIEDevolucion.SelectedValue.ToEntero, -1, Now, Now, 1, 0, UsuarioActual.CveEmpresa) Then - 'Dim DtIE As DataTable = Mov.DtResultados - 'For Each dr As DataRow In DtIE.Rows - - 'If MsgError = "" AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, If(dr("TipoMovto").ToString.ToEntero = 1, False, True), If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDouble, dr("Importe").ToString.ToDouble), "", dr("CveConceptoContable").ToString.ToEntero, "", Now, IDCtaBeneficiario, -1, CveIE, CveCliente:=dr("CveCliente").ToString.ToEntero, CveVenta:=dr("CveVenta").ToString.ToEntero, ImporteMX:=If(dr("CveConceptoContable").ToString.ToEntero.Contiene(66), -TxtImporte.Text.ToDouble, -dr("Importe").ToString.ToDouble), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then - ' MsgError = "no se pudo insertar el detalle de la póliza 2" - ' End If - 'Next - ' ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDouble, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDouble, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) - - ' End If - ' Mov.Dispose() - - ' 'Devolucion de INGxC Formato Charlie - ' ElseIf CveCliente > 0 AndAlso DivIvaIxC.Visible Then - - 'Dim Mov As New ClsMovimientos - ' 'INGxC - ' ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(TxtImporte.Text.ToDouble - TxtIvaIxC.Text.ToDouble), Ref, 66, Conc, Now, IDCtaContable, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-(TxtImporte.Text.ToDouble - TxtIvaIxC.Text.ToDouble), ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) - - ' If TxtIvaIxC.Text.ToDouble > 0 Then - ' 'Iva - ' ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -TxtIvaIxC.Text.ToDouble, Ref, 61, Conc, Now, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtIvaIxC.Text.ToDouble, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) - ' End If - - ' 'Bancos - ' ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, -TxtImporte.Text.ToDouble, Ref, 30, Conc, Now, IDCtaBeneficiario, -1, CveIE, CveIEDevolucion:=DdlIEDevolucion.SelectedValue.ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=-TxtImporte.Text.ToDouble, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) - ' Mov.Dispose() - - ' Else - 'If ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtImporte.Text.ToDouble, Ref, CveConceptoContable, Conc, Now, IDCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDouble, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaConta) Then - 'If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDouble, Ref, CveConceptoCompra, Conc, Now, IDCtaBeneficiario, -1, CveIE:=If(CveIEOtro < 0, CveIE, CveIEOtro), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtImporte.Text.ToDouble, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=CveCuentaBeneficiario) Then - ' MsgError = "no se pudo insertar el detalle de la póliza 2" - ' End If - 'Else - ' MsgError = "no se pudo insertar el detalle de la póliza" - ' End If - - 'End If - - ''Nuevo INGxC Formato Charlie - 'ElseIf Opcion.Contiene("INGPC") AndAlso MsgError = "" Then - - 'Dim ConceptoContable As Integer - 'Dim TipoMovimiento As Boolean - 'Dim importeMovimiento As Decimal - 'Dim FechaMovimiento As Date = Now - 'Dim Concepto As String = "" - 'Dim Referencia As String = TxtPagueseA.Text - - 'Dim importeMX As Decimal - 'Dim Multiplicador As Integer - - 'If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then - 'For Each Row As DataRow In ObjMov.DtResultados.Rows - - ' ConceptoContable = Row("CveConcepto").ToString.ToEntero - ' TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) - ' importeMovimiento = 0 - ' Multiplicador = (Row("Multiplicador").ToString.ToEntero) - ' Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, TxtPagueseA.Text, "", TxtFolio.Text) - - ' Select Case ConceptoContable - - 'Case 10 - 'If RBL.SelectedValue = "P" AndAlso CveProveedor > 0 Then - ' importeMovimiento = TxtImporte.Text.ToDecimal - ' importeMX = importeMovimiento - ' End If - - 'Case 28 - 'If RBL.SelectedValue = "FE" AndAlso CvePersonal > 0 Then - ' importeMovimiento = TxtImporte.Text.ToDecimal - ' importeMX = importeMovimiento - ' End If - - 'Case 37 - 'If RBL.SelectedValue = "DD" AndAlso CveProveedor > 0 Then - ' importeMovimiento = TxtImporte.Text.ToDecimal - ' importeMX = importeMovimiento - ' End If - - 'Case 41 - 'If RBL.SelectedValue = "AC" AndAlso CveProveedor > 0 Then - ' importeMovimiento = TxtImporte.Text.ToDecimal - ' importeMX = importeMovimiento - ' End If - - 'Case 50 - 'If RBL.SelectedValue = "DP" AndAlso CveProveedor > 0 Then - ' importeMovimiento = TxtImporte.Text.ToDecimal - ' importeMX = importeMovimiento - ' End If - - 'Case 66 - 'If RBL.SelectedValue = "C" AndAlso CveCliente > 0 Then - ' importeMovimiento = TxtImporte.Text.ToDecimal - TxtIvaIxC.Text.ToDecimal - ' importeMX = importeMovimiento - - ' 'Agregamos el IVA - ' If DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDecimal <> 0 Then - 'If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtIvaIxC.Text.ToDecimal, Concepto, 61, Concepto, FechaMovimiento, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then - ' MsgError = "Ocurrió un Error al registrar el asiento del ingreso." - ' End If - 'End If - 'If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then - ''Agregamos complementaria - 'Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal - - 'If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 226, Concepto, FechaMovimiento, IDCtaBeneficiarioComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=0) Then - ' MsgError = "Ocurrió un Error al registrar el asiento del ingreso." - ' End If - - 'End If - - 'End If - - 'Case 30 - ' importeMovimiento = TxtImporte.Text.ToDecimal - ' importeMX = importeMovimiento - - ' If tCveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then - ''Agregamos complementaria - 'Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal - - 'If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then - ' MsgError = "Ocurrió un Error al registrar el asiento del ingreso." - ' End If - - 'End If - - 'End Select - - 'If importeMovimiento <> 0 Then - 'If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, IDCtaContable, IDCtaBeneficiario), -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, CveCuentaConta, CveCuentaBeneficiario)) Then - ' MsgError = "Ocurrió un Error al registrar el asiento del ingreso." - ' End If - 'End If - - 'Next - - 'End If - 'End If - Protected Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click Dim IE As New ClsBancos @@ -4498,7 +4320,7 @@ Partial Class Bancos_IE End If Try - If (UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC)) Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC)) Then If ObjAC Is Nothing Then ErrorCancelar = True @@ -4594,8 +4416,9 @@ Partial Class Bancos_IE Dim TipoMovimiento As Integer = 1 Dim CveTipoTransaccionCancelacion As Integer = DdlTipoTransaccionCancelacion.SelectedValue.ToEntero + Dim CveCuentaDevolucion As Integer = DdlDevolucionCuenta.SelectedValue.ToEntero - If ChkGeneraCancelacion.Checked AndAlso GeneraCancelacionEnCero Then + If ChkGeneraCancelacion.Checked Then GeneraCancelacionEnCero = False TipoMovimiento = 2 @@ -4610,7 +4433,7 @@ Partial Class Bancos_IE If Not GeneraCancelacionEnCero Then 'CANCELA IE MES ANTERIOR CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, TipoMovimiento:=TipoMovimiento, - CveTipoTransaccionCancelacion:=CveTipoTransaccionCancelacion) + CveTipoTransaccionCancelacion:=CveTipoTransaccionCancelacion, CveCuentaDevolucion:=CveCuentaDevolucion) If CvePrePolizaCancelacion <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE MES ANTERIOR" @@ -4626,7 +4449,7 @@ Partial Class Bancos_IE Else 'CANCELA IE MES ACTUAL CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, - CveTipoTransaccionCancelacion:=CveTipoTransaccionCancelacion) + CveTipoTransaccionCancelacion:=CveTipoTransaccionCancelacion, CveCuentaDevolucion:=CveCuentaDevolucion) If CvePrePolizaCancelacion <= 0 Then ErrorCancelar = True MensajeError = "Error al cancelar IE MES ACTUAL" @@ -4683,23 +4506,23 @@ Partial Class Bancos_IE Dim ObjCancelacion As New Timbrado If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then - 'If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then - ' CargaComplementosPago() - ' RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") - ' ErrorCancelarComplemento = False - ' Alert("El complemento se cancelo correctamente.") - 'End If + If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, Date.Now, "", 1) Then + CargaComplementosPago() + RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") + ErrorCancelarComplemento = False + Alert("El complemento se cancelo correctamente.") + End If Else Dim respCancelacion = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) If respCancelacion.Verificado Then - 'If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then - ' CargaComplementosPago() - ' RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") - ' ErrorCancelarComplemento = False - ' Alert("El complemento se cancelo correctamente.") - 'End If + If Banc.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + CargaComplementosPago() + RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") + ErrorCancelarComplemento = False + Alert("El complemento se cancelo correctamente.") + End If Else Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) @@ -4791,7 +4614,7 @@ Partial Class Bancos_IE Dim IdPolizaNueva = -1 Dim FolioPolizaNueva = -1 - If (UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1")) Then + If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1")) Then If ObjAC Is Nothing Then ErrorCancelar = True @@ -5119,7 +4942,7 @@ Partial Class Bancos_IE Dim ErrorCompra = False 'Elimina la poliza - If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IDPoliza > 0 Then + If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IDPoliza > 0 Then If Not ObjAC.RemovePoliza(IDPoliza) Then ErrorCompra = True End If @@ -6038,7 +5861,7 @@ Partial Class Bancos_IE Str.AppendFormat("XML    ", Encripta(String.Format("OP=Pag&EXT=xml&CveIE={0}&SerieFolio={1}", gvr.DataKey("CveIE").ToEntero, ObjBanco.ComplementoSerieFolio.Replace("&", "%26%")))) Str.AppendFormat("PDF   ", Encripta(String.Format("OP=Pag&EXT=pdf&CveIE={0}&SerieFolio={1}", gvr.DataKey("CveIE").ToEntero, ObjBanco.ComplementoSerieFolio.Replace("&", "%26%")))) 'Str.Append($"{gvr.DataKey("Folio")}   {gvr.DataKey("NombreCliente")}
") - PDFReciboDePagos(-1, gvr.DataKey("CveIE").ToEntero, ObjBanco.CveComplementoPago, False) + PDFReciboDePagos(-1, gvr.DataKey("CveIE").ToEntero, ObjBanco.CveComplementoPago, False, True) Alert(Str.ToString, TipoMensaje.MsgInformacion) CargaComplementosPago() Else @@ -6313,7 +6136,7 @@ Partial Class Bancos_IE If Banco.GeneraTimbrePago(CveIE, -1, UsuarioActual) Then If Banco.Mensaje = "" Then Banco.Commit() - PDFReciboDePagos(-1, -1, Banco.CveComplementoPago, False) + PDFReciboDePagos(-1, -1, Banco.CveComplementoPago, False, True) Str.AppendFormat("Folio: {0}  ", Banco.ComplementoSerieFolio) Str.AppendFormat("XML    ", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) Str.AppendFormat("PDF   ", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CveComplementoPago={1}&CveIE={2}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago, CveIE))) @@ -6760,24 +6583,23 @@ Partial Class Bancos_IE If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then - 'If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then - ' CargaComplementosPago() - ' Alert("El complemento se cancelo correctamente.") - 'End If + If ObjBanco.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, Date.Now, "", 1) Then + CargaComplementosPago() + Alert("El complemento se cancelo correctamente.") + End If Else - Dim resp = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) If resp.Verificado Then - 'If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + If ObjBanco.UpdateComplementoPagoCancelado(CveComplementoPagoCancelar, 2, CvePACCancelacion, UsuarioActual.CveEmpresa, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then - ' Alert("El complemento se cancelo correctamente.") - 'End If - Else - Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgError) + ' Alert("El complemento se cancelo correctamente.") + 'End If + Else + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgError) + End If End If - End If ObjBanco.Dispose() @@ -6971,17 +6793,21 @@ Partial Class Bancos_IE TipoMovto = "Egs" End If - GlobalDTTipoTransacciones.FiltraParametros("Tipo='Egs'") - DdlTipoTransaccionCancelacion.Items.Clear() DdlTipoTransaccionCancelacion.DataSource = GlobalDTTipoTransacciones.FiltraParametros($"Tipo ='{TipoMovto}' AND Estatus = 1") DdlTipoTransaccionCancelacion.DataBind() DdlTipoTransaccionCancelacion.Items.Insert(0, New ListItem("Seleccione una", "-1")) + DdlDevolucionCuenta.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) + DdlDevolucionCuenta.DataBind() + DdlDevolucionCuenta.Items.Insert(0, New ListItem("-", "-1")) + If ChkGeneraCancelacion.Checked Then DVTipoTransacciónCancelar.Visible = True + DVTipoTransacciónCancelar2.Visible = True Else DVTipoTransacciónCancelar.Visible = False + DVTipoTransacciónCancelar2.Visible = False End If UpEliminarCotizacion.Update() diff --git a/Bancos/RepComplementoPago.aspx.vb b/Bancos/RepComplementoPago.aspx.vb index 3e3926d25..3f96cf6d8 100644 --- a/Bancos/RepComplementoPago.aspx.vb +++ b/Bancos/RepComplementoPago.aspx.vb @@ -98,7 +98,7 @@ Partial Class Bancos_RepComplementoPago End If End If - CargaDatos() + 'CargaDatos() End If End Sub @@ -163,7 +163,7 @@ Partial Class Bancos_RepComplementoPago If Banco.GeneraTimbrePago(gvr.DataKey("CveIE").ToEntero, -1, UsuarioActual, FechaTimbrado:=FechaTimbrado) Then If Banco.Mensaje = "" Then Banco.Commit() - PDFReciboDePagos(-1, -1, Banco.CveComplementoPago, False) + PDFReciboDePagos(-1, -1, Banco.CveComplementoPago, False, True) Str.AppendFormat("Folio: {0}  ", Banco.ComplementoSerieFolio) Str.AppendFormat("XML    ", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) Str.AppendFormat("PDF   ", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) @@ -171,7 +171,7 @@ Partial Class Bancos_RepComplementoPago MandaCorreo(Banco.ComplementoSerieFolio, gvr.DataKey("CobranzaCorreo")) End If Else - Str.AppendFormat("No se genero complemento del Folio {0} por el siguiente motivo: {1}", gvr.DataKey("Folio"), Banco.Mensaje) + Str.AppendFormat("No se genero complemento del Folio {0} por el siguiente motivo: {1}
", gvr.DataKey("Folio"), Banco.Mensaje) Banco.RollBack() End If Catch ex As Exception diff --git a/Bin/GoCfdi.dll b/Bin/GoCfdi.dll index 7e2aee54e..0148216cc 100644 Binary files a/Bin/GoCfdi.dll and b/Bin/GoCfdi.dll differ diff --git a/Bin/Microsoft.ReportViewer.Common.dll b/Bin/Microsoft.ReportViewer.Common.dll index 3e2d91e73..06f7d6cf4 100644 Binary files a/Bin/Microsoft.ReportViewer.Common.dll and b/Bin/Microsoft.ReportViewer.Common.dll differ diff --git a/Bin/Microsoft.ReportViewer.ProcessingObjectModel.dll b/Bin/Microsoft.ReportViewer.ProcessingObjectModel.dll index cb2f1e05e..f1019637b 100644 Binary files a/Bin/Microsoft.ReportViewer.ProcessingObjectModel.dll and b/Bin/Microsoft.ReportViewer.ProcessingObjectModel.dll differ diff --git a/Bin/Microsoft.ReportViewer.WebForms.dll b/Bin/Microsoft.ReportViewer.WebForms.dll index eb6401242..b41b9b0a8 100644 Binary files a/Bin/Microsoft.ReportViewer.WebForms.dll and b/Bin/Microsoft.ReportViewer.WebForms.dll differ diff --git a/Bin/Microsoft.SqlServer.Types.dll b/Bin/Microsoft.SqlServer.Types.dll index 1ccde4ab4..d4dd78993 100644 Binary files a/Bin/Microsoft.SqlServer.Types.dll and b/Bin/Microsoft.SqlServer.Types.dll differ diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index 8533730e9..09deb5ebe 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -822,7 +822,7 @@ Partial Class Compras_ReembolsosComprobaciones Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then MsgError = "Detalle" End If End If @@ -1058,7 +1058,7 @@ Partial Class Compras_ReembolsosComprobaciones Dim ImporteNOIVA As Decimal = gvr.DataKey("IVANoDeducible").ToDecimal * PorcentajePago - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, ImporteNOIVA, Referencia, 280, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVANoAcreditable > 0, IdCtaContIVANoAcreditable, IdCtaIVAAcreditable), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteNOIVA), ImporteMX:=(ImporteNOIVA) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then MsgError = "Detalle" End If End If diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index 1a81be565..d0a48c42f 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -63,6 +63,9 @@ <%----%> Descarga Facturas SAT +
  • + Solicitudes SAT +
  • Bitácora Facturas
  • @@ -946,7 +949,199 @@ + +