Está en la página 1de 3

Sub Main()

' Colocamos los datos del rango


ParamData.ParametrosRequeridos "Lneas de Artculos", "Lnea Inicial" , "Lneas
de Artculos", "Lnea final",,,,,True

' Mostramos la ventana de rangos


Rangos Ambiente, False

' Si se presiono el boton cancelado detenemos la operacin


if Cancelado Then
Exit Sub
end if

cCondicion = ""

if Not ParamData.Todos1 Then


cCondicion = cCondicion & " AND prods.linea >= '" & ParamData.BusquedaIni &
"' AND prods.linea <= '" & ParamData.BusquedaFin & "'"
Reporte.Titulo2 = "Del siguiente rango de lneas " & ParamData.BusquedaIni &
" - " & ParamData.BusquedaFin
End if

if Not ParamData.TodasLasFechas Then


cCondicion = cCondicion & " AND ventas.f_emision >= " &
FechaSQL(ParamData.FechaInicial, Ambiente.Connection) & " AND ventas.f_emision <= "
& FechaSQL( ParamData.FechaFinal, Ambiente.Connection )
Reporte.Titulo2 = Reporte.Titulo2 & " Del da " &
Formato(ParamData.FechaInicial, "dd-MM-yyyy") & " al da " &
Formato(ParamData.FechaFinal, "dd-MM-yyyy")
End if

IniciaDocumento()
strSQL = ""
strSQL = strSQL & "SELECT "
'strSQL = strSQL & "prods.linea, "
'strSQL = strSQL & "lineas.descrip AS 'desclinea', "
'strSQL = strSQL & "partvta.articulo, "
'strSQL = strSQL & "prods.descrip As 'Descripcin', "
strSQL = strSQL & "SUM( CASE WHEN ventas.tipo_doc = 'DV' OR
ventas.tipo_doc = 'DEV' THEN CASE WHEN partvta.invent <> 0 THEN partvta.cantidad
ELSE 0 END ELSE partvta.cantidad END ) AS cantvend, "
strSQL = strSQL & "SUM((partvta.precio *(partvta.cantidad - partvta.a01)*
(1 - (partvta.descuento / 100)) * ventas.tipo_cam)) As 'Importe', "
strSQL = strSQL & "SUM((partvta.precio *(partvta.cantidad - partvta.a01)*
(1 - (partvta.descuento / 100)) * ventas.tipo_cam) * (partvta.impuesto / 100) ) As
'Impuesto', "
strSQL = strSQL & "SUM((partvta.precio *(partvta.cantidad - partvta.a01)*
(1 - (partvta.descuento / 100)) * ventas.tipo_cam) * (1 + (partvta.impuesto /
100) )) As 'Total' "
strSQL = strSQL & "FROM ((partvta LEFT JOIN ventas ON ventas.venta =
partvta.venta) INNER JOIN prods ON partvta.articulo = prods.articulo) INNER JOIN
lineas ON prods.linea = lineas.linea "
strSQL = strSQL & "WHERE ventas.estado = 'CO' AND (ventas.tipo_doc =
'FAC' Or ventas.tipo_doc = 'DV' Or ventas.tipo_doc = 'REM') AND ventas.cierre = 0 "

strSQL = strSQL & cCondicion & " "


strSQL = strSQL & "GROUP BY prods.linea"
strSQL = strSQL & "ORDER BY prods.linea"
'strSQL = strSQL & "GROUP BY prods.linea, lineas.descrip,
partvta.articulo, prods.descrip "
'strSQL = strSQL & "ORDER BY prods.linea, lineas.descrip,
partvta.articulo, prods.descrip "
Reporte.SQL = strSQL
Reporte.Titulo = "Ventas por linea de artculo"
Reporte.RetrieveColumns

'Reporte.Columns("descripcin").Ancho = 20
'Reporte.Columns("descripcin").Data =
Prepara("Mid(Resultset('descripcin'),1,35)")

'Reporte.Columns("linea").Titulo = ""
'Reporte.Columns("linea").Grupo = True
'Reporte.Columns("linea").Acumulado = True
'Reporte.Columns("linea").GrupoData = Prepara("ResultSet('linea') & ' ' &
ResultSet('desclinea')")
'Reporte.Columns("linea").Ancho = 5

'Reporte.Columns("desclinea").visible = True
'Reporte.Columns("desclinea").Ancho = 0

Reporte.Columns("importe").Acumulado = True
Reporte.Columns("importe").Formato = Ambiente.FDinero
Reporte.Columns("importe").Font = "Courier New"
Reporte.Columns("importe").FontSize = 7
Reporte.Columns("importe").Ancho = 10
Reporte.Columns("importe").Anchocelda = 10

Reporte.Columns("impuesto").Acumulado = True
Reporte.Columns("impuesto").Formato = Ambiente.FDinero
Reporte.Columns("impuesto").Font = "Courier New"
Reporte.Columns("impuesto").FontSize = 7
Reporte.Columns("impuesto").Ancho = 10
Reporte.Columns("impuesto").Anchocelda = 10

Reporte.Columns("total").Acumulado = True
Reporte.Columns("total").Formato = Ambiente.FDinero
Reporte.Columns("total").Font = "Courier New"
Reporte.Columns("total").FontSize = 7
Reporte.Columns("total").Ancho = 10
Reporte.Columns("total").Anchocelda = 10

Reporte.Columns("cantvend").Ancho = 7
Reporte.Columns("cantvend").AnchoTitulo = 13
Reporte.Columns("cantvend").Align = 1
Reporte.Columns("cantvend").Ancho = 8

Reporte.Columns("cantvend").Titulo = "Cant.Vendida"
Reporte.Columns("cantvend").Formato = Ambiente.FDinero
Reporte.Columns("cantvend").Font = "Courier New"
Reporte.Columns("cantvend").FontSize = 7
Reporte.Columns("cantvend").Ancho = 9
Reporte.Columns("cantvend").AnchoCelda = 9
Reporte.Columns("cantvend").AnchoTitulo = 13
Reporte.Columns("cantvend").Align = 1

Ambiente.eventRowReports = False
Reporte.ImprimeReporte
Ambiente.eventRowReports = True

FinDocumento()

End Sub

Sintaxis incorrecta cerca de la palabra clave 'BY'. -2147217900


-2147217900:Sintaxis incorrecta cerca de la palabra clave 'BY'. en lnea 46

SELECT "lineas.descrip AS 'linea',


SUM( CASE WHEN ventas.tipo_doc = 'DV' OR ventas.tipo_doc = 'DEV' THEN CASE
WHEN partvta.invent <> 0 THEN partvta.cantidad ELSE 0 END ELSE partvta.cantidad END
) AS cantvend,
SUM((partvta.precio *(partvta.cantidad - partvta.a01)* (1 -
(partvta.descuento / 100)) * ventas.tipo_cam) * (1 + (partvta.impuesto / 100) )) As
'Total'
FROM ((partvta LEFT JOIN ventas ON ventas.venta = partvta.venta) INNER JOIN prods
ON partvta.articulo = prods.articulo) INNER JOIN lineas ON prods.linea =
lineas.linea

WHERE ventas.estado = 'CO' AND (ventas.tipo_doc = 'FAC' Or ventas.tipo_doc = 'DV'


Or ventas.tipo_doc = 'REM') AND ventas.cierre = 0

GROUP BY lineas.descrip
ORDER BY lineas.descrip

ventas.usufecha between '2017-04-04 00:00:00.000' and '2017-04-04 00:00:00.000'

También podría gustarte