Agregar selección de Folio Garantía para Funcionalidad 531
CAMBIOS EN BD VENTAS: + Nuevo PA: PA_Acum_GarantiasDetalleFolioDisponibleGet (Thx Rene) PA_Comp_Compra Add/Update: + @CveFolioGarantia INT = -1 Se valida la selección y manda Alert si no hay existencia de los productos en el Folio de Garantía, con el número de productos faltantes respectivamente
This commit is contained in:
@@ -1246,6 +1246,27 @@ Public Class ClsAcumuladores
|
|||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function GetFoliosGarantiasDetalleDisponibles(CveFolioGarantia As Integer, CveEmpresa As Integer) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
|
SqlDataAdapter("PA_Acum_GarantiasDetalleFolioDisponibleGet")
|
||||||
|
|
||||||
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
|
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
|
||||||
|
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||||
|
End With
|
||||||
|
|
||||||
|
Try
|
||||||
|
SqlAdapter.Fill(Data)
|
||||||
|
Retorno = True
|
||||||
|
Catch ex As SqlException
|
||||||
|
OnError("Ocurrió un error al consultar los movimientos. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
Public Function UpdateGarantiaCancelacion(CveVenta As Integer) As Boolean
|
Public Function UpdateGarantiaCancelacion(CveVenta As Integer) As Boolean
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ Public Class ClsCompras
|
|||||||
Optional CveOC As Integer = -1, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1, Optional NumeroReembolso As String = "-1", Optional CveProveedorSucursal As Integer = -1,
|
Optional CveOC As Integer = -1, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1, Optional NumeroReembolso As String = "-1", Optional CveProveedorSucursal As Integer = -1,
|
||||||
Optional AplicoPromocion As Boolean = False, Optional PorcentajeIVA As Double = 0, Optional CveMetodoPago As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveConceptoContableAlmacen As Integer = -1,
|
Optional AplicoPromocion As Boolean = False, Optional PorcentajeIVA As Double = 0, Optional CveMetodoPago As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveConceptoContableAlmacen As Integer = -1,
|
||||||
Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveTipoCompra As Integer = -1, Optional TotalOriginal As Double = 0, Optional CveTipoConcepto As Integer = 1, Optional CveFactura As Integer = -1,
|
Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveTipoCompra As Integer = -1, Optional TotalOriginal As Double = 0, Optional CveTipoConcepto As Integer = 1, Optional CveFactura As Integer = -1,
|
||||||
Optional CveContrato As Integer = -1, Optional EsImportacion As Boolean = False, Optional CveSubProyecto As Integer = -1, Optional DoctosRelacionados As String = "-1") As Boolean
|
Optional CveContrato As Integer = -1, Optional EsImportacion As Boolean = False, Optional CveSubProyecto As Integer = -1, Optional DoctosRelacionados As String = "-1", Optional CveFolioGarantia As Integer = -1) As Boolean
|
||||||
|
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
@@ -252,9 +252,7 @@ Public Class ClsCompras
|
|||||||
.Add("@EsImportacion", SqlDbType.Bit).Value = EsImportacion
|
.Add("@EsImportacion", SqlDbType.Bit).Value = EsImportacion
|
||||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||||
.Add("@DoctosRelacionados", SqlDbType.VarChar).Value = DoctosRelacionados
|
.Add("@DoctosRelacionados", SqlDbType.VarChar).Value = DoctosRelacionados
|
||||||
|
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
|
||||||
|
|
||||||
|
|
||||||
End With
|
End With
|
||||||
|
|
||||||
Try
|
Try
|
||||||
@@ -278,7 +276,8 @@ Public Class ClsCompras
|
|||||||
Public Function UpdateCompra(Descripcion As String, FolioSecundario As String, FechaVencimiento As Date, AplicaNotaCredito As Boolean, Observaciones As String, CveEstatusCompra As Integer,
|
Public Function UpdateCompra(Descripcion As String, FolioSecundario As String, FechaVencimiento As Date, AplicaNotaCredito As Boolean, Observaciones As String, CveEstatusCompra As Integer,
|
||||||
Descuento As Double, SubTotal As Double, IVA As Double, Total As Double, CveUsuario As Integer, CveCompra As Integer, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1,
|
Descuento As Double, SubTotal As Double, IVA As Double, Total As Double, CveUsuario As Integer, CveCompra As Integer, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1,
|
||||||
Optional CveProveedorSucursal As Integer = -1, Optional PorcentajeIVA As Double = 0, Optional NumeroReembolso As String = "", Optional CveTipoCompra As Integer = -1, Optional NoDeducible As Boolean = False,
|
Optional CveProveedorSucursal As Integer = -1, Optional PorcentajeIVA As Double = 0, Optional NumeroReembolso As String = "", Optional CveTipoCompra As Integer = -1, Optional NoDeducible As Boolean = False,
|
||||||
Optional CveFactura As Integer = -1, Optional CveContrato As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveRetISRConcepto As Integer = -1, Optional CveSubProyecto As Integer = -1) As Boolean
|
Optional CveFactura As Integer = -1, Optional CveContrato As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveRetISRConcepto As Integer = -1, Optional CveSubProyecto As Integer = -1,
|
||||||
|
Optional CveFolioGarantia As Integer = -1) As Boolean
|
||||||
|
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
@@ -308,11 +307,10 @@ Public Class ClsCompras
|
|||||||
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
|
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
|
||||||
.Add("@CveFactura", SqlDbType.Int).Value = CveFactura
|
.Add("@CveFactura", SqlDbType.Int).Value = CveFactura
|
||||||
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
|
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
|
||||||
|
|
||||||
.Add("@CveRetIVAConcepto", SqlDbType.Int).Value = CveRetIVAConcepto
|
.Add("@CveRetIVAConcepto", SqlDbType.Int).Value = CveRetIVAConcepto
|
||||||
.Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto
|
.Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto
|
||||||
|
|
||||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||||
|
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
|
||||||
End With
|
End With
|
||||||
|
|
||||||
Try
|
Try
|
||||||
|
|||||||
@@ -534,6 +534,14 @@
|
|||||||
<asp:CheckBox runat="server" ID="chkImportacion"> </asp:CheckBox>
|
<asp:CheckBox runat="server" ID="chkImportacion"> </asp:CheckBox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group proveedoreespes" runat="server" id="divFolioGarantia" visible="false">
|
||||||
|
<span class="whitoutcol linewhitsize proveedoreespes">Folio Garantía </span>
|
||||||
|
<div class="whitoutcol whitoutcol">
|
||||||
|
<asp:DropDownList ID="DdlFolioGarantia" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="FolioGarantia" DataValueField="CveFolioGarantia" OnSelectedIndexChanged="DdlFolioGarantia_SelectedIndexChanged" CssClass="form-control input-sm input-small select2me">
|
||||||
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
@@ -655,20 +663,8 @@
|
|||||||
<th style="width: 70px">Unidad</th>
|
<th style="width: 70px">Unidad</th>
|
||||||
<th style="width: 299px">Clasificación
|
<th style="width: 299px">Clasificación
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<asp:HyperLink ID="HplAddClasificacion" data-toggle="tooltip" data-placement="top" NavigateUrl="/Ventas/CatClasificaciones.aspx" CssClass="btn btn-default btn-circle btn-xs " ToolTip="Agregar Clasificacion" runat="server"><i class="fa fa-plus" style="color:black" aria-hidden="true"></i></asp:HyperLink>
|
<asp:HyperLink ID="HplAddClasificacion" data-toggle="tooltip" data-placement="top" NavigateUrl="/Ventas/CatClasificaciones.aspx" CssClass="btn btn-default btn-circle btn-xs " ToolTip="Agregar Clasificacion" runat="server"><i class="fa fa-plus" style="color:black" aria-hidden="true"></i></asp:HyperLink>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<span data-toggle="collapse" data-target="#DivReclasifica">
|
<span data-toggle="collapse" data-target="#DivReclasifica">
|
||||||
<div class="btn btn-default btn-circle btn-xs " data-toggle="tooltip" data-placement="top" title="Reclasificar productos"><i class="fa fa-arrow-circle-down" style="color: green" aria-hidden="true"></i></div>
|
<div class="btn btn-default btn-circle btn-xs " data-toggle="tooltip" data-placement="top" title="Reclasificar productos"><i class="fa fa-arrow-circle-down" style="color: green" aria-hidden="true"></i></div>
|
||||||
<asp:LinkButton ID="ImgClasificacion" CssClass="btn btn-default btn-circle btn-xs " data-toggle="tooltip" data-placement="top" ToolTip="Aplicar Clasificación a Productos" runat="server" Style="display: none;"><i class="fa fa-arrow-circle-down" style="color:green" aria-hidden="true"></i></asp:LinkButton>
|
<asp:LinkButton ID="ImgClasificacion" CssClass="btn btn-default btn-circle btn-xs " data-toggle="tooltip" data-placement="top" ToolTip="Aplicar Clasificación a Productos" runat="server" Style="display: none;"><i class="fa fa-arrow-circle-down" style="color:green" aria-hidden="true"></i></asp:LinkButton>
|
||||||
@@ -680,8 +676,6 @@
|
|||||||
<asp:Label ID="LitHProyecto" runat="server" Text=""></asp:Label>
|
<asp:Label ID="LitHProyecto" runat="server" Text=""></asp:Label>
|
||||||
<asp:Label runat="server" ID="LblSubProyectoHeader" Text=""></asp:Label>
|
<asp:Label runat="server" ID="LblSubProyectoHeader" Text=""></asp:Label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<asp:LinkButton ID="ImgActualizarProyecto" CssClass="btn btn-default btn-circle" data-toggle="tooltip" data-placement="top" ToolTip="Actualizar Cambios" runat="server" Visible="False"><i class="fa fa-arrow-circle-down" aria-hidden="true"></i></asp:LinkButton>
|
<asp:LinkButton ID="ImgActualizarProyecto" CssClass="btn btn-default btn-circle" data-toggle="tooltip" data-placement="top" ToolTip="Actualizar Cambios" runat="server" Visible="False"><i class="fa fa-arrow-circle-down" aria-hidden="true"></i></asp:LinkButton>
|
||||||
<span data-toggle="collapse" data-target="#DivReclasifica">
|
<span data-toggle="collapse" data-target="#DivReclasifica">
|
||||||
<div class="btn btn-default btn-circle btn-xs " data-toggle="tooltip" data-placement="top" title="Cambiar sucursal"><i class="fa fa-arrow-circle-down" style="color: green" aria-hidden="true"></i></div>
|
<div class="btn btn-default btn-circle btn-xs " data-toggle="tooltip" data-placement="top" title="Cambiar sucursal"><i class="fa fa-arrow-circle-down" style="color: green" aria-hidden="true"></i></div>
|
||||||
@@ -1238,7 +1232,7 @@
|
|||||||
<HeaderStyle CssClass="Titulos" />
|
<HeaderStyle CssClass="Titulos" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:BoundField HeaderText="Unidad" DataField="UM" ItemStyle-Width="5%" />
|
<asp:BoundField HeaderText="Unidad" DataField="UM" ItemStyle-Width="5%" />
|
||||||
<asp:BoundField ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left" HeaderText="Producto o Servicio" DataField="PS" />
|
<asp:BoundField ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left" HeaderText=" Servicio" DataField="PS" />
|
||||||
<asp:BoundField ItemStyle-Width="7.5%" HeaderText="P.U." DataField="PU" DataFormatString="{0:#,##0.00####}" ItemStyle-HorizontalAlign="Right" />
|
<asp:BoundField ItemStyle-Width="7.5%" HeaderText="P.U." DataField="PU" DataFormatString="{0:#,##0.00####}" ItemStyle-HorizontalAlign="Right" />
|
||||||
<asp:TemplateField ItemStyle-Width="10%">
|
<asp:TemplateField ItemStyle-Width="10%">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ Imports Extensiones
|
|||||||
Imports System.Activities.Expressions
|
Imports System.Activities.Expressions
|
||||||
Imports iText.Barcodes.Dmcode
|
Imports iText.Barcodes.Dmcode
|
||||||
Imports Microsoft.Reporting.WebForms
|
Imports Microsoft.Reporting.WebForms
|
||||||
|
Imports MoreLinq
|
||||||
|
|
||||||
Partial Class Compras_Compras
|
Partial Class Compras_Compras
|
||||||
Inherits ClsPaginas
|
Inherits ClsPaginas
|
||||||
@@ -1246,6 +1247,16 @@ Partial Class Compras_Compras
|
|||||||
If UsuarioActual.Empresa.Funcionalidad(303) <> "" Then
|
If UsuarioActual.Empresa.Funcionalidad(303) <> "" Then
|
||||||
btnProrateo2.Visible = True
|
btnProrateo2.Visible = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(531).ToEntero = 1 Then 'cuando es emp acumuladora AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV")
|
||||||
|
divFolioGarantia.Visible = True
|
||||||
|
Using objAcum As New ClsAcumuladores
|
||||||
|
If objAcum.FoliosGarantiaGet(-1, UsuarioActual.Empresa.CveEmpresa, Estatus:=-1, TipoFolio:="-1", Area:=-1, CveSubProyecto:=-1) Then
|
||||||
|
DdlFolioGarantia.DataSource = objAcum.DtResultados.FiltraParametros("", "FechaIng DESC")
|
||||||
|
DdlFolioGarantia.DataBind()
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
End If
|
||||||
'****************************************************************
|
'****************************************************************
|
||||||
'If UsuarioActual.CveEmpresa = 72 Then
|
'If UsuarioActual.CveEmpresa = 72 Then
|
||||||
' LiRecepcion.Visible = True
|
' LiRecepcion.Visible = True
|
||||||
@@ -4643,6 +4654,9 @@ Partial Class Compras_Compras
|
|||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If DdlFolioGarantia.Visible AndAlso DdlFolioGarantia.SelectedValue <> "-1" Then
|
||||||
|
If Not ValidaFolioGarantia() Then Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
'------------------TERMINA VALIDACIONES------------------
|
'------------------TERMINA VALIDACIONES------------------
|
||||||
@@ -4927,7 +4941,7 @@ Partial Class Compras_Compras
|
|||||||
CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, IdPoliza, CveCajaChica:=CveCajaChica, CvePersonal:=CvePersonal, NumeroReembolso:=NumeroReembolso, CveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero,
|
CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, IdPoliza, CveCajaChica:=CveCajaChica, CvePersonal:=CvePersonal, NumeroReembolso:=NumeroReembolso, CveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero,
|
||||||
AplicoPromocion:=ChkOCPromocion.Checked, PorcentajeIVA:=PorcentajeIVA, CveMetodoPago:=CveMetodoPago, CveRetIVAConcepto:=If(DdlRetIVAConcepto.Items.Count > 0, DdlRetIVAConcepto.SelectedValue.ToEntero, -1), CveConceptoContableAlmacen:=CveConceptoContableAlmacen,
|
AplicoPromocion:=ChkOCPromocion.Checked, PorcentajeIVA:=PorcentajeIVA, CveMetodoPago:=CveMetodoPago, CveRetIVAConcepto:=If(DdlRetIVAConcepto.Items.Count > 0, DdlRetIVAConcepto.SelectedValue.ToEntero, -1), CveConceptoContableAlmacen:=CveConceptoContableAlmacen,
|
||||||
CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal, CveTipoConcepto:=CveTipoConcepto,
|
CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal, CveTipoConcepto:=CveTipoConcepto,
|
||||||
EsImportacion:=EsImportacion, CveFactura:=CveFactura, CveSubProyecto:=CveSubProyectoPrincipal, DoctosRelacionados:=DoctosRelacionados) Then
|
EsImportacion:=EsImportacion, CveFactura:=CveFactura, CveSubProyecto:=CveSubProyectoPrincipal, DoctosRelacionados:=DoctosRelacionados, CveFolioGarantia:=DdlFolioGarantia.SelectedValue.ToEntero) Then
|
||||||
|
|
||||||
ViewState("CveCompra") = ObjCompras.CveCompra
|
ViewState("CveCompra") = ObjCompras.CveCompra
|
||||||
If ObjCompras.DtResultados.Rows.Count > 0 Then ViewState("CompraFolio") = ObjCompras.DtResultados.Rows(0)("vFolio").ToString
|
If ObjCompras.DtResultados.Rows.Count > 0 Then ViewState("CompraFolio") = ObjCompras.DtResultados.Rows(0)("vFolio").ToString
|
||||||
@@ -8899,6 +8913,9 @@ Partial Class Compras_Compras
|
|||||||
Alert("Falta asignar Proyecto a la compra", TipoMensaje.MsgAdvertencia)
|
Alert("Falta asignar Proyecto a la compra", TipoMensaje.MsgAdvertencia)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If DdlFolioGarantia.Visible AndAlso DdlFolioGarantia.SelectedValue <> "-1" Then
|
||||||
|
If Not ValidaFolioGarantia() Then Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
If CveFactura > 0 Then
|
If CveFactura > 0 Then
|
||||||
If Not AjustaCombustibles() Then
|
If Not AjustaCombustibles() Then
|
||||||
@@ -8982,7 +8999,7 @@ Partial Class Compras_Compras
|
|||||||
If ObjCompra.UpdateCompra(TxtDescripcion.Text.Trim, TxtFolioSecundario.Text.Trim, TxtFechaPago.Text.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura,
|
If ObjCompra.UpdateCompra(TxtDescripcion.Text.Trim, TxtFolioSecundario.Text.Trim, TxtFechaPago.Text.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura,
|
||||||
TxtDescuento.Text.ToDouble, TxtSubTotal.Text.ToDouble, TxtIVA.Text.ToDouble, TxtTotal.Text.ToDouble,
|
TxtDescuento.Text.ToDouble, TxtSubTotal.Text.ToDouble, TxtIVA.Text.ToDouble, TxtTotal.Text.ToDouble,
|
||||||
UsuarioActual.CveUsuario, CveCompra, CveCajaChica:=DdlRembolsoCajaChica.SelectedValue.ToEntero, CvePersonal:=DdlRembolsoPersonal.SelectedValue.ToEntero, CveProveedorSucursal:=If(DdlProveedorSucursal.SelectedValue.ToEntero > 0, DdlProveedorSucursal.SelectedValue.ToEntero, -1), PorcentajeIVA:=PorcentajeIVA, NumeroReembolso:=TxtRembolsoNumero.Text,
|
UsuarioActual.CveUsuario, CveCompra, CveCajaChica:=DdlRembolsoCajaChica.SelectedValue.ToEntero, CvePersonal:=DdlRembolsoPersonal.SelectedValue.ToEntero, CveProveedorSucursal:=If(DdlProveedorSucursal.SelectedValue.ToEntero > 0, DdlProveedorSucursal.SelectedValue.ToEntero, -1), PorcentajeIVA:=PorcentajeIVA, NumeroReembolso:=TxtRembolsoNumero.Text,
|
||||||
CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=EsNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto, CveSubProyecto:=CveSubProyectoPrincipal) Then
|
CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=EsNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto, CveSubProyecto:=CveSubProyectoPrincipal, CveFolioGarantia:=DdlFolioGarantia.SelectedValue.ToEntero) Then
|
||||||
|
|
||||||
If Not ComparaDatatables() Then
|
If Not ComparaDatatables() Then
|
||||||
|
|
||||||
@@ -19981,7 +19998,77 @@ Partial Class Compras_Compras
|
|||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
|
#Region "GARANTÍAS"
|
||||||
|
Protected Sub DdlFolioGarantia_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
If DdlFolioGarantia.SelectedValue.ToEntero <> -1 Then
|
||||||
|
ValidaFolioGarantia(True)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Function ValidaFolioGarantia(Optional MsgExito As Boolean = False) As Boolean
|
||||||
|
If TmpDT?.Rows.Count > 0 Then
|
||||||
|
Dim ExistenciasPSFactura As New Dictionary(Of Integer, Decimal)
|
||||||
|
Dim ExistenciasPSGarantia As New Dictionary(Of Integer, Decimal)
|
||||||
|
Dim PSFaltantes As New Dictionary(Of Integer, Decimal)
|
||||||
|
Dim DtGarantia As New DataTable
|
||||||
|
|
||||||
|
'Agrupa los CvePS iguales y suma sus cantidades
|
||||||
|
For Each row In TmpDT.AsEnumerable()
|
||||||
|
Dim cvePS As Integer = row.Field(Of Integer)("CvePS")
|
||||||
|
Dim cantidad As Decimal = row.Field(Of Decimal)("Cantidad")
|
||||||
|
If ExistenciasPSFactura.ContainsKey(cvePS) Then
|
||||||
|
ExistenciasPSFactura(cvePS) += cantidad
|
||||||
|
Else
|
||||||
|
ExistenciasPSFactura.Add(cvePS, cantidad)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Using ObjAcum As New ClsAcumuladores
|
||||||
|
If ObjAcum.GetFoliosGarantiasDetalleDisponibles(DdlFolioGarantia.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa) Then
|
||||||
|
DtGarantia = ObjAcum.DtResultados
|
||||||
|
ExistenciasPSGarantia = DtGarantia.AsEnumerable().ToDictionary(Function(row) row.Field(Of Integer)("CvePS"), Function(row) row.Field(Of Decimal)("CantidadDisponible"))
|
||||||
|
Else
|
||||||
|
Alert($"Ocurrió un error al obtener la información de la garantía.</br> CveUsuario={UsuarioActual.CveUsuario}</br> CveFolioGarantia={DdlFolioGarantia.SelectedValue}", TipoMensaje.MsgError)
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
|
||||||
|
For Each Producto In ExistenciasPSFactura
|
||||||
|
Dim cvePS As Integer = Producto.Key
|
||||||
|
Dim cantidadFactura As Decimal = Producto.Value
|
||||||
|
If ExistenciasPSGarantia.ContainsKey(cvePS) Then
|
||||||
|
Dim cantidadGarantia As Decimal = ExistenciasPSGarantia(cvePS)
|
||||||
|
If cantidadFactura > cantidadGarantia Then
|
||||||
|
PSFaltantes.Add(cvePS, cantidadFactura - cantidadGarantia)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
PSFaltantes.Add(cvePS, cantidadFactura)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Dim IEnumPSFaltantes = From row In TmpDT.AsEnumerable()
|
||||||
|
Join Producto In PSFaltantes On row.Field(Of Integer)("CvePS") Equals Producto.Key
|
||||||
|
Select New With {.CvePS = Producto.Key, .NombrePS = row.Field(Of String)("PS"), .CantidadFaltante = Producto.Value}
|
||||||
|
|
||||||
|
If PSFaltantes.Count > 0 Then
|
||||||
|
Dim mensaje As String = "Los siguientes productos no tienen suficientes existencias en la garantía seleccionada:</br></br>"
|
||||||
|
For Each Producto In IEnumPSFaltantes
|
||||||
|
mensaje += $"Falta: × <b>{Producto.CantidadFaltante:0.##}</b> {Producto.NombrePS}</br>"
|
||||||
|
Next
|
||||||
|
If MsgExito Then Alert(mensaje, TipoMensaje.MsgAdvertencia) Else Alert(mensaje, TipoMensaje.MsgError)
|
||||||
|
Else
|
||||||
|
If MsgExito Then Alert("Todos los productos seleccionados están disponibles en el Folio de Garantía.")
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Alert("Agregue todos los productos a la factura antes de fijar el Folio de Garantía.", TipoMensaje.MsgAdvertencia)
|
||||||
|
DdlFolioGarantia.SelectedValue = "-1"
|
||||||
|
End If
|
||||||
|
Return False
|
||||||
|
End Function
|
||||||
|
#End Region
|
||||||
Protected Sub BtnFacturaNC_Click(sender As Object, e As EventArgs)
|
Protected Sub BtnFacturaNC_Click(sender As Object, e As EventArgs)
|
||||||
If ChkNCInvNC.Checked Then
|
If ChkNCInvNC.Checked Then
|
||||||
CargaNCINV(ShowAllPendientes:=False)
|
CargaNCINV(ShowAllPendientes:=False)
|
||||||
|
|||||||
@@ -1006,7 +1006,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
Dim CveConceptoEntrada As Integer = 27
|
Dim CveConceptoEntrada As Integer = 27
|
||||||
If Not ChkTransitorio.Checked Then CveConceptoEntrada = 27 Else CveConceptoEntrada = 9
|
If Not ChkTransitorio.Checked Then CveConceptoEntrada = 27 Else CveConceptoEntrada = 9
|
||||||
|
|
||||||
Dim CveFolioGarantia As Integer = Request.QueryString("CveFolioGarantia").ToEntero
|
Dim CveFolioGarantia As Integer = IfNull(Request("CveFolioGarantia"), -1).ToString.ToEntero
|
||||||
|
|
||||||
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
|
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
|
||||||
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
|
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
|
||||||
@@ -1014,7 +1014,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble,
|
CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble,
|
||||||
CveChofer:=If(ChkTransitorio.Checked, DdlChofer.SelectedValue.ToEntero, -1), Placa:="", FechaEntrega:=If(ChkTransitorio.Checked, TxtFechaEntrega.Text.Trim.ToDateTime.ToString("dd/MM/yyyy"), "-1"), EspecifUnidad:="",
|
CveChofer:=If(ChkTransitorio.Checked, DdlChofer.SelectedValue.ToEntero, -1), Placa:="", FechaEntrega:=If(ChkTransitorio.Checked, TxtFechaEntrega.Text.Trim.ToDateTime.ToString("dd/MM/yyyy"), "-1"), EspecifUnidad:="",
|
||||||
ResponsableCarga:="", ResponsableRecibio:="", Identificacion:="", Domicilio:="",
|
ResponsableCarga:="", ResponsableRecibio:="", Identificacion:="", Domicilio:="",
|
||||||
Telefono:="", Ciudad:="", Licencia:="", Modulo:="TA/G2", CveFolioGarantia:=If(CveFolioGarantia > 0, CveFolioGarantia, -1))
|
Telefono:="", Ciudad:="", Licencia:="", Modulo:="TA/G2", CveFolioGarantia:=CveFolioGarantia)
|
||||||
FolioSalida = ObjInventario.Folio
|
FolioSalida = ObjInventario.Folio
|
||||||
Folio = ObjInventario.Folio
|
Folio = ObjInventario.Folio
|
||||||
If CveMovimientoSalida <= 0 Then
|
If CveMovimientoSalida <= 0 Then
|
||||||
@@ -1035,7 +1035,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
|||||||
'ENTRADA
|
'ENTRADA
|
||||||
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenEntrada, CveConceptoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
|
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenEntrada, CveConceptoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
|
||||||
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
|
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
|
||||||
CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3", CveFolioGarantia:=If(CveFolioGarantia > 0, CveFolioGarantia, -1))
|
CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3", CveFolioGarantia:=CveFolioGarantia)
|
||||||
FolioEntrada = ObjInventario.Folio
|
FolioEntrada = ObjInventario.Folio
|
||||||
If CveMovimientoEntrada <= 0 Then
|
If CveMovimientoEntrada <= 0 Then
|
||||||
TextoError = "Ocurrió un error al generar el movimiento de entrada"
|
TextoError = "Ocurrió un error al generar el movimiento de entrada"
|
||||||
|
|||||||
Reference in New Issue
Block a user