-- cambio de moneda

This commit is contained in:
2022-06-14 20:14:15 -07:00
parent 521e821d2e
commit 9bd5da1d01
2 changed files with 35 additions and 11 deletions

View File

@@ -2711,9 +2711,14 @@
</div>
<br />
<div class="row" runat="server" id="DivTCRow" style="width: 100%">
<label class="col-md-3">Tipo de Cambio:</label>
<div class="col-md-3">
<asp:TextBox ID="TxtTCCambioMoneda" runat="server" Width="100%" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<label class="col-md-3">Conservar PU:</label>
<div class="col-md-1">
<asp:CheckBox ID="chkMonedaPU" runat="server" ></asp:CheckBox>
</div>
<label class="col-md-3">Tipo de Cambio:</label>
<div class="col-md-2">
<asp:TextBox ID="TxtTCCambioMoneda" runat="server" Width="100px" CssClass="form-control input-sm" CausesValidation="true"></asp:TextBox>
</div>
</div>
</ContentTemplate>

View File

@@ -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