-- cambios en registro rápido de facturas
This commit is contained in:
@@ -5086,7 +5086,6 @@ Partial Class Compras_eFacturas
|
||||
cargasolicitudes()
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -5306,9 +5305,6 @@ Partial Class Compras_eFacturas
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
Protected Sub LnkRegistarFactura_Click(sender As Object, e As EventArgs)
|
||||
DVRegistraFacturas.Visible = True
|
||||
GvD.Columns(0).Visible = True
|
||||
@@ -5323,14 +5319,11 @@ Partial Class Compras_eFacturas
|
||||
Dim Contador As Integer = 0
|
||||
Dim ErrorProcesoStr As String = ""
|
||||
|
||||
|
||||
|
||||
If Not DdlPS.SelectedValue.ToEntero > 0 Then
|
||||
Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
For Each GvRow As GridViewRow In GvD.Rows
|
||||
If GvRow.FCCheckBox("chkRegistraFactura").Checked Then
|
||||
|
||||
@@ -5351,7 +5344,6 @@ Partial Class Compras_eFacturas
|
||||
CompraActual.Descripcion = TxtDescripcionCompra.Text.Trim
|
||||
CompraActual.NombreProveedor = GvRow.DataKey("NombreProveedor")
|
||||
|
||||
|
||||
Dim CvePersonal As Integer = -1 'DdlPersonalReembolso.SelectedValue.ToEntero
|
||||
Dim CveCajachica As Integer = -1 'DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero
|
||||
|
||||
@@ -5367,15 +5359,12 @@ Partial Class Compras_eFacturas
|
||||
Contador = Contador + 1
|
||||
Else
|
||||
ErrorProceso = True
|
||||
ErrorProcesoStr = CompraActual.MSG_Error
|
||||
ErrorProcesoStr = CompraActual.MensajeError
|
||||
Exit For
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
If Not ErrorProceso Then
|
||||
CargaDatos()
|
||||
If Contador > 0 Then
|
||||
@@ -5385,9 +5374,8 @@ Partial Class Compras_eFacturas
|
||||
Alert($"Se registraron {Contador} Compras. error {ErrorProcesoStr}", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class Compra2
|
||||
@@ -5593,7 +5581,6 @@ Public Class Compra2
|
||||
Public Property TotalTraslados As Decimal = 0D
|
||||
Public Property TrasladoIVA As Decimal = 0D
|
||||
Public Property TrasladoIEPS As Decimal = 0D
|
||||
Public Property TrasladoIEP As Decimal = 0D
|
||||
Public Property SumaTotalTraslados As Decimal = 0D
|
||||
Public Property OtrosImpuestos As Decimal = 0D
|
||||
Private Property OtrosImpuestosRetenciones As Decimal = 0D
|
||||
@@ -5604,9 +5591,8 @@ Public Class Compra2
|
||||
Public Property XMlStr As String
|
||||
Public Property XMLCargaExistosa As Boolean = True
|
||||
|
||||
|
||||
Public Property Observaciones As String = ""
|
||||
Public Property CveEstatusFactura As Integer = -1
|
||||
Public Property CveEstatusFactura As Integer = 1
|
||||
Public Property CvePrePoliza As Integer = -1
|
||||
Public Property Redondeo As Decimal = 0
|
||||
Public Property IdPoliza As Integer = -1
|
||||
@@ -5628,7 +5614,7 @@ Public Class Compra2
|
||||
|
||||
Private Errores As StringBuilder = New StringBuilder
|
||||
|
||||
Public ReadOnly Property MSG_Error As String
|
||||
Public ReadOnly Property MensajeError As String
|
||||
Get
|
||||
Return Errores.ToString()
|
||||
End Get
|
||||
@@ -5699,7 +5685,6 @@ Public Class Compra2
|
||||
CargaComprobanteXML(XMLDoc)
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub CargaDesdeString(XmlFuente As String)
|
||||
XMlStr = XmlFuente.Replace("<br>", "").Replace("<", "").Replace("o;?", "")
|
||||
@@ -5717,10 +5702,8 @@ Public Class Compra2
|
||||
CargaComprobanteXML(XMLDoc)
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub CargaComprobanteXML(XMLDoc As XmlDocument)
|
||||
Dim nodo As XmlNode = XMLDoc.DocumentElement
|
||||
|
||||
@@ -5728,7 +5711,6 @@ Public Class Compra2
|
||||
|
||||
Dim StrCFDIVerion As String = ValorXML(nodo, "version")
|
||||
|
||||
|
||||
If StrCFDIVerion = "3.2" Then
|
||||
CFDIVersion = EnumCFDIVersion.v32
|
||||
ElseIf StrCFDIVerion = "3.3" Then
|
||||
@@ -5916,7 +5898,6 @@ Public Class Compra2
|
||||
|
||||
#Region "DETALLES"
|
||||
|
||||
|
||||
Dim ObjeFacturas As New ClsCompras
|
||||
Dim AjustaUltimoConcepto = False
|
||||
|
||||
@@ -5967,11 +5948,8 @@ Public Class Compra2
|
||||
End If
|
||||
TmpDT.AcceptChanges()
|
||||
ValidacionesTotalesXml()
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Me.PorcentajeIVA = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
||||
|
||||
#End Region
|
||||
@@ -6786,7 +6764,6 @@ Public Class Compra2
|
||||
Row("IVAPorcentaje") = IVA
|
||||
End If
|
||||
|
||||
|
||||
Row("RetIVA") = (RetIVA * Total).RoundSQL
|
||||
Row("RetIVAPorcentaje") = RetIVA
|
||||
Row("RetISR") = (RetISR * Total).RoundSQL
|
||||
@@ -6819,16 +6796,11 @@ Public Class Compra2
|
||||
Row("CveTipoGastoAC") = CveTipoGastoAC
|
||||
Row("CveClasificacionOG") = CveClasificacionOG
|
||||
End If
|
||||
|
||||
|
||||
'Esta parte es para validar cuando la factura tenga ieps en o se asignara el ieps como una partida ya no se considere
|
||||
If (CveFactura > 0 Or CveCompra > 0) And IEPS = 0 Then
|
||||
Row("IEPSPS") = 0
|
||||
Row("IEPSPSPorcentaje") = 0
|
||||
End If
|
||||
|
||||
|
||||
|
||||
TmpDT.Rows.Add(Row)
|
||||
TmpDT.Rows.IndexOf(Row)
|
||||
|
||||
@@ -6899,9 +6871,6 @@ Public Class Compra2
|
||||
CompraSaldo = LocalTotal
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Me.NumNoDed = TmpDT.COUNT("CvePS", "NoDeducible = True ")
|
||||
|
||||
|
||||
@@ -6923,9 +6892,6 @@ Public Class Compra2
|
||||
Return False
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
|
||||
'DATOS GENERALES
|
||||
DrPS("Obs") = ""
|
||||
DrPS("Proyecto") = Proyecto
|
||||
@@ -6972,23 +6938,14 @@ Public Class Compra2
|
||||
DrPS("CveCultivoCuadroDetalle") = -1
|
||||
DrPS("TemporadaCuadro") = ""
|
||||
|
||||
|
||||
Else
|
||||
Errores.AppendLine($"No se encontrol el producto con CvePS {CvePS}")
|
||||
Respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
|
||||
TmpDT.AcceptChanges()
|
||||
Return Respuesta
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Private Sub ValidacionesTotalesXml()
|
||||
|
||||
If Not TmpDT.Columns.Contains("Amortizacion") Then
|
||||
@@ -7005,7 +6962,6 @@ Public Class Compra2
|
||||
Dim RetISRTemp = TmpDT.SUMD("RetISR")
|
||||
Dim TotalTemp As Decimal = Subtotal2Temp - RetIVATemp - RetISRTemp + Math.Round(IVATemp, 6) + IEPSTemp + OtrosImpuestos - OtrosImpuestosRetenciones
|
||||
|
||||
|
||||
If Math.Abs(Math.Round(DescuentosTemp, 6) - Math.Round(Descuento, 6)) > 0.01 Then
|
||||
Msg &= String.Format("- Los descuentos del detalle no coinciden con el descuento general <br>")
|
||||
End If
|
||||
@@ -7050,12 +7006,8 @@ Public Class Compra2
|
||||
Me.RetIVA = RetIVATemp
|
||||
Me.RetISR = RetISRTemp
|
||||
Me.IEPS = IEPSTemp
|
||||
|
||||
|
||||
|
||||
CompraSaldo = TotalTemp
|
||||
|
||||
|
||||
AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total)
|
||||
|
||||
End Sub
|
||||
@@ -7075,7 +7027,6 @@ Public Class Compra2
|
||||
|
||||
Dim Amortizacion As Decimal = 0
|
||||
|
||||
|
||||
If TmpDT.Rows.Count > 0 Then ' si hay movimientos y si esta afectando al total, que se haga el ajuste
|
||||
Dim Indice As Integer = If(TmpDT.Rows(TmpDT.Rows.Count - 1)("CvePS").ToString = UsuarioActual.Empresa.Funcionalidad(112).ToString, TmpDT.Rows.Count - 2, TmpDT.Rows.Count - 1)
|
||||
Dim tPU As Decimal
|
||||
@@ -7109,11 +7060,8 @@ Public Class Compra2
|
||||
|
||||
SubTotalConceptos = SubTotal
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Public Function ValidateUUID(ByVal uuid As String) As Boolean
|
||||
Dim pattern As String = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
|
||||
Dim regex As New Regex(pattern)
|
||||
@@ -7149,26 +7097,19 @@ Public Class Compra2
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
Public Function AddCompra() As Boolean
|
||||
|
||||
If Not AjustesValidacion() Then
|
||||
Return False
|
||||
End If
|
||||
If Not AjustesValidacion() Then Return False
|
||||
|
||||
Dim respuesta As Boolean = True
|
||||
|
||||
|
||||
Dim ObjCompras As New ClsCompras
|
||||
ObjCompras.IniciaTransacSQL()
|
||||
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
||||
|
||||
If Not AddPrepolizaCabecera(ObjCompras.IniciaTransacSQL()) Then
|
||||
If Not AddPrepolizaCabecera(ObjConta) Then
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
If respuesta And ObjCompras.AddCompra("Fac", Me.Descripcion, Me.Serie, Me.Folio, Me.FolioSecundario, Me.CveProveedor, Me.SubTotal, Me.Descuento,
|
||||
If respuesta AndAlso ObjCompras.AddCompra(If(Me.TipoComprobante = "I", "Fac", "NC"), Me.Descripcion, Me.Serie, Me.Folio, Me.FolioSecundario, Me.CveProveedor, Me.SubTotal, Me.Descuento,
|
||||
Me.Amortizacion, Me.IVA, Me.RetIVA, Me.RetISR, Me.IEPS, Me.OtrosImpuestos,
|
||||
Me.Redondeo, Me.Total, Me.Fecha, Me.CveMoneda, Me.TipoCambio, If(Me.FechaPago = Nothing, Me.Fecha, Me.FechaPago), Me.AplicaNotaCredito, Me.Observaciones, Me.CveEstatusFactura,
|
||||
Me.CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Me.IdPoliza, CveCajaChica:=Me.CveCajaChica, CvePersonal:=Me.CvePersonal, NumeroReembolso:=Me.NumeroReembolso, CveProveedorSucursal:=Me.CveProveedorSucursal,
|
||||
@@ -7181,7 +7122,6 @@ Public Class Compra2
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
If respuesta AndAlso Me.CveCompra > 0 Then
|
||||
|
||||
For Each Row As DataRow In Me.TmpDT.Rows
|
||||
@@ -7209,14 +7149,10 @@ Public Class Compra2
|
||||
End If
|
||||
|
||||
If respuesta Then
|
||||
If Not AddPrepolizaDetalles(transaccion:=ObjCompras.IniciaTransacSQL()) Then
|
||||
respuesta = False
|
||||
End If
|
||||
If Not AddPrepolizaDetalles(ObjConta) Then respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
||||
If respuesta AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then
|
||||
If respuesta AndAlso ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, 4) Then
|
||||
If ObjConta.ValorPolizaDescuadre > 0 Then
|
||||
Errores.AppendLine($"eFacturas/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}.")
|
||||
GuardaLogAD($"eFacturas/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
|
||||
@@ -7225,12 +7161,9 @@ Public Class Compra2
|
||||
End If
|
||||
|
||||
If respuesta Then
|
||||
If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then
|
||||
respuesta = False
|
||||
End If
|
||||
If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then respuesta = False
|
||||
End If
|
||||
|
||||
|
||||
If respuesta Then
|
||||
ObjCompras.Commit()
|
||||
Else
|
||||
@@ -7238,134 +7171,81 @@ Public Class Compra2
|
||||
End If
|
||||
|
||||
ObjCompras.Dispose()
|
||||
|
||||
ObjConta.Dispose()
|
||||
|
||||
Return respuesta
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Private Function AddPrepolizaCabecera(Optional transaccion As SqlTransaction = Nothing) As Boolean
|
||||
Private Function AddPrepolizaCabecera(ByRef ObjConta As ClsContabilidad) As Boolean
|
||||
|
||||
Dim respuesta As Boolean = False
|
||||
|
||||
Dim ObjConta As ClsContabilidad
|
||||
Dim DisposeClases As Boolean
|
||||
|
||||
|
||||
If transaccion IsNot Nothing Then
|
||||
ObjConta = New ClsContabilidad(transaccion)
|
||||
DisposeClases = False
|
||||
Else
|
||||
ObjConta = New ClsContabilidad
|
||||
DisposeClases = True
|
||||
End If
|
||||
|
||||
|
||||
Dim ConceptoPoliza As String = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
|
||||
Me.CvePrePoliza = ObjConta.AddPrePolizas("eFacturas/Registrar", 1, Me.Total, Me.Total, Me.CveMoneda, Me.Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", CveTipoPoliza:=Me.CveTipoPoliza)
|
||||
respuesta = If(Me.CvePrePoliza > 0, True, False)
|
||||
|
||||
|
||||
If DisposeClases Then
|
||||
ObjConta.Dispose()
|
||||
End If
|
||||
|
||||
|
||||
Return respuesta
|
||||
|
||||
End Function
|
||||
|
||||
Private Function AddPrepolizaDetalles(transaccion As SqlTransaction) As Boolean
|
||||
Private Function AddPrepolizaDetalles(ByRef ObjConta As ClsContabilidad) As Boolean
|
||||
Dim respuesta As Boolean = True
|
||||
|
||||
Dim ObjConta As ClsContabilidad
|
||||
Dim DisposeClases As Boolean
|
||||
|
||||
|
||||
If transaccion IsNot Nothing Then
|
||||
ObjConta = New ClsContabilidad(transaccion)
|
||||
DisposeClases = False
|
||||
Else
|
||||
ObjConta = New ClsContabilidad
|
||||
DisposeClases = True
|
||||
End If
|
||||
|
||||
Dim Concepto As String = $"{Me.NombreProveedor} {Me.SerieFolio}"
|
||||
Dim Referencia As String = Me.SerieFolio
|
||||
|
||||
'TC del xml
|
||||
|
||||
Dim importeMovimiento As Decimal
|
||||
Dim importeMN As Decimal
|
||||
'6
|
||||
For Each RowDetalle As DataRow In TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2", "", {"CveClasificacion", "CveSubProyecto"}).Rows
|
||||
|
||||
Dim importe = TmpDT.SUMD("Total", $" CveClasificacion = {RowDetalle("CveClasificacion").ToString} AND CveSubProyecto = {RowDetalle("CveSubProyecto").ToString}")
|
||||
Dim importeMN = importe * Me.TipoCambio
|
||||
|
||||
importeMovimiento = TmpDT.SUMD("Total", $" CveClasificacion = {RowDetalle("CveClasificacion").ToString} AND CveSubProyecto = {RowDetalle("CveSubProyecto").ToString}")
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
|
||||
If importeMN <> 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, Referencia, 6, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=Me.CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(TipoCambio = 1, 0, importe), TipoCambio:=TipoCambio,
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, importeMN, 6, Referencia, Concepto, -1, CveCompra:=CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=Me.CveCreditoDetalle, ImporteME:=If(TipoCambio = 1, 0, importeMovimiento), TipoCambio:=TipoCambio,
|
||||
CveClasificacion:=RowDetalle("CveClasificacion").ToString().ToEntero(), CveSubProyecto:=RowDetalle("CveSubProyecto").ToString().ToEntero(), Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
'14
|
||||
If Me.IVA > 0 Then
|
||||
Dim importeMovimiento As Decimal = Me.IVA
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, Referencia, 14, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=Me.PorcentajeIVA, Contabilizable:=True) Then
|
||||
If respuesta AndAlso Me.IVA > 0 Then
|
||||
importeMovimiento = Me.IVA
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, importeMN, 14, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=Me.PorcentajeIVA, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'25
|
||||
If Me.IEPS > 0 Then
|
||||
Dim importeMovimiento As Decimal = Me.IEPS
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 25, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
If respuesta AndAlso Me.IEPS > 0 Then
|
||||
importeMovimiento = Me.IEPS
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, 25, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Me.RetIVA > 0 Then
|
||||
Dim importeMovimiento As Decimal = Me.RetIVA
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
'
|
||||
If respuesta AndAlso Me.RetIVA > 0 Then
|
||||
importeMovimiento = Me.RetIVA
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
Dim ret As ConceptosRetenciones = ConceptoPrePolizaRetIVA
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ret.CveConceptoxAcreditar, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, ret.CveConceptoxAcreditar, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
End If
|
||||
|
||||
If Me.RetISR > 0 Then
|
||||
Dim importeMovimiento As Decimal = Me.RetISR
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
'
|
||||
If respuesta AndAlso Me.RetISR > 0 Then
|
||||
importeMovimiento = Me.RetISR
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
Dim ret As ConceptosRetenciones = ConceptoPrePolizaRetISR
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ret.CveConceptoxAcreditar, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, ret.CveConceptoxAcreditar, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'5
|
||||
If respuesta Then
|
||||
|
||||
|
||||
Dim importeMovimiento As Decimal = Me.Total
|
||||
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
|
||||
importeMovimiento = Me.Total
|
||||
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
|
||||
Dim ConPreP As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, Me.CveMoneda, False, Me.CveTipoConceptoProveedor)
|
||||
Dim ImporteME = importeMovimiento
|
||||
|
||||
Dim UsaComplementaria As Boolean = True
|
||||
If Me.CveMoneda > 1 Then ImporteME = importeMovimiento
|
||||
|
||||
@@ -7375,34 +7255,17 @@ Public Class Compra2
|
||||
Else
|
||||
importeMN = importeMovimiento
|
||||
End If
|
||||
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, ConPreP.CveConcepto, Referencia, Concepto, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
If respuesta AndAlso Me.CveMoneda > 1 AndAlso UsaComplementaria Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, 0, (importeMovimiento * TipoCambio - importeMovimiento).RoundSQL, ConPreP.CveConceptoComplementario, Referencia, Concepto, -1, CveCompra:=Me.CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=Me.CvePersonal, CveCompraAmortizacion:=Me.CveCompraAmortizacion, TipoCambio:=Me.TipoCambio, TipoCambioPago:=1, ImporteME:=ImporteME, CveSubProyecto:=Me.CveSubProyecto) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, (importeMovimiento * Me.TipoCambio - importeMovimiento).RoundSQL, ConPreP.CveConceptoComplementario, Referencia, Concepto, -1, CveCompra:=Me.CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=Me.CvePersonal, CveCompraAmortizacion:=Me.CveCompraAmortizacion, TipoCambio:=Me.TipoCambio, TipoCambioPago:=1, ImporteME:=ImporteME, CveSubProyecto:=Me.CveSubProyecto) Then
|
||||
respuesta = False
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ConPreP.CveConcepto, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
|
||||
respuesta = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If DisposeClases Then
|
||||
If respuesta Then
|
||||
ObjConta.Commit()
|
||||
Else
|
||||
ObjConta.RollBack()
|
||||
End If
|
||||
|
||||
ObjConta.Dispose()
|
||||
End If
|
||||
|
||||
|
||||
Return respuesta
|
||||
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user