Correcion en punto de venta de recepcion de usados
This commit is contained in:
@@ -698,6 +698,21 @@ Public Class ClsAcumuladores
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function GetGarantiasDetalle(CveVenta As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
SqlDataAdapter("PA_Acum_GarantiasDetalleGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As SqlException
|
||||
OnError("Ocurrió un al agregar la garantia detalle. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
@@ -1758,7 +1758,6 @@ Namespace Modelos
|
||||
Private Function GuardarUsados(SqlTransaccion As SqlClient.SqlTransaction, CveVenta As Integer, ByRef ObjVentas As ClsVentas) As Boolean
|
||||
Dim Resultado As Boolean = True
|
||||
|
||||
'If ClienteEsDistribuidor Then
|
||||
If UsuarioActual.Empresa.Funcionalidad(533).ToEntero > 0 Then
|
||||
Dim CvePSPSA As Integer = UsuarioActual.Empresa.Funcionalidad(533).ToEntero
|
||||
|
||||
@@ -1789,15 +1788,7 @@ Namespace Modelos
|
||||
Resultado = False
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Else
|
||||
ErrorList.Add("El cliente es Distribuidor y no se tiene un producto o servicio asigando como PS Acumulador")
|
||||
Resultado = False
|
||||
End If
|
||||
'Else
|
||||
' Resultado = True
|
||||
'End If
|
||||
|
||||
Return Resultado
|
||||
|
||||
|
||||
@@ -1517,6 +1517,7 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
|
||||
Dim ObjVentas As New ClsVentas(ObjInventario.IniciaTransacSQL())
|
||||
Dim ObjEventos As New ClsOIEventos(ObjInventario.IniciaTransacSQL())
|
||||
Dim ObjAcumuladores As New ClsAcumuladores(ObjInventario.IniciaTransacSQL())
|
||||
Dim CveMovimiento As Integer
|
||||
Dim Folio As Integer
|
||||
Dim ErrorMovInv As Boolean
|
||||
@@ -1524,6 +1525,8 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
Dim DtDetalleLote As New DataTable
|
||||
Dim TextoError = ""
|
||||
|
||||
Dim CveMovimientoGarantia As Integer = -1
|
||||
Dim FolioGarantia As Integer = -1
|
||||
|
||||
'PASA DATOS DEL GV A DATATABLE PARA MANEJOR CON FOR EACH
|
||||
Dim Index = 0
|
||||
@@ -1561,7 +1564,17 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim DtTraspasos As New DataTable
|
||||
DtTraspasos.Columns.Add("CveAlmacen", GetType(Integer))
|
||||
DtTraspasos.Columns.Add("Almacen", GetType(String))
|
||||
DtTraspasos.Columns.Add("CveMovimientoSalida", GetType(Integer))
|
||||
DtTraspasos.Columns.Add("FolioSalida", GetType(Integer))
|
||||
DtTraspasos.Columns.Add("CveMovimientoEntrada", GetType(Integer))
|
||||
DtTraspasos.Columns.Add("FolioEntrada", GetType(Integer))
|
||||
|
||||
Dim CveMovimientoSalida = -1, FolioSalida = -1, CveMovimientoEntrada = -1, CveMovimientoEntradaApartado = -1, FolioEntrada = -1, CveMovimientoSalidaDevRem = -1, FolioMovimientoSalidaDevRem = -1, CveMovimientoEntradaDevRem = -1, FolioMovimientoEntradaDevRem = -1
|
||||
|
||||
Try
|
||||
'VALIDA EXISTENCIA 2
|
||||
If TipoMovimiento = 1 Then
|
||||
|
||||
@@ -1686,15 +1699,6 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
|
||||
|
||||
'' COMIENZA: APARTADOS
|
||||
Dim DtTraspasos As New DataTable
|
||||
DtTraspasos.Columns.Add("CveAlmacen", GetType(Integer))
|
||||
DtTraspasos.Columns.Add("Almacen", GetType(String))
|
||||
DtTraspasos.Columns.Add("CveMovimientoSalida", GetType(Integer))
|
||||
DtTraspasos.Columns.Add("FolioSalida", GetType(Integer))
|
||||
DtTraspasos.Columns.Add("CveMovimientoEntrada", GetType(Integer))
|
||||
DtTraspasos.Columns.Add("FolioEntrada", GetType(Integer))
|
||||
|
||||
Dim CveMovimientoSalida = -1, FolioSalida = -1, CveMovimientoEntrada = -1, CveMovimientoEntradaApartado = -1, FolioEntrada = -1, CveMovimientoSalidaDevRem = -1, FolioMovimientoSalidaDevRem = -1, CveMovimientoEntradaDevRem = -1, FolioMovimientoEntradaDevRem = -1
|
||||
Dim CantidadPendiente As Decimal = 0
|
||||
Dim CantidadSaldo As Decimal = 0
|
||||
|
||||
@@ -1889,6 +1893,36 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
End If
|
||||
'' TERMINA: APARTADOS
|
||||
|
||||
' COMIENZA: GARANTIAS
|
||||
If TipoDocto.Contiene("Rem") AndAlso UsuarioActual.CveEmpresa = 140 AndAlso TipoMovimiento = 1 Then
|
||||
|
||||
Dim CveAlmacenGarantia As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 6).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
|
||||
Dim DtGarantias As DataTable = Nothing
|
||||
|
||||
If ObjAcumuladores.GetGarantiasDetalle(CveVentaSurtir) Then
|
||||
DtGarantias = ObjAcumuladores.DtResultados.Copy()
|
||||
End If
|
||||
|
||||
If DtGarantias IsNot Nothing AndAlso DtGarantias.Rows.Count > 0 Then
|
||||
CveMovimientoGarantia = ObjInventario.AddMovimiento(CveAlmacenGarantia, 2, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text)
|
||||
FolioGarantia = ObjInventario.Folio
|
||||
|
||||
For Each RowGarantia As DataRow In DtGarantias.Rows
|
||||
Dim CvePS = RowGarantia("CvePS").ToString().ToEntero()
|
||||
Dim CveTamaño As Integer = RowGarantia("CveTamaño").ToString().ToEntero()
|
||||
Dim CveUM As Integer = RowGarantia("CveUnidadMedida").ToString().ToEntero()
|
||||
Dim PU As Double = RowGarantia("Importe").ToString().ToDouble() ' / RowGarantia("Cantidad").ToString().ToDouble()
|
||||
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoGarantia, RowGarantia("Cantidad").ToString().ToDouble(), CveUM, CvePS, PU, -1) Then
|
||||
ErrorMovInv = True
|
||||
TextoError = "Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar."
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
' TERMINA: GARANTIAS
|
||||
|
||||
If Not ErrorMovInv Then
|
||||
Dim ConceptoMovimiento = 3
|
||||
@@ -2320,6 +2354,12 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
ErrorMovInv = True
|
||||
OnError("Ocurrió un error al guardar",ex)
|
||||
End Try
|
||||
|
||||
If Not ErrorMovInv Then
|
||||
ObjInventario.Commit()
|
||||
RegistraScript("playsonidito('beep-07.wav')")
|
||||
@@ -2345,6 +2385,11 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
Next
|
||||
End If
|
||||
|
||||
If CveMovimientoGarantia > 0 Then
|
||||
Msg.AppendFormat("<br/>Movimiento de Entrada (garantías): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoGarantia, FolioGarantia)
|
||||
Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoGarantia)))
|
||||
End If
|
||||
|
||||
'If CveMovimientoSalidaDevRem > 0 Then
|
||||
' Msg.AppendFormat("<br/><br/> Movimiento de salida de devolución (Traspaso): <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoSalidaDevRem, FolioMovimientoSalidaDevRem)
|
||||
' Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalidaDevRem)))
|
||||
@@ -2358,11 +2403,12 @@ Partial Class Inventarios_RecepcionEntrega
|
||||
Limpia()
|
||||
CargaPendientes()
|
||||
Else
|
||||
ObjInventario.RollBack()
|
||||
Alert(TextoError, TipoMensaje.MsgError)
|
||||
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
|
||||
ObjInventario.RollBack()
|
||||
End If
|
||||
|
||||
ObjAcumuladores.Dispose()
|
||||
ObjInventario.Dispose()
|
||||
ObjConta.Dispose()
|
||||
ObjVentas.Dispose()
|
||||
|
||||
@@ -83,16 +83,11 @@
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
|
||||
|
||||
|
||||
<div class="row" style="margin-left: 0px; margin-right: 0px;">
|
||||
|
||||
<asp:UpdatePanel ID="UpGenerales" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="col-md-8">
|
||||
<div class="portlet smmallpadding light bordered infomov" style="width: 750px">
|
||||
<div class="col-md-6">
|
||||
<div class="portlet smmallpadding light bordered infomov" style="width: 100%">
|
||||
<div class="portlet-title">
|
||||
<div class="tools">
|
||||
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
|
||||
@@ -100,6 +95,7 @@
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;">
|
||||
<i class="fa fa-info-circle"></i>Información del movimiento
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body" <%= IIf(chkexpand.Checked = True, "", "style='display:none;'")%>>
|
||||
@@ -241,6 +237,7 @@
|
||||
<div class="row">
|
||||
<label class="col-md-1 truncate" style="width: 110px">
|
||||
Observaciones:
|
||||
|
||||
</label>
|
||||
<div class="col-md-5">
|
||||
<asp:TextBox ID="TxtObservaciones" TextMode="MultiLine" Rows="2" CssClass="form-control input-sm" runat="server" MaxLength="232"></asp:TextBox>
|
||||
@@ -282,10 +279,58 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div id="DivRecepcionUsados" runat="server" visible="false" class="portlet light xspadding bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Remisiones por Recibir</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tools">
|
||||
<asp:Panel runat="server" DefaultButton="BtnConsultarPendientes">
|
||||
|
||||
|
||||
<b>Sucursal:</b>
|
||||
<asp:DropDownList ID="DdlSubProyectos" runat="server" CssClass="form-control input-sm select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="90px"></asp:DropDownList>
|
||||
|
||||
<asp:TextBox ID="TxtFechaPendientes" runat="server" CausesValidation="true" MaxLength="10" ValidationGroup="GrpPendientes" Width="70px" ClientIDMode="Static"></asp:TextBox>
|
||||
<asp:LinkButton ID="ImgFechaPendientes" Style="background-color: white;" class="btn default " Text="<i style='width:16px; height:16px;' class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaPendientes" runat="server" TargetControlID="TxtFechaPendientes" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="CEFechaPendientes" TargetControlID="TxtFechaPendientes" PopupButtonID="ImgFechaPendientes" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="RFVFechaPendientes" runat="server" ControlToValidate="TxtFechaPendientes" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="GrpPendientes"></asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="CVFechaPendientes" runat="server" ControlToValidate="TxtFechaPendientes" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpPendientes"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOFecha1Pendientes" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaPendientes" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOFecha2Pendientes" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaPendientes" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<asp:Button Text="Recarga" Width="75px" ID="BtnConsultarPendientes" OnClick="BtnConsultarPendientes_Click" CssClass="btn btn-primary" runat="server" ValidationGroup="GrpPendientes" />
|
||||
<a href="javascript:;" class="collapse"></a>
|
||||
</asp:Panel>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<asp:GridView ID="GVPendientes" runat="server" DataKeyNames="CveVenta" EmptyDataText="Aun no hay registros." AutoGenerateColumns="False" ShowHeader="true" ShowHeaderWhenEmpty="True" HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover Widthall ScrollAD" data-height="200" data-freezerows="1" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Serie-Folio" ItemStyle-Width="20%">
|
||||
<ItemTemplate>
|
||||
<asp:Label runat="server" ID="LblFolio" Text='<%# Eval("SerieFolio")%>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton Text="Recibir" ID="BtnRecibir" CommandArgument="-1" OnClick="BtnRecibir_Click" CssClass="btn btn-primary btn-xs" runat="server" />
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Center" Width="20%" />
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<%--INVENTARIO INICIAL--%>
|
||||
<asp:UpdatePanel runat="server" ID="UpCodigoBarras" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
@@ -297,6 +342,7 @@
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;">
|
||||
<i class="fa fa-info-circle"></i>Agregar Producto
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
@@ -351,8 +397,6 @@
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UpRegistroTipoCambio" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="col-md-4">
|
||||
@@ -365,12 +409,14 @@
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;">
|
||||
<i class="fa fa-info-circle"></i>Información de registro
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<div class="row">
|
||||
<label class="col-md-3 truncate">
|
||||
Usuario:
|
||||
|
||||
</label>
|
||||
<div class="col-md-6">
|
||||
<asp:Label ID="LblUsuarioRegistro" runat="server"></asp:Label>
|
||||
@@ -380,6 +426,7 @@
|
||||
<div class="row" style="margin-top: 10px;">
|
||||
<label class="col-md-3 truncate">
|
||||
Fecha:
|
||||
|
||||
</label>
|
||||
<div class="col-md-6">
|
||||
<asp:Label ID="LblFechaRegistro" runat="server"></asp:Label>
|
||||
@@ -388,6 +435,7 @@
|
||||
<div class="row" style="margin-top: 10px;">
|
||||
<label class="col-md-3 truncate">
|
||||
Referencia:
|
||||
|
||||
</label>
|
||||
<div class="col-md-6">
|
||||
<asp:HyperLink ID="HplCompra" Target="_blank" runat="server" Visible="False" CssClass="Texto">Ver Compra</asp:HyperLink>
|
||||
@@ -400,6 +448,7 @@
|
||||
<div class="row" runat="server" id="RowConsignacion" visible="false" style="margin-top: 10px;">
|
||||
<label class="col-md-3 truncate">
|
||||
Consignación:
|
||||
|
||||
</label>
|
||||
<div class="col-md-6">
|
||||
<asp:HyperLink ID="HLConsignacion" Target="_blank" NavigateUrl="#" Text="" runat="server" />
|
||||
@@ -409,6 +458,7 @@
|
||||
<div class="row" runat="server" id="RowTipoCambio" visible="false" style="margin-top: 10px;">
|
||||
<label class="col-md-3 truncate">
|
||||
Tipo Cambio:
|
||||
|
||||
</label>
|
||||
<div class="col-md-6">
|
||||
<asp:Label Text="" ID="LbTipoCambio" runat="server" />
|
||||
@@ -417,6 +467,7 @@
|
||||
<div class="row" runat="server" id="RowMtoRel" visible="false" style="margin-top: 10px;">
|
||||
<label class="col-md-3 truncate">
|
||||
Mto. Rel.:
|
||||
|
||||
</label>
|
||||
<div class="col-md-6">
|
||||
<asp:HyperLink ID="lnkMtoRelaioando" CssClass="Texto" runat="server" Target="_blank">ver</asp:HyperLink>
|
||||
@@ -434,6 +485,7 @@
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;">
|
||||
<i class="fa fa-info-circle"></i>Tipo de Cambio
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
@@ -470,9 +522,7 @@
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
</div>
|
||||
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row" runat="server" id="DivCodigoSeriePS" visible="false">
|
||||
@@ -702,6 +752,7 @@
|
||||
<div class="row">
|
||||
<div class="col-md-5" style="text-align: right;">
|
||||
Cantidad
|
||||
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<asp:TextBox ClientIDMode="Static" ID="TxtCantidadEspecial" Text="" runat="server"></asp:TextBox>
|
||||
@@ -766,7 +817,8 @@
|
||||
<label for='<%= DdlProducto2.ClientID %>'>Producto:</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group form-md-line-input "><br />
|
||||
<div class="form-group form-md-line-input ">
|
||||
<br />
|
||||
<label for='<%= DdlUnidad.ClientID %>'>Unidad de Medida:</label><br />
|
||||
<asp:DropDownList ID="DdlUnidad" runat="server" Class="form-control input-sm select2me" Style="width: 75px !important;" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida"></asp:DropDownList>
|
||||
<asp:CompareValidator ID="CVUnidad" runat="server" ControlToValidate="ddlUnidad" Type="Integer" Operator="GreaterThan" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Unidad Medida''</b> es necesario, por favor selecione una." Display="None" ValueToCompare="0" ValidationGroup="GprAgregarUsado"></asp:CompareValidator>
|
||||
|
||||
@@ -198,6 +198,14 @@ Partial Class Inventarios_RecepcionUsados
|
||||
ViewState("FolioAsignado") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property CveRemisionRecibida As Integer
|
||||
Get
|
||||
Return IfNull(ViewState("CveRemisionRecibida"), -1, CType(ViewState("CveRemisionRecibida"), Integer)).ToString().ToEntero()
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveRemisionRecibida") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Private ReadOnly Property CveConcepto As Integer
|
||||
@@ -270,6 +278,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
CreaDT()
|
||||
CargaCombos()
|
||||
TxtFecha.Text = Now.ToShortDateString
|
||||
TxtFechaPendientes.Text = Now.ToShortDateString
|
||||
RVFecha.MaximumValue = Now.ToShortDateString
|
||||
InicializaClientes()
|
||||
|
||||
@@ -298,6 +307,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
End If
|
||||
End If
|
||||
|
||||
CargaSubProyectosUsados()
|
||||
InicializaBitacoraTemporal()
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(132) = "1" Then
|
||||
@@ -507,8 +517,30 @@ Partial Class Inventarios_RecepcionUsados
|
||||
Private Sub CargaSubProyectos()
|
||||
DdlSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1))
|
||||
DdlSubProyecto.DataBind()
|
||||
|
||||
|
||||
'DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
End Sub
|
||||
|
||||
Private Sub CargaSubProyectosUsados()
|
||||
If UsuarioActual.CveEmpresa = 140 Then
|
||||
DivRecepcionUsados.Visible = True
|
||||
|
||||
If Not UsuarioActual.TienePermisoProceso(190) Then
|
||||
'CARGA SOLO LAS SUCURSALES DE LOS ALMCENES QUE TIENE ASIGNADO EL USUARIO
|
||||
Dim ObjInventarios As New ClsInventarios
|
||||
If ObjInventarios.GetSucursalesAlmacenUsuario(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
DdlSubProyectos.DataSource = ObjInventarios.DtResultados
|
||||
End If
|
||||
ObjInventarios.Dispose()
|
||||
Else
|
||||
DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
|
||||
End If
|
||||
DdlSubProyectos.DataBind()
|
||||
DdlSubProyectos.SelectedValueExist(UsuarioActual.CveSubProyecto.ToString)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Private Sub CargaPersonal()
|
||||
TrPersonal.Visible = True
|
||||
Dim dt As DataTable = Nothing
|
||||
@@ -940,16 +972,12 @@ Partial Class Inventarios_RecepcionUsados
|
||||
|
||||
End Sub
|
||||
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
|
||||
|
||||
|
||||
|
||||
|
||||
If GvM.Rows.Count > 0 Then
|
||||
|
||||
'Dim CveMovimiento As Integer
|
||||
Dim ObjInventario As New ClsInventarios
|
||||
Dim ObjAcum As New ClsAcumuladores(ObjInventario.IniciaTransacSQL())
|
||||
|
||||
Dim ObjVentas As New ClsVentas(ObjInventario.IniciaTransacSQL())
|
||||
|
||||
Dim ErrorMovInv As Boolean = False
|
||||
Dim ErrorAC As Boolean = False
|
||||
@@ -978,9 +1006,12 @@ Partial Class Inventarios_RecepcionUsados
|
||||
End If
|
||||
Dim tCveProveedor As Integer = -1
|
||||
If DdlProveedor.SelectedValue.ToEntero > 0 Then tCveProveedor = DdlProveedor.SelectedValue.ToEntero
|
||||
|
||||
Dim CveVenta As Integer = -1
|
||||
If CveRemisionRecibida > 0 Then
|
||||
CveVenta = CveRemisionRecibida
|
||||
End If
|
||||
'Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inv/ES", 53, 0, 0, 1, TxtFecha.Text.ToDate, $" {TxtObservaciones.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
|
||||
CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, CveConcepto, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1,
|
||||
CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, CveConcepto, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta,
|
||||
CveSubProyecto, ActivoFijo, Guia:=TxtGuia.Text, Observaciones:=TxtObservaciones.Text, CvePersonal:=DdlPersonal.SelectedValue.ToEntero,
|
||||
Recibio:=TxtResponsable.Text.Trim, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, DepartamentoEntrega:=TxtDepartamentoEntrega.Text,
|
||||
PedidoContrato:=TxtPedidoContrato.Text, CveProveedor:=tCveProveedor)
|
||||
@@ -1007,6 +1038,12 @@ Partial Class Inventarios_RecepcionUsados
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Not ObjVentas.UpdateVentaUsadoRecibido(CveRemisionRecibida, Dr("CvePS").ToString.ToEntero, True) Then
|
||||
Mensaje = "Error al actualizar el recibo de los usados"
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
Dim CveConceptoUsados As Integer = If(RBLOpcion.SelectedValue.ToEntero = 2, 1, 2)
|
||||
|
||||
|
||||
@@ -1933,4 +1970,45 @@ Partial Class Inventarios_RecepcionUsados
|
||||
UpGenerales.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnConsultarPendientes_Click(sender As Object, e As EventArgs)
|
||||
Dim ObjVentas As New ClsVentas
|
||||
If ObjVentas.GetVentasUsados(-1, DdlSubProyectos.SelectedValue.ToEntero(), TxtFechaPendientes.Text.ToDateTime(), UsuarioActual.CveEmpresa) Then
|
||||
GVPendientes.DataSource = ObjVentas.DtResultados
|
||||
End If
|
||||
ObjVentas.Dispose()
|
||||
GVPendientes.DataBind()
|
||||
|
||||
UpGenerales.Update()
|
||||
End Sub
|
||||
Protected Sub BtnRecibir_Click(sender As Object, e As EventArgs)
|
||||
Me.CveRemisionRecibida = -1
|
||||
Me.CveRemisionRecibida = CType(CType(sender, LinkButton).NamingContainer, GridViewRow).DataKey("CveVenta").ToEntero()
|
||||
|
||||
Dim DtUsados As DataTable = Nothing
|
||||
Dim ObjVentas As New ClsVentas
|
||||
If ObjVentas.GetVentasUsadosDetalle(CveRemisionRecibida) Then
|
||||
DtUsados = ObjVentas.DtResultados.Copy()
|
||||
End If
|
||||
ObjVentas.Dispose()
|
||||
|
||||
If DtUsados IsNot Nothing Then
|
||||
For Each RowUsado As DataRow In DtUsados.Rows
|
||||
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
|
||||
|
||||
Dim RowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).Rows(0) '.FiltroPrimeroValor("CveTamaño", $"CvePS = { DdlProducto2.SelectedValue.ToEntero }").ToEntero
|
||||
Dim CveTamaño As Integer = RowPS("CveTamaño").ToString().ToEntero()
|
||||
|
||||
Dim PS As String = RowPS("PS").ToString()
|
||||
Dim CveUM As Integer = RowPS("CveUnidadMedida").ToString().ToEntero()
|
||||
Dim UM As String = RowPS("UnidadMedida").ToString()
|
||||
Dim Cantidad As Double = RowUsado("Cantidad").ToString().ToEntero()
|
||||
Dim PU As Double = RowUsado("PU").ToString().ToDouble()
|
||||
|
||||
AddNew(CvePS, PS, CveUM, UM, Cantidad, PU,
|
||||
"", "-1", "-1", "-1", "", "", "", DdlAlmacen.SelectedValue.ToEntero, DdlAlmacen.SelectedItem.Text, "", CveTamaño)
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
28/08/2019:05:48 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 80
|
||||
|
||||
02/09/2019:11:00 a. m. From:'signotificaciones@adssistemas.mx' - Para:'x@x.com' - Asunto:'Entrega de Factura SUCURSAL NARANJO SN-22' - CCP: '' - Adjuntos: 1
|
||||
|
||||
|
||||
@@ -337,6 +337,7 @@
|
||||
<asp:DropDownList CssClass="form-control input-sm" ID="DdlTipoComprobante" DataValueField="CveTipoDocumento" DataTextField="TipoDocumento" runat="server" AppendDataBoundItems="true" AutoPostBack="true" Width="100px">
|
||||
<asp:ListItem Value="Ing" Text="Ingresos" Selected="True"></asp:ListItem>
|
||||
<asp:ListItem Value="Ant" Text="Anticipos"></asp:ListItem>
|
||||
<asp:ListItem Value="Rem" Text="Remision"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
|
||||
</td>
|
||||
@@ -1503,7 +1504,7 @@
|
||||
<asp:Literal ID="LtlRecepcionUsados" Text="Recepcion Usados" runat="server"> </asp:Literal></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<asp:GridView ID="GvRecepcionUsados" runat="server" GridLines="None" ShowHeaderWhenEmpty="true" CssClass="table table-hover table-striped ScrollAD mysmallbtn" Width="100%" data-sort="true" AutoGenerateColumns="False"
|
||||
<asp:GridView ID="GvRecepcionUsadosModal" runat="server" GridLines="None" ShowHeaderWhenEmpty="true" CssClass="table table-hover table-striped ScrollAD mysmallbtn" Width="100%" data-sort="true" AutoGenerateColumns="False"
|
||||
DataKeyNames="CvePSCargo,CveUM,Cargo">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="CodigoPS" HeaderText="Producto/Servicio" ItemStyle-HorizontalAlign="Left" />
|
||||
@@ -2620,7 +2621,7 @@
|
||||
<asp:HiddenField ID="HdnPorcentajeIEPS" runat="server" Value="-1" />
|
||||
<asp:HiddenField ID="HdnCvePS" runat="server" Value="-1" />
|
||||
|
||||
<div class="row">
|
||||
<div class="row" runat="server" visible="false">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlClasificacion" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="100%" OnSelectedIndexChanged="DdlClasificacion_SelectedIndexChanged">
|
||||
@@ -2643,7 +2644,7 @@
|
||||
<br />
|
||||
<asp:UpdatePanel runat="server" ID="UpUnidadMedida" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<div runat="server" visible="false" class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlUnidadMedida" AppendDataBoundItems="true" CssClass="form-control input-sm select2me " runat="server" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" Style="width: 100%;"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVUnidadMedida" runat="server" ControlToValidate="DdlUnidadMedida" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Unidad de Medida''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEUnidadMedida" runat="server" HighlightCssClass="vco" TargetControlID="RFVUnidadMedida" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
@@ -2653,12 +2654,30 @@
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<br />
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
<label>Observación:</label>
|
||||
<br />
|
||||
<asp:TextBox ID="TxtObsPS" runat="server" Height="50" Width="398px" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
|
||||
<asp:TextBox ID="TxtObsPS" runat="server" Height="100%" Width="100%" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
|
||||
</div>
|
||||
<div class="col-md-5" id="DivRecepcionUsados" runat="server" visible="false">
|
||||
<asp:GridView ID="GvRecepcionUsados" runat="server" GridLines="None" ShowHeaderWhenEmpty="true" CssClass="table table-hover table-striped ScrollAD mysmallbtn"
|
||||
data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" data-height="100"
|
||||
DataKeyNames="CvePSCargo,CveUM,Cargo,CveTamaño">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="CodigoPS" HeaderText="Tamaño" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="70%" />
|
||||
<asp:TemplateField HeaderText="Cantidad" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="30%" >
|
||||
<ItemTemplate>
|
||||
<asp:TextBox ID="TxtCantidad" runat="server" Width="80%"></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender ID="FTBECantidad" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtPrecio" runat="server" onkeypress="setFocus(event,'LbAgregar');" onkeyup="Recalcula();" CausesValidation="true" lang="nb" ClientIDMode="Static" Text="0.00" MaxLength="12" ValidationGroup="GrpAddVenta" Width="76px" CssClass="form-control "></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="TxtPrecio" FilterType="Custom, Numbers" ValidChars="." />
|
||||
|
||||
@@ -4,8 +4,7 @@ Option Strict On
|
||||
Imports Extensiones
|
||||
Imports System.Data
|
||||
Imports System.IO
|
||||
Imports System.Xml
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports System.Linq
|
||||
Imports System.Security.Cryptography.X509Certificates
|
||||
Imports System.Globalization
|
||||
|
||||
@@ -1955,9 +1954,10 @@ Partial Class PV
|
||||
|
||||
Dim DbRow As DataRow = Nothing
|
||||
DbRow = TmpDT.Rows(e.RowIndex)
|
||||
TmpDT.Rows.Remove(DbRow)
|
||||
|
||||
CalculaUsados()
|
||||
EliminarUsados(DbRow("Consec").ToString().ToEntero())
|
||||
|
||||
TmpDT.Rows.Remove(DbRow)
|
||||
|
||||
GvPS.DataSource = TmpDT
|
||||
DtInv = TmpDT.Copy.FiltraParametros("CveTipoPS = 2")
|
||||
@@ -2256,22 +2256,18 @@ Partial Class PV
|
||||
MandarCorreoSupervisor = False
|
||||
End If
|
||||
|
||||
'If DdlTipoComprobante.SelectedValue = "Cot" Then
|
||||
' EmitirImprimirNew()
|
||||
'If TmpDTAjustes IsNot Nothing AndAlso Not TmpDTAjustes.Rows.Count > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" Then
|
||||
' RegistraScript("$('#DModalRecepcionUsados').modal('show');")
|
||||
'Else
|
||||
' LimpiaEscondeContado()
|
||||
' EmitirImprimirNew()
|
||||
'End If
|
||||
|
||||
If TmpDTAjustes IsNot Nothing AndAlso Not TmpDTAjustes.Rows.Count > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" Then
|
||||
RegistraScript(String.Format("$('#{0}').modal('show');", "DModalRecepcionUsados"))
|
||||
Else
|
||||
EmitirImprimirNew()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region " NNNNEEEEEEEWWWWWW "
|
||||
#Region "E M I T I R - F A C T U R A"
|
||||
Protected Sub EmitirImprimirNew()
|
||||
|
||||
If ValidaPagosContado() Then
|
||||
@@ -2293,12 +2289,6 @@ Partial Class PV
|
||||
Alert(Mensaje, If(Retorno.TieneError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion), If(Retorno.TieneError, "", Retorno.LigaPV))
|
||||
Next
|
||||
|
||||
|
||||
' 'MUESTA ALERT OK
|
||||
' Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}&Opt=3"";")
|
||||
' Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, Liga)
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -2499,12 +2489,12 @@ Partial Class PV
|
||||
ddlAlmacen.SelectedIndex = 1
|
||||
End If
|
||||
|
||||
ObjFactura.CveAlmacen = ddlAlmacen.SelectedValue.ToEntero
|
||||
'ObjFactura.CveAlmacen = ddlAlmacen.SelectedValue.ToEntero
|
||||
|
||||
DtInv.Columns.Add("Seleccionado", GetType(Integer))
|
||||
For Each Gvr As GridViewRow In GvInv.Rows
|
||||
Dim Dr As DataRow = DtInv.Select($"CvePS={Gvr.DataKey("CvePS")}")(0)
|
||||
If Gvr.FCCheckBox("cbInv").Checked Then
|
||||
If Gvr.FCCheckBox("cbInv").Checked AndAlso ddlAlmacen.SelectedValue.ToEntero > 0 Then
|
||||
Dr("Seleccionado") = 1
|
||||
Else
|
||||
Dr("Seleccionado") = 0
|
||||
@@ -2512,7 +2502,7 @@ Partial Class PV
|
||||
Next
|
||||
DtInv.AcceptChanges()
|
||||
|
||||
ObjFactura.DtInventario = DtInv.FiltraParametros("Seleccionado = 1")
|
||||
'ObjFactura.DtInventario = DtInv.FiltraParametros("Seleccionado = 1")
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -2717,6 +2707,11 @@ Partial Class PV
|
||||
HdnTipoInv.Value = drPS("Inv_CveMetodoInventario").ToString
|
||||
HdnAplicaIEPS.Value = drPS("AplicaIEPS").ToString
|
||||
HdnPorcentajeIEPS.Value = drPS("IEPSPorcentaje").ToString
|
||||
'Muestra la tabla de tamaños
|
||||
If drPS("CveTamaño").ToString().ToEntero() > 0 Then
|
||||
DivRecepcionUsados.Visible = True
|
||||
End If
|
||||
|
||||
DdlUnidadMedida.Items.Clear()
|
||||
If UsuarioActual.Empresa.UsaInventarios Then
|
||||
DdlUnidadMedida.DataSource = GlobalDTProductosServiciosEquivalencias(CvePSParametro, -1)
|
||||
@@ -2791,7 +2786,7 @@ Partial Class PV
|
||||
UpClasificacion.Update()
|
||||
UpPS.Update()
|
||||
UpUnidadMedida.Update()
|
||||
|
||||
UpAddVenta.Update()
|
||||
End Sub
|
||||
Protected Sub DdlPS_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DdlPS.selectedindexchange
|
||||
DdlPSIndexChange(DdlPS.SelectedValue.ToEntero, DdlPS)
|
||||
@@ -2980,6 +2975,9 @@ Partial Class PV
|
||||
TmpDT.Columns.Add("CveTamaño", GetType(Integer))
|
||||
TmpDT.Columns.Add("EsCargo", GetType(Boolean))
|
||||
|
||||
TmpDT.Columns.Add("PUOriginal", GetType(Decimal))
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CreaDTmpC()
|
||||
@@ -3152,6 +3150,13 @@ Partial Class PV
|
||||
|
||||
ChkAgregar.Checked = True
|
||||
|
||||
For Each Gvr As GridViewRow In GvRecepcionUsados.Rows
|
||||
If Gvr.RowType = DataControlRowType.DataRow Then
|
||||
Gvr.FCTextBox("TxtCantidad").Text = ""
|
||||
End If
|
||||
Next
|
||||
DivRecepcionUsados.Visible = False
|
||||
|
||||
LimpiaAjuste()
|
||||
|
||||
UPPDescuento.Update()
|
||||
@@ -3164,17 +3169,19 @@ Partial Class PV
|
||||
Optional SerieLote As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0,
|
||||
Optional CveContratoDetalle As Integer = 0, Optional CveVentaDetalle As Integer = 0, Optional CveMovimientoDetallePedido As Integer = 0,
|
||||
Optional CveOrdenCompraDetalle As Integer = 0, Optional CveVentaDetalleRemision As Integer = 0, Optional CveVentaDetalleCotizacion As Integer = 0,
|
||||
Optional CuentaPredial As String = "", Optional RegeneraIEPS As Boolean = True, Optional CveVentaDetallePedido2 As Integer = 0, Optional EsCargo As Boolean = False) As Boolean
|
||||
Optional CuentaPredial As String = "", Optional RegeneraIEPS As Boolean = True, Optional CveVentaDetallePedido2 As Integer = 0, Optional EsCargo As Boolean = False) As Integer
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
Dim Retorno As Integer = -1
|
||||
If Not CvePS > 0 Then
|
||||
Alert("Ocurrió un error al cargar la información del producto a agregar. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
Retorno = -1
|
||||
Return Retorno
|
||||
End If
|
||||
|
||||
If (Obs.Length + PS.Length > 1000) Then
|
||||
Alert(String.Format("El Nombre y observación del producto tiene longitud de {0} caracteres y excede los 1000 caracteres permitidos.", Obs.Length + PS.Length), TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
Retorno = -1
|
||||
Return Retorno
|
||||
End If
|
||||
|
||||
'VALIDA CONCEPTOS EN CERO - YA SE VALIDA ANTES CON FUNCIONALIDAD - A MIRAS DE ELIMINAR - IPP 28 AGOSTO 2017
|
||||
@@ -3183,153 +3190,19 @@ Partial Class PV
|
||||
If Cantidad * PU <= 0 Then
|
||||
If Not DdlTipoComprobante.SelectedValue = "DPe" Then
|
||||
Alert("El importe del concepto debe ser mayor a cero. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
Retorno = -1
|
||||
Return Retorno
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Dim Row As DataRow = Nothing
|
||||
|
||||
If Modalidad = "A" Then
|
||||
Dim Row As DataRow = Nothing
|
||||
Dim TotalCalculableImpuestos As Decimal = 0
|
||||
PU = Math.Round(PU, 6) ' el precio unitario puede llevar hasta 6 decimales permitidos
|
||||
|
||||
Row = TmpDT.NewRow()
|
||||
Row("CveProyecto") = CveProyecto
|
||||
Row("Proyecto") = Proyecto
|
||||
Row("CveSubProyecto") = CveSubProyecto
|
||||
Row("SubProyecto") = SubProyecto
|
||||
Row("SerieLote") = SerieLote
|
||||
Row("TiempoEntrega") = TiempoEntrega
|
||||
Row("Orden") = TmpDT.Rows.Count + 1
|
||||
Row("Cantidad") = Cantidad
|
||||
Row("CveUM") = CveUM
|
||||
Row("UM") = UM
|
||||
Row("CveClasificacion") = CveClasificacion
|
||||
Row("Clasificacion") = Clasificacion
|
||||
Row("CvePS") = CvePS
|
||||
Row("Obs") = Obs
|
||||
|
||||
|
||||
|
||||
Dim DrPS As DataRow = Nothing
|
||||
|
||||
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") ' Estado = -1
|
||||
|
||||
If DrPS Is Nothing Then
|
||||
Alert("Ocurrió un error al cargar la información del Producto. Por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
If Not ClienteDesglosaIEPS Then
|
||||
If Not RegeneraIEPS Then
|
||||
PU = PU * (1 + DrPS("IEPSPorcentaje").ToString.ToDecimal)
|
||||
End If
|
||||
DrPS("IEPSPorcentaje") = 0
|
||||
End If
|
||||
|
||||
'verifica si tiene ventaminima
|
||||
If Cantidad > 0 AndAlso DrPS("VentaMinima").ToString.ToDecimal > 0 Then
|
||||
'verifico que la cantidad sea multiplo de venta minima, es decir ventaminima =5, solo puede vender 5,10,15...
|
||||
If Cantidad Mod DrPS("VentaMinima").ToString.ToDecimal <> 0 Then
|
||||
Alert(String.Format("El producto se vende solo en cantidades de {0}", DrPS("VentaMinima").ToString))
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento
|
||||
|
||||
Row("PU") = PU
|
||||
Row("Codigo") = DrPS("Codigo")
|
||||
Row("NoIdentificacion") = DrPS("Codigo")
|
||||
Row("ClaveSATFraccionArancelaria") = DrPS("ClaveSATFraccionArancelaria")
|
||||
Row("ClaveSATUnidadAduana") = DrPS("ClaveSATUnidadAduana")
|
||||
Row("ClaveSATFraccionArancelariaDescripcion") = DrPS("ClaveSATFraccionArancelariaDescripcion")
|
||||
Row("ClaveSATUnidadAduanaDescripcion") = DrPS("ClaveSATUnidadAduanaDescripcion")
|
||||
Row("Consec") = TmpDT.Rows.Count + 1
|
||||
If Not EsCargo Then
|
||||
ConsecutivoVenta = TmpDT.Rows.Count + 1
|
||||
End If
|
||||
|
||||
Row("PS") = DrPS("PS")
|
||||
Row("CodigoPS") = DrPS("PSCodigo").ToString
|
||||
Row("CveTipoPS") = DrPS("CveTipoPS")
|
||||
Row("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario")
|
||||
Row("CveTamaño") = DrPS("CveTamaño")
|
||||
|
||||
If CveClasificacion <= 0 Then Row("CveClasificacion") = DrPS("CveClasificacion")
|
||||
If Clasificacion = "" Then Row("Clasificacion") = DrPS("Clasificacion")
|
||||
|
||||
If DrPS("IVA").ToString.Contiene("-1", "") Then
|
||||
Row("PorcentajeIVA") = SubProyectoPorcentajeIVA
|
||||
Else
|
||||
Row("PorcentajeIVA") = DrPS("IVA")
|
||||
End If
|
||||
|
||||
Row("IVA") = Row("PorcentajeIVA")
|
||||
Row("ImporteIVA") = Math.Round(Row("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
|
||||
|
||||
|
||||
Row("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales)
|
||||
Row("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales)
|
||||
Row("PorcentajeRetIVA") = ClienteRetIVA
|
||||
Row("PorcentajeRetISR") = ClienteRetISR
|
||||
Row("PorcentajeIEPS") = DrPS("IEPSPorcentaje")
|
||||
Row("ImporteIEPS") = Math.Round(DrPS("IEPSPorcentaje").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
|
||||
Row("IEPS") = Row("ImporteIEPS")
|
||||
Row("Descuento") = Math.Round(Descuento, NumeroDecimales)
|
||||
Row("TipoDescuento") = HdnTipoDescuento.Value
|
||||
Row("Total") = (Cantidad * PU)
|
||||
Row("TotalImporte") = Math.Round(Cantidad * PU, NumeroDecimales)
|
||||
'Row("AsientoContableVentas") = DrPS("AsientoContableVentas")
|
||||
' Row("IdCtaContVentas") = IdCtaContable
|
||||
' Row("AplicaParaConcepto") = AplicaParaConcepto
|
||||
|
||||
Row("SATClaveProdServ") = DrPS("SATClavePS")
|
||||
Row("SATClaveUM") = DrPS("SATClaveUnidadMedida")
|
||||
|
||||
|
||||
Row("EntregaDirecta") = EntregaDirecta
|
||||
'Contratos
|
||||
Row("CveContratoDetalle") = CveContratoDetalle
|
||||
Row("CveVentaDetalle") = CveVentaDetalle
|
||||
Row("CveMovimientoDetallePedido") = CveVentaDetalle
|
||||
Row("CveOrdenCompraDetalle") = CveOrdenCompraDetalle
|
||||
Row("CveVentaDetalleRemision") = CveVentaDetalleRemision
|
||||
Row("CveVentaDetalleCotizacion") = CveVentaDetalleCotizacion
|
||||
Row("CveVentaDetallePedido2") = CveVentaDetallePedido2
|
||||
Row("CuentaPredial") = CuentaPredial
|
||||
Row("EsCargo") = EsCargo
|
||||
|
||||
If UsuarioActual.CveEmpresa = 119 Then
|
||||
If Not RemisionesLista.Count > 0 Then 'SI VIENE DE REMISION NO SE CONSIDERA
|
||||
|
||||
'MONEDA DIFERENTE DEL PS AL PRIMER PS AGREGADO
|
||||
If DdlMoneda.Enabled = False And CveVenta < 0 And TmpDT.Rows.Count > 0 Then
|
||||
If DdlMoneda.SelectedValue <> DrPS("CveMoneda").ToString Then
|
||||
Alert($"La moneda base del producto: <b>{DrPS("PSCodigo").ToString}</b> es diferente a la moneda del documento.", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
'ACTIVA PRODUCTOS DE LA MISMA MONEDA
|
||||
If TmpDT.Rows.Count = 0 And CveVenta < 0 Then
|
||||
DdlMoneda.SelectedValueExist(DrPS("CveMoneda").ToString)
|
||||
CambiaMoneda()
|
||||
DdlMoneda.Enabled = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'RECARGAR GV
|
||||
TmpDT.Rows.Add(Row)
|
||||
|
||||
ElseIf Modalidad = "U" Then
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = 0
|
||||
PU = Math.Round(PU, 6) ' el precio unitario puede llevar hasta 6 decimales permitidos
|
||||
Dim Contador As Integer = 0
|
||||
For Each Dr As DataRow In TmpDT.Rows
|
||||
If Dr("Consec").ToString.ToEntero = Index Then
|
||||
@@ -3337,7 +3210,12 @@ Partial Class PV
|
||||
End If
|
||||
Contador = Contador + 1
|
||||
Next
|
||||
Dim Row As DataRow = TmpDT.Rows(Contador)
|
||||
Row = TmpDT.Rows(Contador)
|
||||
End If
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = 0
|
||||
PU = Math.Round(PU, 6) ' el precio unitario puede llevar hasta 6 decimales permitidos
|
||||
|
||||
Row("CveProyecto") = CveProyecto
|
||||
Row("Proyecto") = Proyecto
|
||||
Row("CveSubProyecto") = CveSubProyecto
|
||||
@@ -3353,16 +3231,14 @@ Partial Class PV
|
||||
Row("CvePS") = CvePS
|
||||
Row("Obs") = Obs
|
||||
|
||||
Dim DrPS As DataRow = Nothing
|
||||
|
||||
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") ' Estado = -1
|
||||
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") ' Estado = -1
|
||||
|
||||
If DrPS Is Nothing Then
|
||||
Alert("Ocurrió un error al cargar la información del Producto. Por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
Retorno = -1
|
||||
Return Retorno
|
||||
End If
|
||||
|
||||
|
||||
If Not ClienteDesglosaIEPS Then
|
||||
If Not RegeneraIEPS Then
|
||||
PU = PU * (1 + DrPS("IEPSPorcentaje").ToString.ToDecimal)
|
||||
@@ -3375,12 +3251,20 @@ Partial Class PV
|
||||
'verifico que la cantidad sea multiplo de venta minima, es decir ventaminima =5, solo puede vender 5,10,15...
|
||||
If Cantidad Mod DrPS("VentaMinima").ToString.ToDecimal <> 0 Then
|
||||
Alert(String.Format("El producto se vende solo en cantidades de {0}", DrPS("VentaMinima").ToString))
|
||||
Return False
|
||||
Retorno = -1
|
||||
Return Retorno
|
||||
End If
|
||||
End If
|
||||
|
||||
TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento
|
||||
|
||||
If Modalidad = "A" Then
|
||||
If Not TmpDT.Columns.Contains("PUOriginal") Then
|
||||
TmpDT.Columns.Add("PUOriginal", GetType(Decimal))
|
||||
End If
|
||||
Row("PUOriginal") = PU
|
||||
End If
|
||||
|
||||
Row("PU") = PU
|
||||
Row("Codigo") = DrPS("Codigo")
|
||||
Row("NoIdentificacion") = DrPS("Codigo")
|
||||
@@ -3388,9 +3272,17 @@ Partial Class PV
|
||||
Row("ClaveSATUnidadAduana") = DrPS("ClaveSATUnidadAduana")
|
||||
Row("ClaveSATFraccionArancelariaDescripcion") = DrPS("ClaveSATFraccionArancelariaDescripcion")
|
||||
Row("ClaveSATUnidadAduanaDescripcion") = DrPS("ClaveSATUnidadAduanaDescripcion")
|
||||
|
||||
If Modalidad = "A" Then
|
||||
Row("Consec") = TmpDT.Rows.Count + 1
|
||||
If Not EsCargo Then
|
||||
ConsecutivoVenta = TmpDT.Rows.Count + 1
|
||||
End If
|
||||
ElseIf Modalidad = "U" Then
|
||||
If Not EsCargo Then
|
||||
ConsecutivoVenta = Row("Consec").ToString.ToEntero
|
||||
End If
|
||||
End If
|
||||
|
||||
Row("PS") = DrPS("PS")
|
||||
Row("CodigoPS") = DrPS("PSCodigo").ToString
|
||||
@@ -3409,8 +3301,6 @@ Partial Class PV
|
||||
|
||||
Row("IVA") = Row("PorcentajeIVA")
|
||||
Row("ImporteIVA") = Math.Round(Row("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
|
||||
|
||||
|
||||
Row("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales)
|
||||
Row("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales)
|
||||
Row("PorcentajeRetIVA") = ClienteRetIVA
|
||||
@@ -3449,7 +3339,8 @@ Partial Class PV
|
||||
If DdlMoneda.Enabled = False And CveVenta < 0 And TmpDT.Rows.Count > 0 Then
|
||||
If DdlMoneda.SelectedValue <> DrPS("CveMoneda").ToString Then
|
||||
Alert($"La moneda base del producto: <b>{DrPS("PSCodigo").ToString}</b> es diferente a la moneda del documento.", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
Retorno = -1
|
||||
Return Retorno
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -3462,10 +3353,14 @@ Partial Class PV
|
||||
End If
|
||||
End If
|
||||
|
||||
If Modalidad = "A" Then
|
||||
TmpDT.Rows.Add(Row)
|
||||
End If
|
||||
|
||||
Retorno = Row("Consec").ToString().ToEntero()
|
||||
|
||||
TmpDT.AcceptChanges()
|
||||
Retorno = True
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Private Function ValidaAgregarPS(CvePS As Integer, CveUM As Integer, PU As Double, CveTipoPS As Integer) As Boolean 'NO TOCAR - IPP
|
||||
@@ -3493,6 +3388,18 @@ Partial Class PV
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim CantidadUsados As Decimal = 0
|
||||
For Each Gvr As GridViewRow In GvRecepcionUsados.Rows
|
||||
If Gvr.RowType = DataControlRowType.DataRow Then
|
||||
CantidadUsados = CantidadUsados + Gvr.FCTextBox("TxtCantidad").Text.ToEntero()
|
||||
End If
|
||||
Next
|
||||
|
||||
If CantidadUsados > TxtCantidad.Text.ToEntero() Then
|
||||
Alert("No puede tener una cantidad mayor a la de los cargos", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
End If
|
||||
|
||||
'VALIDA PROMOCIONES
|
||||
Dim ObjVentas As New ClsVentas
|
||||
If ObjVentas.GetPromocionesPS(-1, TxtFecha.Text.ToDateTime, DdlSubProyectoDatos.SelectedValue.ToEntero, CveCliente, DdlVendedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
|
||||
@@ -3704,30 +3611,22 @@ Partial Class PV
|
||||
Dim CveProyecto As Integer = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).Rows(0)("CveProyecto").ToString.ToEntero
|
||||
Dim Proyecto As String = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).Rows(0)("Proyecto").ToString
|
||||
|
||||
AgregarProductoServicio(TxtCantidad.Text.ToDecimal, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text,
|
||||
|
||||
Dim Consec = AgregarProductoServicio(TxtCantidad.Text.ToDecimal, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text,
|
||||
CvePS, "", TxtObsPS.Text.Trim, If(CvePSAmortizacion > 0, TxtPrecio.Text.Trim.ToDecimal * -1, TxtPrecio.Text.Trim.ToDecimal), Descuento,
|
||||
CveProyecto, Proyecto, DdlSubProyectoDatos.SelectedValue.ToEntero, DdlSubProyectoDatos.SelectedItem.Text,
|
||||
SerieLote:="", TiempoEntrega:="", CuentaPredial:="", RegeneraIEPS:=ClienteDesglosaIEPS)
|
||||
|
||||
CalculaUsados()
|
||||
Dim ListaPSCargo = CalculaUsados(Consec)
|
||||
If ListaPSCargo.Count > 0 Then
|
||||
CalculaRecepcionUsados(GvRecepcionUsados, CvePS, ListaPSCargo)
|
||||
End If
|
||||
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
|
||||
''NO SIRVE PARA NADA - NO SE USAN LAS VARIABLES - IPP 28 AGOSTO 2017
|
||||
'For Each gvr As GridViewRow In GVAnticipos.Rows
|
||||
' Dim total As Decimal = TxtTotal.Text.ToString.ToDecimal
|
||||
' Dim saldo As Decimal = gvr.DataKey("Saldo").ToDecimal
|
||||
' Dim maxsaldo As Decimal
|
||||
' If total > saldo Then
|
||||
' maxsaldo = saldo
|
||||
' Else
|
||||
' maxsaldo = total
|
||||
' End If
|
||||
'Next
|
||||
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
@@ -4909,7 +4808,7 @@ Partial Class PV
|
||||
DdlFolioGarantia.DataSource = ObjAcum.DtResultados
|
||||
DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
End If
|
||||
|
||||
ObjAcum.Dispose()
|
||||
|
||||
DdlFacturas.Items.Insert(0, New ListItem("Sin Factura", "-1"))
|
||||
|
||||
@@ -4919,14 +4818,17 @@ Partial Class PV
|
||||
DdlTipoDefecto.DataSource = GlobalDTAcumTiposDefecto.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}")
|
||||
DdlTipoDefecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
|
||||
GvRecepcionUsados.DataSource = GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CvePSCargo > 0")
|
||||
Dim DtTamanios = GlobalDTAcumTamaños.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CvePSCargo > 0")
|
||||
|
||||
GvRecepcionUsados.DataSource = DtTamanios
|
||||
GvRecepcionUsadosModal.DataSource = DtTamanios
|
||||
|
||||
ObjAcum.Dispose()
|
||||
DdlFolioGarantia.DataBind()
|
||||
DdlTipoUso.DataBind()
|
||||
DdlTipoDefecto.DataBind()
|
||||
GvRecepcionUsados.DataBind()
|
||||
DdlFacturas.DataBind()
|
||||
GvRecepcionUsados.DataBind()
|
||||
GvRecepcionUsadosModal.DataBind()
|
||||
|
||||
CargaPSAjuste()
|
||||
|
||||
@@ -4934,8 +4836,6 @@ Partial Class PV
|
||||
CreaDTmpDTRecepcionUsados()
|
||||
|
||||
DivChkAjuste.Visible = True
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CargaPSAjuste()
|
||||
@@ -5276,6 +5176,7 @@ Partial Class PV
|
||||
Private Sub CreaDTmpDTRecepcionUsados()
|
||||
TmpDTRecepcionUsados = New DataTable
|
||||
TmpDTRecepcionUsados.Columns.Add("CvePS", GetType(Integer))
|
||||
TmpDTRecepcionUsados.Columns.Add("CvePSRelacionado", GetType(Integer))
|
||||
TmpDTRecepcionUsados.Columns.Add("Cantidad", GetType(Decimal))
|
||||
TmpDTRecepcionUsados.Columns.Add("CveUM", GetType(Integer))
|
||||
TmpDTRecepcionUsados.Columns.Add("CveVentaDetalle", GetType(Integer))
|
||||
@@ -5283,18 +5184,41 @@ Partial Class PV
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnRecepcionUsados_Click(sender As Object, e As EventArgs)
|
||||
TmpDTRecepcionUsados.Clear()
|
||||
|
||||
'CalculaRecepcionUsados(GvRecepcionUsadosModal)
|
||||
RegistraScript("$('#DModalRecepcionUsados').modal('hide');")
|
||||
|
||||
EmitirImprimirNew()
|
||||
End Sub
|
||||
Private Sub CalculaRecepcionUsados(Gv As GridView, CvePS As Integer, ListaPSCargo As List(Of Integer))
|
||||
|
||||
If Modalidad = "U" Then
|
||||
If TmpDTRecepcionUsados.Rows.Count > 0 Then
|
||||
Dim Elimino As Boolean = False
|
||||
For Each Row As DataRow In TmpDTRecepcionUsados.Rows
|
||||
If Row("CvePSRelacionado").ToString().ToEntero() = CvePS Then
|
||||
Row.Delete()
|
||||
Elimino = True
|
||||
End If
|
||||
Next
|
||||
If Elimino Then
|
||||
TmpDTRecepcionUsados.AcceptChanges()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim TotalCargos As Decimal = 0
|
||||
Dim TotalCantidad As Decimal = 0
|
||||
For Each Gvr As GridViewRow In GvRecepcionUsados.Rows
|
||||
For Each Gvr As GridViewRow In Gv.Rows
|
||||
If Gvr.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
If Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal > 0 Then
|
||||
TotalCargos += Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal * Gvr.DataKey("Cargo").ToDecimal
|
||||
TotalCantidad += Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal
|
||||
|
||||
Dim Row As DataRow = TmpDTRecepcionUsados.NewRow()
|
||||
Row("CvePS") = Gvr.DataKey("CvePSCargo").ToEntero
|
||||
Row("CvePSRelacionado") = CvePS
|
||||
Row("Cantidad") = Gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal
|
||||
Row("CveUM") = Gvr.DataKey("CveUM").ToEntero
|
||||
Row("CveVentaDetalle") = -1
|
||||
@@ -5302,15 +5226,24 @@ Partial Class PV
|
||||
TmpDTRecepcionUsados.Rows.Add(Row)
|
||||
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If TotalCantidad > TmpDT.FiltraParametros("EsCargo = True").SUMD("Cantidad") Then
|
||||
Dim StrCargos As New StringBuilder
|
||||
For Each CvePSCargo As Integer In ListaPSCargo
|
||||
StrCargos.AppendFormat("{0},", CvePSCargo)
|
||||
Next
|
||||
StrCargos.Remove(StrCargos.Length - 1, 1)
|
||||
|
||||
If TotalCantidad > TmpDT.FiltraParametros($"EsCargo = True AND CvePS IN ({StrCargos})").SUMD("Cantidad") Then
|
||||
Dim drt As DataRow() = TmpDT.Select("CvePS = " & CvePS)
|
||||
TmpDT.Rows.Remove(drt(0))
|
||||
|
||||
Alert("No puede tener una cantidad mayor a la de los cargos", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For Each Dr As DataRow In TmpDT.FiltraParametros("EsCargo = True").Rows
|
||||
|
||||
For Each Dr As DataRow In TmpDT.FiltraParametros($"EsCargo = True AND CvePS IN ({StrCargos})").Rows
|
||||
|
||||
Dim TotalAnterior As Decimal = Dr("Cantidad").ToString.ToDecimal * Dr("PU").ToString.ToDecimal
|
||||
Dim PUActual As Decimal = (TotalAnterior - TotalCargos) / Dr("Cantidad").ToString.ToDecimal
|
||||
@@ -5342,8 +5275,7 @@ Partial Class PV
|
||||
Next
|
||||
TmpDT.AcceptChanges()
|
||||
If TotalCargos > 0 Then ' cuando se entrega más valor de usados, que los cargos hechos, se descuenta sobre el PU del producto de venta
|
||||
For Each Dr As DataRow In TmpDT.FiltraParametros("EsCargo = False").Rows
|
||||
|
||||
For Each Dr As DataRow In TmpDT.FiltraParametros($"EsCargo = False AND CvePS={CvePS}").Rows
|
||||
|
||||
Dim PUAnterior As Decimal = Dr("Cantidad").ToString.ToDecimal * Dr("PU").ToString.ToDecimal
|
||||
Dim PUActual As Decimal = PUAnterior - (TotalCargos / Dr("Cantidad").ToString.ToDecimal)
|
||||
@@ -5365,7 +5297,6 @@ Partial Class PV
|
||||
drr("IEPS") = Dr("ImporteIEPS")
|
||||
drr("Total") = (Dr("Cantidad").ToString.ToDecimal * PUActual)
|
||||
drr("TotalImporte") = Math.Round(Dr("Cantidad").ToString.ToDecimal * PUActual, NumeroDecimales)
|
||||
|
||||
End If
|
||||
|
||||
If TotalCargos <= 0 Then
|
||||
@@ -5380,15 +5311,14 @@ Partial Class PV
|
||||
TmpDTRecepcionUsados.AcceptChanges()
|
||||
|
||||
CalculaTotalesVenta()
|
||||
|
||||
RegistraScript(String.Format("$('#{0}').modal('hide');", "DModalRecepcionUsados"))
|
||||
|
||||
EmitirImprimirNew()
|
||||
End Sub
|
||||
Private Sub CalculaUsados()
|
||||
Private Function CalculaUsados(Consec As Integer) As List(Of Integer)
|
||||
|
||||
'If Modalidad = "U" Then
|
||||
' EliminarUsados(Consec)
|
||||
'End If
|
||||
|
||||
'If ClienteEsDistribuidor Then
|
||||
Dim ListaPScargo As New List(Of Integer)
|
||||
|
||||
Dim DTTamanios As New DataTable
|
||||
Dim ObjAcum As New ClsAcumuladores
|
||||
@@ -5396,35 +5326,8 @@ Partial Class PV
|
||||
If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
DTTamanios = ObjAcum.DtResultados
|
||||
Dim DTCvePSCostos = ObjAcum.DtResultados.FiltraParametros("", "", {"CvePSCargo"})
|
||||
|
||||
Dim DTCvePSCostos As New DataTable
|
||||
DTCvePSCostos = ObjAcum.DtResultados.FiltraParametros("", "", {"CvePSCargo"})
|
||||
|
||||
If Not TmpDT.Columns.Contains("Eliminar") Then
|
||||
TmpDT.Columns.Add("Eliminar", GetType(Integer))
|
||||
End If
|
||||
|
||||
For Each drow As DataRow In TmpDT.Rows
|
||||
For Each drow2 As DataRow In DTCvePSCostos.Rows
|
||||
If drow("CvePS").ToString.ToEntero = drow2("CvePSCargo").ToString.ToEntero Then
|
||||
drow("Eliminar") = 1
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
|
||||
Dim TmpDTView As New DataView(TmpDT)
|
||||
TmpDTView.RowFilter = "Eliminar = 1"
|
||||
|
||||
For Each dRowEliminar As DataRowView In TmpDTView
|
||||
dRowEliminar.Delete()
|
||||
|
||||
Next
|
||||
|
||||
|
||||
TmpDT.AcceptChanges()
|
||||
|
||||
Dim ObjProductosServicios As New ClsProductosServicios()
|
||||
|
||||
Dim CveUnidadMedidaPSA As Integer = -1
|
||||
Dim UnidadMedidaPSA As String = "Unidad"
|
||||
@@ -5438,7 +5341,7 @@ Partial Class PV
|
||||
Dim PSPSA As String = ""
|
||||
|
||||
Dim DTPSTemp As New DataTable '= TmpDT.Clone
|
||||
'AgregarProductoServicio(1, CveUnidadMedidaPSA, UnidadMedidaPSA, CveClacificacionPSA, ClacificacionPSA, CvePSPSA, PSPSA, "", ImporteCargo, 0, -1, "", CveSubProyectoPSA, SubProyectoPSA)
|
||||
|
||||
DTPSTemp.Columns.Add("Cantidad", GetType(Integer))
|
||||
DTPSTemp.Columns.Add("CveUnidadMedida", GetType(Integer))
|
||||
DTPSTemp.Columns.Add("UnidadMedida", GetType(String))
|
||||
@@ -5450,7 +5353,9 @@ Partial Class PV
|
||||
DTPSTemp.Columns.Add("CveSubProyecto", GetType(Integer))
|
||||
DTPSTemp.Columns.Add("SubProyecto", GetType(String))
|
||||
|
||||
For Each DrowPartidas As DataRow In TmpDT.Rows
|
||||
Dim ObjProductosServicios As New ClsProductosServicios()
|
||||
For Each DrowPartidas As DataRow In TmpDT.Select($"Consec = {Consec}")
|
||||
|
||||
Dim CveTamanioTemp As Integer = DrowPartidas("CveTamaño").ToString.ToEntero
|
||||
|
||||
If CveTamanioTemp > 0 Then
|
||||
@@ -5512,25 +5417,74 @@ Partial Class PV
|
||||
|
||||
End If
|
||||
Next
|
||||
ObjProductosServicios.Dispose()
|
||||
|
||||
Dim ModalidadBack = Modalidad
|
||||
'CAMBIA LA MODALIDAD PARA AGREGAR LOS PS CARGO
|
||||
If Modalidad = "U" Then
|
||||
Modalidad = "A"
|
||||
End If
|
||||
|
||||
For Each drowPsTamaños As DataRow In DTPSTemp.Rows
|
||||
Modalidad = "A"
|
||||
If drowPsTamaños("PU").ToString.ToDecimal > 0 Then
|
||||
AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString,
|
||||
Dim Concec = AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString,
|
||||
drowPsTamaños("CveClacificacion").ToString.ToEntero, drowPsTamaños("Clacificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero,
|
||||
drowPsTamaños("PS").ToString, "", drowPsTamaños("PU").ToString.ToDecimal, 0, -1, "", drowPsTamaños("CveSubProyecto").ToString.ToEntero,
|
||||
drowPsTamaños("SubProyecto").ToString, EsCargo:=True)
|
||||
If Consec > 0 Then
|
||||
ListaPScargo.Add(drowPsTamaños("CvePS").ToString.ToEntero)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
ObjProductosServicios.Dispose()
|
||||
Modalidad = ModalidadBack
|
||||
End If
|
||||
ObjAcum.Dispose()
|
||||
|
||||
' End If
|
||||
End Sub
|
||||
Return ListaPScargo
|
||||
End Function
|
||||
Private Sub EliminarUsados(Consec As Integer)
|
||||
Dim DTTamanios As New DataTable
|
||||
|
||||
Dim ObjAcum As New ClsAcumuladores
|
||||
|
||||
If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
DTTamanios = ObjAcum.DtResultados
|
||||
Dim DTCvePSCostos = ObjAcum.DtResultados.FiltraParametros("", "", {"CvePSCargo"})
|
||||
|
||||
If Not TmpDT.Columns.Contains("Eliminar") Then
|
||||
TmpDT.Columns.Add("Eliminar", GetType(Integer))
|
||||
End If
|
||||
|
||||
For Each drow As DataRow In TmpDT.FiltraParametros($"Consec ={Consec}").Rows
|
||||
For Each drow2 As DataRow In DTCvePSCostos.Rows
|
||||
If drow("CvePS").ToString.ToEntero = drow2("CvePSCargo").ToString.ToEntero Then
|
||||
drow("Eliminar") = 1
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
|
||||
Dim TmpDTView As New DataView(TmpDT)
|
||||
TmpDTView.RowFilter = "Eliminar = 1"
|
||||
|
||||
For Each dRowEliminar As DataRowView In TmpDTView
|
||||
For Each RowRecepcionUsados As DataRow In TmpDTRecepcionUsados.Rows
|
||||
If (RowRecepcionUsados("CvePS").ToString() = dRowEliminar("CvePS").ToString()) Then
|
||||
RowRecepcionUsados.Delete()
|
||||
End If
|
||||
Next
|
||||
dRowEliminar.Delete()
|
||||
Next
|
||||
|
||||
TmpDT.AcceptChanges()
|
||||
TmpDTRecepcionUsados.AcceptChanges()
|
||||
|
||||
End If
|
||||
ObjAcum.Dispose()
|
||||
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
@@ -4099,6 +4099,13 @@ Partial Class Ventas
|
||||
If DdlTipoComprobante.SelectedValue.Contiene("Rem") And GvRemisiones.Rows.Count > 0 Then
|
||||
LbCancelarDocumento.Visible = False
|
||||
End If
|
||||
|
||||
'SI TIENE REMISIONES Y VA A CANCELAR ES NECESARIO EL MOVIMIENTO DE DEVOLUCION
|
||||
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant") AndAlso GvRemisiones.Rows.Count > 0 Then
|
||||
ChkDevAlm.Checked = True
|
||||
ChkDevAlm.Enabled = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
tdVigencia.Visible = DdlTipoComprobante.SelectedValue.Contiene("Cot")
|
||||
@@ -9007,7 +9014,7 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
|
||||
If ErrorList.Count = 0 AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant") Then
|
||||
If ErrorList.Count = 0 AndAlso factura.TipoDocto.Contiene("Ing", "Ant") Then
|
||||
'Agregamos las remisiones a la tabla
|
||||
If DtRemisionesPS IsNot Nothing AndAlso DtRemisionesPS.Rows.Count > 0 AndAlso ErrorList.Count = 0 Then
|
||||
Dim CveVentaDetalle As Integer = 0
|
||||
@@ -9030,7 +9037,7 @@ Partial Class Ventas
|
||||
|
||||
End If
|
||||
|
||||
If DTRemisiones IsNot Nothing AndAlso DTRemisiones.Rows.Count > 0 AndAlso ErrorList.Count = 0 Then
|
||||
If DTRemisiones IsNot Nothing AndAlso DTRemisiones.Rows.Count > 0 AndAlso ErrorList.Count = 0 AndAlso factura.TipoDocto.Contiene("Ing", "Ant") Then
|
||||
|
||||
Dim dt As DataTable = DTRemisiones.FiltraParametros("Aplicado = True")
|
||||
If dt.Rows.Count > 0 Then
|
||||
@@ -17766,6 +17773,7 @@ Partial Class Ventas
|
||||
Next
|
||||
End If
|
||||
|
||||
ObjFactura.CveAlmacenDevolucion = CveAlmacenDevolucion
|
||||
If ChkDevAlm.Checked Then
|
||||
ObjFactura.CveAlmacenDevolucion = CveAlmacenDevolucion
|
||||
End If
|
||||
|
||||
@@ -1074,6 +1074,11 @@ Public Class WSApp
|
||||
|
||||
ObjFactura.Timbre = PreParaTimbre(ObjFactura)
|
||||
ObjFactura.CveContratoSecciones = ""
|
||||
|
||||
'BORRAR
|
||||
ObjFactura.DtRecepcionUsados = New DataTable
|
||||
ObjFactura.DtRecepcionUsados.Columns.Add("CvePS", GetType(Integer))
|
||||
|
||||
Catch ex As Exception
|
||||
Retorno.Mensajes.Add(ex.ToString())
|
||||
Return Nothing
|
||||
@@ -1167,6 +1172,8 @@ Public Class WSApp
|
||||
TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String))
|
||||
TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String))
|
||||
|
||||
TmpDT.Columns.Add("CveTamaño", GetType(Double))
|
||||
|
||||
Try
|
||||
For Each PS As MVentaProductos In ListaPS
|
||||
Dim Row As DataRow = AgregarProductoServicio(Retorno, TmpDT, PS, CveEmpresa, CvePrecioLista, CveSubProyecto, ClienteRetIVA:=ClienteRetIVA, ClienteRetISR:=ClienteRetISR)
|
||||
|
||||
Reference in New Issue
Block a user