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

@@ -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)