diff --git a/OC/OC.aspx b/OC/OC.aspx index 7bbbc6911..b2e5651aa 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -2711,9 +2711,14 @@
- -
- + + +
+ +
+ +
+
diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index e13094576..3978a91c9 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -8046,7 +8046,7 @@ Partial Class OC Dim CveMovimientoAlmacen As Integer = ObjOC.DtResultados.FiltroPrimeroValor("CveMovimientoAlmacen").ToEntero Dim TCAjuste As Decimal = ObjOC.DtResultados.FiltroPrimeroValor("TipoCambioAjuste").ToDecimal - + Dim ConservaPU As Boolean = chkMonedaPU.Checked If CveMonedaOC = 2 Then CveMonedaOC = 1 @@ -8073,28 +8073,47 @@ Partial Class OC Exit For End If Else + ''-pesos a dólares CveMonedaOC = 2 TCAjuste = TxtTCCambioMoneda.Text.ToDecimal - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Importe176, lblFolio.Text, 176, Concepto, Now, IdCtaContableOC, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=-Importe176, ImporteME:=-Importe176, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -Importe176, lblFolio.Text, 176, Concepto, Now, IdCtaContableOC, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=-Importe176, ImporteME:=-Importe176, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then ErrorPrepoliza = True Exit For Else - Importe228 = (Importe176 / TCAjuste) + Dim TCAjustePU As Decimal = TCAjuste + If ConservaPU Then + TCAjustePU = 1 + End If + + Importe228 = (Importe176 / TCAjustePU) Importe229 = (Importe228 * TCAjuste - Importe228).RoundSQL Importe228 = Importe228.RoundSQL(3) ' se redondea a 3 digitos, por la conversion, y no afecta al CK de complementaria - Dim dift As Decimal = Importe176 - Importe228 - Importe229 - If dift <> 0 Then Importe229 += dift - PU = Importe176PU / TCAjuste + Dim difcosto As Decimal = Importe176 - Importe228 - Importe229 - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Importe228, lblFolio.Text, 228, Concepto, Now, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe228, ImporteME:=Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Importe229, lblFolio.Text, 229, Concepto, Now, IdCtaContableMEComp, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe229, ImporteME:=Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + PU = Importe176PU + If Not ConservaPU Then PU = Importe176PU / TCAjuste + + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Importe228, lblFolio.Text, 228, Concepto, Now, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe228, ImporteME:=Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Importe229, lblFolio.Text, 229, Concepto, Now, IdCtaContableMEComp, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe229, ImporteME:=Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then ErrorPrepoliza = True Exit For Else + If difcosto <> 0 Then + Dim tcveSub As Integer = DtDetalle.MAX("CveSubProyecto").ToEntero + Dim tcveClasif As Integer = DtDetalle.MAX("CveClasificacion").ToEntero + Dim IdCtaContable69 As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {tcveClasif}").ToString.ToEntero + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, difcosto, lblFolio.Text, 69, Concepto, Now, IdCtaContable69, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=difcosto, ImporteME:=difcosto, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveSubProyecto:=tcveSub, CveClasificacion:=tcveClasif, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + ErrorPrepoliza = True + Exit For + End If + End If + If Not ObjOC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, PU, UsuarioActual.CveUsuario) Then Retorno = False Exit For End If + End If Else ErrorPrepoliza = True