diff --git a/App_Code/ClsPuntoVenta.vb b/App_Code/ClsPuntoVenta.vb
index bae4421c5..d84033315 100644
--- a/App_Code/ClsPuntoVenta.vb
+++ b/App_Code/ClsPuntoVenta.vb
@@ -267,15 +267,15 @@ Public Class ClsPuntoVenta
End Function
- Public Function GetVta_ReporteCortes(CveEmpresa As Integer, FechaI As Date, FechaF As Date, Optional CveSubProyecto As Integer = -1) As Boolean
+ Public Function GetVta_ReporteCortes(CveEmpresa As Integer, FechaI As Date, FechaF As Date, Optional CveSubProyecto As Integer = -1, Optional CveCorte As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ReporteCortesGet")
SqlAdapter.SelectCommand.Parameters.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
SqlAdapter.SelectCommand.Parameters.Add("@FechaInicio", SqlDbType.Date).Value = FechaI
SqlAdapter.SelectCommand.Parameters.Add("@FechaFin", SqlDbType.Date).Value = FechaF
- SqlAdapter.SelectCommand.Parameters.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
-
+ SqlAdapter.SelectCommand.Parameters.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ SqlAdapter.SelectCommand.Parameters.Add("@CveCorte", SqlDbType.Int).Value = CveCorte
Try
SqlAdapter.Fill(Data)
Retorno = True
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 70ccf97f9..be4a3e3bf 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -20274,6 +20274,12 @@ Partial Class Compras_Compras
Dim respuesta As Boolean = False
+ If DdlTipoComprobante.SelectedValue <> "Fac" Then
+ Return True
+ End If
+
+
+
If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then
Dim ObjCon As New ClsContratos
@@ -20308,11 +20314,11 @@ Partial Class Compras_Compras
.Clasificacion = Clasificacion,
.CveClasificacion = CveClasificacion,
.CveTipoGasto = CveTipoGasto,
- .TipoGasto = TipoGasto,
- .TotalSum = Group.Sum(Function(r) r.Field(Of Decimal)("Total"))
+ .TipoGasto = TipoGasto,
+ .TotalSum = Group.Sum(Function(r) If(IsDBNull(r("Total")), 0D, Convert.ToDecimal(r("Total"))))
}).ToList()
-
+ ''.TotalSum = Group.Sum(Function(r) r.Field(Of Decimal)("Total"))
If Opcion = 1 Then
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index 53321fbca..facb2a11a 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -1566,13 +1566,15 @@ Partial Class PopUpVerFactura
Dim ObjPuntoVenta As New ClsPuntoVenta
Dim DtCortesVentasResumen As DataTable = Nothing
Dim DtCortesVentas As DataTable = Nothing
+ Dim DtReporteCorte As DataTable = Nothing
+
Dim Fecha As String = "", Nombre As String = ""
If ObjVenta.GetCortesDetalleVentasResumen(CveCorte, CveSubProyecto, UsuarioActual.CveEmpresa) Then
- DtCortesVentasResumen = ObjVenta.DtResultados
+ DtCortesVentasResumen = ObjVenta.DtResultados.Copy()
End If
If ObjPuntoVenta.GetCortesDetalleVentas(CveCorte, CveSubProyecto, UsuarioActual.CveEmpresa) Then
- DtCortesVentas = ObjPuntoVenta.DtResultados
+ DtCortesVentas = ObjPuntoVenta.DtResultados.Copy()
If DtCortesVentas.Rows.Count > 0 Then
Dim RowInfo As DataRow = DtCortesVentas.FiltroPrimero("CveVenta > 0")
@@ -1581,27 +1583,142 @@ Partial Class PopUpVerFactura
End If
End If
+ If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
+ If ObjPuntoVenta.GetVta_ReporteCortes(UsuarioActual.CveEmpresa, MinFecha, MaxFecha, CveSubProyecto, CveCorte:=CveCorte) Then
+ DtReporteCorte = ObjPuntoVenta.DtResultados.FiltraParametros("CveCorte > 0")
+ End If
+ End If
+
ObjVenta.Dispose()
ObjPuntoVenta.Dispose()
+
Dim FechaCorte As String = $" Fecha fin: {Fecha}"
Dim Usuario As String = $" Usuario: {Nombre}"
If DtCortesVentas.Rows.Count > 0 Or DtCortesVentasResumen.Rows.Count > 0 Then
+ Dim lrds As New List(Of ReportDataSource)
+
+ Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = DtCortesVentasResumen}
+ lrds.Add(rds)
+ Dim rds2 As New ReportDataSource With {.Name = "DataSet2", .Value = DtCortesVentas}
+ lrds.Add(rds2)
+
+ Dim DirFormato As String = "Empresas/Grales/Formatos/RepCortes.rdlc"
+ If File.Exists(UsuarioActual.Empresa.Ruta + "\Formatos\RepCortes.rdlc") Then
+ DirFormato = UsuarioActual.Empresa.Ruta + "\Formatos\RepCortes.rdlc"
+ End If
+
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
params.Add(New ReportParameter("AgrupoPor", $"{FechaCorte}{Usuario}"))
params.Add(New ReportParameter("LogoPath", RutaImagenLogo))
- Dim lrds As New List(Of ReportDataSource)
- Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = DtCortesVentasResumen}
- lrds.Add(rds)
- Dim rds2 As New ReportDataSource With {.Name = "DataSet2", .Value = DtCortesVentas}
- lrds.Add(rds2)
- ImprimirPDF("Empresas/Grales/Formatos/RepCortes.rdlc", lrds, params, "ReporteCortes", Formato)
+
+ If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
+ If DtReporteCorte IsNot Nothing Then
+ Dim DtTT = GenerateTransposedTable(DtReporteCorte)
+ Dim DtDatosResumen As New DataTable()
+ DtDatosResumen.Columns.Add(New DataColumn("Orden", GetType(Integer)))
+ DtDatosResumen.Columns.Add(New DataColumn("Columna", GetType(String)))
+ DtDatosResumen.Columns.Add(New DataColumn("Importe", GetType(Decimal)))
+
+ For Each row As DataRow In DtTT.Rows
+ Dim Total = row(1).ToString()
+ If IsNumeric(Total) Then
+ Dim Orden As Integer = 0
+ Dim rowData = DtDatosResumen.NewRow()
+ Select Case row(0).ToString()
+ Case "ImporteInicial"
+ rowData("Columna") = "Importe Inicial"
+ Orden = 1
+ Case "VentasCorte"
+ rowData("Columna") = "Total Ventas"
+ Orden = 2
+ Case "NotasCredito"
+ rowData("Columna") = "N.C."
+ Orden = 3
+ Case "VentasCredito"
+ rowData("Columna") = "Ventas Crédito"
+ Orden = 4
+ 'Case "TotalEfectivo"
+ ' rowData("Columna") = "Total Efectivo"
+ 'Case "TotalCheque"
+ ' rowData("Columna") = "Total Cheque"
+ 'Case "TarjDebito"
+ ' rowData("Columna") = "Tarj. Débito"
+ 'Case "TarjCredito"
+ ' rowData("Columna") = "Tarj. Crédito"
+ 'Case "VentasTransferencia"
+ ' rowData("Columna") = "Total Transf."
+ Case "TotalRetiros"
+ rowData("Columna") = "Total Retiro"
+ Orden = 6
+ Case "TotalIngresos"
+ rowData("Columna") = "Total Ingreso"
+ Orden = 5
+ Case "Devoluciones"
+ rowData("Columna") = "Devoluciones"
+ Orden = 7
+ Case "TotalCaja"
+ rowData("Columna") = "Total Caja"
+ Orden = 8
+ 'Case "TotalCorte"
+ ' rowData("Columna") = "Total Corte"
+ Case Else
+ rowData("Columna") = row(0).ToString()
+ Orden = 0
+ End Select
+
+ rowData("Importe") = Total.ToDecimal()
+ rowData("Orden") = Orden
+ DtDatosResumen.Rows.Add(rowData)
+ End If
+ Next
+
+ Dim rds3 As New ReportDataSource With {.Name = "DataSet3", .Value = DtDatosResumen.FiltraParametros("Orden > 0", "Orden")}
+ lrds.Add(rds3)
+
+ 'params.Add(New ReportParameter("VentasCorte", RowCorte("VentasCorte").ToString()))
+ 'params.Add(New ReportParameter("NotasCredito", RowCorte("NotasCredito").ToString()))
+ 'params.Add(New ReportParameter("NotasCredito", RowCorte("NotasCredito").ToString()))
+ 'params.Add(New ReportParameter("VentasCredito", RowCorte("VentasCorte").ToString()))
+ 'params.Add(New ReportParameter("VentasCorte", RowCorte("VentasCorte").ToString()))
+ 'params.Add(New ReportParameter("VentasCorte", RowCorte("VentasCorte").ToString()))
+ End If
+ End If
+
+
+
+
+ ImprimirPDF(DirFormato, lrds, params, "ReporteCortes", Formato)
End If
End Sub
+ Private Function GenerateTransposedTable(ByVal inputTable As DataTable) As DataTable
+ Dim outputTable As DataTable = New DataTable()
+ outputTable.Columns.Add(inputTable.Columns(0).ColumnName.ToString())
+
+ For Each inRow As DataRow In inputTable.Rows
+ Dim newColName As String = inRow(0).ToString()
+ outputTable.Columns.Add(newColName)
+ Next
+
+ For rCount As Integer = 1 To inputTable.Columns.Count - 1
+ Dim newRow As DataRow = outputTable.NewRow()
+ newRow(0) = inputTable.Columns(rCount).ColumnName.ToString()
+
+ For cCount As Integer = 0 To inputTable.Rows.Count - 1
+ Dim colValue As String = inputTable.Rows(cCount)(rCount).ToString()
+ newRow(cCount + 1) = colValue
+ Next
+
+ outputTable.Rows.Add(newRow)
+ Next
+
+ Return outputTable
+ End Function
+
#End Region
#Region " OP = FACTURA - IMPRIME COMPRA"
diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb
index 15bdaa1e6..c00d99534 100644
--- a/OC/OC.aspx.vb
+++ b/OC/OC.aspx.vb
@@ -9013,7 +9013,7 @@ Partial Class OC_OC
.CveSubProyecto = CveSubProyecto,
.Clasificacion = Clasificacion,
.CveClasificacion = CveClasificacion,
- .TotalSum = Group.Sum(Function(r) r.Field(Of Decimal)("Total"))
+ .TotalSum = Group.Sum(Function(r) If(IsDBNull(r("Total")), 0D, Convert.ToDecimal(r("Total"))))
}).ToList()
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb
index 7ece57268..61a5959bd 100644
--- a/Ventas/Clientes.aspx.vb
+++ b/Ventas/Clientes.aspx.vb
@@ -723,20 +723,18 @@ Partial Class Clientes
TabCuentasEquipos.Visible = True
End If
- If UsuarioActual.Empresa.Funcionalidad(504).ToEntero() > 0 Then
- If UsuarioActual.TienePermisoProceso(162) Then
- ChkPermiteCredito.Enabled = True
- TxtLimiteCreditoSucursal.Enabled = True
- TxtFechaLimiteCredito.Enabled = True
- Else
- ChkPermiteCredito.Enabled = False
- TxtLimiteCreditoSucursal.Enabled = False
- TxtFechaLimiteCredito.Enabled = False
- End If
- ChkEstado.Enabled = False
- If UsuarioActual.TienePermisoProceso(180) Then
- ChkEstado.Enabled = True
- End If
+ If UsuarioActual.TienePermisoProceso(162) Then
+ ChkPermiteCredito.Enabled = True
+ TxtLimiteCreditoSucursal.Enabled = True
+ TxtFechaLimiteCredito.Enabled = True
+ Else
+ ChkPermiteCredito.Enabled = False
+ TxtLimiteCreditoSucursal.Enabled = False
+ TxtFechaLimiteCredito.Enabled = False
+ End If
+ ChkEstado.Enabled = False
+ If UsuarioActual.TienePermisoProceso(180) Then
+ ChkEstado.Enabled = True
End If
If UsuarioActual.Empresa.Funcionalidad(579) = "1" Then
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index b201724b4..a6b34145e 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -8446,7 +8446,7 @@ Partial Class Ventas
End If
End If
- If UsuarioActual.Empresa.Funcionalidad(360) = "1" AndAlso e.Row.DBCampo("CvePrecioLista").ToEntero() > 0 Then
+ If (UsuarioActual.Empresa.Funcionalidad(360) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(109) = "1") AndAlso e.Row.DBCampo("CvePrecioLista").ToEntero() > 0 Then
e.Row.FCLiteral("LtlPrecioLista").Visible = True
End If
@@ -18656,6 +18656,9 @@ Partial Class Ventas
Else
If Me.CvePrecioLista > 0 Then
CvePrecioListaPS = Me.CvePrecioLista
+ If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
+ PrecioListaPS = GlobalDTPrecioListas(UsuarioActual.CveEmpresa).FiltroPrimeroValor("PrecioLista", $"CvePrecioLista={CvePrecioListaPS}")
+ End If
End If
End If