RepEstadoResultadosHorizontal Correcion 172, Compras Excedido pago al cambiar PS, Transferencias Validar Prepoliza, RepIva 119 RPT correcion

This commit is contained in:
Oscar Irigoyen
2023-02-17 08:54:04 -07:00
parent 2cbe246cf8
commit 4f02d66397
8 changed files with 166 additions and 113 deletions

View File

@@ -65,24 +65,25 @@
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" Text="Consultar" CssClass="btn btn-primary" runat="server" OnClick="BtnConsultar_Click" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption ">
<div class="row">
<ul class="list-inline text-size-12">
<div class="row">
<div class="col-md-12">
<label class="col-md-1" runat="server" id="LiEjercicioLbl">Ejercicio Inicio: </label>
<label class="col-md-1" runat="server" id="LiEjercicioLbl">Ejercicio Inicio: </label>
<div class="col-md-1 " runat="server" id="LiEjercicioDdl">
<asp:DropDownList ID="DdlEjercicio" runat="server" CssClass="select2me" DataTextField="Ejercicio" DataValueField="Ejercicio" Width="100%" AutoPostBack="true" OnSelectedIndexChanged="DdlEjercicio_SelectedIndexChanged">
</asp:DropDownList>
</div>
<label class="col-md-1" runat="server" id="LiEjercicioLbl2" visible="false">Ejercicio Fin: </label>
<label class="col-md-1" runat="server" id="LiEjercicioLbl2" visible="false">Ejercicio Fin: </label>
<div class="col-md-1" runat="server" id="LiEjercicioDdl2" visible="false">
<asp:DropDownList ID="DdlEjercicio2" runat="server" CssClass="select2me" DataTextField="Ejercicio" DataValueField="Ejercicio" Width="100%" AutoPostBack="true" OnSelectedIndexChanged="DdlEjercicio2_SelectedIndexChanged">
</asp:DropDownList>
</div>
<label class="col-md-1" runat="server" id="LiPeriodoLbl" >Periodo: </label>
<label class="col-md-1" runat="server" id="LiPeriodoLbl">Periodo: </label>
<div class="col-md-1 " runat="server" id="LiPeriodoDdl">
<asp:DropDownList ID="DdlPeriodo" runat="server" Width="100%" CssClass="select2me">
<asp:ListItem Text="Enero" Value="1"></asp:ListItem>
@@ -101,39 +102,53 @@
</div>
<label class="col-md-1" runat="server" id="LiSubProyectoLbl">
<asp:Label runat="server" ID="LblSubProyecto"></asp:Label>
<label class="col-md-1" runat="server" id="LiSubProyectoLbl">
<asp:Label runat="server" ID="LblSubProyecto"></asp:Label>:
</label>
<div class="col-md-2 " runat="server" id="LiSubProyectoDdl">
<asp:DropDownList ID="DdlSubproyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" Width="100%" >
<asp:DropDownList ID="DdlSubproyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<label class="col-md-1" style="width: 80px;" runat="server" id="LiDivisorLbl">Divisor: </label>
<div class="col-md-1 " runat="server" id="LiDivisorDdl">
<asp:DropDownList ID="DdlDivisor" runat="server" Width="100%" CssClass="form-control input-sm select2me" >
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="1,000" Value="1000"></asp:ListItem>
<asp:ListItem Text="1,000,000" Value="1000000"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<label class="col-md-1" runat="server" id="LblTri">
Trimestre<br>
Cuatrimestre:
</label>
<div class="col-md-1 " runat="server" id="DVTri">
<asp:DropDownList ID="DdlTri" runat="server" CssClass="select2me" Width="100%" AutoPostBack="true">
<asp:ListItem Value="0">NO</asp:ListItem>
<asp:ListItem Value="1">Trimestre</asp:ListItem>
<asp:ListItem Value="2">Cuatrimestre</asp:ListItem>
</asp:DropDownList>
</div>
</ul>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-12">
<label class="col-md-1" runat="server" id="LiDivisorLbl">Divisor: </label>
<div class="col-md-1 " runat="server" id="LiDivisorDdl">
<asp:DropDownList ID="DdlDivisor" runat="server" Width="100%" CssClass="form-control input-sm select2me">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="1,000" Value="1000"></asp:ListItem>
<asp:ListItem Text="1,000,000" Value="1000000"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate" runat="server" id="LblTri">
Trimestre
Cuatrimestre:
</label>
<div class="col-md-1 " runat="server" id="DVTri">
<asp:DropDownList ID="DdlTri" runat="server" CssClass="select2me" Width="100%" AutoPostBack="true">
<asp:ListItem Value="0">NO</asp:ListItem>
<asp:ListItem Value="1">Trimestre</asp:ListItem>
<asp:ListItem Value="2">Cuatrimestre</asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>

View File

@@ -1958,6 +1958,8 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal
DtGastosSubProyectoH = DtDatosSubProyectoH.FiltraParametros("Tipo ='G' ")
DTTotalesSubProyectoH = DtDatosSubProyectoH.Clone()
Dim Row As DataRow = DtIngresosSubProyectoH.NewRow
Dim TotalActual = 0.0, TotalAnterior = 0.0
@@ -1988,81 +1990,80 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal
Next
listaCampos.Clear()
If DtIngresosSubProyectoH.Rows.Count > 0 Then
Dim DTProcesaColumnas As DataTable = If(DtIngresosSubProyectoH.Rows.Count > 0, DtIngresosSubProyectoH, DtGastosSubProyectoH)
For Each dColumn As DataColumn In DtIngresosSubProyectoH.Columns
For Each dColumn As DataColumn In DTProcesaColumnas.Columns
If IndexData >= 13 Then
If IndexSubProyecto <= IndexSubProyectoMax Then
If GvIngresosSubProyectoH.Columns(IndexGv).GetType.Name = "BoundField" Then
CType(GvIngresosSubProyectoH.Columns(IndexGv), BoundField).DataField = dColumn.ColumnName
GvIngresosSubProyectoH.Columns(IndexGv).Visible = True
CType(GvTotalesSubProyectoH.Columns(IndexGv), BoundField).DataField = dColumn.ColumnName
GvTotalesSubProyectoH.Columns(IndexGv).Visible = True
CType(GvGastosSubProyectoH.Columns(IndexGv), BoundField).DataField = dColumn.ColumnName
GvGastosSubProyectoH.Columns(IndexGv).Visible = True
If IndexSubProyecto <= IndexSubProyectoMax Then
Dim TxtSub As String = GlobalDTSubProyectos(-1, CveSubProyecto:=dColumn.ColumnName.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto")
If dColumn.ColumnName = "SinSubProyecto" Then
TxtSub = "Sin SubProyecto"
End If
CType(GvIngresosSubProyectoH.Columns(IndexGv), BoundField).HeaderText = TxtSub
CType(GvTotalesSubProyectoH.Columns(IndexGv), BoundField).HeaderText = TxtSub
CType(GvGastosSubProyectoH.Columns(IndexGv), BoundField).HeaderText = TxtSub
CType(GvIngresosSubProyectoH.Columns(IndexGv + 1), BoundField).HeaderText = "%"
CType(GvTotalesSubProyectoH.Columns(IndexGv + 1), BoundField).HeaderText = "%"
CType(GvGastosSubProyectoH.Columns(IndexGv + 1), BoundField).HeaderText = "%"
If (dColumn.ColumnName.ToString.ToEntero > 0 Or dColumn.ColumnName = "SinSubProyecto") Then
CType(GvIngresosSubProyectoH.Columns(IndexGv + 1), BoundField).DataField = $"Porcentaje{dColumn.ColumnName}"
GvIngresosSubProyectoH.Columns(IndexGv + 1).Visible = True
CType(GvTotalesSubProyectoH.Columns(IndexGv + 1), BoundField).DataField = $"Porcentaje{dColumn.ColumnName}"
GvTotalesSubProyectoH.Columns(IndexGv + 1).Visible = True
CType(GvGastosSubProyectoH.Columns(IndexGv + 1), BoundField).DataField = $"Porcentaje{dColumn.ColumnName}"
GvGastosSubProyectoH.Columns(IndexGv + 1).Visible = True
End If
If IndexData >= 13 Then
If IndexSubProyecto <= IndexSubProyectoMax Then
If GvIngresosSubProyectoH.Columns(IndexGv).GetType.Name = "BoundField" Then
CType(GvIngresosSubProyectoH.Columns(IndexGv), BoundField).DataField = dColumn.ColumnName
GvIngresosSubProyectoH.Columns(IndexGv).Visible = True
CType(GvTotalesSubProyectoH.Columns(IndexGv), BoundField).DataField = dColumn.ColumnName
GvTotalesSubProyectoH.Columns(IndexGv).Visible = True
CType(GvGastosSubProyectoH.Columns(IndexGv), BoundField).DataField = dColumn.ColumnName
GvGastosSubProyectoH.Columns(IndexGv).Visible = True
If IndexSubProyecto <= IndexSubProyectoMax Then
Dim TxtSub As String = GlobalDTSubProyectos(-1, CveSubProyecto:=dColumn.ColumnName.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto")
If dColumn.ColumnName = "SinSubProyecto" Then
TxtSub = "Sin SubProyecto"
End If
CType(GvIngresosSubProyectoH.Columns(IndexGv), BoundField).HeaderText = TxtSub
CType(GvTotalesSubProyectoH.Columns(IndexGv), BoundField).HeaderText = TxtSub
CType(GvGastosSubProyectoH.Columns(IndexGv), BoundField).HeaderText = TxtSub
CType(GvIngresosSubProyectoH.Columns(IndexGv + 1), BoundField).HeaderText = "%"
CType(GvTotalesSubProyectoH.Columns(IndexGv + 1), BoundField).HeaderText = "%"
CType(GvGastosSubProyectoH.Columns(IndexGv + 1), BoundField).HeaderText = "%"
If (dColumn.ColumnName.ToString.ToEntero > 0 Or dColumn.ColumnName = "SinSubProyecto") Then
CType(GvIngresosSubProyectoH.Columns(IndexGv + 1), BoundField).DataField = $"Porcentaje{dColumn.ColumnName}"
GvIngresosSubProyectoH.Columns(IndexGv + 1).Visible = True
CType(GvTotalesSubProyectoH.Columns(IndexGv + 1), BoundField).DataField = $"Porcentaje{dColumn.ColumnName}"
GvTotalesSubProyectoH.Columns(IndexGv + 1).Visible = True
CType(GvGastosSubProyectoH.Columns(IndexGv + 1), BoundField).DataField = $"Porcentaje{dColumn.ColumnName}"
GvGastosSubProyectoH.Columns(IndexGv + 1).Visible = True
End If
End If
listaCampos.Add(New String() {dColumn.ColumnName.ToString(), DTSubProyectosCabecerasH.Rows(IndexSubProyecto)(0).ToString()})
End If
Else
If IndexGv < GvIngresosSubProyectoH.Columns.Count Then
GvIngresosSubProyectoH.Columns(IndexGv).Visible = False
GvTotalesSubProyectoH.Columns(IndexGv).Visible = False
Else
Exit For
End If
listaCampos.Add(New String() {dColumn.ColumnName.ToString(), DTSubProyectosCabecerasH.Rows(IndexSubProyecto)(0).ToString()})
End If
IndexGv = IndexGv + 2
IndexSubProyecto = IndexSubProyecto + 1
IndexMax = IndexMax + 1
Else
If IndexGv < GvIngresosSubProyectoH.Columns.Count Then
GvIngresosSubProyectoH.Columns(IndexGv).Visible = False
GvTotalesSubProyectoH.Columns(IndexGv).Visible = False
Else
Exit For
End If
End If
IndexData = IndexData + 1
If dColumn.ColumnName = "SinSubProyecto" Then
Exit For
End If
IndexGv = IndexGv + 2
IndexSubProyecto = IndexSubProyecto + 1
IndexMax = IndexMax + 1
Next
End If
IndexData = IndexData + 1
If dColumn.ColumnName = "SinSubProyecto" Then
Exit For
End If
Next
If DtIngresosSubProyectoH.Rows.Count > 0 Then
For Each dr As DataRow In DtIngresosSubProyectoH.FiltraParametros("Not CtaMayor In (3,4)").Rows
@@ -2074,7 +2075,12 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal
For IndexData = 13 To IndexTotales
If DtIngresosSubProyectoH.Columns(IndexData).ColumnName.ToEntero > 0 Then 'filtro solo los que tienen número
Row.Item(IndexData) = DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "Not CtaMayor In (3,4)")
Row.Item($"Porcentaje{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}") = DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "NOT CtaMayor in (3,4)") * 100 / DtIngresosSubProyectoH.SUM("ImporteAcumulado", "NOT CtaMayor in (3,4)")
If DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "NOT CtaMayor in (3,4)") <> 0 Then
Row.Item($"Porcentaje{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}") = DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "NOT CtaMayor in (3,4)") * 100 / DtIngresosSubProyectoH.SUM("ImporteAcumulado", "NOT CtaMayor in (3,4)")
Else
Row.Item($"Porcentaje{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}") = "0"
End If
End If
Next
@@ -2091,6 +2097,15 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal
CountDinamicoSubProyecto = DtIngresosSubProyectoH.MAX("CountDinamico").ToEntero
DtIngresosSubProyectoH.Rows.Add(Row)
Else
Row.Item("Nombre") = "INGRESOS "
Row.Item("ImporteActual") = "0.00"
Row.Item("ImporteAcumulado") = "0.00"
Row.Item("CtaMayor") = -1
DtIngresosSubProyectoH.Rows.Add(Row)
Row.Item("Nombre") = "TOTAL INGRESOS "
Row.Item("ImporteActual") = "0.00"
Row.Item("ImporteAcumulado") = "0.00"
@@ -2113,14 +2128,22 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal
For IndexData = 13 To IndexTotales
If DtIngresosSubProyectoH.Columns(IndexData).ColumnName.ToEntero > 0 Then 'filtro solo los que tienen número
Row.Item(IndexData) = DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "Not CtaMayor In (-1,3,4)") - DtGastosSubProyectoH.SUM($"[{DtGastosSubProyectoH.Columns(IndexData).ColumnName}]", "Not CtaMayor In (-1,3,4)")
Row.Item($"Porcentaje{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}") = DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "NOT CtaMayor in (-1, 3,4)") * 100 / DtIngresosSubProyectoH.SUM("ImporteAcumulado", "NOT CtaMayor in (-1,3,4)")
'Row.Item($"Porcentaje{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}") = DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "NOT CtaMayor in (-1, 3,4)") * 100 / DtIngresosSubProyectoH.SUM("ImporteAcumulado", "NOT CtaMayor in (-1,3,4)")
If DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "NOT CtaMayor in (-1, 3,4)").ToDecimal <> 0 Then
Row.Item($"Porcentaje{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}") = DtIngresosSubProyectoH.SUM($"[{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}]", "NOT CtaMayor in (-1, 3,4)") * 100 / DtIngresosSubProyectoH.SUM("ImporteAcumulado", "NOT CtaMayor in (-1,3,4)")
Else
Row.Item($"Porcentaje{DtIngresosSubProyectoH.Columns(IndexData).ColumnName}") = "0"
End If
End If
Next
Row.Item("Nombre") = "Resultado del ejercicio"
Row.Item("ImporteAcumulado") = DtIngresosSubProyectoH.SUM($"ImporteAcumulado", "Not CtaMayor In (-1,3,4)") - DtGastosSubProyectoH.SUM($"ImporteAcumulado", "Not CtaMayor In (-1,3,4)")
Row.Item("CtaMayor") = -2
Row.Item("CountDinamico") = DtIngresosSubProyectoH.MAX("CountDinamico")
Row.Item("CountDinamico") = DtIngresosSubProyectoH.MAX("CountDinamico").ToString.ToEntero
DTTotalesSubProyectoH.Rows.Add(Row)