PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 25 → Report Diferente alguém faz idéia de como fazer isto em Windev
Report Diferente alguém faz idéia de como fazer isto em Windev
Iniciado por Bastiaan, 17,ago. 2017 21:47 - 3 respuestas
Miembro registrado
37 mensajes
Popularité : +5 (5 votes)
Publicado el 17,agosto 2017 - 21:47
Oi pessoal

Gerar relatórios costuma ser bem fácil no Windev, até para mim que venho de outra plataforma (Delphi).

Só não achei um jeito de fazer o seguinte :

Tenho uma tabela, onde cada registro corresponde a informação particular de 1 cliente.

A partir desta tabela ao invés de gerar um relatório PDF único contendo informações de todos os clientes.

O que eu preciso é que seja impresso um relatório PDF para cada cliente, e o nome do relatório corresponda a um código no cadastro do cliente.

Eu já fiz isto em Delphi, mas não sei se isto é possível no WInDev.


Agradeceria muito se alguém soubesse como isto pode ser feito.

um abraço
Miembro registrado
203 mensajes
Popularité : +25 (25 votes)
Publicado el 17,agosto 2017 - 22:44
o código abaixo gera um pdf para cada pedido do relatório de pedido
dsPedidos is Data Source
sSQLPedidos is string = [
SELECT Numero_do_pedido
FROM Pedidos
WHERE
Pedidos.Codigo_da_empresa = %1
]
sSQLPedidos = StringBuild(sSQLPedidos,gnCodigoEmpresa)
IF HExecuteSQLQuery(dsPedidos, hQueryDefault, sSQLPedidos) THEN
IF HNbRec(dsPedidos) > 0 THEN
HReadFirst(dsPedidos)
WHILE NOT HOut(dsPedidos)

sNomeRelatorio is string = "Relatório Pedido"
sNomePDFRelatorio is string = "Relatorio_Pedido_" + Right("000000000" + NumToString(dsPedidos.Numero_do_pedido),9) + ".pdf"
//EDT_Pdf = gsDiretorioExe + sNomePDFRelatorio
iDestination(iPDF, gsDiretorioExe + sNomePDFRelatorio)
//// Initializes the query associated with the report
iInitReportQuery(RPT_Pedidos,gnCodigoEmpresa, dsPedidos.Numero_do_pedido)
//// Print the Form report (Pedidos)
iPrintReport(RPT_Pedidos)
//Info("pedido" + NumToString(dsPedidos.Numero_do_pedido))

HReadNext(dsPedidos)
END
END
END
HCancelDeclaration(dsPedidos)

Info("OK")


--
André Martini
IS2 Automotive http://www.is2.inf.br/is2automotive/index.html
IS2 Construtive http://www.is2.inf.br/is2construtive/index.html
IS2 Store http://www.is2.inf.br/is2store/index.html
IS2 Gerent http://www.is2.inf.br/is2gerent/index.html
Mensaje modificado, 17,agosto 2017 - 22:47
Miembro registrado
37 mensajes
Popularité : +5 (5 votes)
Publicado el 18,agosto 2017 - 00:18
Oi André

Muito obrigado, pelo código, conciso e claro

Só uma dúvida, quando a gente cria um REport existem várias opções de tipos de reports a serem criadas, tipo blank, table, form etc...

Neste caso específico qual das opções vai ser usada, ou efetivamente precisa ser usada ?

Um grande abraço

Bastiaan
Miembro registrado
203 mensajes
Popularité : +25 (25 votes)
Publicado el 18,agosto 2017 - 14:49
De nada! Pode ser qualquer tipo de relatório, aquelas opções são apenas templates

--
André Martini
IS2 Automotive http://www.is2.inf.br/is2automotive/index.html
IS2 Construtive http://www.is2.inf.br/is2construtive/index.html
IS2 Store http://www.is2.inf.br/is2store/index.html
IS2 Gerent http://www.is2.inf.br/is2gerent/index.html