VyA RepContratoCalendario, rdlc rep anomalias, Compras gv Inv requerir lote y fecha de caducidad
This commit is contained in:
@@ -1305,9 +1305,11 @@
|
||||
|
||||
<asp:UpdatePanel ID="UpInv" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvInv" runat="server" DataKeyNames="Total,PU,Cantidad,CvePS,Descuento" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no hay registros."
|
||||
|
||||
<asp:GridView ID="GvInv" runat="server" DataKeyNames="Total,PU,Cantidad,CvePS,Descuento,UUIDRow" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no hay registros."
|
||||
ShowHeaderWhenEmpty="True" CssClass="table table-striped table-hover Widthall mysmallbtn" Visible="false">
|
||||
<Columns>
|
||||
<%--0--%>
|
||||
<asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center">
|
||||
<HeaderTemplate>
|
||||
Aplica<br />
|
||||
@@ -1318,6 +1320,7 @@
|
||||
<asp:CheckBox ID="cbInv" runat="server" Checked="false" Enabled="false" AutoPostBack="true" OnCheckedChanged="CambiaTotalDevengar" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--1--%>
|
||||
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:TextBox ID="TbCantidad" runat="server" Width="50px" Mask="999,999.99" Text='<%# Eval("CantidadF", "{0:N2}")%>'></asp:TextBox>
|
||||
@@ -1329,7 +1332,7 @@
|
||||
</ItemTemplate>
|
||||
<HeaderStyle CssClass="Titulos" />
|
||||
</asp:TemplateField>
|
||||
|
||||
<%--2--%>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate>
|
||||
Unidad
|
||||
@@ -1338,9 +1341,11 @@
|
||||
<asp:Label ID="LtlUnidadMedida" runat="server" Text='<%# Eval("UM") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--<asp:BoundField HeaderText="Unidad" DataField="UM" ItemStyle-Width="5%" />--%>
|
||||
<%--3--%>
|
||||
<asp:BoundField ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left" HeaderText=" Servicio" DataField="PS" />
|
||||
<%--4--%>
|
||||
<asp:BoundField ItemStyle-Width="7.5%" HeaderText="P.U." DataField="PU" DataFormatString="{0:#,##0.00####}" ItemStyle-HorizontalAlign="Right" />
|
||||
<%--5--%>
|
||||
<asp:TemplateField ItemStyle-Width="10%">
|
||||
<ItemTemplate>
|
||||
<asp:DropDownList ID="ddlEAlmacen" Enabled="false" runat="server" Width="100%" DataTextField="Almacen" DataValueField="CveAlmacen" AutoPostBack="true" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" OnSelectedIndexChanged="CambiaTotalDevengar"></asp:DropDownList>
|
||||
@@ -1350,6 +1355,7 @@
|
||||
<asp:DropDownList ID="ddlAlmacen" Enabled="True" runat="server" DataTextField="Almacen" OnSelectedIndexChanged="ddlAlmacen_SelectedIndexChanged" AppendDataBoundItems="true" AutoPostBack="true" CssClass="form-control input-sm select2me" DataValueField="CveAlmacen" Width="100%"></asp:DropDownList>
|
||||
</HeaderTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--6--%>
|
||||
<asp:TemplateField ItemStyle-Width="10%" HeaderText="Recibir" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:DropDownList ID="DdlRecibirInv" Enabled="false" runat="server" Width="100px" AutoPostBack="true" OnSelectedIndexChanged="CambiaTotalDevengar" CssClass="form-control input-sm select2me">
|
||||
@@ -1358,11 +1364,31 @@
|
||||
</asp:DropDownList>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--<asp:TemplateField ItemStyle-Width="10%">
|
||||
<ItemTemplate>
|
||||
<asp:ImageButton ID="btnImgDestino" runat="server" AlternateText="+" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>--%>
|
||||
<%--7--%>
|
||||
<asp:TemplateField HeaderText="Lote" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="7.5%" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:TextBox ID="TxtLote" CssClass="form-control input-sm" onblur="clickBtnInvActualizaLoteCaducidad();" runat="server" Visible="false" Text='<%# Eval("Lote") %>' Width="100px" ></asp:TextBox>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--8--%>
|
||||
<asp:TemplateField HeaderText="Fecha Caducidad" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%" Visible="false">
|
||||
<ItemTemplate>
|
||||
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;" runat="server" visible="false" id="DvFechaCaducidad" >
|
||||
<asp:TextBox ID="TxtCaducidad" Text='<%# Eval("FechaCaducidad") %>' CssClass="form-control input-sm ADSMaskDate" onblur="clickBtnInvActualizaLoteCaducidad();" Style="width: 87px" runat="server" ></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton runat="server" ID="LnkCaducidad" class="btn default" Visible="false" > <i class="fa fa-calendar"></i> </asp:LinkButton>
|
||||
</span>
|
||||
<ajax:MaskedEditExtender ID="MEECaducidad" runat="server" TargetControlID="TxtCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="CECaducidad" TargetControlID="TxtCaducidad" PopupButtonID="LnkCaducidad" PopupPosition="TopLeft" Format="dd/MM/yyyy"></ajax:CalendarExtender>
|
||||
|
||||
<asp:RequiredFieldValidator ID="RFVCaducidad" runat="server" ControlToValidate="TxtCaducidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Caducidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCECaducidad" runat="server" HighlightCssClass="vco" TargetControlID="RFVCaducidad"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--9--%>
|
||||
<asp:TemplateField ItemStyle-Width="10%" Visible="false">
|
||||
<HeaderTemplate>
|
||||
Almacén Consignación<br />
|
||||
@@ -1371,7 +1397,8 @@
|
||||
<ItemTemplate>
|
||||
<asp:DropDownList ID="ddlAlmacenConsignacion" Enabled="False" runat="server" Width="100px" DataTextField="Almacen" DataValueField="CveAlmacen" AutoPostBack="true" CssClass="form-control input-sm select2me" OnSelectedIndexChanged="ddlAlmacenConsignacion_SelectedIndexChanged"></asp:DropDownList>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</asp:TemplateField>
|
||||
<%--10--%>
|
||||
<asp:TemplateField ItemStyle-Width="15%" HeaderText="Consignación" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:DropDownList runat="server" ID="DdlVinculaConsignacion" Enabled="false" OnSelectedIndexChanged="DdlVinculaConsignacion_SelectedIndexChanged" CssClass="form-control input-sm select2me" AutoPostBack="true" DataTextField="Detalle" DataValueField="No" Width="280px"></asp:DropDownList>
|
||||
@@ -1384,11 +1411,7 @@
|
||||
<asp:HiddenField runat="server" ID="HdnCveAlmacen" Value="-1" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--<asp:TemplateField ItemStyle-Width="12.5%" HeaderText="Nuevo Producto o servicio" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:DropDownList runat="server" ID="Ddlnewps" DataTextField="PSCodigo" DataValueField="CvePS" CssClass="form-control input-sm select2me" Width="100%"></asp:DropDownList>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>--%>
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
@@ -5639,7 +5662,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="DVModalConfirmaVinculacionProntoPago" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<!-- Modal content-->
|
||||
@@ -5676,7 +5698,13 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<div style="display:none">
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<asp:Button ID="BtnInvActualizaLoteCaducidad" runat="server" OnClick="BtnInvActualizaLoteCaducidad_Click" ClientIDMode="Static" />
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
|
||||
</asp:Content>
|
||||
@@ -5738,10 +5766,38 @@
|
||||
$("#TabActivosFijos_tab .ajax__tab_inner").click(function () {
|
||||
$('#BtnCargarGVAF').click();
|
||||
});
|
||||
|
||||
|
||||
//$(".monitorLote").on("input", function () {
|
||||
|
||||
// var currentValue = $(this).val();
|
||||
// console.log("Texto cambiado: " + currentValue);
|
||||
// $("#BtnInvActualizaLoteCaducidad").click();
|
||||
|
||||
// // Por ejemplo, puedes actualizar un Label usando un postback parcial (AJAX)
|
||||
// // Esto requiere un ScriptManager en tu página
|
||||
// //__doPostBack('txtExample', currentValue);
|
||||
//});
|
||||
|
||||
//$(".monitorCaducidad").on("input", function () {
|
||||
|
||||
// var currentValue = $(this).val();
|
||||
// console.log("Texto cambiado: " + currentValue);
|
||||
// $("#BtnInvActualizaLoteCaducidad").click();
|
||||
|
||||
// // Por ejemplo, puedes actualizar un Label usando un postback parcial (AJAX)
|
||||
// // Esto requiere un ScriptManager en tu página
|
||||
// //__doPostBack('txtExample', currentValue);
|
||||
//});
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function clickBtnInvActualizaLoteCaducidad() {
|
||||
$("#BtnInvActualizaLoteCaducidad").click();
|
||||
}
|
||||
|
||||
function ClickDeudorChk(Chk, Obj, total, saldo,txtOtrIngEgs) {
|
||||
debugger;
|
||||
total = parseFloat(parseFloat(total).toFixed(2));
|
||||
|
||||
@@ -1906,6 +1906,21 @@ Partial Class Compras_Compras
|
||||
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
|
||||
End If
|
||||
|
||||
If Not TmpDT.Columns.Contains("AplicaLote") Then
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
End If
|
||||
|
||||
|
||||
If Not TmpDT.Columns.Contains("Lote") Then
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("FechaCaducidad") Then
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
End If
|
||||
|
||||
AddPS2(False)
|
||||
|
||||
'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101
|
||||
@@ -2939,13 +2954,9 @@ Partial Class Compras_Compras
|
||||
TmpDT.Columns.Add("CveContrato", GetType(Integer))
|
||||
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
|
||||
|
||||
|
||||
|
||||
If Not TmpDT.Columns.Contains("CveContratoDetalle") Then
|
||||
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
|
||||
End If
|
||||
|
||||
|
||||
If Not TmpDT.Columns.Contains("CveCultivoCuadroDetalle") Then
|
||||
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
|
||||
End If
|
||||
@@ -2957,7 +2968,19 @@ Partial Class Compras_Compras
|
||||
If Not TmpDT.Columns.Contains("ImporteSinImpuestos") Then
|
||||
TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Decimal))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("AplicaLote") Then
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
End If
|
||||
|
||||
If Not TmpDT.Columns.Contains("Lote") Then
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("FechaCaducidad") Then
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
End If
|
||||
|
||||
GvPS.DataSource = TmpDT
|
||||
GvPS.DataBind()
|
||||
@@ -4288,6 +4311,12 @@ Partial Class Compras_Compras
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If Not validaFechaNumeroReembolso() Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim TotalRealDevolucion As Decimal = 0
|
||||
|
||||
Dim EstatusCredito As Integer = 0
|
||||
@@ -5588,8 +5617,10 @@ Partial Class Compras_Compras
|
||||
For Each dr As DataRow In DtInv.Rows
|
||||
If dr("cvealmacen").ToString.ToEntero = tcvealmacen Then
|
||||
'hay que restarle descuento
|
||||
Dim Lote As String = dr("Lote").ToString
|
||||
Dim FechaCaducidad As Date = If(dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, dr("FechaCaducidad").ToString.ToDate)
|
||||
importeconcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, dr("pu").ToString.ToDecimal, dr("pu").ToString.ToDecimal * TipoCambioGuardar) - (If(DdlMoneda.SelectedValue.ToEntero = 1, dr("descuento").ToString.ToDecimal, dr("descuento").ToString.ToDecimal * TipoCambioGuardar) / dr("cantidad").ToString.ToDecimal)
|
||||
If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDecimal, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, dr("pu").ToString.ToDecimal), CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero) Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDecimal, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, dr("pu").ToString.ToDecimal), CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -5606,7 +5637,9 @@ Partial Class Compras_Compras
|
||||
Else
|
||||
If ObjInventario.GetMovimientosDetalle(cvemovimientoentrada, UsuarioActual.CveEmpresa) Then
|
||||
For Each dr As DataRow In ObjInventario.DtResultados.Rows
|
||||
If Not ObjInventario.AddMovimientoDetalle(cvemovimientosalidagasto, dr("cantidad").ToString.ToDecimal, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, 0, dr("cveaf").ToString.ToEntero, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero) Then
|
||||
Dim Lote As String = dr("Lote").ToString
|
||||
Dim FechaCaducidad As Date = If(dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, dr("FechaCaducidad").ToString.ToDate)
|
||||
If Not ObjInventario.AddMovimientoDetalle(cvemovimientosalidagasto, dr("cantidad").ToString.ToDecimal, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, 0, dr("cveaf").ToString.ToEntero, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -5699,12 +5732,22 @@ Partial Class Compras_Compras
|
||||
tDescuento = Dr("Descuento").ToString.ToDecimal / CantidadInv
|
||||
CostoIndirecto = Dr("CostoIndirectoAlmacen").ToString.ToDecimal
|
||||
|
||||
Dim Lote As String = Dr("Lote").ToString
|
||||
Dim FechaCaducidad As Date = If(Dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, Dr("FechaCaducidad").ToString.ToDate)
|
||||
|
||||
Dim AplicaLote As Boolean = Boolean.Parse(Dr("AplicaLote").ToString)
|
||||
Dim AplicaCaducidad As Boolean = Boolean.Parse(Dr("AplicaCaducidad").ToString)
|
||||
Dim CodigoPS As String = Dr("CodigoPS").ToString
|
||||
|
||||
If Dr("CveMetodoInventario").ToString.ToEntero = 5 Then
|
||||
'SI FUE POR SERIE LOTE
|
||||
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("CvePS = {0}", Dr("CvePS")))
|
||||
If DtDetalle.Rows.Count > 0 Then
|
||||
For Each drr As DataRow In DtDetalle.Rows
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, 1, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=drr("Serie").ToString, FechaCaducidad:=drr("FechaCaducidad").ToString.ToDate, CostoIndirecto:=Dr("CostoIndirectoAlmacen").ToString.ToDecimal, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
|
||||
|
||||
Dim fechaDetalle As Date = drr("FechaCaducidad").ToString.ToDate
|
||||
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, 1, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=drr("Serie").ToString, FechaCaducidad:=drr("FechaCaducidad").ToString.ToDate, CostoIndirecto:=Dr("CostoIndirectoAlmacen").ToString.ToDecimal, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, Lote:=Lote) Then
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -5731,10 +5774,26 @@ Partial Class Compras_Compras
|
||||
'si no es por serie lote
|
||||
ImporteConcepto = If(UsuarioActual.Empresa.UsaAC, ImporteConcepto * IVA, ImporteConcepto)
|
||||
If Dr("CveAlmacen").ToString.ToEntero = tCveAlmacen Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDecimal), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
|
||||
|
||||
If AplicaLote And Lote.Trim = "" Then
|
||||
ErrorMovInv = True
|
||||
Alert($"Porducto {CodigoPS} requiere Lote.")
|
||||
Exit For
|
||||
End If
|
||||
If AplicaCaducidad And FechaCaducidad = MinFecha And Lote.Trim = "" Then
|
||||
ErrorMovInv = True
|
||||
Alert($"Porducto {CodigoPS} requiere fecha de caducidad.")
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Not ErrorMovInv Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDecimal), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
i = i + 1
|
||||
@@ -9377,14 +9436,87 @@ Partial Class Compras_Compras
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function validaFechaNumeroReembolso() As Boolean
|
||||
|
||||
Private Function validaNumeroReembolso(transaccionSql As SqlTransaction) As Boolean
|
||||
Dim respuesta As Boolean = True
|
||||
Dim CvePersonalVal As Integer = -1
|
||||
Dim CveCajaChicaVal As Integer = -1
|
||||
Dim FechaCompra As Date = TxtFecha.Text.ToDate
|
||||
|
||||
If RblRembolso.SelectedValue.ToEntero = 1 Then
|
||||
'IMPORATNTE DdlPersonalReembolso ES EL CONTROL QUE USA AL MOMENTO DE REGISTRAR PARA EDITAR ES DdlRembolsoPersonal
|
||||
CvePersonalVal = DdlPersonalReembolso.SelectedValue.ToEntero
|
||||
|
||||
Else
|
||||
'IMPORATNTE DdlCuentaCajaChicaReembolso ES EL CONTROL QUE USA AL MOMENTO DE REGISTRAR PARA EDITAR ES DdlRembolsoCajaChica
|
||||
CveCajaChicaVal = DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero
|
||||
End If
|
||||
|
||||
Dim objCompras As New ClsCompras()
|
||||
|
||||
If TxtRembolsoNumero.Text.Trim.Length > 0 Then
|
||||
If objCompras.GetComprobacion(CvePersonalVal, CveCajaChicaVal, TxtRembolsoNumero.Text.Trim, UsuarioActual.CveEmpresa) Then
|
||||
If objCompras.DtResultados IsNot Nothing AndAlso objCompras.DtResultados.Rows.Count > 0 Then
|
||||
|
||||
Dim FechaReembolso As Date = objCompras.DtResultados.Rows(0)("Fecha").ToString.ToDate
|
||||
|
||||
Dim MesReembolsoInt As Integer = FechaReembolso.Month
|
||||
Dim AnioReembolsoInt As Integer = FechaReembolso.Year
|
||||
|
||||
Dim mesAnterior As Integer
|
||||
Dim AnioValidoInt As Integer
|
||||
|
||||
If MesReembolsoInt = 1 Then
|
||||
mesAnterior = 12
|
||||
AnioValidoInt = AnioReembolsoInt - 1
|
||||
Else
|
||||
mesAnterior = MesReembolsoInt - 1
|
||||
AnioValidoInt = AnioReembolsoInt
|
||||
End If
|
||||
|
||||
|
||||
If MesReembolsoInt = FechaCompra.Month Or (FechaCompra.Month = mesAnterior AndAlso FechaCompra.Year = AnioValidoInt) Then
|
||||
respuesta = True 'Correcto Fecha de compra dentro del mes del reembolso o mes anterior
|
||||
Else
|
||||
respuesta = False 'La fecha de la compra esta por fuera de lo permitido mes actual o mes anterior
|
||||
|
||||
If FechaCompra.Month > MesReembolsoInt Then
|
||||
Alert($"La fecha de la compra que se quiere registrar esta adelantada al mes de la comprobación (Fecha comprobación {FechaReembolso.ToString("dd/MM/yyyy")}).", TipoMensaje.MsgAdvertencia)
|
||||
Else
|
||||
Alert($"La fecha de la compra que se quiere registrar es anterior al mes permitido por la comprobación (Fecha comprobación {FechaReembolso.ToString("dd/MM/yyyy")}).", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
respuesta = True ' No existe numero reembolso por lo que se considera Verdadero
|
||||
End If
|
||||
Else
|
||||
respuesta = False ' al no poder consultar no se puede validar la fecha por lo que por default se considera como fecha no valida para el reembolso
|
||||
End If
|
||||
End If
|
||||
|
||||
objCompras.Dispose()
|
||||
|
||||
Return respuesta
|
||||
|
||||
End Function
|
||||
|
||||
Private Function validaNumeroReembolso(ByRef transaccionSql As SqlTransaction) As Boolean
|
||||
|
||||
|
||||
Dim CvePersonalVal As Integer = -1
|
||||
Dim CveCajaChicaVal As Integer = -1
|
||||
|
||||
If RblRembolso.SelectedValue.ToEntero = 1 Then
|
||||
CvePersonalVal = DdlRembolsoPersonal.SelectedValue.ToEntero
|
||||
Else
|
||||
CveCajaChicaVal = DdlRembolsoCajaChica.SelectedValue.ToEntero
|
||||
End If
|
||||
|
||||
Dim objCompras As New ClsCompras(transaccionSql)
|
||||
Dim objConta As New ClsContabilidad(transaccionSql)
|
||||
|
||||
|
||||
Dim tienePagoContabilizado As Boolean = False
|
||||
Dim ErrorProceso As Boolean = False
|
||||
|
||||
@@ -9393,15 +9525,6 @@ Partial Class Compras_Compras
|
||||
|
||||
If TxtRembolsoNumero.Text.Trim.Length > 0 Then
|
||||
|
||||
Dim CvePersonalVal As Integer = -1
|
||||
Dim CveCajaChicaVal As Integer = -1
|
||||
|
||||
If RblRembolso.SelectedValue.ToEntero = 1 Then
|
||||
CvePersonalVal = DdlRembolsoPersonal.SelectedValue.ToEntero
|
||||
Else
|
||||
CveCajaChicaVal = DdlRembolsoCajaChica.SelectedValue.ToEntero
|
||||
End If
|
||||
|
||||
If objCompras.GetComprobacion(CvePersonalVal, CveCajaChicaVal, TxtRembolsoNumero.Text.Trim, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
If objCompras.DtResultados.Rows.Count > 0 Then
|
||||
@@ -9422,10 +9545,8 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If NumeroReembolsoOriginal = "" And TxtRembolsoNumero.Text.Trim.Length > 0 Then
|
||||
|
||||
|
||||
If objCompras.GetComprobacionPagosContabilizados(CvePersonalVal, CveCajaChicaVal, TxtRembolsoNumero.Text.Trim, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
If objCompras.DtResultados IsNot Nothing AndAlso objCompras.DtResultados.Rows.Count > 0 Then
|
||||
@@ -10671,6 +10792,11 @@ Partial Class Compras_Compras
|
||||
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
|
||||
TmpDT.Columns.Add("TemporadaCuadro", GetType(String))
|
||||
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
|
||||
TmpDTOriginal = New DataTable
|
||||
TmpDTOriginal.Columns.Add("Consec", GetType(Integer))
|
||||
@@ -10781,7 +10907,10 @@ Partial Class Compras_Compras
|
||||
TmpDTOriginal.Columns.Add("CveCultivoCuadroDetalle", GetType(Double))
|
||||
TmpDTOriginal.Columns.Add("TemporadaCuadro", GetType(String))
|
||||
|
||||
|
||||
TmpDTOriginal.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
TmpDTOriginal.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
TmpDTOriginal.Columns.Add("Lote", GetType(String))
|
||||
TmpDTOriginal.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -10955,6 +11084,18 @@ Partial Class Compras_Compras
|
||||
#Region " ALMACEN "
|
||||
Private Sub CargaGvInv()
|
||||
|
||||
|
||||
If Not TmpDT.Columns.Contains("UUIDRow") Then
|
||||
TmpDT.Columns.Add("UUIDRow", GetType(String))
|
||||
End If
|
||||
|
||||
For Each dRow As DataRow In TmpDT.Rows
|
||||
If dRow("UUIDRow").ToString.Trim = "" Then
|
||||
dRow("UUIDRow") = Guid.NewGuid().ToString()
|
||||
End If
|
||||
Next
|
||||
TmpDT.AcceptChanges()
|
||||
|
||||
'SI ES CONSIGNACION NO LIMITA POR TIPO PS - PARA GLUYAS
|
||||
If ChkConsignacion.Checked Then
|
||||
DtInv = TmpDT.Copy
|
||||
@@ -10962,6 +11103,18 @@ Partial Class Compras_Compras
|
||||
DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy
|
||||
End If
|
||||
|
||||
|
||||
For Each dRow As DataRow In DtInv.Rows
|
||||
|
||||
Dim CvePS As Integer = dRow("CvePS").ToString.ToEntero
|
||||
Dim AplicaLote As Boolean = Boolean.Parse(GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("AplicaLote", $"CvePS={CvePS}"))
|
||||
Dim AplicaCaducidad As Boolean = Boolean.Parse(GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("AplicaCaducidad", $"CvePS={CvePS}"))
|
||||
|
||||
GvInv.Columns(7).Visible = AplicaLote
|
||||
GvInv.Columns(8).Visible = AplicaCaducidad
|
||||
|
||||
Next
|
||||
|
||||
GvInv.DataSource = DtInv
|
||||
GvInv.DataBind()
|
||||
|
||||
@@ -10975,6 +11128,35 @@ Partial Class Compras_Compras
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnInvActualizaLoteCaducidad_Click(sender As Object, e As EventArgs)
|
||||
|
||||
For Each gvRow As GridViewRow In GvInv.Rows
|
||||
|
||||
Dim TxtLote As TextBox = gvRow.FCTextBox("TxtLote")
|
||||
Dim TxtFechaCaducidad As TextBox = gvRow.FCTextBox("TxtCaducidad")
|
||||
|
||||
Dim UUIDRow As String = gvRow.DataKey("UUIDRow")
|
||||
Dim FechaCaducidad As Date = If(TxtFechaCaducidad.Text.ToDate <= MinFecha, MinFecha, TxtFechaCaducidad.Text.ToDate)
|
||||
|
||||
|
||||
For Each dRow As DataRow In TmpDT.Rows
|
||||
If dRow("UUIDRow").ToString = UUIDRow Then
|
||||
dRow("Lote") = TxtLote.Text
|
||||
dRow("FechaCaducidad") = FechaCaducidad
|
||||
End If
|
||||
Next
|
||||
|
||||
For Each dRow As DataRow In DtInv.Rows
|
||||
If dRow("UUIDRow").ToString = UUIDRow Then
|
||||
dRow("Lote") = TxtLote.Text
|
||||
dRow("FechaCaducidad") = FechaCaducidad
|
||||
End If
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CargaFletesAgregados()
|
||||
CreaDTServicios()
|
||||
BtnFiltrar_Click(Nothing, Nothing)
|
||||
@@ -11001,6 +11183,20 @@ Partial Class Compras_Compras
|
||||
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
Dim CvePS As Integer = e.Row.DataKey("CvePS").ToEntero
|
||||
|
||||
Dim AplicaLote As Boolean = Boolean.Parse(GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("AplicaLote", $"CvePS={CvePS}"))
|
||||
Dim AplicaCaducidad As Boolean = Boolean.Parse(GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("AplicaCaducidad", $"CvePS={CvePS}"))
|
||||
|
||||
If AplicaLote Then
|
||||
e.Row.FCTextBox("TxtLote").Visible = True
|
||||
End If
|
||||
|
||||
If AplicaCaducidad Then
|
||||
Dim DvFechaCaducidad As HtmlGenericControl = TryCast(e.Row.FindControl("DvFechaCaducidad"), HtmlGenericControl)
|
||||
DvFechaCaducidad.Visible = True
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.UsaAC Then e.Row.FCCheckBox("cbInv").Enabled = False
|
||||
|
||||
Dim StrTipo As String = "CveTipoAlmacen IN (1,2,7,14,19)"
|
||||
@@ -13245,8 +13441,8 @@ Partial Class Compras_Compras
|
||||
|
||||
If ChkConsignacion.Checked Then
|
||||
'LiConsignacion.Visible = True
|
||||
GvInv.Columns(7).Visible = True
|
||||
GvInv.Columns(8).Visible = True
|
||||
GvInv.Columns(9).Visible = True
|
||||
GvInv.Columns(10).Visible = True
|
||||
CargaConsignaciones2()
|
||||
|
||||
CargaGvInv()
|
||||
@@ -13259,8 +13455,8 @@ Partial Class Compras_Compras
|
||||
BtnGuardar.Enabled = False
|
||||
UpFacturar.Update()
|
||||
Else
|
||||
GvInv.Columns(7).Visible = False
|
||||
GvInv.Columns(8).Visible = False
|
||||
GvInv.Columns(9).Visible = False
|
||||
GvInv.Columns(10).Visible = False
|
||||
'LiConsignacion.Visible = False
|
||||
CveConsignacion = -1
|
||||
|
||||
@@ -14164,6 +14360,20 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not TmpDT.Columns.Contains("AplicaLote") Then
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("Lote") Then
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("FechaCaducidad") Then
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
End If
|
||||
|
||||
|
||||
If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||
If ObjInventario.DtResultados.Rows.Count > 0 Then
|
||||
tbmovs = ObjInventario.DtResultados
|
||||
@@ -21641,6 +21851,8 @@ Partial Class Compras_Compras
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
@@ -22165,6 +22377,21 @@ Public Class ClsCompraManagerCompras
|
||||
If Not TmpDT.Columns.Contains("Amortizacion") Then
|
||||
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
|
||||
End If
|
||||
|
||||
|
||||
If Not TmpDT.Columns.Contains("AplicaLote") Then
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("AplicaCaducidad") Then
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("Lote") Then
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
End If
|
||||
If Not TmpDT.Columns.Contains("FechaCaducidad") Then
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
End If
|
||||
|
||||
'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101
|
||||
Dim ProductosCodigoSATNoPermitidos As New StringBuilder("")
|
||||
For Each drr As DataRow In TmpDT.FiltraParametros("ClaveProdServ = '01010101'").Rows
|
||||
@@ -22411,6 +22638,13 @@ Public Class ClsCompraManagerCompras
|
||||
|
||||
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
|
||||
|
||||
TmpDT.Columns.Add("AplicaLote", GetType(Boolean))
|
||||
TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
|
||||
|
||||
TmpDT.Columns.Add("Lote", GetType(String))
|
||||
TmpDT.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
|
||||
TmpDT.AcceptChanges()
|
||||
|
||||
|
||||
|
||||
@@ -1707,7 +1707,12 @@ Partial Class Compras_eFacturas
|
||||
If File.Exists(PDfDestino) Then
|
||||
File.Delete(PDfDestino)
|
||||
End If
|
||||
File.Move(RutaPDF, PDfDestino)
|
||||
Try
|
||||
File.Move(RutaPDF, PDfDestino)
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user