Problemas Com relatório Fast Report

Delphi

FastReport

13/03/2019

boa noite galera, estou com um problema no relatório de pedidos, estou desenvolvendo uma aplicação frente de caixa, onde existe um servidor em datasnap fazendo a comunicação com o aplicativo android, gostaria de saber se existe uma possibilidade de select onde eu pegue todos os itens daquele pedido e cada item com seu extra, pois o problema que estou enfrentando ele ta mandando o primeiro extra inserido para todos os itens.

Estrutura da tabela: ItensPedido
pedido x itens
ItensExtras
ItensId x ItensPedidoId

Obs: como vou fazer um select capturando todos os itensExtras do meu Item..

exemplo:
X-salada
Extras: Bacon, Milho
X-Frango
Extras: Bacon, Calabresa
Erich

Erich

Curtidas 0

Melhor post

Hélio Devmedia

Hélio Devmedia

13/03/2019

Olá Erich,

Você precisa fazer um relatório tipo Mestre/Detalhe,

Você precisará interconectar dois datasets, os de item e os de pedido. Se você estiver utilizando provider e ClientDataSet é mais fácil porque você pode utilizar o DataSetField conforme os artigos

https://www.devmedia.com.br/datasetfield-relacionamento-master-detail-delphi/21446
https://www.devmedia.com.br/curso-de-dbexpress-e-datasnap-parteviii/439
https://www.devmedia.com.br/quick-tips-mestre-detalhe-em-delphi/15676

uma vez que você criou este relacionamento, sempre que você selecionar o registro do item de pedido, os extras serão selecionados no dataSetDetalhe.

Depois você transporta para o FastReport os dois DataSets (acredito que isso você já sabe fazer) e adiciona duas bandas de detalhes, uma atrelada ao DataSet Mestre e outra atrelada ao dataSetDetalhe.

O FastReport entenderá que você quer imprimir o item do pedido e em baixo saiam os extras daquele item.

Espero ter ajudado. Um forte abraço e fique com Deus.
GOSTEI 2

Mais Respostas

Erich

Erich

13/03/2019

boa noite galera, estou com um problema no relatório de pedidos, estou desenvolvendo uma aplicação frente de caixa, onde existe um servidor em datasnap fazendo a comunicação com o aplicativo android, gostaria de saber se existe uma possibilidade de select onde eu pegue todos os itens daquele pedido e cada item com seu extra, pois o problema que estou enfrentando ele ta mandando o primeiro extra inserido para todos os itens.

Estrutura da tabela: ItensPedido
pedido x itens
ItensExtras
ItensId x ItensPedidoId

Obs: como vou fazer um select capturando todos os itensExtras do meu Item..

exemplo:
X-salada
Extras: Bacon, Milho
X-Frango
Extras: Bacon, Calabresa

**CORRIGINDO***
Estrutura da tabela:
ItensPedido
pedido x itens
ItensExtras
ItensExtrasId x ItensPedidoId
GOSTEI 0
Erich

Erich

13/03/2019

Olá Erich,

Você precisa fazer um relatório tipo Mestre/Detalhe,

Você precisará interconectar dois datasets, os de item e os de pedido. Se você estiver utilizando provider e ClientDataSet é mais fácil porque você pode utilizar o DataSetField conforme os artigos

https://www.devmedia.com.br/datasetfield-relacionamento-master-detail-delphi/21446
https://www.devmedia.com.br/curso-de-dbexpress-e-datasnap-parteviii/439
https://www.devmedia.com.br/quick-tips-mestre-detalhe-em-delphi/15676

uma vez que você criou este relacionamento, sempre que você selecionar o registro do item de pedido, os extras serão selecionados no dataSetDetalhe.

Depois você transporta para o FastReport os dois DataSets (acredito que isso você já sabe fazer) e adiciona duas bandas de detalhes, uma atrelada ao DataSet Mestre e outra atrelada ao dataSetDetalhe.

O FastReport entenderá que você quer imprimir o item do pedido e em baixo saiam os extras daquele item.

Espero ter ajudado. Um forte abraço e fique com Deus.

Tinha tentado fazer esse procedimento e nao tinha funcionado, mas por incrível que pareça agora funcionou!! provavelmente estava fazendo algo errado! Muito obrigado Resolveu meu problema!
GOSTEI 0
POSTAR