|
|
|
|
@@ -1689,12 +1689,6 @@ Partial Class Compras_Compras
|
|
|
|
|
DdlTipoComprobante.Items.Add(New ListItem("Devolución", "DEV"))
|
|
|
|
|
DdlTipoComprobante.SelectedValueExist("DEV")
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then
|
|
|
|
|
DdlTipoCompra.Items.Add(New ListItem("Remision Nota De Crédito", "15"))
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
'SE OCUPAN AFUERA DEL POSTBACK ??
|
|
|
|
|
@@ -7013,56 +7007,31 @@ Partial Class Compras_Compras
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
|
|
|
|
|
|
|
|
|
|
If DdlRemisionNotaCredito.SelectedValue.ToEntero > 0 AndAlso ImporteRNCSaldar > 0 Then
|
|
|
|
|
|
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlRemisionNotaCredito.SelectedValue.ToEntero > 0 AndAlso ImporteRNCSaldar > 0 Then
|
|
|
|
|
If Not ErrorPrepoliza Then
|
|
|
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 373, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
|
|
|
|
|
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
|
|
|
|
|
ErrorPrepoliza = True
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
'Dim importeMovimientoNC As Decimal = Gvr.FCTextBox("TxtImporte").Text.ToDecimal
|
|
|
|
|
If Not ErrorPrepoliza Then
|
|
|
|
|
Dim ConPrePNC As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
|
|
|
|
|
|
|
|
|
|
Dim Pago As New CompraPago
|
|
|
|
|
Pago.ImportePago = ImporteRNCSaldar
|
|
|
|
|
Pago.CveMonedaPago = CompraActual.CveMoneda
|
|
|
|
|
Pago.CveCompraAmortizacion = CompraActual.CveCompra
|
|
|
|
|
Pago.Referencia = CompraActual.SerieFolio
|
|
|
|
|
Pago.TCPago = CompraActual.TC
|
|
|
|
|
Pago.AplicaAcreditable = False
|
|
|
|
|
Pago.TipoPago = "RNC"
|
|
|
|
|
Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
|
|
|
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, ConPrePNC.CveConcepto, Referencia, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
|
|
|
|
|
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
|
|
|
|
|
ErrorPrepoliza = True
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Dim CompraPago As New Compra
|
|
|
|
|
''datos de la compra tipodocto:Fac, para sobreescribirlos
|
|
|
|
|
CompraPago.CveCompra = DdlRemisionNotaCredito.SelectedValue.ToEntero
|
|
|
|
|
CompraPago.CveProveedor = DdlProveedor.SelectedValue.ToEntero
|
|
|
|
|
CompraPago.SerieFolio = SerieFolioProntoPago
|
|
|
|
|
CompraPago.TC = TipoCambioProntoPago
|
|
|
|
|
CompraPago.Fecha = FechaProntoPago
|
|
|
|
|
CompraPago.CveMoneda = CveMonedaProntoPago
|
|
|
|
|
CompraPago.Total = ImporteRNCSaldar
|
|
|
|
|
CompraPago.CveTipoConceptoProveedor = CveTipoConcepto
|
|
|
|
|
CompraPago.CveSubProyecto = CompraActual.CveSubProyecto
|
|
|
|
|
|
|
|
|
|
ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta)
|
|
|
|
|
|
|
|
|
|
'If Not ErrorPrepoliza Then
|
|
|
|
|
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, 371, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
|
|
|
|
|
' CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
|
|
|
|
|
' ErrorPrepoliza = True
|
|
|
|
|
' End If
|
|
|
|
|
|
|
|
|
|
' If Not ErrorPrepoliza Then
|
|
|
|
|
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 372, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
|
|
|
|
|
' CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
|
|
|
|
|
' ErrorPrepoliza = True
|
|
|
|
|
' End If
|
|
|
|
|
' End If
|
|
|
|
|
'End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If ErrorPrepoliza Then
|
|
|
|
|
ErrorMovtosCxP = True
|
|
|
|
|
Exit Select
|
|
|
|
|
If ErrorPrepoliza Then
|
|
|
|
|
ErrorMovtosCxP = True
|
|
|
|
|
Exit Select
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
importeMovimiento = 0
|
|
|
|
|
@@ -7627,8 +7596,8 @@ Partial Class Compras_Compras
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then
|
|
|
|
|
If Not GeneraRemisionsNotadeCredito(ObjCompras.IniciaTransacSQL, CveCompra) Then
|
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then
|
|
|
|
|
If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, ObjConta, CvePrePoliza) Then
|
|
|
|
|
TieneError = True
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
@@ -14738,10 +14707,6 @@ Partial Class Compras_Compras
|
|
|
|
|
IndexTmpOriginal += 1
|
|
|
|
|
Next
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso (AjusteProntoPagoConIVA > 0 Or AjusteProntoPagoSinIVA > 0) Then
|
|
|
|
|
|
|
|
|
|
Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
|
|
|
|
|
@@ -15680,6 +15645,13 @@ Partial Class Compras_Compras
|
|
|
|
|
If DdlTipoComprobante.SelectedValue = "NC" Then
|
|
|
|
|
DivReembolso.Visible = False
|
|
|
|
|
RBLPago.Items(2).Enabled = False
|
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
|
|
|
|
|
If DdlTipoCompra.Items.FindByValue("15") Is Nothing Then
|
|
|
|
|
DdlTipoCompra.Items.Add(New ListItem("Remision Nota De Crédito", "15"))
|
|
|
|
|
UpEstatus.Update()
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
Else
|
|
|
|
|
DivReembolso.Visible = True
|
|
|
|
|
RBLPago.Items(2).Enabled = True
|
|
|
|
|
@@ -19540,20 +19512,18 @@ Partial Class Compras_Compras
|
|
|
|
|
|
|
|
|
|
If DdlTipoComprobante.SelectedValue = "NC" Then
|
|
|
|
|
CargaDdlRemisionNotaCredito()
|
|
|
|
|
'bloquear la vinculación a la compra
|
|
|
|
|
HLAplicaNCFact.Visible = False
|
|
|
|
|
Else
|
|
|
|
|
Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia)
|
|
|
|
|
DdlRemisionNotaCredito.SelectedValueExist(-1)
|
|
|
|
|
DdlTipoCompra.SelectedValueExist(-1)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
|
|
#Region "GARANTÍAS"
|
|
|
|
|
@@ -20867,7 +20837,7 @@ Partial Class Compras_Compras
|
|
|
|
|
|
|
|
|
|
#Region "PRONTO PAGO"
|
|
|
|
|
|
|
|
|
|
Public Function GeneraRemisionsNotadeCredito(ByRef trasaccion As SqlTransaction, CveCompraRegistrada As Integer) As Boolean
|
|
|
|
|
Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer) As Boolean
|
|
|
|
|
Dim respuesta As Boolean = True
|
|
|
|
|
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
|
|
|
|
|
|
|
|
|
@@ -20890,20 +20860,20 @@ Partial Class Compras_Compras
|
|
|
|
|
|
|
|
|
|
If PSRow IsNot Nothing Then
|
|
|
|
|
|
|
|
|
|
Dim CompraRNC As New ClsCompraManagerCompras("", ClsCompraManagerCompras.EnumCargaCompra.SinXML, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual)
|
|
|
|
|
CompraRNC.CveFactura = -1
|
|
|
|
|
CompraRNC.CveProveedor = DdlProveedor.SelectedValue.ToEntero
|
|
|
|
|
CompraRNC.CveTipoProveedor = CveTipoProveedor
|
|
|
|
|
CompraRNC.CveTipoConceptoProveedor = CveTipoConcepto
|
|
|
|
|
CompraRNC.TipoCompra = ClsCompraManagerCompras.EnumTipoCompra.Sin_definir
|
|
|
|
|
CompraRNC.IEPSGasto = False
|
|
|
|
|
CompraRNC.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}"
|
|
|
|
|
CompraRNC.NombreProveedor = DdlProveedor.SelectedItem.Text
|
|
|
|
|
CompraRNC.Fecha = TxtFecha.Text.ToDate
|
|
|
|
|
CompraRNC.CveMoneda = DdlMoneda.SelectedValue.ToEntero
|
|
|
|
|
CompraRNC.Serie = TxtSerie.Text
|
|
|
|
|
CompraRNC.Folio = TxtFolio.Text
|
|
|
|
|
CompraRNC.CveCompraAmortizacion = CveCompraRegistrada
|
|
|
|
|
Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With {
|
|
|
|
|
.CveFactura = -1,
|
|
|
|
|
.TipoDocto = "RNC",
|
|
|
|
|
.CveProveedor = DdlProveedor.SelectedValue.ToEntero,
|
|
|
|
|
.CveTipoProveedor = CveTipoProveedor,
|
|
|
|
|
.CveTipoConceptoProveedor = CveTipoConcepto,
|
|
|
|
|
.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
|
|
|
|
|
.NombreProveedor = DdlProveedor.SelectedItem.Text,
|
|
|
|
|
.Fecha = TxtFecha.Text.ToDate,
|
|
|
|
|
.CveMoneda = DdlMoneda.SelectedValue.ToEntero,
|
|
|
|
|
.Serie = TxtSerie.Text,
|
|
|
|
|
.Folio = TxtFolio.Text,
|
|
|
|
|
.CveCompraAmortizacion = CveCompraRegistrada
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Dim CveTipoPS As Integer = PSRow("CveTipoPS").ToString.ToEntero
|
|
|
|
|
If PSRow("CvePSCargo").ToString <> "" Then
|
|
|
|
|
@@ -20917,42 +20887,62 @@ Partial Class Compras_Compras
|
|
|
|
|
Dim UM As String = PSRow("UnidadMedida").ToString
|
|
|
|
|
Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CompraRNC.ConfiguraRegistroRapidoRNC(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, (ImporteRNC + IVARNC), IVARNC)
|
|
|
|
|
If Not CompraRNC.AddCompraRNC(trasaccion) Then
|
|
|
|
|
CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, (ImporteRNC + IVARNC), PorcentajeIVA)
|
|
|
|
|
If CompraRNC.AddCompra(sqltransaccion) Then
|
|
|
|
|
Dim tImporteRNC = ImporteRNC + IVARNC ' le agrego el importe del iva
|
|
|
|
|
Dim Pago As New CompraPago
|
|
|
|
|
Pago.ImportePago = tImporteRNC
|
|
|
|
|
Pago.CveMonedaPago = CompraActual.CveMoneda
|
|
|
|
|
Pago.CveCompraAmortizacion = CompraRNC.CveCompra
|
|
|
|
|
Pago.Referencia = CompraRNC.SerieFolio
|
|
|
|
|
Pago.TCPago = CompraActual.TC
|
|
|
|
|
Pago.AplicaAcreditable = False
|
|
|
|
|
Pago.TipoPago = "RNC"
|
|
|
|
|
Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
|
|
|
|
|
respuesta = Not AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
|
|
|
|
|
Else
|
|
|
|
|
respuesta = False
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If respuesta Then
|
|
|
|
|
If respuesta AndAlso ImporteRNCProntoPago > 0 Then
|
|
|
|
|
|
|
|
|
|
Dim CompraRNCProntoPAgo As New ClsCompraManagerCompras("", ClsCompraManagerCompras.EnumCargaCompra.SinXML, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual)
|
|
|
|
|
CompraRNCProntoPAgo.CveFactura = -1
|
|
|
|
|
CompraRNCProntoPAgo.CveProveedor = DdlProveedor.SelectedValue.ToEntero
|
|
|
|
|
CompraRNCProntoPAgo.CveTipoProveedor = CveTipoProveedor
|
|
|
|
|
CompraRNCProntoPAgo.CveTipoConceptoProveedor = CveTipoConcepto
|
|
|
|
|
CompraRNCProntoPAgo.TipoCompra = ClsCompraManagerCompras.EnumTipoCompra.Sin_definir
|
|
|
|
|
CompraRNCProntoPAgo.IEPSGasto = False
|
|
|
|
|
CompraRNCProntoPAgo.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}"
|
|
|
|
|
CompraRNCProntoPAgo.NombreProveedor = DdlProveedor.SelectedItem.Text
|
|
|
|
|
CompraRNCProntoPAgo.Fecha = TxtFecha.Text.ToDate
|
|
|
|
|
CompraRNCProntoPAgo.CveMoneda = DdlMoneda.SelectedValue.ToEntero
|
|
|
|
|
CompraRNCProntoPAgo.Serie = $"PP-{TxtSerie.Text}"
|
|
|
|
|
CompraRNCProntoPAgo.Folio = $"{TxtFolio.Text}"
|
|
|
|
|
CompraRNCProntoPAgo.CveCompraAmortizacion = CveCompraRegistrada
|
|
|
|
|
Dim IVARNCProntoPago As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2)
|
|
|
|
|
Dim CompraRNCProntoPago As New ClsCompraManagerCompras(UsuarioActual) With {
|
|
|
|
|
.TipoDocto = "RNC",
|
|
|
|
|
.CveProveedor = DdlProveedor.SelectedValue.ToEntero,
|
|
|
|
|
.CveTipoProveedor = CveTipoProveedor,
|
|
|
|
|
.CveTipoConceptoProveedor = CveTipoConcepto,
|
|
|
|
|
.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
|
|
|
|
|
.NombreProveedor = DdlProveedor.SelectedItem.Text,
|
|
|
|
|
.Fecha = TxtFecha.Text.ToDate,
|
|
|
|
|
.CveMoneda = DdlMoneda.SelectedValue.ToEntero,
|
|
|
|
|
.Serie = $"PP-{TxtSerie.Text}",
|
|
|
|
|
.Folio = $"{TxtFolio.Text}",
|
|
|
|
|
.CveCompraAmortizacion = CveCompraRegistrada
|
|
|
|
|
}
|
|
|
|
|
Dim IVARNCProntoPago As Decimal = (ImporteRNCProntoPago * PorcentajeIVA).RoundSQL(2)
|
|
|
|
|
|
|
|
|
|
CompraRNCProntoPAgo.ConfiguraRegistroRapidoRNC(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNCProntoPago, (ImporteRNCProntoPago + IVARNCProntoPago), IVARNCProntoPago)
|
|
|
|
|
If Not CompraRNCProntoPAgo.AddCompraRNC(trasaccion) Then
|
|
|
|
|
CompraRNCProntoPago.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNCProntoPago, (ImporteRNCProntoPago + IVARNCProntoPago), IVARNCProntoPago, PorcentajeIVA)
|
|
|
|
|
If CompraRNCProntoPago.AddCompra(sqltransaccion) Then
|
|
|
|
|
Dim tImporteRNCProntoPago = ImporteRNCProntoPago + IVARNC ' le agrego el importe del iva
|
|
|
|
|
Dim Pago As New CompraPago
|
|
|
|
|
Pago.ImportePago = tImporteRNCProntoPago
|
|
|
|
|
Pago.CveMonedaPago = CompraActual.CveMoneda
|
|
|
|
|
Pago.CveCompraAmortizacion = CompraRNCProntoPago.CveCompra
|
|
|
|
|
Pago.Referencia = CompraRNCProntoPago.SerieFolio
|
|
|
|
|
Pago.TCPago = CompraActual.TC
|
|
|
|
|
Pago.AplicaAcreditable = False
|
|
|
|
|
Pago.TipoPago = "RNC"
|
|
|
|
|
Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
|
|
|
|
|
respuesta = Not AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
|
|
|
|
|
Else
|
|
|
|
|
respuesta = False
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Return respuesta
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Public Property VincularOcProntoPago As Boolean
|
|
|
|
|
Get
|
|
|
|
|
If ViewState("VincularOcProntoPago") Is Nothing Then
|
|
|
|
|
@@ -20970,12 +20960,11 @@ Partial Class Compras_Compras
|
|
|
|
|
If VincularOcProntoPago Then
|
|
|
|
|
Return True
|
|
|
|
|
Else
|
|
|
|
|
|
|
|
|
|
Dim StrMsg As String = $"Existe una diferencia de ${(ImporteRNC + ImporteRNCProntoPago).ToString("###,###,###.00")} entre la compra y la Orden de Compra. <br/> Se generaran Remisiones de Nota de Crédito. <br/> - Descuento de ${ImporteRNC.ToString("###,###,###.00")}.<br/>"
|
|
|
|
|
If ImporteRNCProntoPago > 0 Then
|
|
|
|
|
LblModalConfirmaVinculacionProntoPago.Text = $"Existe una diferencia de ${(ImporteRNC + ImporteRNCProntoPago).ToString("###,###,###.00")} entre la compra y la Orden de Compra. <br/> Se generaran las siguientes Remisiones de Nota de Crédito. <br/> - Descuento de ${ImporteRNC.ToString("###,###,###.00")}.<br/> - Pronto pago de ${ImporteRNCProntoPago.ToString("###,###,###.00")}"
|
|
|
|
|
Else
|
|
|
|
|
LblModalConfirmaVinculacionProntoPago.Text = $"Existe una diferencia de ${(ImporteRNC).ToString("###,###,###.00")} entre la compra y la Orden de Compra, se generara una Remision de Nota de Crédito por descuento de ${ImporteRNC.ToString("###,###,###.00")}"
|
|
|
|
|
StrMsg = StrMsg & $"- Pronto pago de ${ImporteRNCProntoPago.ToString("###,###,###.00")}"
|
|
|
|
|
End If
|
|
|
|
|
LblModalConfirmaVinculacionProntoPago.Text = StrMsg
|
|
|
|
|
|
|
|
|
|
RegistraScript("$('#DVModalConfirmaVinculacionProntoPago').modal('show');")
|
|
|
|
|
UpModalConfirmaVinculacionProntoPago.Update()
|
|
|
|
|
@@ -21002,15 +20991,12 @@ Partial Class Compras_Compras
|
|
|
|
|
If ObjCompras.GetNotasCreditoRep(DdlProveedor.SelectedValue.ToEntero, 0, "-1", "-1", UsuarioActual.CveEmpresa, 2) Then
|
|
|
|
|
DdlRemisionNotaCredito.DataSource = ObjCompras.DtResultados
|
|
|
|
|
DTRemisionesNotaDeCredito = ObjCompras.DtResultados
|
|
|
|
|
Else
|
|
|
|
|
Alert("Ocurrió un error al obtener el catálogo de Notas de Crédito", Extensiones.TipoMensaje.MsgError)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
ObjCompras.Dispose()
|
|
|
|
|
|
|
|
|
|
DdlRemisionNotaCredito.DataBind()
|
|
|
|
|
DdlRemisionNotaCredito.Items.Insert(0, New ListItem("-", "-1"))
|
|
|
|
|
|
|
|
|
|
UpEstatus.Update()
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
@@ -21069,11 +21055,11 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
End Enum
|
|
|
|
|
Public Enum EnumCFDIVersion
|
|
|
|
|
v32
|
|
|
|
|
V33
|
|
|
|
|
V40
|
|
|
|
|
v33
|
|
|
|
|
v40
|
|
|
|
|
End Enum
|
|
|
|
|
Public Enum EnumTipoCompra
|
|
|
|
|
Sin_definir = -1
|
|
|
|
|
SinDefinir = -1
|
|
|
|
|
Gasto_con_almacen = 10
|
|
|
|
|
Activo_Fijo = 1
|
|
|
|
|
'Costo_Indirecto = 2
|
|
|
|
|
@@ -21112,7 +21098,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Public Property Folio As String = ""
|
|
|
|
|
Public Property FolioSecundario As String = ""
|
|
|
|
|
Public Property Descripcion As String = ""
|
|
|
|
|
Public Property CFDIVersion As EnumCFDIVersion = EnumCFDIVersion.V40
|
|
|
|
|
Public Property CFDIVersion As EnumCFDIVersion = EnumCFDIVersion.v40
|
|
|
|
|
Public Property ProveedorNombre As String = ""
|
|
|
|
|
Public Property EsImportacion As Boolean = False
|
|
|
|
|
Public Property TC As Decimal = 1
|
|
|
|
|
@@ -21122,6 +21108,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Public Property Total As Decimal = 0D
|
|
|
|
|
Public Property Moneda As String = ""
|
|
|
|
|
Public Property TipoComprobante As String
|
|
|
|
|
Public Property TipoDocto As String = "Fac"
|
|
|
|
|
Public Property TipoCambio As Decimal = 1
|
|
|
|
|
Public Property CompraNoDeducible As Integer = 0
|
|
|
|
|
Public Property IVA As Decimal = 0D
|
|
|
|
|
@@ -21269,7 +21256,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Public Property Proyecto As String = ""
|
|
|
|
|
Public Property CveProyecto As Integer = -1
|
|
|
|
|
Public Property SubProyecto As String = ""
|
|
|
|
|
Public Property TipoCompra As EnumTipoCompra = EnumTipoCompra.Sin_definir
|
|
|
|
|
Public Property TipoCompra As EnumTipoCompra = EnumTipoCompra.SinDefinir
|
|
|
|
|
Private Property DTTiposGastos() As DataTable
|
|
|
|
|
Public Property CveTipoProveedor As Integer = -1
|
|
|
|
|
Public Property IEPSGasto As Boolean = False
|
|
|
|
|
@@ -21282,14 +21269,19 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Public Property CveIE As Integer = -1
|
|
|
|
|
Public Property CveCompraAmortizacion As Integer = -1
|
|
|
|
|
|
|
|
|
|
Public Sub New(XmlFuente As String, OpcionCarga As EnumCargaCompra, DTTiposGastos As DataTable, UsuarioActual As Usuario)
|
|
|
|
|
Public Sub New(UsuarioActual As Usuario)
|
|
|
|
|
|
|
|
|
|
Errores = New StringBuilder
|
|
|
|
|
|
|
|
|
|
Me.DTTiposGastos = DTTiposGastos
|
|
|
|
|
Me.UsuarioActual = UsuarioActual
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Public Sub New(XmlFuente As String, OpcionCarga As EnumCargaCompra, DTTiposGastos As DataTable, UsuarioActual As Usuario)
|
|
|
|
|
|
|
|
|
|
Errores = New StringBuilder
|
|
|
|
|
Me.DTTiposGastos = DTTiposGastos
|
|
|
|
|
Me.UsuarioActual = UsuarioActual
|
|
|
|
|
|
|
|
|
|
If OpcionCarga = EnumCargaCompra.SinXML Then
|
|
|
|
|
|
|
|
|
|
@@ -21300,11 +21292,10 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
CargaDesdeString(XmlFuente)
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
#Region "C A R G A S D E F U E N T E S "
|
|
|
|
|
|
|
|
|
|
Private Sub CargaDesdeArchivo(XmlFuenteRuta As String)
|
|
|
|
|
|
|
|
|
|
Dim XMLDoc As New XmlDocument
|
|
|
|
|
@@ -21350,7 +21341,6 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub CargaComprobanteXML(XMLDoc As XmlDocument)
|
|
|
|
|
Dim nodo As XmlNode = XMLDoc.DocumentElement
|
|
|
|
|
|
|
|
|
|
@@ -21361,9 +21351,9 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
If StrCFDIVerion = "3.2" Then
|
|
|
|
|
CFDIVersion = EnumCFDIVersion.v32
|
|
|
|
|
ElseIf StrCFDIVerion = "3.3" Then
|
|
|
|
|
CFDIVersion = EnumCFDIVersion.V33
|
|
|
|
|
CFDIVersion = EnumCFDIVersion.v33
|
|
|
|
|
ElseIf StrCFDIVerion = "4.0" Then
|
|
|
|
|
CFDIVersion = EnumCFDIVersion.V40
|
|
|
|
|
CFDIVersion = EnumCFDIVersion.v40
|
|
|
|
|
Else
|
|
|
|
|
GuardaLog($"CFDI Versión {StrCFDIVerion} no soportada")
|
|
|
|
|
Errores.AppendLine($"CFDI Versión {StrCFDIVerion} no soportada")
|
|
|
|
|
@@ -21389,7 +21379,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
TipoComprobante = ValorXML(nodo, "tipoDeComprobante")
|
|
|
|
|
TipoCambio = ValorXML(nodo, "TipoCambio", "1").ToDecimal
|
|
|
|
|
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.V33 Or CFDIVersion = EnumCFDIVersion.V40 Then
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.v33 Or CFDIVersion = EnumCFDIVersion.v40 Then
|
|
|
|
|
Dim drm As DataRow = GlobalDTVtaMetodoPago.FiltroPrimero(String.Format("ClaveMetodoPagoSAT = '{0}'", ValorXML(nodo, "MetodoPago")))
|
|
|
|
|
If drm IsNot Nothing Then
|
|
|
|
|
CveMetodoPago = drm("CveMetodoPago").ToString.ToEntero
|
|
|
|
|
@@ -21404,7 +21394,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.v32 Then
|
|
|
|
|
Prefijo = "cfd"
|
|
|
|
|
cfdVer = "http://www.sat.gob.mx/cfd/2"
|
|
|
|
|
ElseIf CFDIVersion = EnumCFDIVersion.V33 Then
|
|
|
|
|
ElseIf CFDIVersion = EnumCFDIVersion.v33 Then
|
|
|
|
|
cfdVer = "http://www.sat.gob.mx/cfd/3"
|
|
|
|
|
Else ' se considera que es la version 4.0
|
|
|
|
|
cfdVer = "http://www.sat.gob.mx/cfd/4"
|
|
|
|
|
@@ -21415,7 +21405,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
|
|
|
|
|
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
|
|
|
|
|
|
|
|
|
|
If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.V33 OrElse CFDIVersion = EnumCFDIVersion.V40) Then
|
|
|
|
|
If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40) Then
|
|
|
|
|
Dim UUIDS As String = ""
|
|
|
|
|
|
|
|
|
|
Dim UUIDSLista As New List(Of String)
|
|
|
|
|
@@ -21465,7 +21455,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
|
|
|
|
|
TotalRetenciones = ValorXML(node, "totalImpuestosRetenidos", "0").ToDecimal
|
|
|
|
|
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.V33 OrElse CFDIVersion = EnumCFDIVersion.V40 Then
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40 Then
|
|
|
|
|
|
|
|
|
|
For Each retencion As XmlNode In nodeRetenciones
|
|
|
|
|
If retencion.Attributes("Impuesto").Value = "002" Then RetencionIVA += retencion.Attributes("Importe").Value.ToDecimal
|
|
|
|
|
@@ -21485,7 +21475,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
TotalTraslados = ValorXML(node, "totalImpuestosTrasladados", "0").ToDecimal
|
|
|
|
|
Dim nodeTraslados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Traslados/{0}:Traslado", Prefijo), namespaces)
|
|
|
|
|
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.V33 OrElse CFDIVersion = EnumCFDIVersion.V40 Then
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40 Then
|
|
|
|
|
|
|
|
|
|
For Each traslado As XmlNode In nodeTraslados
|
|
|
|
|
|
|
|
|
|
@@ -21586,7 +21576,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
|
|
|
|
|
ObjeFacturas.Dispose()
|
|
|
|
|
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.V33 OrElse CFDIVersion = EnumCFDIVersion.V40 Then
|
|
|
|
|
If CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40 Then
|
|
|
|
|
If Not TmpDT.Columns.Contains("Amortizacion") Then
|
|
|
|
|
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
|
|
|
|
|
End If
|
|
|
|
|
@@ -21599,6 +21589,8 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
#End Region
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
|
|
Public Function ConfiguraRegistroRapidoReembolso(CvePS As Integer, CveSubProyecto As Integer, CveCajaChica As Integer, CvePersonal As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer, NumeroReembolso As String) As Boolean
|
|
|
|
|
|
|
|
|
|
Dim respuesta As Boolean = True
|
|
|
|
|
@@ -21645,8 +21637,8 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Return respuesta
|
|
|
|
|
|
|
|
|
|
End Function
|
|
|
|
|
Public Function ConfiguraRegistroRapidoRNC(CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, PS As String, CveSubProyecto As Integer, SubProyecto As String,
|
|
|
|
|
SubTotal As Decimal, Total As Decimal, IVA As Decimal) As Boolean
|
|
|
|
|
Public Function ConfiguraRegistroRapido(CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, PS As String, CveSubProyecto As Integer, SubProyecto As String,
|
|
|
|
|
SubTotal As Decimal, IVA As Decimal, Total As Decimal, PorcentajeIVA As Decimal) As Boolean
|
|
|
|
|
|
|
|
|
|
Dim respuesta As Boolean = True
|
|
|
|
|
Me.CveSubProyecto = CveSubProyecto
|
|
|
|
|
@@ -21660,7 +21652,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Me.SubTotal = SubTotal
|
|
|
|
|
Me.IVA = IVA
|
|
|
|
|
Me.Total = Total
|
|
|
|
|
|
|
|
|
|
Me.PorcentajeIVA = PorcentajeIVA
|
|
|
|
|
|
|
|
|
|
Dim dRowSubProyecto As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("")
|
|
|
|
|
|
|
|
|
|
@@ -21673,9 +21665,8 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Return False
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CreaDTCompras()
|
|
|
|
|
AddPS(1, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, 1, CveSubProyecto.ToString, SubProyecto, "", "-1", "", SubTotal, SubTotal, 0, 0, 0, 0, 0, 0)
|
|
|
|
|
AddPS(1, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, 1, CveSubProyecto.ToString, SubProyecto, "", "-1", "", SubTotal, Total, 0, 0, 0, 0, 0, 0, PorcentajeIVA:=PorcentajeIVA)
|
|
|
|
|
|
|
|
|
|
'If respuesta AndAlso IEPS > 0 Then
|
|
|
|
|
' If Not AgregaIEPSReembolso(CvePS:=CvePS) Then
|
|
|
|
|
@@ -22543,16 +22534,16 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Row("IVA") = 0
|
|
|
|
|
Row("IVAPorcentaje") = 0
|
|
|
|
|
Else
|
|
|
|
|
Row("IVA") = (IVA * Total).RoundSQL
|
|
|
|
|
Row("IVAPorcentaje") = IVA
|
|
|
|
|
Row("IVA") = (PorcentajeIVA * Total).RoundSQL
|
|
|
|
|
Row("IVAPorcentaje") = PorcentajeIVA
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Row("RetIVA") = (RetIVA * Total).RoundSQL
|
|
|
|
|
Row("RetIVAPorcentaje") = RetIVA
|
|
|
|
|
Row("RetISR") = (RetISR * Total).RoundSQL
|
|
|
|
|
Row("RetISRPorcentaje") = RetISR
|
|
|
|
|
Row("IEPSPS") = (IEPSPS * Total).RoundSQL
|
|
|
|
|
Row("IEPSPSPorcentaje") = IEPSPS
|
|
|
|
|
Row("RetIVA") = (PorcentajeRetIVA * Total).RoundSQL
|
|
|
|
|
Row("RetIVAPorcentaje") = PorcentajeRetIVA
|
|
|
|
|
Row("RetISR") = (PorcentajeRetISR * Total).RoundSQL
|
|
|
|
|
Row("RetISRPorcentaje") = PorcentajeRetISR
|
|
|
|
|
Row("IEPSPS") = (PorcentajeIEPS * Total).RoundSQL
|
|
|
|
|
Row("IEPSPSPorcentaje") = PorcentajeIEPS
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
Row("ImporteConImpuestos") = (Row("Cantidad").ToString.ToDecimal * Row("PU").ToString.ToDecimal) + Row("IVA").ToString.ToDecimal + Row("IEPSPS").ToString.ToDecimal - (Row("RetIVA").ToString.ToDecimal + Row("RetISR").ToString.ToDecimal)
|
|
|
|
|
@@ -22877,19 +22868,25 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
End If
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
Public Function AddCompra() As Boolean
|
|
|
|
|
Public Function AddCompra(Optional ByRef transacccion As SqlTransaction = Nothing) As Boolean
|
|
|
|
|
|
|
|
|
|
If Not AjustesValidacion() Then Return False
|
|
|
|
|
|
|
|
|
|
Dim respuesta As Boolean = True
|
|
|
|
|
Dim ObjCompras As New ClsCompras
|
|
|
|
|
Dim ObjCompras As ClsCompras
|
|
|
|
|
|
|
|
|
|
If transacccion IsNot Nothing Then
|
|
|
|
|
ObjCompras = New ClsCompras(transacccion)
|
|
|
|
|
Else
|
|
|
|
|
ObjCompras = New ClsCompras
|
|
|
|
|
End If
|
|
|
|
|
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
|
|
|
|
|
|
|
|
|
If Not AddPrepolizaCabecera(ObjConta) Then
|
|
|
|
|
respuesta = False
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
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,
|
|
|
|
|
If respuesta AndAlso ObjCompras.AddCompra(Me.TipoDocto, 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,
|
|
|
|
|
@@ -22940,111 +22937,31 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
End If
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If respuesta Then
|
|
|
|
|
If respuesta AndAlso Me.CveFactura > 0 Then
|
|
|
|
|
If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then respuesta = False
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If respuesta Then
|
|
|
|
|
ObjCompras.Commit()
|
|
|
|
|
Else
|
|
|
|
|
ObjCompras.RollBack()
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
ObjCompras.Dispose()
|
|
|
|
|
ObjConta.Dispose()
|
|
|
|
|
|
|
|
|
|
Return respuesta
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Public Function AddCompraRNC(ByRef transacccion As SqlTransaction) As Boolean
|
|
|
|
|
|
|
|
|
|
If Not AjustesValidacion() Then Return False
|
|
|
|
|
|
|
|
|
|
Dim respuesta As Boolean = True
|
|
|
|
|
Dim ObjCompras As New ClsCompras(transacccion)
|
|
|
|
|
Dim ObjConta As New ClsContabilidad(transacccion)
|
|
|
|
|
|
|
|
|
|
If Not AddPrepolizaCabecera(ObjConta) Then
|
|
|
|
|
respuesta = False
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If respuesta AndAlso ObjCompras.AddCompra("RNC", 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,
|
|
|
|
|
AplicoPromocion:=Me.AplicoPromocion, PorcentajeIVA:=Me.PorcentajeIVA, CveMetodoPago:=Me.CveMetodoPago, CveRetIVAConcepto:=Me.CveRetIVAConcepto,
|
|
|
|
|
CveConceptoContableAlmacen:=Me.CveConceptoContableAlmacen,
|
|
|
|
|
CveRetISRConcepto:=Me.CveRetISRConcepto, NoDeducible:=Me.NoDeducible, CveTipoCompra:=Me.CveTipoCompra, TotalOriginal:=Me.TotalOriginal, CveTipoConcepto:=Me.CveTipoConcepto,
|
|
|
|
|
EsImportacion:=Me.EsImportacion, CveFactura:=Me.CveFactura, CveSubProyecto:=Me.CveSubProyectoPrincipal, DoctosRelacionados:=Me.DocumentosRelacionadosUUIDSString, CveFolioGarantia:=Me.CveFolioGarantia) Then
|
|
|
|
|
Me.CveCompra = ObjCompras.CveCompra
|
|
|
|
|
Else
|
|
|
|
|
respuesta = False
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If respuesta AndAlso Me.CveCompra > 0 Then
|
|
|
|
|
|
|
|
|
|
For Each Row As DataRow In Me.TmpDT.Rows
|
|
|
|
|
|
|
|
|
|
Dim TipoRecepcion As Integer = -1
|
|
|
|
|
Dim Referencia As String = ""
|
|
|
|
|
Dim EsNoDeducible As Boolean = False
|
|
|
|
|
Dim CveAF As Integer = If(Row("CveActivoFijo").ToString.ToEntero > 0 AndAlso Row("TipoAF").ToString.ToEntero = 1, Row("CveActivoFijo").ToString.ToEntero, -1)
|
|
|
|
|
Dim CveAFC As Integer = If(Row("CveActivoFijo").ToString.ToEntero > 0 AndAlso Row("TipoAF").ToString.ToEntero = 2, Row("CveActivoFijo").ToString.ToEntero, -1)
|
|
|
|
|
|
|
|
|
|
If Not ObjCompras.AddCompraDetalle(Me.CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF,
|
|
|
|
|
Row("Cantidad").ToString.ToDecimal, Row("PU").ToString.ToDecimal, Row("IVA").ToString.ToDecimal, Row("Total").ToString.ToDecimal, Row("Descuento").ToString.ToDecimal,
|
|
|
|
|
Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero,
|
|
|
|
|
AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal,
|
|
|
|
|
CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, OtrosGastos:=Row("OtrosGastos").ToString.ToDecimal,
|
|
|
|
|
RetIVA:=Row("RetIVA").ToString.ToDecimal, RetISR:=Row("RetISR").ToString.ToDecimal, IEPSPS:=Row("IEPSPS").ToString.ToDecimal.RoundSQL, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDecimal,
|
|
|
|
|
IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDecimal, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDecimal, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDecimal,
|
|
|
|
|
IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDecimal, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDecimal, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False),
|
|
|
|
|
CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero, CveActivoFijoCompra:=CveAFC) Then
|
|
|
|
|
|
|
|
|
|
respuesta = False
|
|
|
|
|
Exit For
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If respuesta Then
|
|
|
|
|
If Not AddPrePolizaDetalles(ObjConta, True) Then respuesta = False
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If respuesta AndAlso ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, 4) Then
|
|
|
|
|
If ObjConta.ValorPolizaDescuadre > 0 Then
|
|
|
|
|
Errores.AppendLine($"Compras/RNC | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}.")
|
|
|
|
|
GuardaLogAD($"Compras/RNC | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
|
|
|
|
|
respuesta = False
|
|
|
|
|
If transacccion Is Nothing Then 'SINO VIENE DE UNA TRANSACCIÓN
|
|
|
|
|
If respuesta Then
|
|
|
|
|
ObjCompras.Commit()
|
|
|
|
|
Else
|
|
|
|
|
ObjCompras.RollBack()
|
|
|
|
|
End If
|
|
|
|
|
ObjCompras.Dispose()
|
|
|
|
|
ObjConta.Dispose()
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
'If respuesta Then
|
|
|
|
|
' If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then respuesta = False
|
|
|
|
|
'End If
|
|
|
|
|
|
|
|
|
|
'If respuesta Then
|
|
|
|
|
' ObjCompras.Commit()
|
|
|
|
|
'Else
|
|
|
|
|
' ObjCompras.RollBack()
|
|
|
|
|
'End If
|
|
|
|
|
|
|
|
|
|
'ObjCompras.Dispose()
|
|
|
|
|
'ObjConta.Dispose()
|
|
|
|
|
|
|
|
|
|
Return respuesta
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Private Function AddPrepolizaCabecera(ByRef ObjConta As ClsContabilidad, Optional ES_RNC As Boolean = False) As Boolean
|
|
|
|
|
Private Function AddPrePolizaCabecera(ByRef ObjConta As ClsContabilidad) As Boolean
|
|
|
|
|
|
|
|
|
|
Dim respuesta As Boolean = False
|
|
|
|
|
|
|
|
|
|
Dim ConceptoPoliza As String = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
|
|
|
|
|
Dim Modulo As String = "eFacturas/Registrar"
|
|
|
|
|
|
|
|
|
|
If ES_RNC Then
|
|
|
|
|
If Me.TipoDocto = "RNC" Then
|
|
|
|
|
ConceptoPoliza = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
|
|
|
|
|
Modulo = "Compras/RNC"
|
|
|
|
|
End If
|
|
|
|
|
@@ -23060,7 +22977,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
Dim Concepto As String = $"{Me.NombreProveedor} {Me.SerieFolio}"
|
|
|
|
|
Dim Referencia As String = Me.SerieFolio
|
|
|
|
|
|
|
|
|
|
If ES_RNC Then
|
|
|
|
|
If TipoDocto = "RNC" Then
|
|
|
|
|
|
|
|
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Me.Total, Me.Total, 370, Referencia, Concepto, CveCompra:=CveCompra, CveCompraAmortizacion:=Me.CveCompraAmortizacion, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, Me.Total), TipoCambio:=TipoCambio,
|
|
|
|
|
CveClasificacion:=-1, CveSubProyecto:=Me.CveSubProyecto, Contabilizable:=True) Then
|
|
|
|
|
@@ -23108,7 +23025,7 @@ Public Class ClsCompraManagerCompras
|
|
|
|
|
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, 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
|
|
|
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, importeMN, 25, Referencia, Concepto, 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
|
|
|
|
|
|