Problemas Com relatório Fast Report

13/03/2019

0

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

Responder

Post mais votado

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.

Hélio Devmedia

Hélio Devmedia
Responder

Mais Posts

13/03/2019

Erich

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
Responder

14/03/2019

Erich

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!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar