Cambio de moneda en la orden de compra

This commit is contained in:
Antonio Gonzalez
2020-04-28 17:39:30 -07:00
parent 8e14c92122
commit 86cc50a54d
2 changed files with 100 additions and 2 deletions

View File

@@ -1,6 +1,5 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="OC.aspx.vb" EnableEventValidation="false" Inherits="OC" %>
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAcciones" UpdateMode="Conditional">
@@ -42,7 +41,9 @@
<li>
<asp:LinkButton ID="LbVerificarExistencia" Visible="True" runat="server"><i class='fa fa-list-alt'></i> Verificar Existencias</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCambiarMoneda" Visible="False" runat="server"><i class='fa fa-money'></i> Cambiar Moneda</asp:LinkButton>
</li>
<li style="text-align: left!important" runat="server" id="LiLnkGuias" visible="true">
<asp:LinkButton runat="server" ID="LnkAgregarGuia" CssClass="" data-toggle="tooltip" data-placement="left" OnClick="LnkAgregarGuia_Click" title="Paquetería Guías." Text="<i class='fa fa-truck'></i> Paqueteria Guías" Visible="false"></asp:LinkButton>
</li>
@@ -2599,6 +2600,41 @@
</div>
</div>
</div>
<div id="DivCambiarMoneda" class="modal ADS fade">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpdatePanel3" runat="server" class="modal-content rowpadding" tabindex="-1" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4>
<asp:Label Text="Cambiar Moneda" ID="LblCambioMonedaTitle" runat="server" />
</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel ID="UpCambiarMonedaBody" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div class="row" style="width:100%">
<label class="col-md-1" style="width:100%">Desea Cambiar el Tipo de Moneda:</label>
</div>
<br />
<div class="row" runat="server" id="DivTCRow" style="width:100%" visible="false">
<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>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<%--data-toggle="confirmation" data-btn-ok-label="Si" data-title="Está seguro que desea cancelar la orden de compra?"--%>
<asp:Button ID="BtnCambiarMoneda" runat="server" Text="Aplicar Cambio" ClientIDMode="Static" CssClass="btn btn-success" ValidationGroup="GrpCancelarCompra" />
<button type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="JS" runat="server">

View File

@@ -6760,6 +6760,10 @@ Partial Class OC
GVInv.DataSource = ObjInventarios.DtResultados
If ObjInventarios.DtResultados.Rows.Count > 0 Then
DdlMoneda.Enabled = False
Dim TipoEstatusTerminado As String = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoTermino", String.Format("CveEstatus = {0}", CboE.SelectedValue))
If TipoEstatusTerminado = "1" Then
LnkCambiarMoneda.Visible = True
End If
End If
End If
GVInv.DataBind()
@@ -6767,6 +6771,7 @@ Partial Class OC
ObjInventarios.Dispose()
UpAlmacen.Update()
UpAcciones.Update()
End If
End Sub
@@ -7664,4 +7669,61 @@ Partial Class OC
Protected Sub DdlMoneda_Change() Handles DdlMoneda.SelectedIndexChanged
MonedaTexto = DdlMoneda.SelectedItem.Text
End Sub
Protected Sub LnkCambiarMoneda_Click(sender As Object, e As EventArgs) Handles LnkCambiarMoneda.Click
If DdlMoneda.SelectedValue = 1 Then
DivTCRow.Visible = True
UpdatePanel3.Update()
End If
RegistraScript("$('#DivCambiarMoneda').modal();")
End Sub
Protected Sub BtnCambiarMoneda_Click() Handles BtnCambiarMoneda.Click
Dim ObjInv As New ClsInventarios
Dim Err As Boolean = False
If ObjInv.GetMovimientos(CveMovimientoAlmacenVenta, -1, -1, UsuarioActual.CveEmpresa) Then
Dim TipoMoneda As String = ObjInv.DtResultados.FiltroPrimeroValor("CveMoneda")
Dim ObjConta As New ClsContabilidad
If TipoMoneda = "2" Then
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CvePrePoliza > 0 Then
Dim PrimerImporte As Integer = (0 - LblSubTotal.Text.ToDecimal)
Dim SegundoImporte As Integer = (0 - LblSubTotal.Text.ToDecimal)
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, -1, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, -1, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte + SegundoImporte, lblFolio.Text, 176, lblFolio.Text, Now, -1, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
Err = True
End If
Else
Err = True
End If
Else
Err = True
End If
End If
ElseIf TipoMoneda = "1" Then
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CvePrePoliza > 0 Then
Dim PrimerImporte As Decimal = Decimal.Round(((LblSubTotal.Text.ToDecimal) / TxtTCCambioMoneda.Text.ToDecimal), 2, MidpointRounding.AwayFromZero)
Dim SegundoImporte As Decimal = LblSubTotal.Text.ToDecimal
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, -1, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, -1, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, (0 - (PrimerImporte + SegundoImporte)), lblFolio.Text, 176, lblFolio.Text, Now, -1, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
Err = True
End If
Else
Err = True
End If
Else
Err = True
End If
End If
End If
ObjConta.Dispose()
End If
ObjInv.Dispose()
If Err Then
Alert("Sucedió un error con el cambio en la moneda", TipoMensaje.MsgError)
End If
End Sub
End Class