diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 8480b35d7..2bf79584f 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -6,7 +6,6 @@ Imports System.Xml Imports System.Diagnostics Imports System.Globalization Imports System.IO -Imports System.IO Imports System.Threading.Tasks Imports Newtonsoft.Json Imports Extensiones @@ -2683,6 +2682,7 @@ Partial Class Compras_Compras ChkEsNoDeducible.Checked = dr("NoDeducible").ToString.ToEntero > 0 If ChkEsNoDeducible.Checked Then AplicarNoDeducible() LblMetodoPago.Text = dr("MetodoPagoSAT").ToString + CveConceptoContableAlmacen = dr("CveConceptoContableAlmacen").ToString.ToEntero If UsuarioActual.Empresa.UsaAC Then CambiaEjercicioAC(False) @@ -13743,7 +13743,7 @@ Partial Class Compras_Compras If dr("CveAlmacen").ToString.ToEntero = CveAlmacen And dr("CveCompraDetalle").ToString.ToEntero <> -1 And dr("origen").ToString.ToEntero <> -1 And dr("Total").ToString.ToDecimal <> 0 Then 'hay que restarle descuento importeconcepto = dr("Total").ToString.ToDecimal - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, dr("Cantidad").ToString.ToDecimal, dr("CveUM").ToString.ToEntero, dr("CvePS").ToString.ToEntero, importeconcepto, -1, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Serie:=dr("Serie").ToString) Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, dr("Cantidad").ToString.ToDecimal, dr("CveUM").ToString.ToEntero, dr("CvePS").ToString.ToEntero, importeconcepto, -1, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Serie:=dr("Serie").ToString, Lote:=dr("Lote").ToString, FechaCaducidad:=dr("FechaCaducidad").ToString.ToDate) Then ErrorCancelar = True Exit For End If @@ -13758,45 +13758,53 @@ Partial Class Compras_Compras Total68 = ObjInventario.DtResultados.SUMD("Total").RoundSQL(2) * -1 End If - If ObjContabilidad.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then - Dim DtPrePolizaAlmacen As DataTable = ObjContabilidad.DtResultados.FiltraParametros($"CveMovimientoAlmacen = {CveMovimientoReferencia}") - If CvePrePolizaNueva > 0 Then - Dim tTotal As Decimal = 0 - For Each dr As DataRow In DtPrePolizaAlmacen.Rows - If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), Total68, Total68, dr("CveConceptoContable").ToString.ToEntero, - dr("Referencia").ToString, dr("Concepto").ToString, dr("CveIE").ToString.ToEntero, - dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, - CveMovimientoEntrada, - dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero, - ImporteME:=Total68, - CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero, - PorcentajeImpuesto:=dr("PorcentajeImpuesto").ToString.ToDecimal, - CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero) Then - ErrorCancelar = True - Exit For - End If - tTotal += Total68 - Next + If CvePrePolizaNueva > 0 Then + Dim tTotal As Decimal = 0 - 'si el importe es diferente al subtotal, se deberá generar un ajuste al costo - If Abs(tTotal) <> TxtSubTotal.Text.ToDecimal Then - tTotal = Abs(tTotal) - TxtSubTotal.Text.ToDecimal - If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, False, tTotal, tTotal, 69, "", "cancelación", + If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, True, Total68, Total68, CveConceptoContableAlmacen, + TxtFolio.Text, TxtFolio.Text, CveCompra:=CveCompra, + CveMovimientoAlmacen:=CveMovimientoEntrada) Then + ErrorCancelar = True + + End If + If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, False, Total68, Total68, 68, TxtFolio.Text, TxtFolio.Text, CveCompra:=CveCompra, + CveMovimientoAlmacen:=CveMovimientoEntrada) Then + ErrorCancelar = True + + End If + 'For Each dr As DataRow In DtPrePolizaAlmacen.Rows + ' If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, CBool(dr("TipoMovto").ToString), Total68, Total68, dr("CveConceptoContable").ToString.ToEntero, + ' dr("Referencia").ToString, dr("Concepto").ToString, dr("CveIE").ToString.ToEntero, + ' dr("CveVenta").ToString.ToEntero, dr("CveCompra").ToString.ToEntero, dr("CveSubProyecto").ToString.ToEntero, dr("CveCliente").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, + ' CveMovimientoEntrada, + ' dr("CveActivoFijo").ToString.ToEntero, -1, -1, dr("CveCreditoDetalle").ToString.ToEntero, + ' ImporteME:=Total68, + ' CveTipoGasto:=dr("CveTipoGasto").ToString.ToEntero, CveClasificacion:=dr("CveClasificacion").ToString.ToEntero, + ' PorcentajeImpuesto:=dr("PorcentajeImpuesto").ToString.ToDecimal, + ' CveOCDetalle:=dr("CveOCDetalle").ToString.ToEntero) Then + ' ErrorCancelar = True + ' Exit For + ' End If + ' tTotal += Total68 + 'Next + + 'si el importe es diferente al subtotal, se deberá generar un ajuste al costo + If Abs(Total68) <> TxtSubTotal.Text.ToDecimal Then + tTotal = Abs(Total68) - TxtSubTotal.Text.ToDecimal + If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePolizaNueva, False, tTotal, tTotal, 69, "", "cancelación", CveCompra:=CveCompra, CveSubProyecto:=TmpDT.MAX("CveSubProyecto").ToEntero, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteME:=tTotal, CveClasificacion:=TmpDT.MAX("CveClasificacion").ToEntero) Then - ErrorCancelar = True - End If + ErrorCancelar = True End If - Else - ErrorCancelar = True End If Else - ErrorCancelar = True + ErrorCancelar = True + End If + End If - End If Next End If