Jump to content
D3POD

Crystal Reports Detalhes

Recommended Posts

D3POD

Boas, criei um report e não estou a conseguir criar um documento tipo fatura.

Já coloquei os campos todos, mas como em qualquer fatura, quero que os produtos faturados sejam inseridos por linhas no meio do documento.

Já experimentei usar os details do report mas acontece algo estranho... ele repete os produtos 4 vezes cada até acabar o espaço.

Todos os outros campos aparecem bem, só os campos dos produtos (código, nome, preço, quantidade e total) é que estão a dar cabo da cabeça.

Se colocar no GroupHeaderSection1 um campo referente ao produto, não aparece nada ao imprimir... nem no pre-visualizar.

 

Alguém sabe onde posso estar a errar?

 

Cumprimentos

Share this post


Link to post
Share on other sites
D3POD

Já consegui ultrapassar a questão de não estar a aparecer os dados e já consigo ver no campo GroupHeaderSection1, mas continuo com um problema... só me aparece um produto e na tabela tenho 2.

Se eu colocar os campos no grupo detalhes consigo ver todos os produtos, mas repete 4 vezes cada um...

Como posso no campo GroupHeaderSection1 fazer com que apareceram todos os produtos filtrados na string?

Share this post


Link to post
Share on other sites
Antonio Silva Magalhaes

Isso deve acontecer porque deves estar a trabalhar com 4 tabelas relacionadas no report... vai ao Section Expert dos Detalhes e coloca uma formula no Suprimir(sem pesquisa detalhada) do genero {tuatabela.ID}=previous({tuatabela.ID}) ..  a ideia é nao repetir os registos que possuam o mesmo ID, usa um campo que nao repitas....

Share this post


Link to post
Share on other sites
D3POD

Estou a tentar, vendo também alguns exemplo na net, mas não estou a conseguir...

Devo colocar a mesma tabela? ou tenho que criar um filtro desses para cada tabela?

É que obtenho um erro se colocar {ProductSold.ConfigID} = previous({ProductSold.ConfigID})

E sim, tenho 4 tabelas relacionadas...

Share this post


Link to post
Share on other sites
Antonio Silva Magalhaes

E qual é o erro?

{ProductSold.ConfigID} = previous({ProductSold.ConfigID}) , este Id tem de ser da tabela onde estas a procurar os detalhes..

Edited by Antonio Silva Magalhaes

Share this post


Link to post
Share on other sites
D3POD

Ora coloquei assim: {ProductSold.ConfigID} = Previous({ProductSold.ConfigID});

Diz que o nome do campo não é conhecido...

 

A string que estou a usar:

 

cmd.CommandText = "SELECT Config.ConfigID, Config.ProductName, Config.Features, Config.Price, Sales.InvoiceDate, Sales.SubTotal, Sales.GrandTotal, Sales.Remarks, ProductSold.ID, ProductSold.Doc, ProductSold.DocNo, ProductSold.Quantity, ProductSold.Price, ProductSold.TotalAmount, ProductSold.Quantity, ProductSold.ConfigID, ProductSold.DocNo, ProductSold.Doc, Customer.CustomerName, Customer.Address, Customer.Landmark, Customer.City, Customer.State, Customer.Phone, Customer.MobileNo, Customer.FaxNo, Customer.Email, Customer.Notes FROM (((Customer INNER JOIN Sales ON Customer.CustomerID = Sales.CustomerID) INNER JOIN ProductSold ON Sales.DocNo = ProductSold.DocNo)INNER JOIN Config ON ProductSold.ConfigID = Config.ConfigID) where Sales.Doc = 'Fatura Proforma' AND Sales.DocNO = 69";

 

Share this post


Link to post
Share on other sites
D3POD

Coloquei assim: {Config.ProductName} = Previous({Config.ProductName}) e realmente ele já apresenta menos, mas continua a apresentar demasiadas vezes repetidas.

Share this post


Link to post
Share on other sites
Antonio Silva Magalhaes

onde vais buscar os detalhes? uma tabela só ou mais?

 

vi agora que tas a usar nos detalhes o código, nome, preço, quantidade e total, ou seja , tabela config e produtcsold, correto?

 

porque nao tentas algo do genero : {Config.configid} = Previous({Config.configid}) or {productsold.id} = Previous({productsold.id}) ?

 

ja agora , acho que tens duas vezes o ProductSold.Quantity na string

Edited by Antonio Silva Magalhaes

Share this post


Link to post
Share on other sites
D3POD

Estou a usar 4 tabelas, mas por causa de outros detalhes no report (dados do cliente, totais, etc), mas na parte dos details uso a tabela Config e ProductSold.

Sim certo...

Já tentei usar também essa formula, mas dá o erro que o nome não é conhecido.

Realmente tinha o Quantity repetido, obrigado ;)

Share this post


Link to post
Share on other sites
Antonio Silva Magalhaes

parece que tens mais campos duplicados para alem do Quantity, estes tambem parecem estar ProductSold.DocNo, ProductSold.Doc

se o erro que dá é que o field name is not known é porque, quase de certeza, nao estas a usar essas campos em parte nenhuma do relatorio. insere esses campos nos detalhes e experimenta... deveria resultar...

Share this post


Link to post
Share on other sites
D3POD

Boa tarde, desde já quero agradecer por toda a ajuda que me tem dado.

Já encontrei parte do problema que estava relacionado com a query. Não passava o ID do produto para o documento e portanto o filtro não funcionava.

Contudo continuo ainda com um problema...

Supostamente deveriam-me aparecer 2 produtos no documento...

Ao colocar o filtro {ProductSold.ConfigID} = Previous({ProductSold.ConfigID}) só me aparece o 1º produto e se colocar {ProductSold.ConfigID} = Next({ProductSold.ConfigID}) só aparece o segundo.

O problema de aparecer repetidos ficou logo resolvido, mas não estou a conseguir que apareçam os dois... eles tem CodigID diferentes.

 

Cumprimentos

Share this post


Link to post
Share on other sites
Antonio Silva Magalhaes

1º - se tirares o  {ProductSold.ConfigID} = Previous({ProductSold.ConfigID}) do section expert ficas com 8 registos ? 4 vezes cada um dos supostos dois registos? aparecem todos?

2º - a query esta ok? devolve os 2 registos ?

3º - tenta inserir mais algum registo  e verifica qual o comportamento , verifica se aparecem 2 e fica a faltar o ultimo ou se continua a aparecer um a um...

começa a ficar estranho....

 

 

  • Vote 1

Share this post


Link to post
Share on other sites
D3POD

Agora até eu fiquei confuso... fui à base de dados e adicionei mais um produto.

Experimentei com o Previous e só apareciam 2 (o primeiro e o ultimo) e depois com o Next (só apareciam os dois primeiros).

Nisto, desabilitei o "suprimir" e apareceu tudo bem... retirei um produto (o ultimo que adicionei) e já está tudo bem :S

Agora já fiz vários testes e está tudo normal, não faço ideia do que fiz, mas está bem.

 

Muito obrigado pela ajuda, se descobrir alguma coisa posto aqui.

 

Cumprimentos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.