Merge branch 'master' of http://jperez@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -23,11 +23,12 @@ Partial Class AF_CatSubTipos
|
||||
End Sub
|
||||
|
||||
Private Sub CargaGlobal()
|
||||
Dim ObjSubTipos As New ClsAF
|
||||
If ObjSubTipos.GetSubTiposActivosFijos(-1) Then
|
||||
GlobalDTSubTipoActivoFijo(-1) = ObjSubTipos.DtResultados
|
||||
End If
|
||||
ObjSubTipos.Dispose()
|
||||
'Dim ObjSubTipos As New ClsAF
|
||||
'If ObjSubTipos.GetSubTiposActivosFijos(-1) Then
|
||||
' GlobalDTSubTipoActivoFijo(-1) = ObjSubTipos.DtResultados
|
||||
'End If
|
||||
'ObjSubTipos.Dispose()
|
||||
GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa, -1) = Nothing
|
||||
End Sub
|
||||
|
||||
Public Sub CargaDatos()
|
||||
|
||||
@@ -2184,19 +2184,43 @@ Public Class ClsPaginas
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property GlobalDTSubTipoActivoFijo(CveEmpresa As Integer) As DataTable
|
||||
Property GlobalDTSubTipoActivoFijo(CveEmpresa As Integer, Optional CveTipoActivoFijo As Integer = -1) As DataTable
|
||||
|
||||
Get
|
||||
If CveEmpresa <> -1 Then
|
||||
Dim Dv As New DataView(DirectCast(Application("GlobalDTSubTipoActivoFijo"), DataTable), String.Format("CveEmpresa = {0}", CveEmpresa), "", DataViewRowState.CurrentRows)
|
||||
GlobalDTSubTipoActivoFijo = Dv.ToTable
|
||||
Dv.Dispose()
|
||||
Else
|
||||
GlobalDTSubTipoActivoFijo = DirectCast(Application("GlobalDTSubTipoActivoFijo"), DataTable)
|
||||
Dim AppNombre As String = String.Format("GlobalDTSubTipoActivoFijo-{0}", CveEmpresa)
|
||||
'sino existe, recarga los datos
|
||||
If Application(AppNombre) Is Nothing Then
|
||||
Dim ObjSubTipos As New ClsAF
|
||||
If ObjSubTipos.GetSubTiposActivosFijos(CveEmpresa) Then Application(AppNombre) = ObjSubTipos.DtResultados
|
||||
ObjSubTipos.Dispose()
|
||||
End If
|
||||
|
||||
Dim Str As New StringBuilder
|
||||
|
||||
If CveEmpresa <> -1 Then Str.AppendFormat(" CveEmpresa = {0} ", CveEmpresa)
|
||||
If CveTipoActivoFijo > 0 Then Str.AppendFormat("AND CveTipoActivoFijo = {0}", CveTipoActivoFijo)
|
||||
Dim Dv As New DataView(DirectCast(Application(AppNombre), DataTable), Str.ToString, "", DataViewRowState.CurrentRows)
|
||||
GlobalDTSubTipoActivoFijo = Dv.ToTable
|
||||
Dv.Dispose()
|
||||
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
Application("GlobalDTSubTipoActivoFijo") = value
|
||||
Dim AppNombre As String = String.Format("GlobalDTSubTipoActivoFijo-{0}", CveEmpresa)
|
||||
Application(AppNombre) = value
|
||||
End Set
|
||||
|
||||
'Get
|
||||
' If CveEmpresa <> -1 Then
|
||||
' Dim Dv As New DataView(DirectCast(Application("GlobalDTSubTipoActivoFijo"), DataTable), String.Format("CveEmpresa = {0}", CveEmpresa), "", DataViewRowState.CurrentRows)
|
||||
' GlobalDTSubTipoActivoFijo = Dv.ToTable
|
||||
' Dv.Dispose()
|
||||
' Else
|
||||
' GlobalDTSubTipoActivoFijo = DirectCast(Application("GlobalDTSubTipoActivoFijo"), DataTable)
|
||||
' End If
|
||||
'End Get
|
||||
'Set(value As DataTable)
|
||||
' Application("GlobalDTSubTipoActivoFijo") = value
|
||||
'End Set
|
||||
End Property
|
||||
Property GlobalDTTipoActivoFijo(CveEmpresa As Integer) As DataTable
|
||||
Get
|
||||
|
||||
@@ -767,12 +767,12 @@ Partial Class Bancos_IE
|
||||
|
||||
|
||||
|
||||
If TabCancelacion.Visible Then
|
||||
LnkCancelar.Visible = False
|
||||
LnkCancelarComplemento.Visible = False
|
||||
LnkEliminar.Visible = False
|
||||
LnkCancelarComplementoImporte.Visible = False
|
||||
End If
|
||||
'If TabCancelacion.Visible Then
|
||||
' LnkCancelar.Visible = False
|
||||
' LnkCancelarComplemento.Visible = False
|
||||
' 'LnkEliminar.Visible = False
|
||||
' LnkCancelarComplementoImporte.Visible = False
|
||||
'End If
|
||||
|
||||
UppEliminarIE.Update()
|
||||
|
||||
@@ -4490,14 +4490,17 @@ Partial Class Bancos_IE
|
||||
GeneraCancelacionEnCero = True
|
||||
End If
|
||||
|
||||
Dim TipoMovimiento As Integer = 1
|
||||
|
||||
If ChkGeneraCancelacion.Checked AndAlso GeneraCancelacionEnCero Then
|
||||
GeneraCancelacionEnCero = False
|
||||
TipoMovimiento = 2
|
||||
End If
|
||||
Dim CvePrePolizaCancelacion As Integer = 0
|
||||
|
||||
If Not GeneraCancelacionEnCero Then
|
||||
'CANCELA IE MES ANTERIOR
|
||||
CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero)
|
||||
CvePrePolizaCancelacion = Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaCancelacion.Text.ToDate, TipoMovimiento:=TipoMovimiento, CveTipoTransaccionCancelacion:=DdlTipoTransaccionCancelacion.SelectedValue.ToEntero)
|
||||
If CvePrePolizaCancelacion <= 0 Then
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Error al cancelar IE MES ANTERIOR"
|
||||
|
||||
@@ -3988,9 +3988,11 @@ Partial Class Compras_Compras
|
||||
Protected Sub BtnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click
|
||||
|
||||
|
||||
AjustaCombustibles()
|
||||
'If Not AjustaCombustibles() Then
|
||||
' Exit Sub
|
||||
'End If
|
||||
|
||||
'------------------INICIA VALIDACIONES------------------
|
||||
'------------------ INICIA VALIDACIONES ------------------
|
||||
Dim EstatusCredito As Integer = 0
|
||||
Dim CveSubProyecto As Integer = 0
|
||||
'Credito Multiple
|
||||
@@ -4303,7 +4305,7 @@ Partial Class Compras_Compras
|
||||
Next
|
||||
If ErrorValidacion Then Exit Sub
|
||||
|
||||
'------------------TERMINA VALIDACIONES------------------
|
||||
|
||||
|
||||
'RECORRO LOS PRODUCTOS O SERVICIOS PARA REGISTRARLOS LOS QUE NO EXISTEN EN EL CATÁLOGO
|
||||
Dim tCve As Integer
|
||||
@@ -4374,6 +4376,17 @@ Partial Class Compras_Compras
|
||||
UM.Dispose()
|
||||
PSS.Dispose()
|
||||
|
||||
'VALIDA IMPORTES
|
||||
If Not ValidaTotalesGuardar() Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If Not AjustaCombustibles() Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
'------------------TERMINA VALIDACIONES------------------
|
||||
|
||||
'si hay necesidad de actualizar el globaldtps
|
||||
If RegeneraPS Then
|
||||
'Dim Hilo As New System.Threading.Thread(AddressOf GeneraGlobalDT)
|
||||
@@ -4423,10 +4436,7 @@ Partial Class Compras_Compras
|
||||
TmpDT.AcceptChanges()
|
||||
If Correcto Then
|
||||
|
||||
'VALIDA IMPORTES
|
||||
If Not ValidaTotalesGuardar() Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim ObjCompras As New ClsCompras()
|
||||
@@ -4650,6 +4660,8 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
|
||||
'Compra
|
||||
If ObjCompras.AddCompra(DdlTipoComprobante.SelectedValue, TxtDescripcion.Text.Trim, TxtSerie.Text.Trim, TxtFolio.Text.Trim, TxtFolioSecundario.Text.Trim, CveProveedor, TxtSubTotal.Text.ToDouble, TxtDescuento.Text.ToDouble,
|
||||
LblAmortizacion.Text.ToDouble, TxtIVA.Text.ToDouble, TxtRetIVA.Text.ToDouble, TxtRetISR.Text.ToDouble, TxtIEPS.Text.ToDouble, TxtOtrosImpuestos.Text.ToDouble,
|
||||
@@ -6699,7 +6711,7 @@ Partial Class Compras_Compras
|
||||
Dim TCO As Decimal = 1
|
||||
For Each Dr As DataRow In TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2 And ISNULL(CveAlmacen,0) = 0 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").Rows
|
||||
If ObjOC.OrdenesCompraDetalleCostoPP(Dr("CveOrdenCompraDetalle").ToString.ToEntero) AndAlso ObjOC.DtResultados.Rows.Count >= 1 Then
|
||||
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text} OC {ObjOC.DtResultados.FiltroPrimeroValor("Folio").ToString} Inv{ObjOC.DtResultados.FiltroPrimeroValor("FolioAlmacen").ToString}"
|
||||
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text} OC {ObjOC.DtResultados.FiltroPrimeroValor("Folio").ToString} Inv:{ObjOC.DtResultados.FiltroPrimeroValor("FolioAlmacen").ToString}"
|
||||
Importe176 = ObjOC.DtResultados.FiltroPrimeroValor("Importe176").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteME176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME176").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteMN176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN176").ToDecimal * Dr("Cantidad").ToString.ToDecimal
|
||||
Importe228 = ObjOC.DtResultados.FiltroPrimeroValor("Importe228").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteME228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME228").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteMN228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN228").ToDecimal * Dr("Cantidad").ToString.ToDecimal
|
||||
Importe229 = ObjOC.DtResultados.FiltroPrimeroValor("Importe229").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteME229 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME229").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteMN229 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN229").ToDecimal * Dr("Cantidad").ToString.ToDecimal
|
||||
@@ -8494,6 +8506,8 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
|
||||
Alert(Msg.ToString, TipoMensaje.MsgInformacion, MsgAccionAceptar)
|
||||
BtnGuardar.Enabled = False
|
||||
UpFacturar.Update()
|
||||
|
||||
End If
|
||||
|
||||
@@ -8538,7 +8552,12 @@ Partial Class Compras_Compras
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub AjustaCombustibles()
|
||||
Private Function AjustaCombustibles() As Boolean
|
||||
|
||||
Dim Respuesta As Boolean = False
|
||||
|
||||
Dim IVADetalles As Decimal = TmpDT.SUM("IVA", " IVA > 0 ").ToDecimal
|
||||
Dim DiferenciaIVas As Decimal = TxtIVA.Text.ToDecimal - IVADetalles
|
||||
|
||||
|
||||
If Not TmpDT.Columns.Contains("AplicaIEPS") Then
|
||||
@@ -8569,18 +8588,14 @@ Partial Class Compras_Compras
|
||||
Dim IndiceUltimo As Integer = 0
|
||||
|
||||
For Each dRow As DataRow In TmpDT.Rows
|
||||
|
||||
If Boolean.Parse(dRow("AplicaIEPS").ToString) And Boolean.Parse(dRow("IEPSGrabaIVA").ToString) = False And dRow("IVA").ToString.ToDecimal > 0 Then
|
||||
IndiceUltimo = IndiceContador
|
||||
End If
|
||||
|
||||
IndiceContador = IndiceContador + 1
|
||||
|
||||
Next
|
||||
|
||||
|
||||
Dim IVADetalles As Decimal = TmpDT.SUM("IVA", " IVA > 0 ").ToDecimal
|
||||
Dim DiferenciaIVas As Decimal = TxtIVA.Text.ToDecimal - IVADetalles
|
||||
IVADetalles = TmpDT.SUM("IVA", " IVA > 0 ").ToDecimal
|
||||
DiferenciaIVas = TxtIVA.Text.ToDecimal - IVADetalles
|
||||
|
||||
If Math.Abs(DiferenciaIVas) > 0.01D Then
|
||||
TmpDT.Rows(IndiceUltimo)("IVA") = TmpDT.Rows(IndiceUltimo)("IVA").ToString.ToDecimal + DiferenciaIVas
|
||||
@@ -8590,7 +8605,36 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
'Revalidacion de ajuste
|
||||
IVADetalles = TmpDT.SUM("IVA", " IVA > 0 ").ToDecimal
|
||||
DiferenciaIVas = TxtIVA.Text.ToDecimal - IVADetalles
|
||||
|
||||
|
||||
|
||||
If Math.Abs(DiferenciaIVas) > 0.01D Then
|
||||
|
||||
If IVADetalles > 0 Then
|
||||
|
||||
For Each dRow As DataRow In TmpDT.Rows
|
||||
If dRow("IVA").ToString.ToDecimal > 0 Then
|
||||
dRow("IVA") = dRow("IVA").ToString.ToDecimal + DiferenciaIVas
|
||||
TmpDT.AcceptChanges()
|
||||
Respuesta = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
Else
|
||||
Alert("Los productos especificados en el lisado no tienen asigando impuesto IVA, favor de realizar la correción en el producto que aplique el impúesto.", TipoMensaje.MsgAdvertencia)
|
||||
Respuesta = False
|
||||
End If
|
||||
Else
|
||||
Respuesta = True
|
||||
End If
|
||||
|
||||
Return Respuesta
|
||||
|
||||
End Function
|
||||
|
||||
Protected Sub TxtCodigo_TextChanged(sender As Object, e As System.EventArgs) Handles TxtCodigo.TextChanged
|
||||
Dim ObjProveedores As New ClsCompProveedores()
|
||||
@@ -12658,6 +12702,7 @@ Partial Class Compras_Compras
|
||||
TmpDT.Rows(Indice)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDouble + tPU
|
||||
TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDouble + ImporteAjuste
|
||||
TmpDT.Rows(Indice)("IEPSPS") = (TmpDT.Rows(Indice)("Total").ToString.ToDouble() * TmpDT.Rows(Indice)("IEPSPSPorcentaje").ToString.ToDouble()).RoundAD(2)
|
||||
TmpDT.Rows(Indice)("IVA") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal
|
||||
'Row("IEPSPS") = Math.Round(IEPSPS, DecimalesPermitidos)
|
||||
'Row("IEPSPSPorcentaje") = PorcentajeIEPS
|
||||
TmpDT.AcceptChanges()
|
||||
@@ -20240,7 +20285,7 @@ Partial Class Compras_Compras
|
||||
|
||||
|
||||
|
||||
If DiferenciaInvOC.RoundSQL() <> 0 Then
|
||||
If DiferenciaInvOC.RoundAD() <> 0 Then
|
||||
|
||||
|
||||
|
||||
@@ -20254,8 +20299,8 @@ Partial Class Compras_Compras
|
||||
If CvePrePoliza > 0 Then
|
||||
|
||||
If CveMoneda = 2 And UsuarioActual.CveEmpresa.Contiene(119) Then
|
||||
ImporteME = (DiferenciaInvOC / TCInvOC).RoundSQL()
|
||||
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundSQL()
|
||||
ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
|
||||
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()
|
||||
|
||||
Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp)
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="col-md-1">SubTipo Activo Fijo:</div>
|
||||
<div class="col-md-1">SubTipo Fijo:</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlSubTipoActivoFijo" CssClass="form-control input-sm select2me input-small" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo" Width="95%">
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
@@ -153,7 +153,7 @@
|
||||
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="col-md-1">Producto Servicio:</div>
|
||||
<div class="col-md-1" style="display:none;">Producto Servicio:</div>
|
||||
<div class="col-md-2">
|
||||
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Width="95%" />
|
||||
</div>
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
<table>
|
||||
<tr>
|
||||
<th>Enero</th>
|
||||
<th>Febero</th>
|
||||
<th>Febrero</th>
|
||||
<th>Marzo</th>
|
||||
<th>Abril</th>
|
||||
<th>Mayo</th>
|
||||
|
||||
@@ -67,9 +67,16 @@
|
||||
<asp:Label ID="LblEncabezado" runat="server" Text=" Registro de Póliza"></asp:Label>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkComplementoPago" runat="server" Visible="false" OnClick="LnkComplementoPago_Click" Style="color: #686868;"><i class="fa fa-money" style="color:#686868;"></i> Crear Complemento de Pago</asp:LinkButton>
|
||||
</li>
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkExcel" runat="server" Visible="true" data-target="#DivCargaExcel"><i class="far fa-file-excel" style="font-weight:bold;"></i> Cargar Excel</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkComplementoPago" runat="server" Visible="false" OnClick="LnkComplementoPago_Click" Style="color: #686868;"><i class="fa fa-money" style="color:#686868;"></i> Crear Complemento de Pago</asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||
|
||||
@@ -304,7 +311,7 @@
|
||||
</table>
|
||||
|
||||
<div style="width: 100%; min-height: 200px; overflow-scrolling: auto;">
|
||||
<asp:GridView ID="GvMov" runat="server" AutoGenerateColumns="False" ShowHeader="False" DataKeyNames="IdMov,IDCuenta,Cargo,Abono,TipoMovto,CveConcepto,CveProveedor,CvePersonal, CveCompra,CveClasificacion,CveCliente,CveVenta,TC,CveOC,PorcentajeImpuesto,CveCuenta" Width="100%" CssClass=" GvMov GvSize table table-striped table-advance table-hover mysmallbtn" GridLines="None">
|
||||
<asp:GridView ID="GvMov" runat="server" AutoGenerateColumns="False" ShowHeader="False" DataKeyNames="IdMov,IDCuenta,Cargo,Abono,TipoMovto,CveConcepto,CveProveedor,CvePersonal, CveCompra,CveClasificacion,CveCliente,CveVenta,TC,CveOC,PorcentajeImpuesto,CveCuenta, Cuenta, CveSubProyecto" Width="100%" CssClass=" GvMov GvSize table table-striped table-advance table-hover mysmallbtn" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate>Cuenta</HeaderTemplate>
|
||||
@@ -728,7 +735,54 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="DivCargaExcel" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">Agregar Excel</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<label class="col-md-2 truncate" style="text-align: right;">Almacen:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlPlantilla2" runat="server" DataValueField="CvePlantillaPoliza" DataTextField="PlantillaPoliza" class="select2me" Width="100%"></asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3>Arraste o haga click para subir el archivo Excel</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-11" style="margin-left: 30px; margin-right: 30px; margin-bottom: 10px;">
|
||||
<asp:TextBox ID="TxtExcel" CssClass="ADSdropzone hidden" Text="" data-maxFile="1" runat="server"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<div class="row">
|
||||
<div class="col-md-3" style="text-align: left">
|
||||
<asp:UpdatePanel ID="UpDescargar" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:Button ID="BtnDescargar" runat="server" CssClass="btn btn-warning" Text="Descargar Formato" />
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="BtnDescargar" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
</div>
|
||||
<div class="col-md-9" style="text-align: right">
|
||||
<asp:Button ID="BtnCargaExcel" runat="server" CssClass="btn btn-success" Text="Aceptar"></asp:Button>
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script>
|
||||
</asp:Content>
|
||||
|
||||
@@ -4,6 +4,7 @@ Imports System.Data
|
||||
Imports Extensiones
|
||||
Imports System.Linq
|
||||
Imports System.Web.Services
|
||||
Imports GemBox.Spreadsheet
|
||||
|
||||
Partial Class ContabilidadC_RegPrePoliza
|
||||
Inherits ClsPaginas
|
||||
@@ -171,6 +172,8 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
|
||||
If Not Page.IsPostBack Then
|
||||
|
||||
|
||||
If UsuarioActual.Empresa.TipoContabilizacion = 1 OrElse UsuarioActual.Empresa.TipoContabilidad = 1 Then
|
||||
Response.Redirect(Request.Url.PathAndQuery.Replace("RegPrePoliza", "RegPrePolizaS"))
|
||||
End If
|
||||
@@ -223,8 +226,9 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
Contabilizar()
|
||||
End If
|
||||
Exit Sub
|
||||
LnkExcel.Visible = False
|
||||
Else
|
||||
|
||||
LnkExcel.Visible = True
|
||||
CreaDT()
|
||||
BtnEliminar.Visible = False
|
||||
|
||||
@@ -527,13 +531,20 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(120) Then
|
||||
DdlPlantilla.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, -1)
|
||||
DdlPlantilla2.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, -1)
|
||||
|
||||
Else
|
||||
DdlPlantilla.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, TipoPlantilla)
|
||||
DdlPlantilla2.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, TipoPlantilla)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
DdlPlantilla.DataBind()
|
||||
DdlPlantilla.Items.Insert(0, New ListItem("Plantilla Personalizada", "53"))
|
||||
|
||||
DdlPlantilla2.DataBind()
|
||||
DdlPlantilla2.Items.Insert(0, New ListItem("Plantilla Personalizada", "53"))
|
||||
End Sub
|
||||
|
||||
Private Sub CargaConceptos()
|
||||
@@ -801,6 +812,8 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
dr("PorcentajeImpuesto") = drt("PorcentajeImpuesto")
|
||||
dr("CveCuenta") = drt("CveCuenta")
|
||||
DtMovimientos.Rows.Add(dr)
|
||||
|
||||
|
||||
Next
|
||||
|
||||
|
||||
@@ -1754,5 +1767,252 @@ Partial Class ContabilidadC_RegPrePoliza
|
||||
End If
|
||||
ObjGral.Dispose()
|
||||
End Sub
|
||||
|
||||
Private Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click
|
||||
RegistraScript(String.Format("$('#{0}').modal();", "DivCargaExcel"))
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click
|
||||
Dim NombreArchivo As String
|
||||
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
||||
Dim workbook As New ExcelFile()
|
||||
Dim worksheet = workbook.Worksheets.Add(DdlPlantilla2.SelectedItem.Text.ToString)
|
||||
|
||||
Dim CvePlantilla As Integer = DdlPlantilla2.SelectedValue.ToEntero
|
||||
Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla).FiltraParametros(String.Format("CveEmpresa={0}", UsuarioActual.CveEmpresa), "Orden")
|
||||
|
||||
Dim DtExcel As DataTable = (From row As DataRow In Dt.Rows
|
||||
Select New With
|
||||
{
|
||||
.ConceptoAdministrativo = row.Item("ConceptoContable"),
|
||||
.Cuenta = "",
|
||||
.NombreCuenta = "",
|
||||
.Cargo = "",
|
||||
.Abono = "",
|
||||
.Referencia = "",
|
||||
.Concepto = "",
|
||||
.SubProyecto = row.Item("SubProyecto"),
|
||||
.CveConceptoContable = row.Item("CveConcepto"),
|
||||
.CveSubProyecto = IIf(row.Item("CveSubProyecto").ToString.ToEntero > 0, row.Item("CveSubProyecto"), -1),
|
||||
.IdCtaContable = IIf(row.Item("IdCtaContable").ToString.ToEntero > 0, row.Item("IdCtaContable"), -1)
|
||||
}).QueryToDataTable(True)
|
||||
|
||||
worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With
|
||||
{
|
||||
.ColumnHeaders = True,
|
||||
.StartRow = 0,
|
||||
.StartColumn = 0
|
||||
})
|
||||
|
||||
Dim columnCount = worksheet.CalculateMaxUsedColumns()
|
||||
For i = 0 To columnCount
|
||||
worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
|
||||
Next
|
||||
worksheet.Columns("I").Hidden = True
|
||||
worksheet.Columns("J").Hidden = True
|
||||
worksheet.Columns("K").Hidden = True
|
||||
|
||||
|
||||
NombreArchivo = DdlPlantilla2.SelectedItem.Text.ToString
|
||||
workbook.Save(Response, $"{NombreArchivo}.xlsx", SaveOptions.XlsxDefault)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
|
||||
If TxtExcel.getfiles().Archivos.Count > 0 Then
|
||||
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
|
||||
|
||||
Dim Directorio As String = Server.MapPath("~") & file.patch
|
||||
|
||||
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
|
||||
CargarArchivo(Directorio, file.filename, Tipo)
|
||||
Else
|
||||
Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError)
|
||||
End If
|
||||
End Sub
|
||||
Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
|
||||
Dim dt As New DataTable
|
||||
' Conexion As Odbc.OdbcConnection = Nothing
|
||||
Dim ErrorArchivo = False
|
||||
Dim ErrorExcel = False
|
||||
|
||||
dt = ReadExcelFile(Ruta + FileName, True)
|
||||
|
||||
|
||||
If Not ErrorArchivo Then
|
||||
|
||||
If Not dt.Columns(0).ColumnName = "ConceptoAdministrativo" Then
|
||||
Alert("El nombre de la primera columna debe ser 'ConceptoAdmin'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
If Not dt.Columns(1).ColumnName = "Cuenta" Then
|
||||
Alert("El nombre de la segunda columna debe ser 'Cuenta'.Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
If Not dt.Columns(2).ColumnName = "NombreCuenta" Then
|
||||
Alert("El nombre de la tercera columna debe ser 'NombreCuenta'.Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
If Not dt.Columns(3).ColumnName = "Cargo" Then
|
||||
Alert("El nombre de la cuarta columna debe ser 'Cargo'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
If Not dt.Columns(4).ColumnName = "Abono" Then
|
||||
Alert("El nombre de la quinta columna debe ser 'Abono' .Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
If Not dt.Columns(5).ColumnName = "Referencia" Then
|
||||
Alert("El nombre de la sexta columna debe ser 'Referencia'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
If Not dt.Columns(6).ColumnName = "Concepto" Then
|
||||
Alert("El nombre de la séptima columna debe ser 'Concepto'.Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
If Not dt.Columns(7).ColumnName = "SubProyecto" Then
|
||||
Alert("El nombre de la octava columna debe ser 'SubProyecto'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not ErrorArchivo Then
|
||||
|
||||
|
||||
Dim ObjConta As New ClsContabilidad()
|
||||
ObjConta.IniciaTransacSQL()
|
||||
Try
|
||||
Dim TieneError As Boolean = False
|
||||
Dim ContadorUpdate As Integer = 0
|
||||
Dim ContadorError As Integer = 0
|
||||
Dim NombreCuenta As String = ""
|
||||
Dim CvePrePoliza As Integer = 0
|
||||
Dim Cuenta As String = ""
|
||||
Dim Reporte As New StringBuilder
|
||||
Dim TotalCargos As Integer = 0
|
||||
Dim TotalAbonos As Integer = 0
|
||||
|
||||
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Contabilidad/RegPrePolizaExcel", DdlPlantilla2.SelectedValue.ToEntero, TotalCargos, TotalAbonos, 1, TxtFecha.Text.ToDate, DdlPlantilla2.SelectedItem.Text.ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=DdlTipoPolizaAdd.SelectedValue.ToEntero)
|
||||
|
||||
|
||||
For Each Row As DataRow In dt.Rows
|
||||
NombreCuenta = Row("NombreCuenta").ToString
|
||||
Cuenta = Row("Cuenta").ToString
|
||||
|
||||
Dim Importe As Decimal = If(Row("Cargo").ToString.ToDecimal <> 0, Row("Cargo").ToString.ToDecimal, Row("Abono").ToString.ToDecimal)
|
||||
Dim Concepto As String = Row("Concepto").ToString
|
||||
Dim Referencia As String = Row("Referencia").ToString
|
||||
Dim IdCuenta As Integer = -1
|
||||
Dim CveSubProyecto As Integer = Row("CveSubProyecto").ToString.ToEntero
|
||||
Dim TipoMovto As Boolean = If(Row("Cargo").ToString.ToDecimal <> 0, False, True)
|
||||
Dim YaExiste As Boolean = False
|
||||
Dim CveConceptoContable As Integer = Row("CveConceptoContable").ToString.ToEntero
|
||||
Dim IdCtaContable As Integer = Row("IdCtaContable").ToString.ToEntero
|
||||
|
||||
If ObjConta.GetCuentas(-1, Cuenta.Replace("-", ""), 1, UsuarioActual.CveEmpresa) Then
|
||||
If ObjConta.DtResultados.Rows.Count > 0 Then
|
||||
IdCuenta = ObjConta.DtResultados().FiltroPrimeroValor("CveCuenta").ToEntero
|
||||
'TipoCuenta = ObjConta.DtResultados().FiltroPrimeroValor("Tipo")
|
||||
Else
|
||||
Reporte.AppendLine($"{Cuenta} - {NombreCuenta} - {Importe} </br>")
|
||||
TieneError = True
|
||||
YaExiste = True
|
||||
End If
|
||||
Else
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
|
||||
'If TipoCuenta.Contiene("A", "C", "E") Then
|
||||
' CargoAbono = False
|
||||
'End If
|
||||
|
||||
If YaExiste = False Then
|
||||
If IdCuenta > 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, "", CveConceptoContable, Concepto, Now.ToDate, IdCtaContable, -1, ImporteMX:=Importe, CveSubProyecto:=CveSubProyecto, CveCuenta:=IdCuenta) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
IdCuenta = -2
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Next
|
||||
If Not TieneError Then
|
||||
ObjConta.Commit()
|
||||
Alert(String.Format("<br/><br/>Prepóliza: <b><a href = ""/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={0}"" class=""texto"" target=""_blank"" >{1}</a></b>", CvePrePoliza, ObjConta.ContaFolio))
|
||||
|
||||
Alert($"Se agregó la póliza {ObjConta.ContaFolio}")
|
||||
|
||||
Else
|
||||
Alert($"No encontraron las siguientes cuentas: {Reporte.ToString} ", TipoMensaje.MsgError)
|
||||
ObjConta.RollBack()
|
||||
End If
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
ObjConta.RollBack()
|
||||
End Try
|
||||
|
||||
ObjConta.Dispose()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable
|
||||
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
||||
Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath)
|
||||
|
||||
Dim unnamed As Integer = 0
|
||||
Dim cols As Integer
|
||||
Dim columns As String()
|
||||
Dim curRow As Integer = 0
|
||||
Dim curCol As Integer = 0
|
||||
Dim dataTable As DataTable = New DataTable()
|
||||
Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0)
|
||||
|
||||
For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1
|
||||
|
||||
If firstRowHasHeaders Then
|
||||
|
||||
If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then
|
||||
dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString().Trim)
|
||||
Else
|
||||
dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed)))
|
||||
End If
|
||||
|
||||
curRow = 1
|
||||
Else
|
||||
dataTable.Columns.Add("Column " & (cols + 1))
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
While curRow < worksheet.Rows.Count
|
||||
|
||||
columns = New String(cols - 1) {}
|
||||
|
||||
For curCol = 0 To cols - 1
|
||||
|
||||
If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then
|
||||
columns(curCol) = ""
|
||||
Else
|
||||
columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString()
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
dataTable.Rows.Add(columns)
|
||||
curRow += 1
|
||||
|
||||
End While
|
||||
|
||||
Return dataTable
|
||||
|
||||
End Function
|
||||
End Class
|
||||
|
||||
|
||||
@@ -1287,7 +1287,7 @@
|
||||
</Style>
|
||||
</PageHeader>
|
||||
<PageFooter>
|
||||
<Height>8.4664cm</Height>
|
||||
<Height>7.77848cm</Height>
|
||||
<PrintOnFirstPage>true</PrintOnFirstPage>
|
||||
<PrintOnLastPage>true</PrintOnLastPage>
|
||||
<ReportItems>
|
||||
@@ -1573,51 +1573,6 @@
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
<Textbox Name="Textbox116">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>Fecha Impresión:</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
</Style>
|
||||
</TextRun>
|
||||
<TextRun>
|
||||
<Value xml:space="preserve"> </Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
<TextRun>
|
||||
<Value>=Today</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style />
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox8</rd:DefaultName>
|
||||
<Top>7.65059cm</Top>
|
||||
<Left>0.25442cm</Left>
|
||||
<Height>0.46771cm</Height>
|
||||
<Width>6.86562cm</Width>
|
||||
<ZIndex>5</ZIndex>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>None</Style>
|
||||
</Border>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</ReportItems>
|
||||
<Style>
|
||||
<Border>
|
||||
@@ -1769,8 +1724,28 @@
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="DepartamentoEntrego">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
</ReportParameters>
|
||||
<EmbeddedImages>
|
||||
<EmbeddedImage Name="compuproveedores">
|
||||
<MIMEType>image/jpeg</MIMEType>
|
||||
<ImageData>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</ImageData>
|
||||
</EmbeddedImage>
|
||||
<EmbeddedImage Name="Logo1">
|
||||
<MIMEType>image/png</MIMEType>
|
||||
<ImageData>iVBORw0KGgoAAAANSUhEUgAACIsAAAhVCAYAAADwAbiCAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAA5a0SURBVHja7P3ZchvLsi5qOtj3ndox1z513q1uzjPVTb1MPUVdldnZe6+15pxjqJcoiQ3qIsJHBFJUD5AA8vvM0kBSJEWCANIz40/3yXQ6DQAAAAAAAAAAxmHDXQAAAAAAAAAAMB7CIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAA
|
||||
|
||||
@@ -2021,7 +2021,7 @@ Partial Class General_SaldosIniciales
|
||||
|
||||
If YaExiste = False Then
|
||||
If IdCuenta > 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, "", 95, Concepto, Now.toDate, -1, -1, ImporteMX:=Importe, CveSubProyecto:=CveSubProyecto) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, "", 95, Concepto, Now.toDate, -1, -1, ImporteMX:=Importe, CveSubProyecto:=CveSubProyecto, CveCuenta:=IdCuenta) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -2035,7 +2035,7 @@ Partial Class General_SaldosIniciales
|
||||
|
||||
If Not TieneError Then
|
||||
ObjConta.Commit()
|
||||
Alert(String.Format("<br/><br/>Prepóliza: <b><a href = ""/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={0}"" class=""texto"" target=""_blank"" >{1}</a></b>", CvePrePoliza, ObjConta.ContaFolio))
|
||||
Alert(String.Format("<br/><br/>Prepóliza: <b><a href = ""/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={0}"" class=""texto"" target=""_blank"" >Prepóliza</a></b>", CvePrePoliza, ObjConta.ContaFolio))
|
||||
|
||||
Alert($"Se agregó la póliza {ObjConta.ContaFolio}")
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
Using ObjActivosFijos As New ClsAF
|
||||
If ObjActivosFijos.GetCaracteristicasClasificaciones(-1) Then Application("GlobalDTAFCaracteristicasClasificaciones") = ObjActivosFijos.DtResultados Else Application("GlobalDTAFCaracteristicasClasificaciones") = Nothing
|
||||
If ObjActivosFijos.GetCaracteristicas(-1) Then Application("GlobalDTAFCaracteristicas") = ObjActivosFijos.DtResultados Else Application("GlobalDTAFCaracteristicas") = Nothing
|
||||
If ObjActivosFijos.GetSubTiposActivosFijos(-1) Then Application("GlobalDTSubTipoActivoFijo") = ObjActivosFijos.DtResultados Else Application("GlobalDTSubTipoActivoFijo") = Nothing
|
||||
'If ObjActivosFijos.GetSubTiposActivosFijos(-1) Then Application("GlobalDTSubTipoActivoFijo") = ObjActivosFijos.DtResultados Else Application("GlobalDTSubTipoActivoFijo") = Nothing
|
||||
If ObjActivosFijos.GetTiposActivosFijos(-1) Then Application("GlobalDTTipoActivoFijo") = ObjActivosFijos.DtResultados Else Application("GlobalDTTipoActivoFijo") = Nothing
|
||||
If ObjActivosFijos.GetEstatusActivoFijo() Then Application("GlobalDTEstadoActivoFijo") = ObjActivosFijos.DtResultados Else Application("GlobalDTEstadoActivoFijo") = Nothing
|
||||
If ObjActivosFijos.GetMarcasActivosFijos(-1) Then Application(" GlobalDTMarcaActivoFijo") = ObjActivosFijos.DtResultados Else Application(" GlobalDTMarcaActivoFijo") = Nothing
|
||||
|
||||
@@ -263,6 +263,15 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property ValidaLoteCaducidad As Boolean
|
||||
Get
|
||||
Return CType(ViewState("ValidaLoteCaducidad"), Boolean)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("ValidaLoteCaducidad") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
@@ -270,7 +279,7 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
|
||||
InicializaValores()
|
||||
CargaParametrosAD()
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80, 146, 119) Then DdlAlmacen.AutoPostBack = True
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 146, 119) Then DdlAlmacen.AutoPostBack = True
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(281).ToEntero() = 1 Then
|
||||
|
||||
@@ -527,7 +536,7 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
CveVentaAD = -2
|
||||
CargaVentaPorSurtir(DdlFolio.SelectedValue.ToEntero())
|
||||
End Sub
|
||||
Private Sub CargaVentaPorSurtir(CveVenta As Integer)
|
||||
Private Sub CargaVentaPorSurtir(CveVenta As Integer, Optional CveAlmacen As Integer = -1)
|
||||
LbSurtida.Visible = False
|
||||
CveContrato = -1
|
||||
CveSubProyecto = -1
|
||||
@@ -544,14 +553,14 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
|
||||
Dim ObjInventario As New ClsInventarios
|
||||
|
||||
If ObjInventario.EntregaAlmacenGet(CveVenta) Then
|
||||
If ObjInventario.EntregaAlmacenGet(CveVenta, CveAlmacen) Then
|
||||
If ObjInventario.DtResultados IsNot Nothing AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
|
||||
|
||||
|
||||
DtDatos = ObjInventario.DtResultados
|
||||
DtDatos.Columns.Add("Consec", GetType(Integer))
|
||||
DtDatos.Columns.Add("CantidadGV", GetType(Double))
|
||||
DtDatos.Columns.Add("CantidadTraspaso", GetType(Double))
|
||||
DtDatos = ObjInventario.DtResultados
|
||||
If Not DtDatos.Columns.Contains("Consec") Then DtDatos.Columns.Add("Consec", GetType(Integer))
|
||||
If Not DtDatos.Columns.Contains("CantidadGV") Then DtDatos.Columns.Add("CantidadGV", GetType(Double))
|
||||
If Not DtDatos.Columns.Contains("CantidadTraspaso") Then DtDatos.Columns.Add("CantidadTraspaso", GetType(Double))
|
||||
Dim Index = 1
|
||||
For Each Dr As DataRow In DtDatos.Rows
|
||||
Dr("Consec") = Index
|
||||
@@ -605,43 +614,45 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
If TipoMovimiento = 2 And TipoDocto = "Rem" And Not CveAlmacenTraspasoDestino > 0 Then
|
||||
Alert("La remisión que se intenta devolver presenta inconsistencias. Comuniquese con servicio tecnico SIG.", TipoMensaje.MsgError)
|
||||
BtnGuardar.Visible = False
|
||||
End If
|
||||
|
||||
DdlAlmacen.Items.Clear()
|
||||
If CveAlmacenTraspasoOrigen > 0 Then 'Not (EsDevolucionVenta = 1 And DtDatos.Rows(0)("TipoDocto").ToString() = "Rem" And UsuarioActual.Empresa.Funcionalidad(145) = "1") - ESTO ES PARA CUANDO SEA REMISION DE ENTREGA POR ADELANTADO FUNCIONA LA DEVOLUCION
|
||||
DdlAlmacen.Items.Insert(0, New ListItem(GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {CveAlmacenTraspasoOrigen}"), CveAlmacenTraspasoOrigen.ToString()))
|
||||
Else
|
||||
'[IPP] PARCHE - Debe hacerse permiso proceso - 17Enero2018
|
||||
Dim RestriccionAlmacenSubProyecto = If(UsuarioActual.CveEmpresa.Contiene(72, 80), $" AND CveSubProyecto = {CveSubProyecto}", "")
|
||||
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"{StrAlmacenes} {RestriccionAlmacenSubProyecto}")
|
||||
End If
|
||||
DdlAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
|
||||
DdlAlmacen.SelectedValue = "-1"
|
||||
DdlAlmacen.DataBind()
|
||||
DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
|
||||
If CveAlmacenTraspasoOrigen > 0 Then
|
||||
DdlAlmacen.SelectedValueExist(CveAlmacenTraspasoOrigen)
|
||||
End If
|
||||
|
||||
If Not DtDatos.Columns.Contains("Serie") Then
|
||||
DtDatos.Columns.Add("Serie", GetType(String))
|
||||
End If
|
||||
If Not DtDatos.Columns.Contains("Lote") Then
|
||||
DtDatos.Columns.Add("Lote", GetType(String))
|
||||
End If
|
||||
If Not DtDatos.Columns.Contains("CveSeccion") Then
|
||||
DtDatos.Columns.Add("CveSeccion", GetType(Integer))
|
||||
End If
|
||||
If Not DtDatos.Columns.Contains("FechaCaducidad") Then
|
||||
DtDatos.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
End If
|
||||
If Not DtDatos.Columns.Contains("Seleccionado") Then
|
||||
DtDatos.Columns.Add("Seleccionado", GetType(Boolean))
|
||||
End If
|
||||
If Not DtDatos.Columns.Contains("CantidadSeleccionada") Then
|
||||
DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double))
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If CveAlmacen <= 0 Then
|
||||
DdlAlmacen.Items.Clear()
|
||||
If CveAlmacenTraspasoOrigen > 0 Then 'Not (EsDevolucionVenta = 1 And DtDatos.Rows(0)("TipoDocto").ToString() = "Rem" And UsuarioActual.Empresa.Funcionalidad(145) = "1") - ESTO ES PARA CUANDO SEA REMISION DE ENTREGA POR ADELANTADO FUNCIONA LA DEVOLUCION
|
||||
DdlAlmacen.Items.Clear()
|
||||
DdlAlmacen.Items.Insert(0, New ListItem(GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {CveAlmacenTraspasoOrigen}"), CveAlmacenTraspasoOrigen.ToString()))
|
||||
Else
|
||||
'[IPP] PARCHE - Debe hacerse permiso proceso - 17Enero2018
|
||||
Dim RestriccionAlmacenSubProyecto = If(UsuarioActual.CveEmpresa.Contiene(72, 80), $" AND CveSubProyecto = {CveSubProyecto}", "")
|
||||
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"{StrAlmacenes} {RestriccionAlmacenSubProyecto}")
|
||||
End If
|
||||
|
||||
DdlAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
|
||||
DdlAlmacen.SelectedValue = "-1"
|
||||
DdlAlmacen.DataBind()
|
||||
DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
|
||||
If CveAlmacenTraspasoOrigen > 0 Then
|
||||
DdlAlmacen.SelectedValueExist(CveAlmacenTraspasoOrigen)
|
||||
End If
|
||||
End If
|
||||
|
||||
If UsuarioActual.CveEmpresa = 119 AndAlso CveSubProyecto = 10276 Then
|
||||
ValidaLoteCaducidad = True
|
||||
End If
|
||||
|
||||
If Not DtDatos.Columns.Contains("Serie") Then DtDatos.Columns.Add("Serie", GetType(String))
|
||||
|
||||
If Not DtDatos.Columns.Contains("Lote") Then DtDatos.Columns.Add("Lote", GetType(String))
|
||||
|
||||
If Not DtDatos.Columns.Contains("CveSeccion") Then DtDatos.Columns.Add("CveSeccion", GetType(Integer))
|
||||
|
||||
If Not DtDatos.Columns.Contains("FechaCaducidad") Then DtDatos.Columns.Add("FechaCaducidad", GetType(Date))
|
||||
|
||||
If Not DtDatos.Columns.Contains("Seleccionado") Then DtDatos.Columns.Add("Seleccionado", GetType(Boolean))
|
||||
|
||||
If Not DtDatos.Columns.Contains("CantidadSeleccionada") Then DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double))
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(280) = "1" Then
|
||||
FormaPaqueteria = DtDatos.Rows(0)("FormaPaqueteria").ToString().ToEntero()
|
||||
Dim FormaPaq As Integer = FormaPaqueteria
|
||||
@@ -692,7 +703,7 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
|
||||
If TipoDocto.Contiene("Ing") AndAlso TipoMovimiento = 2 Then
|
||||
Dim DtMov As DataTable = DtExistencias.FiltraParametros("CveConcepto = 40", "", {"CveAlmacen"})
|
||||
If DtMov.Rows.Count > 0 Then
|
||||
If DtMov.Rows.Count > 0 AndAlso CveAlmacen <= 0 Then
|
||||
Dim CveAlmacenDev As Integer = DtMov.Rows(0)("CveAlmacen").ToString().ToEntero()
|
||||
DdlAlmacen.Items.Clear()
|
||||
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveAlmacen = {CveAlmacenDev}")
|
||||
@@ -719,7 +730,7 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
|
||||
ObjInventario.Dispose()
|
||||
UpGenerales.Update()
|
||||
CargaGvDatos()
|
||||
If CveAlmacen <= 0 Then CargaGvDatos()
|
||||
|
||||
End Sub
|
||||
Private Sub CargaTraspasoPorSurtir(CveTraspaso As Integer)
|
||||
@@ -853,8 +864,9 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
'GvDatos.Columns(9).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) <> "", UsuarioActual.Empresa.Funcionalidad(147), "")
|
||||
|
||||
'SugerirFecha()
|
||||
If DdlAlmacen.SelectedValue.ToEntero > 0 Then
|
||||
SugiereLoteCaducidad(DdlAlmacen.SelectedValue.ToEntero)
|
||||
If DdlAlmacen.SelectedValue.ToEntero > 0 And CveVentaSurtir > 0 Then
|
||||
CargaVentaPorSurtir(CveVentaSurtir, CveAlmacen:=DdlAlmacen.SelectedValue.ToEntero)
|
||||
' SugiereLoteCaducidad(DdlAlmacen.SelectedValue.ToEntero)
|
||||
End If
|
||||
End If
|
||||
GvDatos.DataSource = DtDatos
|
||||
@@ -943,21 +955,25 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
|
||||
End If
|
||||
|
||||
If CBool(e.Row.DBCampo("AplicaCaducidad")) Then
|
||||
e.Row.FCTextBox("TxtCaducidad").Visible = True
|
||||
e.Row.FCLinkButton("LnkCaducidad").Visible = True
|
||||
|
||||
Else
|
||||
e.Row.FCTextBox("TxtCaducidad").Visible = False
|
||||
e.Row.FCLinkButton("LnkCaducidad").Visible = False
|
||||
End If
|
||||
|
||||
If CBool(e.Row.DBCampo("AplicaLote")) Then
|
||||
e.Row.FCTextBox("TxtLote").Visible = True
|
||||
Else
|
||||
e.Row.FCTextBox("TxtLote").Visible = False
|
||||
End If
|
||||
|
||||
If (ValidaLoteCaducidad) OrElse (UsuarioActual.CveEmpresa <> 119) Then
|
||||
If CBool(e.Row.DBCampo("AplicaCaducidad")) Then
|
||||
e.Row.FCTextBox("TxtCaducidad").Visible = True
|
||||
e.Row.FCLinkButton("LnkCaducidad").Visible = True
|
||||
e.Row.FCTextBox("TxtCaducidad").readonly = True
|
||||
Else
|
||||
e.Row.FCTextBox("TxtCaducidad").Visible = False
|
||||
e.Row.FCLinkButton("LnkCaducidad").Visible = False
|
||||
End If
|
||||
|
||||
If CBool(e.Row.DBCampo("AplicaLote")) Then
|
||||
e.Row.FCTextBox("TxtLote").Visible = True
|
||||
e.Row.FCTextBox("TxtLote").readonly = True
|
||||
Else
|
||||
e.Row.FCTextBox("TxtLote").Visible = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
e.Row.FCButton("BtnDividir").Attributes.Add("onclick", String.Format("Dividir('{0}');", e.Row.FCTextBox("TxtDividir").ClientID))
|
||||
e.Row.FCButton("BtnDividir").CommandArgument = e.Row.RowIndex.ToString()
|
||||
e.Row.FCTextBox("TxtDividir").Attributes.Add("onkeyup", String.Format("LimitaCantidad({0},this,'{1}');", e.Row.DBCampo("CantidadF"), e.Row.FCButton("BtnDividir").ClientID))
|
||||
@@ -1627,7 +1643,13 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
Exit For
|
||||
End If
|
||||
|
||||
Next
|
||||
Next
|
||||
|
||||
If (Not ValidaLoteCaducidad) OrElse (UsuarioActual.CveEmpresa <> 119) Then
|
||||
ValidaSeccion = False
|
||||
ValidaCaducidad = False
|
||||
ValidaLote = False
|
||||
End If
|
||||
|
||||
If ValidaSeccion Then
|
||||
Alert("La sección de almacen no ha sido especificada en todos los productos.", TipoMensaje.MsgAdvertencia)
|
||||
@@ -1769,6 +1791,11 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
FechaCaducidad = If(CBool(Dr("AplicaCaducidad")) AndAlso Dr("FechaCaducidad").ToString() <> "", Dr("FechaCaducidad").ToString().ToDate, MinFecha)
|
||||
Lote = If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1")
|
||||
|
||||
If Not ValidaLoteCaducidad Then
|
||||
FechaCaducidad = MinFecha
|
||||
Lote = "-1"
|
||||
End If
|
||||
|
||||
If Dr("CantidadGV").ToString().ToDecimal > 0 Then
|
||||
If CBool(Dr("AplicaSerie")) Then
|
||||
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
|
||||
@@ -2428,18 +2455,17 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
CantidadPendiente = Dr("CantidadGV").ToString().ToDecimal - Dr("CantidadTraspaso").ToString().ToDecimal - CantidadEntradaSinCosto
|
||||
If CantidadPendiente > 0 Then
|
||||
Dim PU As Decimal = 0
|
||||
Dim CveSeccionAlmacen As Integer = If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString().ToEntero(), -1)
|
||||
|
||||
'SI FUE POR SERIE
|
||||
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0} AND FueTraspaso IS NULL", Dr("Consec")))
|
||||
DtDetalleLote = DtDatosDetalleLote.FiltraParametros(String.Format("ConsecId = {0} AND FueTraspaso IS NULL", Dr("Consec")))
|
||||
If DtDetalle.Rows.Count > 0 Then
|
||||
For Each Dr1 As DataRow In DtDetalle.Rows
|
||||
If TipoMovimiento = 2 AndAlso DtExistencias IsNot Nothing Then
|
||||
CveSeccionAlmacen = DtExistencias.FiltroPrimeroValor("CveSeccionAlmacen", $"ISNULL(CveTipoAlmacenDevolucion,0) <> 26 AND CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()} AND Serie = '{Dr1("Serie").ToString()}'").ToString().ToEntero
|
||||
PU = DtExistencias.FiltroPrimeroValor("PU", $"ISNULL(CveTipoAlmacenDevolucion,0) <> 26 AND CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()} AND Serie = '{Dr1("Serie").ToString()}'").ToString().ToDecimal
|
||||
PU = DtExistencias.FiltroPrimeroValor("PU", $"CveTipoAlmacenDevolucion <> 26 AND CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()} AND Serie = '{Dr1("Serie").ToString()}'").ToString().ToDecimal
|
||||
End If
|
||||
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), PU, Serie:=Dr1("Serie").ToString(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=CveSeccionAlmacen) Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), PU, Serie:=Dr1("Serie").ToString(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=-3) Then
|
||||
ErrorMovInv = True
|
||||
TextoError.AppendFormat("Ocurrió un error al procesar los conceptos con serie. Por favor vuelva a intentar.")
|
||||
Exit For
|
||||
@@ -2448,11 +2474,10 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
ElseIf DtDetalleLote.Rows.Count > 0 Then
|
||||
For Each Dr1 As DataRow In DtDetalleLote.Rows
|
||||
If TipoMovimiento = 2 AndAlso DtExistencias IsNot Nothing Then
|
||||
CveSeccionAlmacen = DtExistencias.FiltroPrimeroValor("CveSeccionAlmacen", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()} AND Serie = '{Dr1("Serie").ToString()}'").ToString().ToEntero
|
||||
PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()} AND Serie = '{Dr1("Serie").ToString()}'").ToString().ToDecimal
|
||||
End If
|
||||
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr1("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), PU, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=CveSeccionAlmacen) Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr1("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), PU, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString().ToEntero(), -1)) Then
|
||||
ErrorMovInv = True
|
||||
TextoError.AppendFormat("Ocurrió un error al procesar los conceptos con serie. Por favor vuelva a intentar.")
|
||||
Exit For
|
||||
@@ -2463,7 +2488,7 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()}").ToString().ToDecimal
|
||||
End If
|
||||
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, CantidadPendiente, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), PU, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=-3) Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, CantidadPendiente, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), PU, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString().ToEntero(), -1)) Then
|
||||
ErrorMovInv = True
|
||||
TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar.")
|
||||
Exit For
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UppEntrega" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvD" DataKeyNames="CveUM,CvePS,CveSeccionAlmacen,Serie,Lote,FechaCaducidad,CveMovimientoDetalle,CveMovimiento" runat="server" AutoGenerateColumns="False" EmptyDataText="No hay movimientos pendientes" CssClass="table table-hover Widthall" GridLines="None">
|
||||
<asp:GridView ID="GvD" DataKeyNames="CveUM,CvePS,CveSeccionAlmacen,Serie,Lote,FechaCaducidad,CveMovimientoDetalle,CveMovimiento, AplicaLote, AplicaCaducidad" runat="server" AutoGenerateColumns="False" EmptyDataText="No hay movimientos pendientes" CssClass="table table-hover Widthall" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center">
|
||||
<%--<HeaderTemplate>
|
||||
@@ -145,10 +145,28 @@
|
||||
<asp:BoundField HeaderText="Disponible" DataField="Cantidad" DataFormatString="{0:#,##0.######}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Unidad" DataField="UnidadMedida" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Código" DataField="Codigo" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Producto" DataField="PS" ItemStyle-Width="40%" />
|
||||
<asp:BoundField HeaderText="Serie" DataField="Serie" ItemStyle-Width="15%" />
|
||||
<asp:BoundField HeaderText="Lote" DataField="Lote" ItemStyle-Width="15%" />
|
||||
<asp:BoundField HeaderText="F. Caducidad" DataField="FechaCaducidad" ItemStyle-Width="15%" />
|
||||
<asp:BoundField HeaderText="Producto" DataField="PS" ItemStyle-Width="35%" />
|
||||
<asp:BoundField HeaderText="Serie" DataField="Serie" ItemStyle-Width="10%" Visible="false"/>
|
||||
<asp:TemplateField HeaderText="Lote" ItemStyle-Width="10%" HeaderStyle-HorizontalAlign="Center" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtlLote" runat="server" Text='<%# Eval("Lote", "{0}") %>'></asp:Literal>
|
||||
<asp:Textbox ID="TxtLote" runat="server" Visible="false" Width="70px" Text='<%# Eval("Lote", "{0}") %>'></asp:Textbox>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Fecha" ItemStyle-Width="25%" HeaderStyle-HorizontalAlign="Center" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtlFechaCaducidad" runat="server" Text='<%# Eval("FechaCaducidad", "{0:d}") %>'></asp:Literal>
|
||||
<asp:Textbox ID="TxtFechaCaducidad" runat="server" Visible="false" Width="75px" Text='<%# Eval("FechaCaducidad", "{0:d}") %>'></asp:Textbox>
|
||||
<asp:RequiredFieldValidator ID="RFVFechaCad" runat="server" ControlToValidate="TxtFechaCaducidad" 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="GrpRecibir"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCFechaCad" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaCad" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaCad" runat="server" TargetControlID="TxtFechaCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<asp:CompareValidator ID="CVFechaCad" runat="server" ControlToValidate="TxtFechaCaducidad" 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="GrpRecibir"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEFechaCad" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCad" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
|
||||
@@ -66,7 +66,12 @@ Partial Class Inventarios_PrestamosdeProveedor
|
||||
CveMovimiento = Dr("CveMovimiento").ToString.ToEntero
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
GvD.Columns(6).Visible = ObjInv.DtResultados.MAX("Serie") <> ""
|
||||
GvD.Columns(7).Visible = ObjInv.DtResultados.MAX("Lote") <> ""
|
||||
GvD.Columns(8).Visible = ObjInv.DtResultados.MAX("FechaCaducidad").ToDate > MinFecha
|
||||
GvD.Columns(8).HeaderText = UsuarioActual.Empresa.Funcionalidad(147)
|
||||
|
||||
ObjInv.Dispose()
|
||||
GvD.DataBind()
|
||||
@@ -90,18 +95,35 @@ Partial Class Inventarios_PrestamosdeProveedor
|
||||
Else
|
||||
If TxtFolioEntrega.Text <> "" Then
|
||||
e.Row.FCCheckBox("Chk").Visible = True
|
||||
e.Row.FCTextBox("TxtCantidad").Enabled = True
|
||||
e.Row.FCTextBox("TxtCantidad").Enabled = True
|
||||
|
||||
If e.Row.DataKey("AplicaLote").ToString = "True" Then
|
||||
e.Row.FCLiteral("LtlLote").Visible = False
|
||||
e.Row.FCTextBox("TxtLote").Visible = True
|
||||
|
||||
End If
|
||||
|
||||
If e.Row.DataKey("AplicaCaducidad").ToString = "True" Then
|
||||
e.Row.FCLiteral("LtlFechaCaducidad").Visible = False
|
||||
e.Row.FCTextBox("TxtFechaCaducidad").Visible = True
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
e.Row.FCTextBox("TxtCantidad").Visible = True
|
||||
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", String.Format("ValidaCantidad(this,{0});", e.Row.DBCampo("Cantidad")))
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
''FUNCIONALIDAD PISTOLA DE CODIGOS
|
||||
'If UsuarioActual.Empresa.Funcionalidad(132) = "1" And e.Row.DBCampo("CodigoBarras").Trim <> "" Then
|
||||
' e.Row.FCTextBox("TxtCantidad").Enabled = False
|
||||
'End If
|
||||
|
||||
End If
|
||||
|
||||
''FUNCIONALIDAD PISTOLA DE CODIGOS
|
||||
'If UsuarioActual.Empresa.Funcionalidad(132) = "1" And e.Row.DBCampo("CodigoBarras").Trim <> "" Then
|
||||
' e.Row.FCTextBox("TxtCantidad").Enabled = False
|
||||
'End If
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnRecibir_Click(sender As Object, e As EventArgs)
|
||||
@@ -169,7 +191,7 @@ Partial Class Inventarios_PrestamosdeProveedor
|
||||
If gvr.FCCheckBox("Chk").Checked AndAlso gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal > 0 Then
|
||||
CveMovimientoDetalleEntrada = gvr.DataKey("CveMovimientoDetalle").ToString.ToEntero
|
||||
CvePS = gvr.DataKey("CvePS").ToString.ToEntero
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal, gvr.DataKey("CveUM").ToString.ToEntero, gvr.DataKey("CvePS").ToString.ToEntero, 0, -1, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada, Serie:=gvr.DataKey("Serie").ToString, Lote:=gvr.DataKey("Lote").ToString, FechaCaducidad:=gvr.DataKey("FechaCaducidad").ToString.ToDate) Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal, gvr.DataKey("CveUM").ToString.ToEntero, gvr.DataKey("CvePS").ToString.ToEntero, 0, -1, CveMovimientoDetalleEntrada:=CveMovimientoDetalleEntrada, Serie:=gvr.DataKey("Serie").ToString, Lote:=gvr.FCTextBox("TxtLote").ToString, FechaCaducidad:=gvr.FCTextBox("TxtFechaCaducidad").ToString.ToDate) Then
|
||||
ErrorMovInv = True
|
||||
TextoError = "Ocurrió un error al guardar los movimientos de salida"
|
||||
Exit For
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
<div class="col-md-1">
|
||||
<asp:DropDownList runat="server" ID="DdlClasificacion" CssClass="select2me" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="100%" CssStyle="width: 100%;"/>
|
||||
</div>
|
||||
<label class="col-md-1 truncate">Productos:</label>
|
||||
<label class="col-md-1 truncate">Producto:</label>
|
||||
<div class="col-md-2">
|
||||
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:55%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
</div>
|
||||
@@ -102,13 +102,13 @@
|
||||
</asp:UpdatePanel>
|
||||
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="Cantidad,PS,Lote,FechaCaducidad" EmptyDataText="No se encontraron Registros" ToolTip="Reporte de productos caducidad " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros" ToolTip="Reporte de productos caducidad " CssClass="table table-advance table-hover Widthall ScrollAD" data-sort="true" GridLines="None">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Almacén" DataField="Almacen" />
|
||||
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" />
|
||||
<asp:BoundField HeaderText="Producto" DataField="PS" />
|
||||
<asp:BoundField HeaderText="Lote" DataField="Lote" />
|
||||
<asp:BoundField HeaderText="Fecha de Caducidad" DataField="FechaCaducidad" DataFormatString = "{0:dd/MM/yyyy}" />
|
||||
<asp:BoundField HeaderText="Almacén" DataField="Almacen" ItemStyle-Width="150px" />
|
||||
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Right" />
|
||||
<asp:BoundField HeaderText="Producto" DataField="CodigoPS" />
|
||||
<asp:BoundField HeaderText="Lote" DataField="Lote" ItemStyle-Width="150px" />
|
||||
<asp:BoundField HeaderText="Fecha Caducidad" DataField="FechaCaducidad" DataFormatString = "{0:dd/MM/yyyy}" ItemStyle-Width="100px" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
|
||||
@@ -35,11 +35,16 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
|
||||
|
||||
private void CargarDatos()
|
||||
{
|
||||
DateTime FI = ModExtensiones.MinFecha;
|
||||
if (TxtFechaInicio.Text != "") FI = TxtFechaInicio.Text.ToDate();
|
||||
|
||||
|
||||
int CvePS = -1;
|
||||
if (DdlPS.SelectedValue.ToEntero() > 0) CvePS = DdlPS.SelectedValue.ToEntero();
|
||||
// aqui siempre se visualiza la caducidad, sin importar la condición, porque siempre se valida la caducidad
|
||||
//if (!String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147))) { GvDatos.Columns[4].HeaderText = UsuarioActual.Empresa.Funcionalidad(147); }
|
||||
ClsInventarios ObjInventarios = new ClsInventarios();
|
||||
if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(),TxtFechaInicio.Text.ToDate(),TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(),
|
||||
DdlClasificacion.SelectedValue.ToEntero(), -1, UsuarioActual.CveEmpresa))
|
||||
ClsInventarios ObjInventarios = new ClsInventarios();
|
||||
if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(), FI, TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(),
|
||||
DdlClasificacion.SelectedValue.ToEntero(), CvePS, UsuarioActual.CveEmpresa))
|
||||
{
|
||||
GvDatos.DataSource = ObjInventarios.DtResultados;
|
||||
DTDatos = ObjInventarios.DtResultados;
|
||||
@@ -60,8 +65,8 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
|
||||
private void CargarFechaText()
|
||||
{
|
||||
DateTime date = new DateTime(DateTime.Today.Year, DateTime.Today.Month,1);
|
||||
TxtFechaInicio.Text = date.ToString("dd/MM/yyyy");
|
||||
TxtFechaFin.Text = date.AddMonths(3).AddDays(-1).ToString("dd/MM/yyyy");
|
||||
//TxtFechaInicio.Text = date.AddYears(-5).ToString("dd/MM/yyyy");
|
||||
TxtFechaFin.Text = date.AddMonths(6).AddDays(-1).ToString("dd/MM/yyyy");
|
||||
DdlPS.setEsWebService(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -443,6 +443,7 @@
|
||||
<asp:TextBox ID="TxtnLote" CssClass="form-control input-sm" runat="server" Width="80px" Visible="false"></asp:TextBox>
|
||||
</td>
|
||||
<td runat="server" id="TdFechaCaducidad" visible="false">
|
||||
<asp:CheckBox ID="ChkSugiereFechaCaducidad" runat="server" Text="Auto Sugiere" ToolTip="Auto Sugiere Fecha de caducidad" AutoPostBack="true" OnCheckedChanged="ChkSugiereFechaCaducidad_CheckedChanged" />
|
||||
<asp:TextBox ID="TxtnFechaCaducidad" CssClass="form-control input-sm" runat="server" Width="80px" Visible="false"></asp:TextBox>
|
||||
</td>
|
||||
<td align="center">
|
||||
@@ -456,7 +457,7 @@
|
||||
<asp:GridView ID="GvDatos" DataKeyNames="No,PS,CvePS,CveUM,Serie,Cantidad" runat="server" ShowHeader="false" AutoGenerateColumns="False" EmptyDataText="" ToolTip="Listado de Movimientos" CssClass="Widthall table table-striped table-hover" GridLines="None">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="#" DataField="No" ItemStyle-Width="23px" />
|
||||
<asp:TemplateField ItemStyle-Width="93px">
|
||||
<asp:TemplateField ItemStyle-Width="93px" ItemStyle-HorizontalAlign ="Right">
|
||||
<ItemTemplate>
|
||||
<asp:Literal runat="server" Text='<%# Eval("Cantidad") %>' ID="ltlCantidad"></asp:Literal>
|
||||
<asp:TextBox runat="server" ID="TxtCantidad2" Text='<%# Eval("Cantidad", "{0:###,###,###,##0.##}") %>' Width="50px" Visible="false"></asp:TextBox>
|
||||
|
||||
@@ -526,19 +526,73 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
|
||||
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimero("") ' Estado = -1
|
||||
|
||||
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")))
|
||||
Exit Sub
|
||||
If DrPS IsNot Nothing Then
|
||||
|
||||
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")))
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim Valido = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, DdlSeccionAlmacen.SelectedValue.ToEntero, If(TxtnSerie.Visible, TxtnSerie.Text, "-1"), If(TxtnLote.Visible, TxtnLote.Text, "-1"), If(TxtnFechaCaducidad.Visible, TxtnFechaCaducidad.Text.ToDate, MinFecha))
|
||||
'codigo provisional.
|
||||
Dim CveSubP As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenOrigen.selectedvalue.toentero).FiltroPrimeroValor("CveSubProyecto", "").ToEntero
|
||||
|
||||
|
||||
If DrPS("AplicaCaducidad").ToString = "True" AndAlso ChkSugiereFechaCaducidad.checked And CveSubP.Contiene(10276) Then
|
||||
|
||||
Dim ObjInventarios As New ClsInventarios
|
||||
If ObjInventarios.GetExistenciasCaducidad(CveProducto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.selectedvalue) Then
|
||||
Dim dtt As DataTable = ObjInventarios.DtResultados
|
||||
|
||||
If Cantidad > dtt.SUMD("Cantidad") Then
|
||||
Alert("No se cuenta con la cantidad requerida")
|
||||
Else
|
||||
'recorro las existencias para tomar la cantidad
|
||||
Dim i As Decimal = 0
|
||||
Dim CantidadRestante As Decimal = Cantidad
|
||||
For Each drr As DataRow In dtt.Rows
|
||||
If drr("Cantidad").ToString.ToDecimal < CantidadRestante Then
|
||||
i = drr("Cantidad").ToString.ToDecimal
|
||||
Else
|
||||
i = CantidadRestante
|
||||
End If
|
||||
AgregarPS(i, CveProducto, DdlUnidad.SelectedValue.ToEntero, TxtnObservaciones.Text, CveSeccionAlmacen:=DdlSeccionAlmacen.SelectedValue.ToEntero, SeccionAlmacen:=DdlSeccionAlmacen.SelectedItem.Text, Lote:=drr("Lote").ToString, FechaCaducidad:=drr("FechaCaducidad").ToString.ToDate, CveSeccionAlmacenDestino:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Limpia:=FuncionalidadSinSerie)
|
||||
CantidadRestante -= i
|
||||
If CantidadRestante <= 0 Then Exit For
|
||||
Next
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
ObjInventarios.Dispose()
|
||||
|
||||
Else
|
||||
|
||||
'codigo temporal
|
||||
Dim tLote As String
|
||||
Dim tCaducidad As Date
|
||||
|
||||
tLote = If(TxtnLote.Visible, TxtnLote.Text, "-1")
|
||||
tCaducidad = If(TxtnFechaCaducidad.Visible, TxtnFechaCaducidad.Text.ToDate, MinFecha)
|
||||
|
||||
If CveSubP <> 10276 Then
|
||||
tLote = "-1"
|
||||
tCaducidad = MinFecha
|
||||
End If
|
||||
|
||||
|
||||
Dim Valido = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, DdlSeccionAlmacen.SelectedValue.ToEntero, If(TxtnSerie.Visible, TxtnSerie.Text, "-1"), tLote, tCaducidad)
|
||||
|
||||
If Valido Then
|
||||
AgregarPS(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, TxtnObservaciones.Text, CveSeccionAlmacen:=DdlSeccionAlmacen.SelectedValue.ToEntero, SeccionAlmacen:=DdlSeccionAlmacen.SelectedItem.Text, Serie:=If(TxtnSerie.Visible, TxtnSerie.Text, ""), Lote:=If(tLote = "-1", "", tLote), FechaCaducidad:=tCaducidad, CveSeccionAlmacenDestino:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Limpia:=FuncionalidadSinSerie)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If Valido Then
|
||||
AgregarPS(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, TxtnObservaciones.Text, CveSeccionAlmacen:=DdlSeccionAlmacen.SelectedValue.ToEntero, SeccionAlmacen:=DdlSeccionAlmacen.SelectedItem.Text, Serie:=If(TxtnSerie.Visible, TxtnSerie.Text, ""), Lote:=If(TxtnLote.Visible, TxtnLote.Text, ""), FechaCaducidad:=If(TxtnFechaCaducidad.Visible, TxtnFechaCaducidad.Text.ToDate, MinFecha), CveSeccionAlmacenDestino:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Limpia:=FuncionalidadSinSerie)
|
||||
End If
|
||||
|
||||
End If
|
||||
End Sub
|
||||
@@ -550,26 +604,39 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
|
||||
Dim Inv As New ClsInventarios
|
||||
Dim Existencia As Decimal = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), PendientePorSurtir:=1)
|
||||
'la primera vez valida, que la existencia global, cumpla, considerando lo pendiente por surtir
|
||||
'las segunda consulta, que tenga existencia, ya con los parametros especificos
|
||||
If FechaCaducidad > MinFecha OrElse Serie <> "" OrElse Lote <> "" Then
|
||||
ExistenciaEspecificada = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, PendientePorSurtir:=-1)
|
||||
Else
|
||||
ExistenciaEspecificada = Existencia
|
||||
End If
|
||||
Inv.Dispose()
|
||||
|
||||
If Existencia - Cantidad - CantidadEnGrid < 0 OrElse ExistenciaEspecificada - Cantidad - CantidadEnGrid < 0 Then
|
||||
If Existencia < 0 OrElse ExistenciaEspecificada < 0 Then
|
||||
Alert("No hay existencia del producto", TipoMensaje.MsgAdvertencia)
|
||||
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
|
||||
If Existencia > 0 Then
|
||||
'la primera vez valida, que la existencia global, cumpla, considerando lo pendiente por surtir
|
||||
'las segunda consulta, que tenga existencia, ya con los parametros especificos
|
||||
If (FechaCaducidad > MinFecha OrElse Serie <> "" OrElse Lote <> "") Then
|
||||
ExistenciaEspecificada = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, PendientePorSurtir:=-1)
|
||||
Dim StrB As New stringbuilder
|
||||
StrB.appendformat("CvePS = {0} AND CveUM = {1} ", CvePS, CveUnidadMedida)
|
||||
If Serie <> "" Then StrB.appendformat(" AND Serie = '{0}' ", Serie)
|
||||
If Lote <> "" Then StrB.appendformat(" AND Lote = '{0}' ", Lote)
|
||||
If FechaCaducidad.ToDate > MinFecha Then StrB.appendformat(" AND FechaCaducidad = '{0}' ", FechaCaducidad.ToShortDateString)
|
||||
Dim CantidadEspecificaEnGrid As Decimal = DtMovimientos.SUMD("Cantidad", StrB.tostring)
|
||||
|
||||
If ExistenciaEspecificada - Cantidad - CantidadEspecificaEnGrid < 0 Then
|
||||
Alert(String.Format("Solo hay en existencia: {0:#,###.##}", ExistenciaEspecificada), TipoMensaje.MsgAdvertencia)
|
||||
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
|
||||
Retorno = False
|
||||
End If
|
||||
Else
|
||||
Alert(String.Format("Solo hay en existencia: {0}", Existencia), TipoMensaje.MsgAdvertencia)
|
||||
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
|
||||
ExistenciaEspecificada = Existencia
|
||||
If Existencia - Cantidad - CantidadEnGrid < 0 Then
|
||||
Alert(String.Format("Solo hay en existencia: {0:#,###.##}", ExistenciaEspecificada), TipoMensaje.MsgAdvertencia)
|
||||
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
|
||||
Retorno = False
|
||||
End If
|
||||
End If
|
||||
Retorno = False
|
||||
Else
|
||||
Alert("No hay existencia del producto", TipoMensaje.MsgAdvertencia)
|
||||
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
|
||||
End If
|
||||
|
||||
Inv.Dispose()
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Private Sub AgregarPS(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer, Optional Observaciones As String = "", Optional CveSeccionAlmacen As Integer = -1, Optional SeccionAlmacen As String = "", Optional Serie As String = "", Optional Lote As String = "", Optional FechaCaducidad As Date = MinFecha, Optional Limpia As Boolean = True, Optional CveSeccionAlmacenDestino As Integer = -1)
|
||||
@@ -1482,6 +1549,13 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
' CargaGvDatos()
|
||||
'End Sub
|
||||
|
||||
Protected Sub ChkSugiereFechaCaducidad_CheckedChanged(sender As Object, e As EventArgs)
|
||||
|
||||
TxtnFechaCaducidad.visible = Not ChkSugiereFechaCaducidad.checked
|
||||
TxtnLote.visible = Not ChkSugiereFechaCaducidad.checked
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
@@ -814,6 +814,7 @@
|
||||
Cultivo:
|
||||
<asp:DropDownList ID="DdlCultivosCuadro" CssClass=" form-control input-sm select2me" runat="server" DataTextField="Cuadro" Style="width: 100%; max-width: 600px;"
|
||||
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpDetalleGuardar">
|
||||
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -2160,7 +2160,6 @@ Partial Class OC
|
||||
DdlClasificacion.SelectedIndex = 0
|
||||
DdlP2.SelectedValue = "-1"
|
||||
DdlP2.SelectedText = "Seleccione un producto o servicio"
|
||||
|
||||
txtPrecioUnitario.Text = ""
|
||||
TxtObsPS.Text = ""
|
||||
HdnCveActivoFijo.Value = ""
|
||||
|
||||
BIN
Otros/CRforVS_13_0_22.exe
Normal file
BIN
Otros/CRforVS_13_0_22.exe
Normal file
Binary file not shown.
@@ -6392,6 +6392,7 @@ Partial Class Ventas
|
||||
Objeto.ddlWS.Attributes.Add("data-cveclasificacion", CveClasificacion.ToString())
|
||||
Objeto.ddlWS.Attributes.Add("data-pagina", "ventas/ventas")
|
||||
Objeto.ddlWS.Attributes.Add("data-Estatus", "1")
|
||||
Objeto.ddlWS.Attributes.Add("data-AplicaparaVenta", "1")
|
||||
End If
|
||||
|
||||
End Sub
|
||||
@@ -11289,8 +11290,7 @@ Partial Class Ventas
|
||||
CveCuentaIVATrasladado = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("PorcentajeIVA").ToDouble).Rows(0)("CveCuentaIVATrasladado").ToString().ToEntero()
|
||||
End If
|
||||
|
||||
Dim UsaComplementariaClientes As Boolean = False
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 119) Then UsaComplementariaClientes = True
|
||||
Dim UsaComplementariaClientes As Boolean = True
|
||||
|
||||
If ObjConta.GetPlantillaConceptos(ObjFactura.CveEmpresa, CvePlantilaPoliza) Then
|
||||
Dim dtt As DataTable = ObjConta.DtResultados
|
||||
@@ -13005,8 +13005,8 @@ Partial Class Ventas
|
||||
|
||||
'If TotalCosto <> 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, TipoMovto68, TotalCosto, factura.SerieFolio, 68, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=factura.CveSubProyecto) Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
OcurrioError = True
|
||||
End If
|
||||
'End If
|
||||
|
||||
Else
|
||||
@@ -13834,8 +13834,8 @@ Partial Class Ventas
|
||||
Dim CuentasContablesInvalidasSIG As New StringBuilder
|
||||
Dim ContaIdPoliza As Integer = 0
|
||||
Dim ConceptoAmortizacion As Integer = 0
|
||||
Dim UsaComplementariaClientes As Boolean = False
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 119) Then UsaComplementariaClientes = True
|
||||
Dim UsaComplementariaClientes As Boolean = True
|
||||
'If UsuarioActual.CveEmpresa.Contiene(1, 119) Then UsaComplementariaClientes = True
|
||||
'Dim FechaMaxima As Date = MinFecha
|
||||
|
||||
|
||||
@@ -15119,7 +15119,7 @@ Partial Class Ventas
|
||||
Dim ValorInventario As Decimal = 0
|
||||
|
||||
For Each RowInv As DataRow In tmpCostos.Rows
|
||||
ValorInventario = DTMovimientosDetalles.SUM("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).ToString().ToDecimal.RoundSQL()
|
||||
ValorInventario = DTMovimientosDetalles.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundAD()
|
||||
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
|
||||
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
|
||||
|
||||
@@ -15143,7 +15143,7 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {ddlAlmacen.SelectedValue}").ToEntero()
|
||||
ValorInventario = DTMovimientosDetalles.SUMD("Total", $"CveMovimiento = {Mov("CveMovimiento")}").RoundSQL()
|
||||
ValorInventario = DTMovimientosDetalles.SUMD("Total", $"CveMovimiento = {Mov("CveMovimiento")}").RoundAD()
|
||||
|
||||
If ValorInventario <> 0 Then
|
||||
'Entrada
|
||||
@@ -18449,7 +18449,7 @@ Partial Class Ventas
|
||||
Return Not OcurrioError
|
||||
End If
|
||||
|
||||
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL
|
||||
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundAD
|
||||
|
||||
If CvePrePoliza <= 0 Then
|
||||
GenerarPrePolizaNueva = True
|
||||
@@ -18462,7 +18462,7 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
For Each RowInv As DataRow In DtCostosDistinct.Rows
|
||||
ValorInventario = DtCostos.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundSQL
|
||||
ValorInventario = DtCostos.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundAD
|
||||
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
|
||||
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
|
||||
TotalCostoAcumulado += ValorInventario
|
||||
@@ -18603,10 +18603,10 @@ Partial Class Ventas
|
||||
Dim ValorInventario As Decimal
|
||||
Dim TotalCostoAcumulado As Decimal = 0D
|
||||
Dim Cont As Integer = 1
|
||||
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL
|
||||
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundAD
|
||||
|
||||
For Each RowInv As DataRow In DtCostosDistinct.Rows
|
||||
ValorInventario = DtCostos.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundSQL
|
||||
ValorInventario = DtCostos.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundAD
|
||||
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
|
||||
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
|
||||
TotalCostoAcumulado += ValorInventario
|
||||
@@ -18720,10 +18720,10 @@ Partial Class Ventas
|
||||
Dim ValorInventario As Decimal
|
||||
Dim TotalCostoAcumulado As Decimal = 0D
|
||||
Dim Cont As Integer = 1
|
||||
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL
|
||||
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundAD
|
||||
|
||||
For Each RowInv As DataRow In DtCostosDistinct.Rows
|
||||
ValorInventario = DtCostos.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundSQL
|
||||
ValorInventario = DtCostos.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundAD
|
||||
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
|
||||
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
|
||||
TotalCostoAcumulado += ValorInventario
|
||||
@@ -23675,11 +23675,7 @@ Partial Class Ventas
|
||||
IdCuentaContableNoDeducible = 3114
|
||||
End If
|
||||
|
||||
Dim UsaComplementaria As Boolean = False
|
||||
|
||||
If UsuarioActual.CveEmpresa = 119 Then
|
||||
UsaComplementaria = True
|
||||
End If
|
||||
Dim UsaComplementaria As Boolean = True
|
||||
|
||||
If MsgError = "" Then
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Ventas/Saldarr", 47, SaldoVenta, SaldoVenta, tCveMoneda, TxtFechaSaldarVenta.Text.ToDate, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
Reference in New Issue
Block a user