Construir relatórios personalizados

É possível escrever os seus proprios relatórios para suprir as suas necessidades, caso saiba programar um pouco. Terá de saber Scheme (uma linguagem de programação semelhante a LISP), sendo uma óptima ideia ter por perto uma cópia do código-fonte do GnuCash.

O interface de relatórios encontra-se documentado em Desenvolvimento de Relatórios; mas poderá ter uma boa ideia de como funciona examinando o ficheiro src/scm/report/hello-world.scm na árvore de código do GnuCash.

Também terá de aceder a dados do "motor" para obter informação para o seu relatório. Isto é conseguido através de um conjunto de funções de envolvimento (wrapper) Scheme que se encontram documentadas no ficheiro src/g-wrap/gnc.html. Poderá desejar examinar alguns dos outros relatórios em src/scm/report para uma indicação de como as funções são utilizadas.

De momento, os relatórios são produzidos chamando uma API que gera HTML, que retorna um dialecto de HTML e o apresenta utilizando um widget HTML. Isto tem limitações (particularmente quando se tenta alinhar com precisão objectos, tal como pode ser necessário na impressão de facturas em papel pré-impresso, por exemplo), pelo que futuramente poderá ser necessária uma nova interface de geração de relatórios.