This commit is contained in:
2020-04-29 17:51:43 -07:00
25 changed files with 1738 additions and 207 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%">
<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

@@ -6768,6 +6768,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()
@@ -6775,6 +6779,7 @@ Partial Class OC
ObjInventarios.Dispose()
UpAlmacen.Update()
UpAcciones.Update()
End If
End Sub
@@ -7672,4 +7677,136 @@ 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
RegistraScript("$('#DivCambiarMoneda').modal();")
End Sub
Protected Sub BtnCambiarMoneda_Click() Handles BtnCambiarMoneda.Click
Dim ObjInv As New ClsInventarios
Dim OC As New ClsOC
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
Dim IdCtaContableOC As Integer = 0
Dim IdCtaContableOCME As Integer = 0
Dim IdCtaContableOCComplementaria As Integer = 0
If ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) Then
IdCtaContableOC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
End If
If ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) Then
IdCtaContableOCME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
End If
If ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) Then
IdCtaContableOCComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
End If
Dim LugarEntrega = If(txtLugarEntrega.Text.Trim = "", "-1", txtLugarEntrega.Text.Trim)
LugarEntrega = If(DivLugarEntrega1.Visible, LugarEntrega, If(TxtLugarEntregaDirecta.Visible, TxtLugarEntregaDirecta.Text.Trim, ""))
Dim CveProveedorContacto As Integer = -1
Dim CveProveedor As Integer = -1
If Not ChkCotizacion.Checked OrElse (UsuarioActual.Empresa.Funcionalidad(565) = "1" AndAlso CveConfianzaProveedor > 0) Then
CveProveedor = DdlProveedores.SelectedValue.ToEntero
CveProveedorContacto = IIf(DdlProveedorContacto.SelectedValue.ToEntero = 0, "-1", DdlProveedorContacto.SelectedValue).ToString.ToEntero
End If
Dim IVA = If(TxtIVA.Visible, TxtIVA.Text.ToDecimal, LblIVA.Text.ToDecimal)
Dim Promocion = TxtPromocion.Text.Trim
Dim TCDecimal As Decimal = TxtTCCambioMoneda.Text.ToDecimal
Dim TCDouble As Double = TxtTCCambioMoneda.Text.ToDouble
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, IdCtaContableOCME, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte + SegundoImporte, lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
Err = True
Else
If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
LugarEntrega, 1, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA * TCDecimal), RetIVA:=(TxtRetIVA.Text.ToDecimal * TCDecimal),
RetISR:=(TxtRetISR.Text.ToDecimal * TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1),
Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto,
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then
Err = True
Else
For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows
If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble * TCDouble), dr("CveSubProyecto").ToString.ToEntero,
dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero),
(dr("Descuento").ToString.ToDouble * TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble * TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble * TCDouble), IVA:=(dr("IVA").ToString.ToDouble * TCDouble),
RetIVA:=(dr("RetIVA").ToString.ToDouble * TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble * TCDouble), Total:=(dr("Total").ToString.ToDouble * TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero,
IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble,
IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then
Err = True
Exit For
End If
Next
End If
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, IdCtaContableOCME, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, (0 - (PrimerImporte + SegundoImporte)), lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then
Err = True
Else
If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
LugarEntrega, 2, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA / TCDecimal),
RetIVA:=(TxtRetIVA.Text.ToDecimal / TCDecimal), RetISR:=(TxtRetISR.Text.ToDecimal / TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1),
Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto,
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then
Err = True
Else
For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows
If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble / TCDouble), dr("CveSubProyecto").ToString.ToEntero,
dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero),
(dr("Descuento").ToString.ToDouble / TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble / TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble / TCDouble), IVA:=(dr("IVA").ToString.ToDouble / TCDouble),
RetIVA:=(dr("RetIVA").ToString.ToDouble / TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble / TCDouble), Total:=(dr("Total").ToString.ToDouble / TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero,
IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble,
IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then
Err = True
Exit For
End If
Next
End If
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)
Else
Alert("Moneda actualizada con exito")
End If
End Sub
End Class