diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 115ce05c3..349be1126 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8397,12 +8397,38 @@ Partial Class Compras_Compras ObjConta = New ClsContabilidad(ObjCompra.IniciaTransacSQL) End If - Dim CveCompraNC, IdCtaContable As Integer + Dim CveCompraNC, IdCtaContable, IdCtaContableComp As Integer Dim PorcentajePago As Decimal Dim ConceptoPoliza As String = $"Amortización {NombreProveedor} - {TxtSerie.Text}-{TxtFolio.Text}" Try Dim CveIE As Integer = -1 + + Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal + Dim CompraActual As New Compra + CompraActual.CveCompra = CveCompra + CompraActual.CveTipoConceptoProveedor = CveTipoConcepto + CompraActual.CveProveedor = CveProveedor + CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero + CompraActual.Fecha = TxtFecha.Text.ToDate + CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim + CompraActual.ProveedorNombre = HplProveedor.Text + CompraActual.TC = TipoCambio + CompraActual.Total = TxtTotal.Text.ToDecimal + CompraActual.IVA = TxtIVA.Text.ToDecimal + CompraActual.IVADeducible = TxtIVA.Text.ToDecimal + CompraActual.IEPS = TxtIEPS.Text.ToDecimal + CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal + CompraActual.RetISR = TxtRetISR.Text.ToDecimal + CompraActual.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero + CompraActual.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero + CompraActual.PorcentajeIVA = PorcentajeIVA + CompraActual.UsuarioActual = UsuarioActual + CompraActual.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero + CompraActual.IdCtaContableProv = CtaProveedor + CompraActual.IdCtaContableProvComplementaria = CtaProveedorComplementaria + CompraActual.EsImportacion = chkImportacion.Checked + For Each gvr As GridViewRow In GVAnticipos.Rows If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then @@ -8410,18 +8436,38 @@ Partial Class Compras_Compras If CvePrePoliza > 0 Then Dim CveConceptoCompra As Integer = 60 + Dim CveConceptoCompraComplementaria As Integer = 266 Dim TipoMovimientoCompra As Boolean = True + Dim CveMonedaAnticipo As Integer = gvr.DataKey("CveMoneda").ToEntero + Dim TipoCambioAnt As Decimal = gvr.DataKey("TCCompra").ToDecimal + Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal + Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal + + Dim Pago As New CompraPago + Pago.TipoPago = gvr.DataKey("TipoDocto") + Pago.ImportePago = ImporteAnt + Pago.OtroGastoIngreso = ImporComisionAnticipo + Pago.CveMonedaPago = CveMonedaAnticipo + Select Case gvr.DataKey("TipoDocto") Case "NC", "DEV" - CveConceptoCompra = 60 + CveConceptoCompra = If(CveMonedaAnticipo = 1, 60, 60) + CveConceptoCompraComplementaria = 235 + IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedor, CtaProveedorExtranjera) + IdCtaContableComp = CtaProveedorComplementaria CveIE = -1 + Pago.AplicaAcreditable = False Case "Egsc" - CveConceptoCompra = 21 + CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21) + CveConceptoCompraComplementaria = 266 + IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera) + IdCtaContableComp = CtaProveedorAnticiposComplementaria 'vinculo la compra actual, y no la compra como si fuera nota de credito CveCompraNC = -1 CveIE = gvr.DataKey("CveIE").ToEntero Case "DD" - CveConceptoCompra = 37 + CveConceptoCompra = If(CveMonedaAnticipo = 1, 37, 37) + IdCtaContable = CtaProveedorDeudores 'vinculo la compra actual, y no la compra como si fuera nota de credito CveCompraNC = -1 CveIE = gvr.DataKey("CveIE").ToEntero @@ -8429,58 +8475,20 @@ Partial Class Compras_Compras PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal + Dim ImporteAntMNComision As Decimal = (ImporteAnt + ImporComisionAnticipo) * TipoCambioAnt + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, (ImporteAnt + ImporComisionAnticipo), "", CveConceptoCompra, "", TxtFechaPago.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMNComision, ImporteME:=If(TipoCambioAnt = 1, 0, (ImporteAnt + ImporComisionAnticipo)), CveSubProyecto:=CveSubProyectoAnticipo) Then + ErrorMovtosCxP = 1 + End If - Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal - Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal - Dim CveMonedaAnticipo As Integer = gvr.DataKey("CveMoneda").ToEntero - Dim TipoCambioAnt As Decimal = gvr.DataKey("TCCompra").ToDecimal - - If ImporComisionAnticipo = 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, ImporteAnt, " ", CveConceptoCompra, " ", TxtFechaPago.Text.ToDate, 0, -1, CveCompra:=CveCompraNC, CveProveedor:=CveProveedor, CveIE:=CveIE, CveCompraAmortizacion:=CveCompraNC, ImporteMX:=ImporteAnt, ImporteME:=If(TipoCambioAnt = 1, 0, ImporteAnt), CveSubProyecto:=CveSubProyectoAnticipo) Then - ErrorMovtosCxP = 1 - Exit For - End If - Else - Dim ImporteAntMNComision As Decimal = (ImporteAnt + ImporComisionAnticipo) * TipoCambioAnt - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, (ImporteAnt + ImporComisionAnticipo), "", CveConceptoCompra, "", TxtFechaPago.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMNComision, ImporteME:=If(TipoCambioAnt = 1, 0, (ImporteAnt + ImporComisionAnticipo)), CveSubProyecto:=CveSubProyectoAnticipo) Then - ErrorMovtosCxP = 1 + If CveMonedaAnticipo > 1 Then + Dim ImporteAntMN As Decimal = TipoCambioAnt * ImporteAnt - ImporteAnt + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, ImporteAntMN, "", CveConceptoCompraComplementaria, "", TxtFechaPago.Text.ToDate, IdCtaContableComp, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMN, ImporteME:=If(TipoCambioAnt = 1, 0, ImporteAnt), CveSubProyecto:=CveSubProyectoAnticipo) Then ErrorMovtosCxP = 1 End If End If - Dim Pago As New CompraPago - Pago.ImportePago = ImporteAnt Pago.CveIE = CveIE - Pago.CveMonedaPago = CveMonedaAnticipo Pago.CveCompraAmortizacion = CveCompraNC - Pago.CveCreditoDetalle = -1 - Pago.OtroGastoIngreso = ImporComisionAnticipo - - Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal - Dim CompraActual As New Compra - CompraActual.CveCompra = CveCompra - CompraActual.CveTipoConceptoProveedor = CveTipoConcepto - CompraActual.CveProveedor = CveProveedor - CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero - CompraActual.Fecha = TxtFecha.Text.ToDate - CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim - CompraActual.ProveedorNombre = HplProveedor.Text - CompraActual.TC = TipoCambio - CompraActual.Total = TxtTotal.Text.ToDecimal - CompraActual.IVA = TxtIVA.Text.ToDecimal - CompraActual.IVADeducible = TxtIVA.Text.ToDecimal - CompraActual.IEPS = TxtIEPS.Text.ToDecimal - CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal - CompraActual.RetISR = TxtRetISR.Text.ToDecimal - CompraActual.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero - CompraActual.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero - CompraActual.PorcentajeIVA = PorcentajeIVA - CompraActual.UsuarioActual = UsuarioActual - CompraActual.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero - CompraActual.IdCtaContableProv = CtaProveedor - CompraActual.IdCtaContableProvComplementaria = CtaProveedorComplementaria - CompraActual.EsImportacion = chkImportacion.Checked - AplicaPrePolizaPagoCompra(CompraActual, pago, CvePrePoliza, ObjConta) End If End If