This commit is contained in:
2021-03-11 16:27:58 -07:00
22 changed files with 745 additions and 242 deletions

View File

@@ -23,11 +23,12 @@ Partial Class AF_CatSubTipos
End Sub End Sub
Private Sub CargaGlobal() Private Sub CargaGlobal()
Dim ObjSubTipos As New ClsAF 'Dim ObjSubTipos As New ClsAF
If ObjSubTipos.GetSubTiposActivosFijos(-1) Then 'If ObjSubTipos.GetSubTiposActivosFijos(-1) Then
GlobalDTSubTipoActivoFijo(-1) = ObjSubTipos.DtResultados ' GlobalDTSubTipoActivoFijo(-1) = ObjSubTipos.DtResultados
End If 'End If
ObjSubTipos.Dispose() 'ObjSubTipos.Dispose()
GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa, -1) = Nothing
End Sub End Sub
Public Sub CargaDatos() Public Sub CargaDatos()

View File

@@ -2184,19 +2184,43 @@ Public Class ClsPaginas
End Set End Set
End Property End Property
Property GlobalDTSubTipoActivoFijo(CveEmpresa As Integer) As DataTable Property GlobalDTSubTipoActivoFijo(CveEmpresa As Integer, Optional CveTipoActivoFijo As Integer = -1) As DataTable
Get Get
If CveEmpresa <> -1 Then Dim AppNombre As String = String.Format("GlobalDTSubTipoActivoFijo-{0}", CveEmpresa)
Dim Dv As New DataView(DirectCast(Application("GlobalDTSubTipoActivoFijo"), DataTable), String.Format("CveEmpresa = {0}", CveEmpresa), "", DataViewRowState.CurrentRows) 'sino existe, recarga los datos
GlobalDTSubTipoActivoFijo = Dv.ToTable If Application(AppNombre) Is Nothing Then
Dv.Dispose() Dim ObjSubTipos As New ClsAF
Else If ObjSubTipos.GetSubTiposActivosFijos(CveEmpresa) Then Application(AppNombre) = ObjSubTipos.DtResultados
GlobalDTSubTipoActivoFijo = DirectCast(Application("GlobalDTSubTipoActivoFijo"), DataTable) ObjSubTipos.Dispose()
End If 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 End Get
Set(value As DataTable) Set(value As DataTable)
Application("GlobalDTSubTipoActivoFijo") = value Dim AppNombre As String = String.Format("GlobalDTSubTipoActivoFijo-{0}", CveEmpresa)
Application(AppNombre) = value
End Set 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 End Property
Property GlobalDTTipoActivoFijo(CveEmpresa As Integer) As DataTable Property GlobalDTTipoActivoFijo(CveEmpresa As Integer) As DataTable
Get Get

View File

@@ -767,12 +767,12 @@ Partial Class Bancos_IE
If TabCancelacion.Visible Then 'If TabCancelacion.Visible Then
LnkCancelar.Visible = False ' LnkCancelar.Visible = False
LnkCancelarComplemento.Visible = False ' LnkCancelarComplemento.Visible = False
LnkEliminar.Visible = False ' 'LnkEliminar.Visible = False
LnkCancelarComplementoImporte.Visible = False ' LnkCancelarComplementoImporte.Visible = False
End If 'End If
UppEliminarIE.Update() UppEliminarIE.Update()
@@ -4490,14 +4490,17 @@ Partial Class Bancos_IE
GeneraCancelacionEnCero = True GeneraCancelacionEnCero = True
End If End If
Dim TipoMovimiento As Integer = 1
If ChkGeneraCancelacion.Checked AndAlso GeneraCancelacionEnCero Then If ChkGeneraCancelacion.Checked AndAlso GeneraCancelacionEnCero Then
GeneraCancelacionEnCero = False GeneraCancelacionEnCero = False
TipoMovimiento = 2
End If End If
Dim CvePrePolizaCancelacion As Integer = 0 Dim CvePrePolizaCancelacion As Integer = 0
If Not GeneraCancelacionEnCero Then If Not GeneraCancelacionEnCero Then
'CANCELA IE MES ANTERIOR '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 If CvePrePolizaCancelacion <= 0 Then
ErrorCancelar = True ErrorCancelar = True
MensajeError = "Error al cancelar IE MES ANTERIOR" MensajeError = "Error al cancelar IE MES ANTERIOR"

View File

@@ -3988,9 +3988,11 @@ Partial Class Compras_Compras
Protected Sub BtnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click 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 EstatusCredito As Integer = 0
Dim CveSubProyecto As Integer = 0 Dim CveSubProyecto As Integer = 0
'Credito Multiple 'Credito Multiple
@@ -4303,7 +4305,7 @@ Partial Class Compras_Compras
Next Next
If ErrorValidacion Then Exit Sub If ErrorValidacion Then Exit Sub
'------------------TERMINA VALIDACIONES------------------
'RECORRO LOS PRODUCTOS O SERVICIOS PARA REGISTRARLOS LOS QUE NO EXISTEN EN EL CATÁLOGO 'RECORRO LOS PRODUCTOS O SERVICIOS PARA REGISTRARLOS LOS QUE NO EXISTEN EN EL CATÁLOGO
Dim tCve As Integer Dim tCve As Integer
@@ -4374,6 +4376,17 @@ Partial Class Compras_Compras
UM.Dispose() UM.Dispose()
PSS.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 'si hay necesidad de actualizar el globaldtps
If RegeneraPS Then If RegeneraPS Then
'Dim Hilo As New System.Threading.Thread(AddressOf GeneraGlobalDT) 'Dim Hilo As New System.Threading.Thread(AddressOf GeneraGlobalDT)
@@ -4423,10 +4436,7 @@ Partial Class Compras_Compras
TmpDT.AcceptChanges() TmpDT.AcceptChanges()
If Correcto Then If Correcto Then
'VALIDA IMPORTES
If Not ValidaTotalesGuardar() Then
Exit Sub
End If
Dim ObjCompras As New ClsCompras() Dim ObjCompras As New ClsCompras()
@@ -4650,6 +4660,8 @@ Partial Class Compras_Compras
End If End If
Next Next
'Compra '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, 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, 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 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 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 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 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 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 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 End If
Alert(Msg.ToString, TipoMensaje.MsgInformacion, MsgAccionAceptar) Alert(Msg.ToString, TipoMensaje.MsgInformacion, MsgAccionAceptar)
BtnGuardar.Enabled = False
UpFacturar.Update()
End If End If
@@ -8538,7 +8552,12 @@ Partial Class Compras_Compras
End Sub 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 If Not TmpDT.Columns.Contains("AplicaIEPS") Then
@@ -8569,18 +8588,14 @@ Partial Class Compras_Compras
Dim IndiceUltimo As Integer = 0 Dim IndiceUltimo As Integer = 0
For Each dRow As DataRow In TmpDT.Rows 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 If Boolean.Parse(dRow("AplicaIEPS").ToString) And Boolean.Parse(dRow("IEPSGrabaIVA").ToString) = False And dRow("IVA").ToString.ToDecimal > 0 Then
IndiceUltimo = IndiceContador IndiceUltimo = IndiceContador
End If End If
IndiceContador = IndiceContador + 1 IndiceContador = IndiceContador + 1
Next Next
IVADetalles = TmpDT.SUM("IVA", " IVA > 0 ").ToDecimal
Dim IVADetalles As Decimal = TmpDT.SUM("IVA", " IVA > 0 ").ToDecimal DiferenciaIVas = TxtIVA.Text.ToDecimal - IVADetalles
Dim DiferenciaIVas As Decimal = TxtIVA.Text.ToDecimal - IVADetalles
If Math.Abs(DiferenciaIVas) > 0.01D Then If Math.Abs(DiferenciaIVas) > 0.01D Then
TmpDT.Rows(IndiceUltimo)("IVA") = TmpDT.Rows(IndiceUltimo)("IVA").ToString.ToDecimal + DiferenciaIVas TmpDT.Rows(IndiceUltimo)("IVA") = TmpDT.Rows(IndiceUltimo)("IVA").ToString.ToDecimal + DiferenciaIVas
@@ -8590,7 +8605,36 @@ Partial Class Compras_Compras
End If 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 Protected Sub TxtCodigo_TextChanged(sender As Object, e As System.EventArgs) Handles TxtCodigo.TextChanged
Dim ObjProveedores As New ClsCompProveedores() 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)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDouble + tPU
TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDouble + ImporteAjuste 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)("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("IEPSPS") = Math.Round(IEPSPS, DecimalesPermitidos)
'Row("IEPSPSPorcentaje") = PorcentajeIEPS 'Row("IEPSPSPorcentaje") = PorcentajeIEPS
TmpDT.AcceptChanges() 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 CvePrePoliza > 0 Then
If CveMoneda = 2 And UsuarioActual.CveEmpresa.Contiene(119) Then If CveMoneda = 2 And UsuarioActual.CveEmpresa.Contiene(119) Then
ImporteME = (DiferenciaInvOC / TCInvOC).RoundSQL() ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundSQL() ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()
Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp) Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp)

View File

@@ -105,7 +105,7 @@
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<div class="col-md-1">SubTipo Activo Fijo:</div> <div class="col-md-1">SubTipo Fijo:</div>
<div class="col-md-2"> <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: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> <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:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </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"> <div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Width="95%" /> <ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Width="95%" />
</div> </div>

View File

@@ -214,7 +214,7 @@
<table> <table>
<tr> <tr>
<th>Enero</th> <th>Enero</th>
<th>Febero</th> <th>Febrero</th>
<th>Marzo</th> <th>Marzo</th>
<th>Abril</th> <th>Abril</th>
<th>Mayo</th> <th>Mayo</th>

View File

@@ -67,9 +67,16 @@
<asp:Label ID="LblEncabezado" runat="server" Text=" Registro de Póliza"></asp:Label> <asp:Label ID="LblEncabezado" runat="server" Text=" Registro de Póliza"></asp:Label>
</asp:Content> </asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li> <asp:UpdatePanel runat="server">
<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> <ContentTemplate>
</li> <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>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
@@ -304,7 +311,7 @@
</table> </table>
<div style="width: 100%; min-height: 200px; overflow-scrolling: auto;"> <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> <Columns>
<asp:TemplateField> <asp:TemplateField>
<HeaderTemplate>Cuenta</HeaderTemplate> <HeaderTemplate>Cuenta</HeaderTemplate>
@@ -728,7 +735,54 @@
</div> </div>
</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">&times;</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> <script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script>
</asp:Content> </asp:Content>

View File

@@ -4,6 +4,7 @@ Imports System.Data
Imports Extensiones Imports Extensiones
Imports System.Linq Imports System.Linq
Imports System.Web.Services Imports System.Web.Services
Imports GemBox.Spreadsheet
Partial Class ContabilidadC_RegPrePoliza Partial Class ContabilidadC_RegPrePoliza
Inherits ClsPaginas Inherits ClsPaginas
@@ -171,6 +172,8 @@ Partial Class ContabilidadC_RegPrePoliza
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then If Not Page.IsPostBack Then
If UsuarioActual.Empresa.TipoContabilizacion = 1 OrElse UsuarioActual.Empresa.TipoContabilidad = 1 Then If UsuarioActual.Empresa.TipoContabilizacion = 1 OrElse UsuarioActual.Empresa.TipoContabilidad = 1 Then
Response.Redirect(Request.Url.PathAndQuery.Replace("RegPrePoliza", "RegPrePolizaS")) Response.Redirect(Request.Url.PathAndQuery.Replace("RegPrePoliza", "RegPrePolizaS"))
End If End If
@@ -223,8 +226,9 @@ Partial Class ContabilidadC_RegPrePoliza
Contabilizar() Contabilizar()
End If End If
Exit Sub Exit Sub
LnkExcel.Visible = False
Else Else
LnkExcel.Visible = True
CreaDT() CreaDT()
BtnEliminar.Visible = False BtnEliminar.Visible = False
@@ -527,13 +531,20 @@ Partial Class ContabilidadC_RegPrePoliza
If UsuarioActual.CveEmpresa.Contiene(120) Then If UsuarioActual.CveEmpresa.Contiene(120) Then
DdlPlantilla.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, -1) DdlPlantilla.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, -1)
DdlPlantilla2.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, -1)
Else Else
DdlPlantilla.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, TipoPlantilla) DdlPlantilla.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, TipoPlantilla)
DdlPlantilla2.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, TipoPlantilla)
End If End If
DdlPlantilla.DataBind() DdlPlantilla.DataBind()
DdlPlantilla.Items.Insert(0, New ListItem("Plantilla Personalizada", "53")) DdlPlantilla.Items.Insert(0, New ListItem("Plantilla Personalizada", "53"))
DdlPlantilla2.DataBind()
DdlPlantilla2.Items.Insert(0, New ListItem("Plantilla Personalizada", "53"))
End Sub End Sub
Private Sub CargaConceptos() Private Sub CargaConceptos()
@@ -801,6 +812,8 @@ Partial Class ContabilidadC_RegPrePoliza
dr("PorcentajeImpuesto") = drt("PorcentajeImpuesto") dr("PorcentajeImpuesto") = drt("PorcentajeImpuesto")
dr("CveCuenta") = drt("CveCuenta") dr("CveCuenta") = drt("CveCuenta")
DtMovimientos.Rows.Add(dr) DtMovimientos.Rows.Add(dr)
Next Next
@@ -1754,5 +1767,252 @@ Partial Class ContabilidadC_RegPrePoliza
End If End If
ObjGral.Dispose() ObjGral.Dispose()
End Sub 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 End Class

View File

@@ -1287,7 +1287,7 @@
</Style> </Style>
</PageHeader> </PageHeader>
<PageFooter> <PageFooter>
<Height>8.4664cm</Height> <Height>7.77848cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage> <PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage> <PrintOnLastPage>true</PrintOnLastPage>
<ReportItems> <ReportItems>
@@ -1573,51 +1573,6 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </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> </ReportItems>
<Style> <Style>
<Border> <Border>
@@ -1769,8 +1724,28 @@
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt> <Prompt>ReportParameter1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="DepartamentoEntrego">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters> </ReportParameters>
<EmbeddedImages> <EmbeddedImages>
<EmbeddedImage Name="compuproveedores">
<MIMEType>image/jpeg</MIMEType>
<ImageData>/9j/4AAQSkZJRgABAQEAYABgAAD/4QCmRXhpZgAATU0AKgAAAAgABgE+AAUAAAACAAAAVgE/AAUAAAAGAAAAZgMBAAUAAAABAAAAllEQAAEAAAABAQAAAFERAAQAAAABAAAewlESAAQAAAABAAAewgAAAAAAAHolAAGGoAAAgIMAAYagAAD5/wABhqAAAIDpAAGGoAAAdTAAAYagAADqYAABhqAAADqYAAGGoAAAF28AAYagAAGGoAAAsY//2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABzAGcDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK
0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KCcUV8yf8FhPivr3wa/4J8ePNY8N6hcaTqzraWKXlu5jmt0nuoopCjDlWKMyhhyN2Rg4Nc+KxCoUZ15bRTf3K56WT5bPMMdRwFN2lVlGKb2Tk0rv0ue7+O/jD4T+F1v53ibxN4f8PRY3b9T1GG0XH/bRhXhvjv/AIK//s5fD2Qx3fxQ0a+kDBdulwXGog++6GNlx+Nfz06jqlxq97JcXU81zcTHc8srmR3PqWOSar7jivzutx3Xf8Gkl6tv8rH9NZf9HvLo/wC+4qc3/dUY/nzn9EHg/wD4K9/s5+N5UjtfidpNs8nT+0LW6sV/76miVf1r23wJ8avB/wAUYVk8NeKvDfiCNhkNpupQ3Wf++GNfzB2bEWsfJ6VPBcyWsyyRO0ckZyrIdrKfYjms6PH2Ii7VqUX6Nr87n2WM+itlFejGpgMbUptpP34xmtVfp7M/qb3cf40oOa/mt8Aftp/Fz4WlRoHxK8babCmMQR6xO0PH/TNmKfpXtvgH/guF+0R4MVEuPFem+IoY+iarpFu+fq8axuf++q9ahx5hJfxaco+ln+q/I+CzL6K/EFK7wWKpVF/e5oP7uWS/E/eWivyF8Bf8HH/jiwWP/hJPhx4Y1hVwHbTL24sCffD+cK9p8Cf8HGvwy1YoviLwX400Rn6taNbX8afU742/8dr2KPFmV1P+XlvVNfpb8T8+zLwF43wd28HzrvCcJfgpc34H6I0V4f8Aso/8FEvhT+2bql5pvgfxBJdaxp9v9ruNPu7OS1uEi3BS4DDDqGZQShOCwzjIr3Cvcw+IpV4e0oyUl3Tuj8wzTKcbluIeEzClKlUW8ZxcXrto7Oz6PqFFFFbHnBXyD/wXUOP+Ca3jb3u9L/8AS+Cvr6vkD/guqf8AjWx40/6/NL/9Loa8vOv+RfW/wy/Jn1nAn/JR4H/r7T/9KR+BVFFFfhZ/
oIaFp/x6x/Su8+AnwRk+PHjqPRR4m8H+EoSN82o+JNXj0+0hXOOrfM7f7KAn6Dmj9mLwv4V8T/FTRF8dSa5b+DLeUS6vJpNk11dGIZIjULjaZCAm8/dBLYJGD+okf7Wn7A9xplvZ33gbw/p8dtEsKG68CyiQKowNzrGzMeOSSSTySTXqZXldPEN1K1WMEntJ2v8A8A7eLuNsblFClhcvwNfETlBNypU+dQ0SV1s5bu3TRvdX4X4Y/wDBEn4G+JfCUKXXx+s9c16QZabRb/TvsgyPurGzO7Y9S4z6CvUPhX/wRj8SfAffefDP40aHD5j7z/avgLTtUZvbznLsB/u4rEfxR/wTj8aL+8t/CtqzdhYavY4/75VQKbp/we/YBu5vM0XxvY+H5GOQ1r4t1C0Kn/to3FfaUcHgY2dONK66xrST/L9T+eMw4k4nrqcMXVxyjJ6xq5fSqQ9LOaSXpE9tsvhd+154FhVbHX/gD4uhj6pqWiXemySD/tgu0VDrHiP4/pEY/E37Mvwp8dJ/y0/srxJbQ7h3wl3Ec/QmuA0X4Lfs4ysq+G/2tPG3h+QfcSy+K8KBf+AyZ/Wux0X4PQQgf8Iz+2n4un/uG913SNXz/wB9LzXpR52rRcvlUhL/ANLR8TW+rqXNWp0r954XEUH/AOW8l+B137Kml6VcfGtby6/ZcuPhD4gjspv+J7BBpzWpU7Q0JltmBYt2Gw9O3WvqSvC/2b/h18Q/DnjNrvXvj1bfE7QVtnT+zj4bsLWZHJG2T7RbPnC8jBXBz2r3Svfy2DjR1TWvVRT/APJNP1PynjDERrY/mhOMkope667it9F9YSqK3bbs9wooorvPlQr4/wD+C6x/41s+M/8Ar90z/wBLoa+wK+Pv+C7H/KNrxl/1+6Z/6XQ15edf8i+t/hl+R9ZwH/yUeB/6+0//AEpH4GUUUV+Fn+gh+k//AARj+NPxD/Z9+CPiO+8HfAbX/iRB4g1VUuNYsdUjtFTyIlC2
+1o2J2mV2znH73pxX2Lcft7/ABgvP+Pz9kXxy+ev/E1t5f5w18Y/8EbdS+PnxD+EPiHwz8JfHngHw5p/h+/W9u7LW9NNxcs1ymBKhET5Q+QRjIwR7ivtCH4J/tnS/wCt+Mfwth9fL8Nbv5wiv0rJamI+pU1RdTl8o02t9bX137n88eIGEyr+3q88wjg/avlu6lXGRqW5I8vMoe4ny2+HS1rGbdftf+MNS/4//wBjXxxN65hs5v5xVm3Xx+h1I/8AEw/Yh8ZTZ658N6dNn80rqH+DH7Wdt/x9/tAfDe09ceE4Tj/voCqtz4D/AGiLAf6d+1Z8N7HHUnwlYcf99OK9GX1n7SqfONH/ADPlKSydfwpYVf4a2YfpBnG3/jvwDq3/AB//ALBvjJz3KeBdOY/pisu7l+Dt6P8ASP2E/ilH6/Z/A1sv/oMwrtLw/FfTT/p37b3wxscdc+FtHXH/AH1OKzLr4g+ItNO2+/4KBfDeNu6xeH9Az/6PNYSX88X840P/AJI9ajJf8uKq/wC3amZ/pQZ2f7D+i/Cu0+NEs/hH9m34kfCfW/7OlU6xrnh02No0RZN0Ik85xuYgEDbztPIr6+r5W/Y++JX/AAkPxdaxm/at0P4yStZSuug2ek6XatwVzNvt8udnoDj5uelfVNfQ5Ty+w91JavZRX/pDa/G5+Q8fe1eafvpOT5VrJ1pO2vWvCFS3yt2e4UUUV6Z8SFfHv/Bdg/8AGtvxj/1/aZ/6WxV9hV8e/wDBdr/lG54w/wCv7TP/AEtiry87/wCRfW/wy/I+s4D/AOSjwP8A19p/+lI/A2iiivws/wBBDvPgb8QYfh1410u9vm1t9FaVF1S20rUnsLi7t92XRZV6N3GQRkDIr9IF1L9gI6Nb3WpeOPG2pSXESytb3Woa3LNFkA7HEahQw6EAkZzyetflnaf8esf0rt/gZ+0D4t/Zv8cw+IvB+rSaVqUa7GJiSeKZM5KSRyBkdTjoR9MHmvQy7NFh
m4ThGUX/ADR5reiuvuuexxPwTLOcNSxGGxNajUjBWVKr7JT0VlOXJUtbo1FvXW+lv0V07U/2B5pM6T8OPHfiyTsYLPWbov8ATfMtdPo9z+zhI6r4d/Yz+L+vZ+67eDZWjP8AwKWc15h4P/4OOvGmkeEYbPVvhz4Z1HVohtN5a381nA+O5h2vg+uHA9hWx4O/4Lu/ET4qXLQ/2n8FPh1FuwH1uy1q9kI9QYFdPzxX11PMstdlGcLvtRS/GTa/E/B8ZwdxnDmlUw+IcY9Z5hOomu6jShGVv+3U/I9j0rSfDt0o/sH9gCaf+7/a9hpNkfx84Niup0TRPiIXX+yf2J/hP4bU/ce+8Q6SrL9Vgtif1rzHTf22fEXjaNXv/wBs74S+Flf7y6P4K85lH+ybrB/MVYv/AI8fDC4h3eK/26PiDqHd/wDhH4YtN3fQQWshH4GvShiKFrxnb50Ir9WfG4jKMzvyVaCk+3LmlSX/ALZB/efV37Nuj/FWw8ZySeLvh98I/Bvh/wCyOEPh2+mn1DzsrtUjyEj8vG7PzZyBwa90r4k/YR+N3wE8Y/tBDSfAPxI+LXxD8WNp1xJ9o8R6tqd1arCu3zDsn2RbuVwdnHbFfbdfTZXWjUoXjJS13TUvxSSPxPjrA1sJmXs69GVJuKdpU503bXXlnOcrO27av2QUUUV6R8aFfMP/AAWK+FGt/GL/AIJ7+OtL8PWU+papbi01FbWBC8s8dvcxyyhVHLMI1dsDk7cDmvefi58Y/C3wF8B33ijxlr2l+G/D+nKDcX1/OIYkzwFyfvMx4CjLMeACa+QdS/4OJf2WbHWJLVPGWtXUMbbTdQ+Hbwwn3GUDY/4DXQsjxeZYedKhSlKLTTcU3a6/M0wPElDJswoY2c4qVOUZpSaV+Vp+tnax+GU9vJbStHIrI6HDKwwwPuOtRkEV/SL4J1z4Fft8fBiLx5a6X4P8ceEb0TD+0NW0VAE8olZd32iNXTYQck4HGc45r8/P
j98U/wDgmbp/jWbT7iLzry3kKz3HhRNTNkpzg4eJhC494wR6Gvzj/iF+a1akqWETnKO65ZJr1STt8z+nsN9JXIIU41MxpSpqWzUoST9G3C/yR+Ztmpa1j47dqlC5r9s/2Lf2J/2Kf2jPCL+IfhlpOieOrW1dUuDd6leXE1kxGVWa2mdTGTg43xjODjNdh4n/AGtP2Qf2Lvjl/wAK2vG8D+CPGdrLbQvaW3hWSMxtcKjxbriO3KcrIh3F8AHkjBrDD+GOaVK0qM/iWrSjJtLzVlY+3xn0tuHMLhoSweHnNWSTnKEIt26NOe9ux+KPgP8AZs+IXxRaMeG/A/i7XhIflaw0e4uF/wC+lQj9a9s8A/8ABGz9orx6VeP4fXGk27YJl1W/trPb9UaTzP8Ax2v33vb230uxmubiWOC3t0aSSR22pGqjJJ7AAAmvFv2Wf+CjXwZ/bQ8Uapovwz8ZReJdS0W2F5eRJp13a+VEXCBt00SA5YgYBJr0cL4bwlCVWUpyjHdxVkvV2dvvPiM2+lpmrmqWDwtGk5bKcpTb9LOF/uPzd8A/8G6XxT1lUk8Q+MvBehRt1S2a4v5k+o2Rr+TV7Z4D/wCDb7wbYCM+J/iR4o1YjBddNsYLBT7ZkMxr3nx3/wAFuP2Y/hr441nw3rXxMistZ8P30+m39udE1F/IuIZGjkTcsBVtrqRlSQccE16p+zL+3R8Jf2xrPUJvhr440nxQ2kqr3kEIkhubZWzhnhlVJApIIDbcEjGc1768PaGGp+2q4afL3kpW/RH5vjvpJcV5hU9jRx8IP+Wmqaf32ctPUwP2Q/8AgnF8Lf2J9QvtQ8GaVeNrWoQfZZ9U1G6NzdNDkMY1OAqKWVSQqjJUZzgY94ryP9lb9ur4Wftrx6+3wz8UL4mXwxJDFqRWxubX7M0vmeWP30abs+U/3c4289RVz4i/tmfDf4T/ALQHhb4XeIPEi6f468aRCbRtMNncSG8Qs6A+YiGNctG4+Zh9
33Fe1Ryiph28LSouLiruKi00rXbatfbW/wAz8uzTiStmtX+0cwxLqynZc8pc1+iSbfySXoj1CiuC+Hn7T/gH4r+L7rQfDvifTtU1S1EjGKLeFnWNgsjQuVCTKpKgmMsBuXJ5FFFSjOm+WaafmrHHTqQmrwaa8j8rv+C3us6l+11/wVT+Cf7PdxqF1Z+D2l06S8jifbunvbhxNNjoXS2QKhOdpd8feNfq34B/Z48C/DHwBa+F/D/hHw7pfh6zhEEVhBp8Qh2AY+YEHeT3ZsliSSSTX5of8F7/ANmXx18Kv2lvhx+1R8P9Kn1geBjaJrUEMTSfY3tLhp4J5FUFjC6u8TsOE2rn72R9AfC//g4a/Zj8b/Du31jWPGN94S1TyQ9zo1/pF3NcW8mPmRXhieOQA8BlbkYyB0H3GY4XE4vK8G8vi5QjFqSim7Tvq2l36N/qfHYHEYfDZjivr0lGcmnFysk4W0Sb7dV/keR/8HFfjyH9lb9hPQvh78P9N0/wjpPxC8QSpqUGk2yWcMlvGhuJ49kYUDzZWiL4+8AwOQxr6q/4Jq/sSeCf2Y/2MvBug2Xh/SJtR1bRra+169ltI5JtTu54lklMjMCWQFyiqeFRVFfMf/BSvwpa/wDBa3/gm5B46+Den65qF54L1+e80y1u7T7Pc63BEhhuVhjySSwZXQHDMYduAzAVc/4J/wD/AAXd+Dmkfss+H/D3xa8R3HgXx94H06LRtVsr7S7p2vGtk8pZozHG3zOqKWRtrK5YYxgmq2FxdXJIYfDRk6kKkvaxV3K7+FtLW1tPUVHEYWnm86+IklCUI+zk7KNvtJN6Xvr6Hz78QPDtv/wTF/4OFvBlj4DVdF8I/FZ7BbzRrUeXaJDqMr2ssQQcBEuYhOijhDgDAGK8n/4LJ/AG9+PH/BUH9oqXTTI194F8Eaf4rEa/8tobe30yOcf8Bhnkk/7Z17N+zboevf8ABYj/AILJWfx4sdC1TTfg/wDDSe3Om6hf
QGP7X9i3NbQqejSyXLNM6rny04Y7tu71zwB4W0/xx/wck/HDRdUhjvNN1T4ZpZXkDdJopLTSkdCPQqxH419FTx0sJiY1Z61qWH9/q7qUXZ+dtH6nhVMHHFYeVOGlKpX9ztZxlqvK+qLXxr/4KMXnxK/4IQeHvEWk3DXfxB+KFlb/AA8hijf9/NqsjG0uyB1DNFHNIuOnmp6ivH/+Dez4Sf8ACgv+Cjn7Qfgb7S143g+xbRnnP/LV4NQWNm+hZTj2xXMf8EwP+CevxV8L/wDBQ2w+HvjTRPEsPwn+CPibVfFunXd9pskOn6pfAQ21tLDMyhJC/l28wVScCOQ8ZNeuf8EfyD/wWl/a++ZW/wCJnqPfrjWDmufEU8PhsHjMJhZKUZR9pdf3ppRj/wBuxX4m2HqV8Ri8JisSmpKShZ/3Yvmfzk/wPEP2Avi98Ifg7/wVW/amvvjFqHhDT9Dm1XWY7Q6/bJcRyzDWHJWNGRyz7A3CjJFdH/wRo8Maf8X/APgr38WPiT8JtCutC+DllZ6lDE6W5t7XbcNF5NuqdE3ujTrF/AqAEDAFSf8ABK79nrwL+0P/AMFdP2prHx14T8N+MLHT9W1a5tbfV7GO8jglOsspdVcEBsEjPoa/YvwX8O9B+GnheLRfDei6T4f0e3BEVlptpHaW8Weu2OMBR+Arl4kzinhJ1KEFJzq04Rd37qXKtUt2/N7HTw/ldTFQp1puKhTqSasvebu9G+3puflH/wAGqR/4l/x+/wCwjo/8r+uw/wCCj9ut9/wX/wD2XbdvuzaMiOAcHa1xfg4PUcZ5FeI/8En/ANojw/8A8Edv2sPjR8LfjpJe+DU1+5t5tO1WeymltZxbSXIRwY1ZjHNHMro4BX5SCQeK9A0v4v6f/wAFRv8AgvJ8N/Gfwth1DWPh/wDCHRxHqmvtZyQWzMn2uQEbwpG+W4jjRWAZtrsBtGa68ZQqLOMTmDi/YypNqf2XemkrPZtvS25zYWtTeVYf
A3/exqJOP2labbut7Ja32Pub9nv9ha8+D/xPsdbvvElnqVjoYVrGO309re4upEs3soZJ2MjIvl2sjoUgVEkciQgFQtFfRyjCiivy7FYqriJ89V3drf1Y/RMPhqdCPJTVlueW/tK/tN2/7PVz4P09fCviLxhrHjrVn0bS9O0drVJZJktZrpizXM0UaqIoJDkt1wMc1832P7TXwW8e+N9PtNB/ZtvvEnj67n1iLUtKXwzocGraNcaXJbJdJO886Rs3+lwMhikkDq4INenft6/CDxF8Xvip8AodBuvFGjx6b40ubq/1rQoI5LjRoTo1/GJS0sUsSKzusW50IzIAMMQa8h+Lv/BOrUtP+Pfgvw98O/EXxE8GxzeEPF13feNrO5M13LrV7c6a6y31y0Z8xpmQsUUxsVgxGUCDH0OW08GqUOeVpSjJvWXTn+Kz20VktWeJjqmKdSfJG8YuKWi68u11vq7t6Htem/8ABQfwbrHws+HOoeBPD3iPxZqnxKguG8O+GdPtIbS9SO0JS7a4850htY7eQeW7O4G8qqbyQDxXjT9pL4P+ItXvJ/id8G003xhoOs6RpOuWviDQ9NvbjSIdTm+z2epfaQzxzWLTYjMsTsyNkMikEV578FLPWvgL8QvhR8RL34TeJvDHh/wf4P1L4W+J9C0fSbm/Phu5S8trmPUbaNQ895YztA58+ISNiVGckhyOuvPgH/w8D+PXxV8VahoXiDw78Pde+GyfDjTJ9Z0yXT7zVp3upruTUIraYLNHHAzwiJpUUs4dlG0AnX6rhaM3LVQ1fNza357cujs/d101fxX5dDL61iasFHRz0XLbT4b82quve07L4bc2p7B+0v8AtleDf2KtKjs7zRdTuodP8Oal4kks9FggC2Gn2BgSRirOirvluYY0A+8zHoFJGB4x/bG/4VVoq+K/EnwR8daFqmsavpnhvS43fRZb7W7m+l8mGJJIrxgqqypuMzoAGXGcHHzPrnwd+LXx8/YS
+P8A4w+IHg/XF+KGr+DLfwDpWkCzeS7uotOjzcXMCKMst5fy3Eq4B3Rxw9QAa2/2jdD0/wAc/APRNJ8KaX+0vrEOlfEHwzresSa3pniKTVLOyhvF8+WxkuE80PGgLEW+WUgMBnBqqOV4ZctOXvPm5ZNNtfZe6aSWrjre7WlhVMxxD5px91ct4ppJ/aWzTb2v0tfW59FeLv26dS8C3/g/SdS+DvxGg8V+OtRvbDR9CF1o73Nwtpai6lnMgvfIWPZvABkDkxt8uCpNPQP27/hr4W0b4h614j8O658N/EXgSCC78Q6RrGkxR6rNHcvstpITbtIl2s837pDFI+ZflO1jivIfFniW28P/ABj/AGf/ABToXhn48eIPCvgXW/EA1i613wzrmo6vbG60l44m2XERuXiMjqgYAqpyMjBrD/aR+Bnjv9sH4leK/jB4b8E+ItLt/CGleHrLw7omuwf2XqHjB9O11dXu8wS4eGMogihEwUvIWOFXBM08vwr5FVXJGS1d2rP2jXLZtrWNn3V+ZuyKnjsSuZ03zNPRWTuuRPm0S+1ddnayV2fQngD9qmx0P4p6Dpfi74S+JvhTd/ES4e10PVNTj06SHVLrY0/2SeS0mkaC5dEd1jmwHKOAxYbao/Bn/gpXoPxc13wbHL4H8eeG9B+IWpXmj+HPEGoxWT6dqV5bG43wHybiSWF2+yzlPNjUN5Z56Vyfxo+IM37cXjb4R+HPB/hPx5YQ+GvG2meMfEWpeIPDN5otvoUGnl5vs5a5RPNuZZTHEEh8wBWkYsFAJ8a/ZA/Zs8cfs9xfA/x94i0Pxx4o0e31bWtLv/DF5BI8vgCe91G6W31i0tVVT5RiYxzFw7pFdeYhC7wSOX4SWGdSsuWpso3fadrXe7cVo7+XxRFLHYmNdU6T5qe/NZd4XvZdE3tbz+FnuN7+1/4J/aE+Guo+MvFnwR13Ufhf4cXV57nxNr1lo99Y20enNcR3Ei25uJLk5ktXRQsOWJU4
AOR6h+yV42k1/QJLW2+DeqfCjQmt4tQ05ZP7LW2vElGQPLspn8qULtLK6jAYYY4OPlf9iG00b4JfCzUNM8ceEf2hr7XJr3xLHqXhxvDuu3/hy5trjUr2VRHbeWbJ/Nt3Rht+80jdWYg+jfsC6bfeDv2hNf0H4ej4if8ADPsHh2OeytPF2mXtmPD+rm42ix0030cdy1r9nDM6MHSJwgRvmKicwwdKMKtOkmoxejfNytJ9HzNcz9LSW1mtbwOKqSnSnUabktUrXTt10TsvW6e91t9iUUUV8mfShRRRQAYoAxRRQAUYoooAMUYoooAMUUUUAGKMYoooAKKKKAP/2Q==</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="Logo1"> <EmbeddedImage Name="Logo1">
<MIMEType>image/png</MIMEType> <MIMEType>image/png</MIMEType>
<ImageData>iVBORw0KGgoAAAANSUhEUgAACIsAAAhVCAYAAADwAbiCAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAA5a0SURBVHja7P3ZchvLsi5qOtj3ndox1z513q1uzjPVTb1MPUVdldnZe6+15pxjqJcoiQ3qIsJHBFJUD5AA8vvM0kBSJEWCANIz40/3yXQ6DQAAAAAAAAAAxmHDXQAAAAAAAAAAMB7CIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAA <ImageData>iVBORw0KGgoAAAANSUhEUgAACIsAAAhVCAYAAADwAbiCAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAA5a0SURBVHja7P3ZchvLsi5qOtj3ndox1z513q1uzjPVTb1MPUVdldnZe6+15pxjqJcoiQ3qIsJHBFJUD5AA8vvM0kBSJEWCANIz40/3yXQ6DQAAAAAAAAAAxmHDXQAAAAAAAAAAMB7CIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAAAAAAMCLCIgAAAAAAAAAAIyIsAgAAAAAAAAAwIsIiAAAAAAAAAAAjIiwCAAAAAAAAADAiwiIAAAAAAAAAACMiLAIAAAAA

View File

@@ -2021,7 +2021,7 @@ Partial Class General_SaldosIniciales
If YaExiste = False Then If YaExiste = False Then
If IdCuenta > 0 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 TieneError = True
Exit For Exit For
End If End If
@@ -2035,7 +2035,7 @@ Partial Class General_SaldosIniciales
If Not TieneError Then If Not TieneError Then
ObjConta.Commit() 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}") Alert($"Se agregó la póliza {ObjConta.ContaFolio}")

View File

@@ -74,7 +74,7 @@
Using ObjActivosFijos As New ClsAF Using ObjActivosFijos As New ClsAF
If ObjActivosFijos.GetCaracteristicasClasificaciones(-1) Then Application("GlobalDTAFCaracteristicasClasificaciones") = ObjActivosFijos.DtResultados Else Application("GlobalDTAFCaracteristicasClasificaciones") = Nothing 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.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.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.GetEstatusActivoFijo() Then Application("GlobalDTEstadoActivoFijo") = ObjActivosFijos.DtResultados Else Application("GlobalDTEstadoActivoFijo") = Nothing
If ObjActivosFijos.GetMarcasActivosFijos(-1) Then Application(" GlobalDTMarcaActivoFijo") = ObjActivosFijos.DtResultados Else Application(" GlobalDTMarcaActivoFijo") = Nothing If ObjActivosFijos.GetMarcasActivosFijos(-1) Then Application(" GlobalDTMarcaActivoFijo") = ObjActivosFijos.DtResultados Else Application(" GlobalDTMarcaActivoFijo") = Nothing

View File

@@ -263,6 +263,15 @@ Partial Class Inventarios_EntregaAlmacen
End Set End Set
End Property 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 #End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
@@ -270,7 +279,7 @@ Partial Class Inventarios_EntregaAlmacen
InicializaValores() InicializaValores()
CargaParametrosAD() 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 If UsuarioActual.Empresa.Funcionalidad(281).ToEntero() = 1 Then
@@ -527,7 +536,7 @@ Partial Class Inventarios_EntregaAlmacen
CveVentaAD = -2 CveVentaAD = -2
CargaVentaPorSurtir(DdlFolio.SelectedValue.ToEntero()) CargaVentaPorSurtir(DdlFolio.SelectedValue.ToEntero())
End Sub End Sub
Private Sub CargaVentaPorSurtir(CveVenta As Integer) Private Sub CargaVentaPorSurtir(CveVenta As Integer, Optional CveAlmacen As Integer = -1)
LbSurtida.Visible = False LbSurtida.Visible = False
CveContrato = -1 CveContrato = -1
CveSubProyecto = -1 CveSubProyecto = -1
@@ -544,14 +553,14 @@ Partial Class Inventarios_EntregaAlmacen
Dim ObjInventario As New ClsInventarios 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 If ObjInventario.DtResultados IsNot Nothing AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
DtDatos = ObjInventario.DtResultados DtDatos = ObjInventario.DtResultados
DtDatos.Columns.Add("Consec", GetType(Integer)) If Not DtDatos.Columns.Contains("Consec") Then DtDatos.Columns.Add("Consec", GetType(Integer))
DtDatos.Columns.Add("CantidadGV", GetType(Double)) If Not DtDatos.Columns.Contains("CantidadGV") Then DtDatos.Columns.Add("CantidadGV", GetType(Double))
DtDatos.Columns.Add("CantidadTraspaso", GetType(Double)) If Not DtDatos.Columns.Contains("CantidadTraspaso") Then DtDatos.Columns.Add("CantidadTraspaso", GetType(Double))
Dim Index = 1 Dim Index = 1
For Each Dr As DataRow In DtDatos.Rows For Each Dr As DataRow In DtDatos.Rows
Dr("Consec") = Index Dr("Consec") = Index
@@ -607,41 +616,43 @@ Partial Class Inventarios_EntregaAlmacen
BtnGuardar.Visible = False BtnGuardar.Visible = False
End If 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 If CveAlmacen <= 0 Then
DdlAlmacen.Items.Insert(0, New ListItem(GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {CveAlmacenTraspasoOrigen}"), CveAlmacenTraspasoOrigen.ToString())) DdlAlmacen.Items.Clear()
Else 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
'[IPP] PARCHE - Debe hacerse permiso proceso - 17Enero2018 DdlAlmacen.Items.Clear()
Dim RestriccionAlmacenSubProyecto = If(UsuarioActual.CveEmpresa.Contiene(72, 80), $" AND CveSubProyecto = {CveSubProyecto}", "") DdlAlmacen.Items.Insert(0, New ListItem(GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {CveAlmacenTraspasoOrigen}"), CveAlmacenTraspasoOrigen.ToString()))
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"{StrAlmacenes} {RestriccionAlmacenSubProyecto}") Else
End If '[IPP] PARCHE - Debe hacerse permiso proceso - 17Enero2018
DdlAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1")) Dim RestriccionAlmacenSubProyecto = If(UsuarioActual.CveEmpresa.Contiene(72, 80), $" AND CveSubProyecto = {CveSubProyecto}", "")
DdlAlmacen.SelectedValue = "-1" DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"{StrAlmacenes} {RestriccionAlmacenSubProyecto}")
DdlAlmacen.DataBind() End If
DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
If CveAlmacenTraspasoOrigen > 0 Then DdlAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
DdlAlmacen.SelectedValueExist(CveAlmacenTraspasoOrigen) DdlAlmacen.SelectedValue = "-1"
DdlAlmacen.DataBind()
DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
If CveAlmacenTraspasoOrigen > 0 Then
DdlAlmacen.SelectedValueExist(CveAlmacenTraspasoOrigen)
End If
End If End If
If Not DtDatos.Columns.Contains("Serie") Then If UsuarioActual.CveEmpresa = 119 AndAlso CveSubProyecto = 10276 Then
DtDatos.Columns.Add("Serie", GetType(String)) ValidaLoteCaducidad = True
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 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 If UsuarioActual.Empresa.Funcionalidad(280) = "1" Then
FormaPaqueteria = DtDatos.Rows(0)("FormaPaqueteria").ToString().ToEntero() FormaPaqueteria = DtDatos.Rows(0)("FormaPaqueteria").ToString().ToEntero()
Dim FormaPaq As Integer = FormaPaqueteria Dim FormaPaq As Integer = FormaPaqueteria
@@ -692,7 +703,7 @@ Partial Class Inventarios_EntregaAlmacen
If TipoDocto.Contiene("Ing") AndAlso TipoMovimiento = 2 Then If TipoDocto.Contiene("Ing") AndAlso TipoMovimiento = 2 Then
Dim DtMov As DataTable = DtExistencias.FiltraParametros("CveConcepto = 40", "", {"CveAlmacen"}) 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() Dim CveAlmacenDev As Integer = DtMov.Rows(0)("CveAlmacen").ToString().ToEntero()
DdlAlmacen.Items.Clear() DdlAlmacen.Items.Clear()
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveAlmacen = {CveAlmacenDev}") DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveAlmacen = {CveAlmacenDev}")
@@ -719,7 +730,7 @@ Partial Class Inventarios_EntregaAlmacen
ObjInventario.Dispose() ObjInventario.Dispose()
UpGenerales.Update() UpGenerales.Update()
CargaGvDatos() If CveAlmacen <= 0 Then CargaGvDatos()
End Sub End Sub
Private Sub CargaTraspasoPorSurtir(CveTraspaso As Integer) 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), "") 'GvDatos.Columns(9).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) <> "", UsuarioActual.Empresa.Funcionalidad(147), "")
'SugerirFecha() 'SugerirFecha()
If DdlAlmacen.SelectedValue.ToEntero > 0 Then If DdlAlmacen.SelectedValue.ToEntero > 0 And CveVentaSurtir > 0 Then
SugiereLoteCaducidad(DdlAlmacen.SelectedValue.ToEntero) CargaVentaPorSurtir(CveVentaSurtir, CveAlmacen:=DdlAlmacen.SelectedValue.ToEntero)
' SugiereLoteCaducidad(DdlAlmacen.SelectedValue.ToEntero)
End If End If
End If End If
GvDatos.DataSource = DtDatos GvDatos.DataSource = DtDatos
@@ -943,19 +955,23 @@ Partial Class Inventarios_EntregaAlmacen
e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
End If End If
If CBool(e.Row.DBCampo("AplicaCaducidad")) Then If (ValidaLoteCaducidad) OrElse (UsuarioActual.CveEmpresa <> 119) Then
e.Row.FCTextBox("TxtCaducidad").Visible = True If CBool(e.Row.DBCampo("AplicaCaducidad")) Then
e.Row.FCLinkButton("LnkCaducidad").Visible = True 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
Else If CBool(e.Row.DBCampo("AplicaLote")) Then
e.Row.FCTextBox("TxtCaducidad").Visible = False e.Row.FCTextBox("TxtLote").Visible = True
e.Row.FCLinkButton("LnkCaducidad").Visible = False e.Row.FCTextBox("TxtLote").readonly = True
End If Else
e.Row.FCTextBox("TxtLote").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 End If
e.Row.FCButton("BtnDividir").Attributes.Add("onclick", String.Format("Dividir('{0}');", e.Row.FCTextBox("TxtDividir").ClientID)) e.Row.FCButton("BtnDividir").Attributes.Add("onclick", String.Format("Dividir('{0}');", e.Row.FCTextBox("TxtDividir").ClientID))
@@ -1629,6 +1645,12 @@ Partial Class Inventarios_EntregaAlmacen
Next Next
If (Not ValidaLoteCaducidad) OrElse (UsuarioActual.CveEmpresa <> 119) Then
ValidaSeccion = False
ValidaCaducidad = False
ValidaLote = False
End If
If ValidaSeccion Then If ValidaSeccion Then
Alert("La sección de almacen no ha sido especificada en todos los productos.", TipoMensaje.MsgAdvertencia) Alert("La sección de almacen no ha sido especificada en todos los productos.", TipoMensaje.MsgAdvertencia)
Exit Sub Exit Sub
@@ -1769,6 +1791,11 @@ Partial Class Inventarios_EntregaAlmacen
FechaCaducidad = If(CBool(Dr("AplicaCaducidad")) AndAlso Dr("FechaCaducidad").ToString() <> "", Dr("FechaCaducidad").ToString().ToDate, MinFecha) FechaCaducidad = If(CBool(Dr("AplicaCaducidad")) AndAlso Dr("FechaCaducidad").ToString() <> "", Dr("FechaCaducidad").ToString().ToDate, MinFecha)
Lote = If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1") 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 Dr("CantidadGV").ToString().ToDecimal > 0 Then
If CBool(Dr("AplicaSerie")) Then If CBool(Dr("AplicaSerie")) Then
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec"))) 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 CantidadPendiente = Dr("CantidadGV").ToString().ToDecimal - Dr("CantidadTraspaso").ToString().ToDecimal - CantidadEntradaSinCosto
If CantidadPendiente > 0 Then If CantidadPendiente > 0 Then
Dim PU As Decimal = 0 Dim PU As Decimal = 0
Dim CveSeccionAlmacen As Integer = If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString().ToEntero(), -1)
'SI FUE POR SERIE 'SI FUE POR SERIE
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0} AND FueTraspaso IS NULL", Dr("Consec"))) 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"))) DtDetalleLote = DtDatosDetalleLote.FiltraParametros(String.Format("ConsecId = {0} AND FueTraspaso IS NULL", Dr("Consec")))
If DtDetalle.Rows.Count > 0 Then If DtDetalle.Rows.Count > 0 Then
For Each Dr1 As DataRow In DtDetalle.Rows For Each Dr1 As DataRow In DtDetalle.Rows
If TipoMovimiento = 2 AndAlso DtExistencias IsNot Nothing Then 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", $"CveTipoAlmacenDevolucion <> 26 AND CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()} AND Serie = '{Dr1("Serie").ToString()}'").ToString().ToDecimal
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
End If 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 ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al procesar los conceptos con serie. Por favor vuelva a intentar.") TextoError.AppendFormat("Ocurrió un error al procesar los conceptos con serie. Por favor vuelva a intentar.")
Exit For Exit For
@@ -2448,11 +2474,10 @@ Partial Class Inventarios_EntregaAlmacen
ElseIf DtDetalleLote.Rows.Count > 0 Then ElseIf DtDetalleLote.Rows.Count > 0 Then
For Each Dr1 As DataRow In DtDetalleLote.Rows For Each Dr1 As DataRow In DtDetalleLote.Rows
If TipoMovimiento = 2 AndAlso DtExistencias IsNot Nothing Then 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 PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()} AND Serie = '{Dr1("Serie").ToString()}'").ToString().ToDecimal
End If 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 ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al procesar los conceptos con serie. Por favor vuelva a intentar.") TextoError.AppendFormat("Ocurrió un error al procesar los conceptos con serie. Por favor vuelva a intentar.")
Exit For 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 PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()}").ToString().ToDecimal
End If 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 ErrorMovInv = True
TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar.") TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar.")
Exit For Exit For

View File

@@ -126,7 +126,7 @@
<asp:UpdatePanel runat="server" ID="UppEntrega" UpdateMode="Conditional"> <asp:UpdatePanel runat="server" ID="UppEntrega" UpdateMode="Conditional">
<ContentTemplate> <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> <Columns>
<asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center"> <asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center">
<%--<HeaderTemplate> <%--<HeaderTemplate>
@@ -145,10 +145,28 @@
<asp:BoundField HeaderText="Disponible" DataField="Cantidad" DataFormatString="{0:#,##0.######}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" /> <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="Unidad" DataField="UnidadMedida" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="Código" DataField="Codigo" 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="Producto" DataField="PS" ItemStyle-Width="35%" />
<asp:BoundField HeaderText="Serie" DataField="Serie" ItemStyle-Width="15%" /> <asp:BoundField HeaderText="Serie" DataField="Serie" ItemStyle-Width="10%" Visible="false"/>
<asp:BoundField HeaderText="Lote" DataField="Lote" ItemStyle-Width="15%" /> <asp:TemplateField HeaderText="Lote" ItemStyle-Width="10%" HeaderStyle-HorizontalAlign="Center" Visible="false">
<asp:BoundField HeaderText="F. Caducidad" DataField="FechaCaducidad" ItemStyle-Width="15%" /> <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> </Columns>
</asp:GridView> </asp:GridView>

View File

@@ -68,6 +68,11 @@ Partial Class Inventarios_PrestamosdeProveedor
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() ObjInv.Dispose()
GvD.DataBind() GvD.DataBind()
UppEntrega.Update() UppEntrega.Update()
@@ -91,17 +96,34 @@ Partial Class Inventarios_PrestamosdeProveedor
If TxtFolioEntrega.Text <> "" Then If TxtFolioEntrega.Text <> "" Then
e.Row.FCCheckBox("Chk").Visible = True 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 End If
e.Row.FCTextBox("TxtCantidad").Visible = True e.Row.FCTextBox("TxtCantidad").Visible = True
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", String.Format("ValidaCantidad(this,{0});", e.Row.DBCampo("Cantidad"))) e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", String.Format("ValidaCantidad(this,{0});", e.Row.DBCampo("Cantidad")))
End If End If
''FUNCIONALIDAD PISTOLA DE CODIGOS ''FUNCIONALIDAD PISTOLA DE CODIGOS
'If UsuarioActual.Empresa.Funcionalidad(132) = "1" And e.Row.DBCampo("CodigoBarras").Trim <> "" Then 'If UsuarioActual.Empresa.Funcionalidad(132) = "1" And e.Row.DBCampo("CodigoBarras").Trim <> "" Then
' e.Row.FCTextBox("TxtCantidad").Enabled = False ' e.Row.FCTextBox("TxtCantidad").Enabled = False
'End If 'End If
End If End If
End Sub End Sub
Protected Sub BtnRecibir_Click(sender As Object, e As EventArgs) 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 If gvr.FCCheckBox("Chk").Checked AndAlso gvr.FCTextBox("TxtCantidad").Text.ToString.ToDecimal > 0 Then
CveMovimientoDetalleEntrada = gvr.DataKey("CveMovimientoDetalle").ToString.ToEntero CveMovimientoDetalleEntrada = gvr.DataKey("CveMovimientoDetalle").ToString.ToEntero
CvePS = gvr.DataKey("CvePS").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 ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de salida" TextoError = "Ocurrió un error al guardar los movimientos de salida"
Exit For Exit For

View File

@@ -90,7 +90,7 @@
<div class="col-md-1"> <div class="col-md-1">
<asp:DropDownList runat="server" ID="DdlClasificacion" CssClass="select2me" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="100%" CssStyle="width: 100%;"/> <asp:DropDownList runat="server" ID="DdlClasificacion" CssClass="select2me" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="100%" CssStyle="width: 100%;"/>
</div> </div>
<label class="col-md-1 truncate">Productos:</label> <label class="col-md-1 truncate">Producto:</label>
<div class="col-md-2"> <div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:55%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" /> <ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:55%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
</div> </div>
@@ -102,13 +102,13 @@
</asp:UpdatePanel> </asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate> <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> <Columns>
<asp:BoundField HeaderText="Almacén" DataField="Almacen" /> <asp:BoundField HeaderText="Almacén" DataField="Almacen" ItemStyle-Width="150px" />
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" /> <asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Producto" DataField="PS" /> <asp:BoundField HeaderText="Producto" DataField="CodigoPS" />
<asp:BoundField HeaderText="Lote" DataField="Lote" /> <asp:BoundField HeaderText="Lote" DataField="Lote" ItemStyle-Width="150px" />
<asp:BoundField HeaderText="Fecha de Caducidad" DataField="FechaCaducidad" DataFormatString = "{0:dd/MM/yyyy}" /> <asp:BoundField HeaderText="Fecha Caducidad" DataField="FechaCaducidad" DataFormatString = "{0:dd/MM/yyyy}" ItemStyle-Width="100px" />
</Columns> </Columns>
</asp:GridView> </asp:GridView>
</ContentTemplate> </ContentTemplate>

View File

@@ -35,11 +35,16 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
private void CargarDatos() 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 // 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();
ClsInventarios ObjInventarios = new ClsInventarios(); if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(), FI, TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(),
if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(),TxtFechaInicio.Text.ToDate(),TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(), DdlClasificacion.SelectedValue.ToEntero(), CvePS, UsuarioActual.CveEmpresa))
DdlClasificacion.SelectedValue.ToEntero(), -1, UsuarioActual.CveEmpresa))
{ {
GvDatos.DataSource = ObjInventarios.DtResultados; GvDatos.DataSource = ObjInventarios.DtResultados;
DTDatos = ObjInventarios.DtResultados; DTDatos = ObjInventarios.DtResultados;
@@ -60,8 +65,8 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
private void CargarFechaText() private void CargarFechaText()
{ {
DateTime date = new DateTime(DateTime.Today.Year, DateTime.Today.Month,1); DateTime date = new DateTime(DateTime.Today.Year, DateTime.Today.Month,1);
TxtFechaInicio.Text = date.ToString("dd/MM/yyyy"); //TxtFechaInicio.Text = date.AddYears(-5).ToString("dd/MM/yyyy");
TxtFechaFin.Text = date.AddMonths(3).AddDays(-1).ToString("dd/MM/yyyy"); TxtFechaFin.Text = date.AddMonths(6).AddDays(-1).ToString("dd/MM/yyyy");
DdlPS.setEsWebService(true); DdlPS.setEsWebService(true);
} }

View File

@@ -443,6 +443,7 @@
<asp:TextBox ID="TxtnLote" CssClass="form-control input-sm" runat="server" Width="80px" Visible="false"></asp:TextBox> <asp:TextBox ID="TxtnLote" CssClass="form-control input-sm" runat="server" Width="80px" Visible="false"></asp:TextBox>
</td> </td>
<td runat="server" id="TdFechaCaducidad" visible="false"> <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> <asp:TextBox ID="TxtnFechaCaducidad" CssClass="form-control input-sm" runat="server" Width="80px" Visible="false"></asp:TextBox>
</td> </td>
<td align="center"> <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"> <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> <Columns>
<asp:BoundField HeaderText="#" DataField="No" ItemStyle-Width="23px" /> <asp:BoundField HeaderText="#" DataField="No" ItemStyle-Width="23px" />
<asp:TemplateField ItemStyle-Width="93px"> <asp:TemplateField ItemStyle-Width="93px" ItemStyle-HorizontalAlign ="Right">
<ItemTemplate> <ItemTemplate>
<asp:Literal runat="server" Text='<%# Eval("Cantidad") %>' ID="ltlCantidad"></asp:Literal> <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> <asp:TextBox runat="server" ID="TxtCantidad2" Text='<%# Eval("Cantidad", "{0:###,###,###,##0.##}") %>' Width="50px" Visible="false"></asp:TextBox>

View File

@@ -526,19 +526,73 @@ Partial Class Inventarios_TraspasoAlmacen
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimero("") ' Estado = -1 DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimero("") ' Estado = -1
If Cantidad > 0 AndAlso DrPS("VentaMinima").ToString.ToDecimal > 0 Then If DrPS IsNot Nothing 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 If Cantidad > 0 AndAlso DrPS("VentaMinima").ToString.ToDecimal > 0 Then
Alert(String.Format("El producto se vende solo en cantidades de {0:#,###.####}", DrPS("VentaMinima"))) 'verifico que la cantidad sea multiplo de venta minima, es decir ventaminima =5, solo puede vender 5,10,15...
Exit Sub 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
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 If
End Sub End Sub
@@ -550,26 +604,39 @@ Partial Class Inventarios_TraspasoAlmacen
Dim Inv As New ClsInventarios 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) 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 Then
If Existencia < 0 OrElse ExistenciaEspecificada < 0 Then 'la primera vez valida, que la existencia global, cumpla, considerando lo pendiente por surtir
Alert("No hay existencia del producto", TipoMensaje.MsgAdvertencia) 'las segunda consulta, que tenga existencia, ya con los parametros especificos
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')") 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 Else
Alert(String.Format("Solo hay en existencia: {0}", Existencia), TipoMensaje.MsgAdvertencia) ExistenciaEspecificada = Existencia
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')") 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 End If
Retorno = False Else
Alert("No hay existencia del producto", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
End If End If
Inv.Dispose()
Return Retorno Return Retorno
End Function 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) 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() ' CargaGvDatos()
'End Sub '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 #End Region

View File

@@ -814,6 +814,7 @@
Cultivo: Cultivo:
<asp:DropDownList ID="DdlCultivosCuadro" CssClass=" form-control input-sm select2me" runat="server" DataTextField="Cuadro" Style="width: 100%; max-width: 600px;" <asp:DropDownList ID="DdlCultivosCuadro" CssClass=" form-control input-sm select2me" runat="server" DataTextField="Cuadro" Style="width: 100%; max-width: 600px;"
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpDetalleGuardar"> DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpDetalleGuardar">
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>

View File

@@ -2160,7 +2160,6 @@ Partial Class OC
DdlClasificacion.SelectedIndex = 0 DdlClasificacion.SelectedIndex = 0
DdlP2.SelectedValue = "-1" DdlP2.SelectedValue = "-1"
DdlP2.SelectedText = "Seleccione un producto o servicio" DdlP2.SelectedText = "Seleccione un producto o servicio"
txtPrecioUnitario.Text = "" txtPrecioUnitario.Text = ""
TxtObsPS.Text = "" TxtObsPS.Text = ""
HdnCveActivoFijo.Value = "" HdnCveActivoFijo.Value = ""

BIN
Otros/CRforVS_13_0_22.exe Normal file

Binary file not shown.

View File

@@ -6392,6 +6392,7 @@ Partial Class Ventas
Objeto.ddlWS.Attributes.Add("data-cveclasificacion", CveClasificacion.ToString()) Objeto.ddlWS.Attributes.Add("data-cveclasificacion", CveClasificacion.ToString())
Objeto.ddlWS.Attributes.Add("data-pagina", "ventas/ventas") Objeto.ddlWS.Attributes.Add("data-pagina", "ventas/ventas")
Objeto.ddlWS.Attributes.Add("data-Estatus", "1") Objeto.ddlWS.Attributes.Add("data-Estatus", "1")
Objeto.ddlWS.Attributes.Add("data-AplicaparaVenta", "1")
End If End If
End Sub End Sub
@@ -11289,8 +11290,7 @@ Partial Class Ventas
CveCuentaIVATrasladado = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("PorcentajeIVA").ToDouble).Rows(0)("CveCuentaIVATrasladado").ToString().ToEntero() CveCuentaIVATrasladado = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("PorcentajeIVA").ToDouble).Rows(0)("CveCuentaIVATrasladado").ToString().ToEntero()
End If End If
Dim UsaComplementariaClientes As Boolean = False Dim UsaComplementariaClientes As Boolean = True
If UsuarioActual.CveEmpresa.Contiene(1, 119) Then UsaComplementariaClientes = True
If ObjConta.GetPlantillaConceptos(ObjFactura.CveEmpresa, CvePlantilaPoliza) Then If ObjConta.GetPlantillaConceptos(ObjFactura.CveEmpresa, CvePlantilaPoliza) Then
Dim dtt As DataTable = ObjConta.DtResultados Dim dtt As DataTable = ObjConta.DtResultados
@@ -13005,8 +13005,8 @@ Partial Class Ventas
'If TotalCosto <> 0 Then '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 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 OcurrioError = True
End If End If
'End If 'End If
Else Else
@@ -13834,8 +13834,8 @@ Partial Class Ventas
Dim CuentasContablesInvalidasSIG As New StringBuilder Dim CuentasContablesInvalidasSIG As New StringBuilder
Dim ContaIdPoliza As Integer = 0 Dim ContaIdPoliza As Integer = 0
Dim ConceptoAmortizacion As Integer = 0 Dim ConceptoAmortizacion As Integer = 0
Dim UsaComplementariaClientes As Boolean = False Dim UsaComplementariaClientes As Boolean = True
If UsuarioActual.CveEmpresa.Contiene(1, 119) Then UsaComplementariaClientes = True 'If UsuarioActual.CveEmpresa.Contiene(1, 119) Then UsaComplementariaClientes = True
'Dim FechaMaxima As Date = MinFecha 'Dim FechaMaxima As Date = MinFecha
@@ -15119,7 +15119,7 @@ Partial Class Ventas
Dim ValorInventario As Decimal = 0 Dim ValorInventario As Decimal = 0
For Each RowInv As DataRow In tmpCostos.Rows 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() IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero() CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
@@ -15143,7 +15143,7 @@ Partial Class Ventas
End If End If
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {ddlAlmacen.SelectedValue}").ToEntero() 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 If ValorInventario <> 0 Then
'Entrada 'Entrada
@@ -18449,7 +18449,7 @@ Partial Class Ventas
Return Not OcurrioError Return Not OcurrioError
End If End If
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundAD
If CvePrePoliza <= 0 Then If CvePrePoliza <= 0 Then
GenerarPrePolizaNueva = True GenerarPrePolizaNueva = True
@@ -18462,7 +18462,7 @@ Partial Class Ventas
End If End If
For Each RowInv As DataRow In DtCostosDistinct.Rows 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() IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero() CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
TotalCostoAcumulado += ValorInventario TotalCostoAcumulado += ValorInventario
@@ -18603,10 +18603,10 @@ Partial Class Ventas
Dim ValorInventario As Decimal Dim ValorInventario As Decimal
Dim TotalCostoAcumulado As Decimal = 0D Dim TotalCostoAcumulado As Decimal = 0D
Dim Cont As Integer = 1 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 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() IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero() CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
TotalCostoAcumulado += ValorInventario TotalCostoAcumulado += ValorInventario
@@ -18720,10 +18720,10 @@ Partial Class Ventas
Dim ValorInventario As Decimal Dim ValorInventario As Decimal
Dim TotalCostoAcumulado As Decimal = 0D Dim TotalCostoAcumulado As Decimal = 0D
Dim Cont As Integer = 1 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 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() IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero() CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
TotalCostoAcumulado += ValorInventario TotalCostoAcumulado += ValorInventario
@@ -23675,11 +23675,7 @@ Partial Class Ventas
IdCuentaContableNoDeducible = 3114 IdCuentaContableNoDeducible = 3114
End If End If
Dim UsaComplementaria As Boolean = False Dim UsaComplementaria As Boolean = True
If UsuarioActual.CveEmpresa = 119 Then
UsaComplementaria = True
End If
If MsgError = "" Then If MsgError = "" Then
CvePrePoliza = ObjConta.AddPrePolizas("Ventas/Saldarr", 47, SaldoVenta, SaldoVenta, tCveMoneda, TxtFechaSaldarVenta.Text.ToDate, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) CvePrePoliza = ObjConta.AddPrePolizas("Ventas/Saldarr", 47, SaldoVenta, SaldoVenta, tCveMoneda, TxtFechaSaldarVenta.Text.ToDate, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)