Chave Estrangeira no iReport

Boa tarde a todos!

Estou estudando relatórios e parei na seguinte situação:

Tenho 2 tabelas: Pessoa e Contas a Receber. A partir daí quero gerar um relatório de contas a receber por período, que mostre:

Cliente - Emissão - Vencimento - Valor.

Os campos emissão, vencimento e valor estão em Contas a Receber.
O campo cliente é uma foreign key da tabela Pessoa.

Tentei fazer com as buscas do próprio iReport e o relatório saía assim:

Cliente: 1
Emissão: 2012-10-19
Vencimento: 2012-10-19
Valor 1750.0

Quero trocar aquele 1 pelo Nome do cliente! E também passar os parâmetros pela classe, a partir de uma lista. Como posso fazer ?

Minha classe que imprime o relatório está assim:

public static void imprimeContasPeriodo(List<ContasReceber> contas) {
        //cria um JRbeanDataSource que recebe a lista
        JRBeanCollectionDataSource BCD = new JRBeanCollectionDataSource(contas);

        //cria um hashmap para passar os parametros
        HashMap ht = new HashMap();
        //ht.put("PARAMETRO_IREPORT", "VARIAVEL_SISTEMA");

        //visualiza o relatorio
        try {
            JasperPrint impressao = JasperFillManager.fillReport(System.getProperty("user.dir") + "/relatorios/ContasReceberPeriodo.jasper", ht, BCD);
            JasperViewer viewer = new JasperViewer(impressao, false);
            viewer.setVisible(true);
        } catch (JRException ex) {
            Logger.getLogger(ImprimeContasReceber.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

E ai blz!!!

Com relação ao Cliente, deve ser porque vc repassando o id e não o nome em sua Query, posta ela ai!!!

Bom dia! quanto ao número 1, é como o colega ali citou, você deve estar passando o idêntificador ao invés do nome do cliente. Quanto a passagem de parâmetros, só você colocar os dados da lista em um mapa por exemplo: parametros.put("_Parameter1", lista.get(int))