Duarte Loreto's updated Portuguese documentation.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@4013 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas
2001-04-23 01:57:21 +00:00
parent 045c290a9c
commit 015dcc37fb
10 changed files with 2537 additions and 1923 deletions
+2
View File
@@ -34,7 +34,9 @@ GNUCASH_SGML_FILES = \
xacc-recnwin.sgml \
xacc-regwin-kbd.sgml \
xacc-regwin.sgml \
xacc-repdev.sgml \
xacc-reports.sgml \
xacc-scheme.sgml \
xacc-tax-report.sgml \
xacc-ticker.sgml \
xacc-trans-report.sgml \
+92 -88
View File
@@ -1,88 +1,92 @@
<!DOCTYPE BOOK PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity xaccabout system "xacc-about.sgml">
<!entity xaccaccountedit system "xacc-accountedit.sgml">
<!entity xaccacctypes system "xacc-acctypes.sgml">
<!entity xaccnewacctwin system "xacc-newacctwin.sgml">
<!entity xaccadjbalwin system "xacc-adjbalwin.sgml">
<!entity xaccapar system "xacc-apar.sgml">
<!entity xacccommodity system "xacc-commodity.sgml">
<!entity xaccdepreciation system "xacc-depreciation.sgml">
<!entity xaccbalancereport system "xacc-balancereport.sgml">
<!entity xaccbalancesheet system "xacc-balancesheet.sgml">
<!entity xacccurrencyhandling system "xacc-currencyhandling.sgml">
<!entity xaccdoubleentry system "xacc-doubleentry.sgml">
<!entity xacceuro system "xacc-euro.sgml">
<!entity xaccdateinput system "xacc-dateinput.sgml">
<!entity xacchierarchicalreport system "xacc-hierarchical-report.sgml">
<!entity xaccincomeexpense system "xacc-incomeexpense.sgml">
<!entity xacclocatingtxns system "xacc-locatingtxns.sgml">
<!entity xaccpreferences system "xacc-preferences.sgml">
<!entity xaccchartofaccts system "xacc-chartofaccts.sgml">
<!entity xaccuserdocs system "xacc-userdocs.sgml">
<!entity xaccmainwin system "xacc-mainwin.sgml">
<!entity xaccpnl system "xacc-pnl.sgml">
<!entity xaccportfolioreport system "xacc-portfolio-report.sgml">
<!entity xaccprintcheck system "xacc-print-check.sgml">
<!entity xaccprint system "xacc-print.sgml">
<!entity xaccqifimport system "xacc-qif-import.sgml">
<!entity xaccquicken system "xacc-quicken.sgml">
<!entity xaccrecnwin system "xacc-recnwin.sgml">
<!entity xaccregwin system "xacc-regwin.sgml">
<!entity xaccregwinkbd system "xacc-regwin-kbd.sgml">
<!entity xaccreports system "xacc-reports.sgml">
<!entity xaccticker system "xacc-ticker.sgml">
<!entity xacctaxreport system "xacc-tax-report.sgml">
<!entity xacctransreport system "xacc-trans-report.sgml">
<!entity xacctxfexportanomalies system "xacc-txf-export-anomalies.sgml">
<!entity xacctxfexportreport system "xacc-txf-export-report.sgml">
<!entity xaccdochack system "xacc-dochack.sgml">
<!entity xaccy2k system "xacc-y2k.sgml">
<!entity xaccgpl system "xacc-gpl.sgml">
<!entity bofamym system "bofa-mym.sgml">
]>
<BOOK ID="index">
<TITLE>Manual do Utilizador GnuCash</TITLE>
&xaccabout;
&xaccaccountedit;
&xaccacctypes;
&xaccnewacctwin;
&xaccadjbalwin;
&xaccapar;
&xaccdepreciation;
&xaccbalancereport;
&xaccbalancesheet;
&xacccommodity;
&xacccurrencyhandling;
&xaccdoubleentry;
&xacceuro;
&xaccdateinput;
&xacchierarchicalreport;
&xaccincomeexpense;
&xacclocatingtxns;
&xaccpreferences;
&xaccchartofaccts;
&xaccuserdocs;
&xaccmainwin;
&xaccpnl;
&xaccportfolioreport;
&xaccprintcheck;
&xaccprint;
&xaccqifimport;
&xaccquicken;
&xaccrecnwin;
&xaccregwin;
&xaccregwinkbd;
&xaccreports;
&xacctaxreport;
&xaccticker;
&xacctransreport;
&xacctxfexportanomalies;
&xacctxfexportreport;
&xaccdochack;
&xaccy2k;
&xaccgpl;
&bofamym;
</book>
<!DOCTYPE BOOK PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity xaccabout system "xacc-about.sgml">
<!entity xaccaccountedit system "xacc-accountedit.sgml">
<!entity xaccacctypes system "xacc-acctypes.sgml">
<!entity xaccnewacctwin system "xacc-newacctwin.sgml">
<!entity xaccadjbalwin system "xacc-adjbalwin.sgml">
<!entity xaccapar system "xacc-apar.sgml">
<!entity xacccommodity system "xacc-commodity.sgml">
<!entity xaccdepreciation system "xacc-depreciation.sgml">
<!entity xaccbalancereport system "xacc-balancereport.sgml">
<!entity xaccbalancesheet system "xacc-balancesheet.sgml">
<!entity xacccurrencyhandling system "xacc-currencyhandling.sgml">
<!entity xaccdoubleentry system "xacc-doubleentry.sgml">
<!entity xacceuro system "xacc-euro.sgml">
<!entity xaccdateinput system "xacc-dateinput.sgml">
<!entity xacchierarchicalreport system "xacc-hierarchical-report.sgml">
<!entity xaccincomeexpense system "xacc-incomeexpense.sgml">
<!entity xacclocatingtxns system "xacc-locatingtxns.sgml">
<!entity xaccpreferences system "xacc-preferences.sgml">
<!entity xaccchartofaccts system "xacc-chartofaccts.sgml">
<!entity xaccuserdocs system "xacc-userdocs.sgml">
<!entity xaccmainwin system "xacc-mainwin.sgml">
<!entity xaccpnl system "xacc-pnl.sgml">
<!entity xaccportfolioreport system "xacc-portfolio-report.sgml">
<!entity xaccprintcheck system "xacc-print-check.sgml">
<!entity xaccprint system "xacc-print.sgml">
<!entity xaccqifimport system "xacc-qif-import.sgml">
<!entity xaccquicken system "xacc-quicken.sgml">
<!entity xaccrecnwin system "xacc-recnwin.sgml">
<!entity xaccregwin system "xacc-regwin.sgml">
<!entity xaccregwinkbd system "xacc-regwin-kbd.sgml">
<!entity xaccreports system "xacc-reports.sgml">
<!entity xaccrepdev system "xacc-repdev.sgml">
<!entity xaccticker system "xacc-ticker.sgml">
<!entity xacctaxreport system "xacc-tax-report.sgml">
<!entity xacctransreport system "xacc-trans-report.sgml">
<!entity xacctxfexportanomalies system "xacc-txf-export-anomalies.sgml">
<!entity xacctxfexportreport system "xacc-txf-export-report.sgml">
<!entity xaccdochack system "xacc-dochack.sgml">
<!entity xaccscheme system "xacc-scheme.sgml">
<!entity xaccy2k system "xacc-y2k.sgml">
<!entity xaccgpl system "xacc-gpl.sgml">
<!entity bofamym system "bofa-mym.sgml">
]>
<book id="index">
<title>Manual do Utilizador GnuCash</title>
&xaccabout;
&xaccaccountedit;
&xaccacctypes;
&xaccnewacctwin;
&xaccadjbalwin;
&xaccapar;
&xaccdepreciation;
&xaccbalancereport;
&xaccbalancesheet;
&xacccommodity;
&xacccurrencyhandling;
&xaccdoubleentry;
&xacceuro;
&xaccdateinput;
&xacchierarchicalreport;
&xaccincomeexpense;
&xacclocatingtxns;
&xaccpreferences;
&xaccchartofaccts;
&xaccuserdocs;
&xaccmainwin;
&xaccpnl;
&xaccportfolioreport;
&xaccprintcheck;
&xaccprint;
&xaccqifimport;
&xaccquicken;
&xaccrecnwin;
&xaccregwin;
&xaccregwinkbd;
&xaccreports;
&xacctaxreport;
&xaccticker;
&xacctransreport;
&xacctxfexportanomalies;
&xacctxfexportreport;
&xaccdochack;
&xaccscheme;
&xaccrepdev;
&xaccy2k;
&xaccgpl;
&bofamym;
</book>
File diff suppressed because it is too large Load Diff
+205 -205
View File
@@ -1,205 +1,205 @@
<ARTICLE ID="XACC-APAR">
<ARTHEADER>
<TITLE>Contas a Pagar/Contas a Receber</TITLE>
</ARTHEADER>
<SECT1 ID="XACC-AP-AR">
<TITLE>Contas a Pagar e Contas a Receber</TITLE>
<PARA>C/R (Contas a Receber) e C/P (Contas a Pagar) são utilizadas
por empresas para registar vendas pelas quais não serão imediatamente
pagas, ou para registar contas que receberam, mas apenas irão pagar
mais tarde. Este tipo de contas é utilizado principalmente quando
você tem muitas facturas e recibos a entrar e sair, e não lhes deseja
perder o controlo apenas porque não as paga/é pago imediatamente.
Para a maior parte dos utilizadores domésticos, C/R e C/P são demasiado
complicadas e confusas para valerem o esforço.
</PARA>
</SECT1>
<SECT1 ID="XACC-ARDEF">
<TITLE> Contas a Receber</TITLE>
<PARA>Vamos assumir que em vez de requerer que os seus clientes
lhe paguem <EMPHASIS>imediatamente,</EMPHASIS> em dinheiro,
lhes emite uma factura e lhes dá 30 dias para efectuar o pagamento.
(Após 30 dias, podemos começar a cobrar juros e a enviar cartas de
caloteiro :-)). Quando efectuamos uma venda, as duas contas afectadas
são <EMPHASIS>Vendas</EMPHASIS> (uma conta de receitas) e
<EMPHASIS>Contas a Receber.</EMPHASIS> Contas a Receber são
activos, mas não são líquidos pois não os pode vender imediatamente,
e certamente não são dinheiro. Quando o cliente paga a factura, você
transfere o montante de C/R para Dinheiro. Isto é feito em dois passos
pois você decidiu efectuar a sua contabilidade na base da efectivação
e não no do dinheiro. Isto deve-se a que a maioria das suas transacções
não se baseiam apenas em dinheiro trocar de mãos, mas antes em
<EMPHASIS>contrair obrigações (ou dívidas).</EMPHASIS>
</PARA>
<PARA>Em operações mais sofisticadas, pode existir uma muito mais
complexa sequência de documentos gerados e acompanhados:
<ITEMIZEDLIST>
<LISTITEM>
<PARA>Um cliente envia uma <EMPHASIS>Ordem de Compra</EMPHASIS>,
que autoriza a compra.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA>Uma <EMPHASIS>Ordem de Produção</EMPHASIS> calendariza a produção
do que quer que seja que o cliente deseja adquirir.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA>Uma <EMPHASIS>Guia de Remessa</EMPHASIS> é emitida, para enviar os
bens para o cliente.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA>Uma vez enviados, uma <EMPHASIS>Factura</EMPHASIS> é emitida, representando
um <EMPHASIS>pedido de pagamento</EMPHASIS>.
</PARA>
</LISTITEM>
</ITEMIZEDLIST>
</PARA>
<PARA>As vendas são registadas assim que ocorrem. Infelizmente, você
pode acabar por vender produtos a operadores mal-intencionados
desconhecendo tal facto, e ficar com uma "dívida incobrável".
Por forma a determinar que partes das Contas a Receber parecem
estar mais em risco, é normal organizar as C/R baseadas na "idade"
das dívidas, sendo comum a segmentação em várias idades, de
pagamentos em aberto à 0-30 dias, em aberto à 31-60 dias, 61-90 dias,
e depois aqueles que estão <EMPHASIS>mesmo atrasados.</EMPHASIS>
A dada altura, poderá tornar-se óbvio que o cliente nunca irá pagar
o que deve, e temos de registar a dívida como <EMPHASIS>Dívida Incobrável.</EMPHASIS>
Nessa altura, é normal registar a entrada da seguinte forma:
(Atenção às especificidades da lei portuguesa sobre prazos de incobrabilidade)
<TABLE>
<TITLE>Exemplo de Custo de Dívida Incobrável</TITLE>
<TGROUP COLS="3">
<THEAD>
<ROW>
<ENTRY>Conta</ENTRY>
<ENTRY>Déb.</ENTRY>
<ENTRY>Créd.</ENTRY>
</ROW>
</THEAD>
<TBODY>
<ROW>
<ENTRY>Custo de Dív. Incobrável</ENTRY>
<ENTRY>100,000$</ENTRY>
<ENTRY> </ENTRY>
</ROW>
<ROW>
<ENTRY> </ENTRY>
</ROW>
<ROW>
<ENTRY>Contas a Receber</ENTRY>
<ENTRY> </ENTRY>
<ENTRY>100,000$</ENTRY>
</ROW>
</TBODY>
</TGROUP>
</TABLE>
</PARA>
<PARA>Poderia ter reduzido as <EMPHASIS>Receitas de Vendas</EMPHASIS>, mas
as empresas tendem a preferir controlar especificamente os montantes
que vão perdendo para maus clientes.
</PARA>
<PARA><EMPHASIS>Aviso: <EMPHASIS>Conceito Contabilístico Avançado.</EMPHASIS>
Dívidas Incobráveis são um exemplo de uma "contra-conta". Não nos
referimos a <EMPHASIS>montantes pagos aos rebeldes na Niquerágua,</EMPHASIS>
mas antes ao conceito de que a conta é uma conta de receita que é
esperado conter um saldo oposto ao que normalmente deveria, para que
contra-balance o saldo de outra conta de receitas.
<LINK LINKEND="XACC-DEPRECIATION">Amortizações Acumuladas,</LINK> utilizada
para reduzir o valor de um activo ao longo do tempo, é outro exemplo de
uma contra-conta.</EMPHASIS>
</PARA>
</SECT1>
<SECT1 ID="XACC-AR">
<TITLE> Contas a Pagar</TITLE>
<PARA>Para ver como a Contas a Pagar funciona, inverta o cenário das
Contas a Receber; troque o cliente com o vendedor.
<ITEMIZEDLIST>
<LISTITEM>
<PARA>Se comprar mercadorias "por conta," a contabilidade por efectivação
requer que registe a despesa imediatamente. Em vez de diminuir o
dinheiro, coloque o crédito na conta <EMPHASIS>Contas a Pagar</EMPHASIS>.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA>Passadas três semanas, chega a factura. Você emite um pagamento,
<EMPHASIS>debitando C/P e creditando Dinheiro.</EMPHASIS>
</PARA>
</LISTITEM>
</ITEMIZEDLIST>
</PARA>
</SECT1>
<SECT1 ID="XACC-PREPAIDEXPENSES">
<TITLE> Despesas Pré-Pagas</TITLE>
<PARA> </PARA>
<PARA>As mesmas técnicas são utilizadas para despesas pré-pagas.
Se tiver de pagar seis meses de renda antecipadamente, isso é
tratado como um "activo diferido".
<ITEMIZEDLIST>
<LISTITEM>
<PARA> No momento do pagamento, você <EMPHASIS>debita</EMPHASIS>
<EMPHASIS>Renda Pré-Paga</EMPHASIS> pelo montante pago,
que é um <EMPHASIS>crédito</EMPHASIS> ao <EMPHASIS>Dinheiro.</EMPHASIS>
Isto coloca um belo rombo na sua conta de Dinheiro, mas <EMPHASIS>realmente</EMPHASIS>
é apresentada nas contas como um activo, e não existem mais pagamentos
a efectuar nos próximos seis meses.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA>Todos os meses, o saldo da <EMPHASIS>Renda Pré-Paga</EMPHASIS> é
reduzido <EMPHASIS>debitando</EMPHASIS> <EMPHASIS>Despesas de Renda</EMPHASIS>
e <EMPHASIS>creditando</EMPHASIS> <EMPHASIS>Renda Pré-Paga</EMPHASIS>.
</PARA>
</LISTITEM>
</ITEMIZEDLIST>
</PARA>
<PARA>Da mesma forma, as empresas retêm impostos sobre os ordenados dos
funcionários (IRS), e guardam-nos numa conta bancária especial.
<ITEMIZEDLIST>
<LISTITEM>
<PARA><EMPHASIS>Esse</EMPHASIS> dinheiro não é da empresa, pelo que é feito um
<EMPHASIS>débito</EMPHASIS> à conta de <EMPHASIS>Dinheiro</EMPHASIS> e um
<EMPHASIS>Crédito</EMPHASIS> a um Passivo Diferido, nomeadamente,
<EMPHASIS>Retenção de Impostos Sobre o Rendimento</EMPHASIS>.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA>Quando a empresa envia ao Governo o seu cheque de trimestral de impostos
sobre os rendimentos, <EMPHASIS>Retenção de Impostos Sobre o Rendimento</EMPHASIS>
diminui, tal como o balanço da <EMPHASIS>Conta de Cheques</EMPHASIS>.
</PARA>
</LISTITEM>
</ITEMIZEDLIST>
</PARA>
</SECT1>
</ARTICLE>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: -->
<article id="xacc-apar">
<artheader>
<title>Contas a Pagar/Contas a Receber</title>
</artheader>
<sect1 id="xacc-ap-ar">
<title>Contas a Pagar e Contas a Receber</title>
<para>C/R (Contas a Receber) e C/P (Contas a Pagar) são utilizadas
por empresas para registar vendas pelas quais não serão imediatamente
pagas, ou para registar contas que receberam, mas apenas irão pagar
mais tarde. Este tipo de contas é utilizado principalmente quando
você tem muitas facturas e recibos a entrar e sair, e não lhes deseja
perder o controlo apenas porque não as paga/é pago imediatamente.</para>
<para>Para a maior parte dos utilizadores domésticos, C/R e C/P são demasiado
complicadas e confusas para valerem o esforço.
</para>
</sect1>
<sect1 id="xacc-ardef">
<title> Contas a Receber</title>
<para>Vamos assumir que em vez de requerer que os seus clientes
lhe paguem <emphasis>imediatamente,</emphasis> em dinheiro,
lhes emite uma factura e lhes dá 30 dias para efectuar o pagamento.
(Após 30 dias, podemos começar a cobrar juros e a enviar cartas de
caloteiro :-)). Quando efectuamos uma venda, as duas contas afectadas
são <emphasis>Vendas</emphasis> (uma conta de receitas) e
<emphasis>Contas a Receber.</emphasis> Contas a Receber são
activos, mas não são líquidos pois não os pode vender imediatamente,
e certamente não são dinheiro. Quando o cliente paga a factura, você
transfere o montante de C/R para Dinheiro. Isto é feito em dois passos
pois você decidiu efectuar a sua contabilidade na base da efectivação
e não no do dinheiro. Isto deve-se a que a maioria das suas transacções
não se baseiam apenas em dinheiro trocar de mãos, mas antes em
<emphasis>contrair obrigações (ou dívidas).</emphasis>
</para>
<para>Em operações mais sofisticadas, pode existir uma muito mais
complexa sequência de documentos gerados e acompanhados:
<itemizedlist>
<listitem>
<para>Um cliente envia uma <emphasis>Ordem de Compra</emphasis>,
que autoriza a compra.
</para>
</listitem>
<listitem>
<para>Uma <emphasis>Ordem de Produção</emphasis> calendariza a produção
do que quer que seja que o cliente deseja adquirir.
</para>
</listitem>
<listitem>
<para>Uma <emphasis>Guia de Remessa</emphasis> é emitida, para enviar os
bens para o cliente.
</para>
</listitem>
<listitem>
<para>Uma vez enviados, uma <emphasis>Factura</emphasis> é emitida, representando
um <emphasis>pedido de pagamento</emphasis>.
</para>
</listitem>
</itemizedlist>
</para>
<para>As vendas são registadas assim que ocorrem. Infelizmente, você
pode acabar por vender produtos a operadores mal-intencionados
desconhecendo tal facto, e ficar com uma "dívida incobrável".
Por forma a determinar que partes das Contas a Receber parecem
estar mais em risco, é normal organizar as C/R baseadas na "idade"
das dívidas, sendo comum a segmentação em várias idades, de
pagamentos em aberto à 0-30 dias, em aberto à 31-60 dias, 61-90 dias,
e depois aqueles que estão <emphasis>mesmo atrasados.</emphasis>
A dada altura, poderá tornar-se óbvio que o cliente nunca irá pagar
o que deve, e temos de registar a dívida como <emphasis>Dívida Incobrável.</emphasis>
Nessa altura, é normal registar a entrada da seguinte forma:
(Atenção às especificidades da lei portuguesa sobre prazos de incobrabilidade)
<table>
<title>Exemplo de Custo de Dívida Incobrável</title>
<tgroup cols="3">
<thead>
<row>
<entry>Conta</entry>
<entry>Déb.</entry>
<entry>Créd.</entry>
</row>
</thead>
<tbody>
<row>
<entry>Custo de Dív. Incobrável</entry>
<entry>100,000$</entry>
<entry> </entry>
</row>
<row>
<entry> </entry>
</row>
<row>
<entry>Contas a Receber</entry>
<entry> </entry>
<entry>100,000$</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>Poderia ter reduzido as <emphasis>Receitas de Vendas</emphasis>, mas
as empresas tendem a preferir controlar especificamente os montantes
que vão perdendo para maus clientes.
</para>
<para><emphasis>Aviso: <emphasis>Conceito Contabilístico Avançado.</emphasis>
Dívidas Incobráveis são um exemplo de uma "contra-conta". Não nos
referimos a <emphasis>montantes pagos aos rebeldes na Niquerágua,</emphasis>
mas antes ao conceito de que a conta é uma conta de receita que é
esperado conter um saldo oposto ao que normalmente deveria, para que
contra-balance o saldo de outra conta de receitas.
<link linkend="xacc-depreciation">Amortizações Acumuladas,</link> utilizada
para reduzir o valor de um activo ao longo do tempo, é outro exemplo de
uma contra-conta.</emphasis>
</para>
</sect1>
<sect1 id="xacc-ar">
<title> Contas a Pagar</title>
<para>Para ver como a Contas a Pagar funciona, inverta o cenário das
Contas a Receber: troque o cliente com o vendedor.
<itemizedlist>
<listitem>
<para>Se comprar mercadorias "por conta," a contabilidade por efectivação
requer que registe a despesa imediatamente. Em vez de diminuir o
dinheiro, coloque o crédito na conta <emphasis>Contas a Pagar</emphasis>.
</para>
</listitem>
<listitem>
<para>Passadas três semanas, chega a factura. Você emite um pagamento,
<emphasis>debitando C/P e creditando Dinheiro.</emphasis>
</para>
</listitem>
</itemizedlist>
</para>
</sect1>
<sect1 id="xacc-prepaidexpenses">
<title> Despesas Pré-Pagas</title>
<para> </para>
<para>O mesmo tipo de técnicas são utilizadas para despesas pré-pagas.
Se tiver de pagar seis meses de renda antecipadamente, isso é
tratado como um "activo diferido".
<itemizedlist>
<listitem>
<para> No momento do pagamento, você <emphasis>debita</emphasis>
<emphasis>Renda Pré-Paga</emphasis> pelo montante pago,
que é um <emphasis>crédito</emphasis> ao <emphasis>Dinheiro.</emphasis>
Isto coloca um belo rombo na sua conta de Dinheiro, mas <emphasis>realmente</emphasis>
é apresentada nas contas como um activo, e não existem mais pagamentos
a efectuar nos próximos seis meses.
</para>
</listitem>
<listitem>
<para>Todos os meses, o saldo da <emphasis>Renda Pré-Paga</emphasis> é
reduzido <emphasis>debitando</emphasis> <emphasis>Despesas de Renda</emphasis>
e <emphasis>creditando</emphasis> <emphasis>Renda Pré-Paga</emphasis>.
</para>
</listitem>
</itemizedlist>
</para>
<para>Da mesma forma, as empresas retêm impostos sobre os ordenados dos
funcionários (IRS), e guardam-nos numa conta bancária especial.
<itemizedlist>
<listitem>
<para><emphasis>Esse</emphasis> dinheiro não é da empresa, pelo que é feito um
<emphasis>débito</emphasis> à conta de <emphasis>Dinheiro</emphasis> e um
<emphasis>Crédito</emphasis> a um Passivo Diferido, nomeadamente,
<emphasis>Retenção de Impostos Sobre o Rendimento</emphasis>.
</para>
</listitem>
<listitem>
<para>Quando a empresa envia ao Governo o seu cheque de trimestral de impostos
sobre os rendimentos, <emphasis>Retenção de Impostos Sobre o Rendimento</emphasis>
diminui, tal como o balanço da <emphasis>Conta de Cheques</emphasis>.
</para>
</listitem>
</itemizedlist>
</para>
</sect1>
</article>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: -->
+162 -161
View File
@@ -1,161 +1,162 @@
<article id="xacc-dochack">
<artheader>
<title> Modificar a Documentação GnuCash </title>
<author>
<firstname>Christopher</firstname>
<surname>Browne</surname>
</author>
</artheader>
<sect1 id="xacc-docbook">
<title> Sobre o DocBook </title>
<para> A documentação do GnuCash foi modificada para utilizar SGML e, em
específico, o formato (DTD) DocBook. </para>
<PARA> DocBook é um DTD desenhado para a elaboração de documentação técnica
tal como manuais de informática. Existe um número crescente de ferramentas
para apoiar o processamento de material baseado em DocBook. As páginas de
seguida indicadas estão redigidas em inglês.
<ITEMIZEDLIST>
<LISTITEM>
<PARA> <ULINK URL="http://docbook.org/tdg/html/docbook.html"> DocBook:
O Guia Completo (online)</ULINK>
</PARA>
</LISTITEM>
<LISTITEM> <PARA><ULINK URL=
"http://www.oasis-open.org/docbook/documentation/index.html"> DocBook
- Documentação</ULINK></PARA> </LISTITEM>
<LISTITEM>
<PARA><ULINK URL="http://www.oasis-open.org/docbook/">DocBook -
DocBook</ULINK></PARA>
</LISTITEM>
<LISTITEM>
<PARA> <ULINK URL="http:///ella.slis.indiana.edu/~jfieber/docbook/doc/over/index.html"> Apresentação
do DocBook</ULINK> </PARA>
</LISTITEM>
<LISTITEM>
<PARA> <ULINK URL="http:///ella.slis.indiana.edu/~jfieber/docbook/doc/user/index.html"> Guia do
Utilizador de DocBook </ULINK> </PARA>
</LISTITEM>
<LISTITEM>
<PARA> <ULINK URL="http:///ella.slis.indiana.edu/~jfieber/docbook/doc/ref/index.html"> Guia de
Referência do DocBook </ULINK> </PARA>
</LISTITEM>
<LISTITEM>
<PARA> <ULINK URL="http:///ella.slis.indiana.edu/~jfieber/docbook/doc/maint/index.html">Guia de
Personalização do DocBook </ULINK> </PARA>
</LISTITEM>
<LISTITEM ID="MODULARDOCBOOK">
<PARA> <ULINK URL="http://nwalsh.com/docbook/dsssl/index.html"> As Folhas de
Estilo Modulares do DocBook </ULINK> </PARA>
</LISTITEM>
<LISTITEM>
<PARA><ULINK URL="http://nwalsh.com/docbook/edbsyn/"> A Página
nwalsh.com - Sintaxe Completa do DocBook </ULINK>
</PARA>
<PARA> Adiciona etiquetas (tags) ao DocBook para suportar linguagens
orientadas por objectos tais como o Java, C++, e IDL, incluindo novas
entidades tais como classes, campos, métodos, excepções, etc.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA> <ULINK URL="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro.html"> Inicie-se
Com o DocBook </ULINK></PARA>
<PARA> Este documento descreve como o DTD DocBook pode ser utilizado para
elaborar documentos, incluindo informação em como utilizar tabelas e inserir
listagens de programas. </PARA>
<PARA> Espera-se que em breve documente os cuidados e necessidades da inserção
de imagens além de mais informação na ``interessante'' referência cruzada.</PARA>
</LISTITEM>
<LISTITEM>
<PARA><ULINK URL="http://lwn.net/2000/features/DocBook/">Explorando o DocBook SGML </ULINK>
</PARA>
</LISTITEM>
<LISTITEM> <PARA><ULINK URL=
"http://www.dfwuug.org/newsletters/2000/newsletter_0003.html"> A Minha
Avaliação do DocBook: O Guia Completo </ULINK> tal como foi escrito para
O Grupo de Utilizadores de UNIX de DFW
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><ULINK URL="http://www.sslug.dk/%7epto/docbook.html">Iniciação às SGMLTOOLS e ao DOCBOOK</ULINK></PARA>
</LISTITEM>
</ITEMIZEDLIST> </PARA>
</sect1>
<sect1 id="xacc-docbookuse">
<title>O Conjunto de Documentação GnuCash</title>
<para> A documentação do GnuCash é gerida como um LIVRO, composte por
um conjunto de "ARTIGOS" DocBook. </para>
<PARA> O documento principal é o <filename>gnucash.sgml</filename>, que na
verdade contém apenas a informação "sequencial" sobre que ficheiros têm de
ser analisados para criar o corpo do documento, cada ficheiro representando
um dos ARTIGOS. </PARA>
<para> Note que nomes de ficheiros para o resultado em HTML gerado são definidos
de três formas:</para>
<itemizedlist>
<listitem><para> A etiqueta (tag) ID de cada ARTIGO define um
nome de ficheiro;</para></listitem>
<listitem><para> A etiqueta (tag) ID para cada SECT1 define um nome de ficheiro, excepto
se for a primeira SECT1 no ARTIGO;</para></listitem>
<listitem><para> Se você criar um novo ARTIGO ou SECT1 sem uma etiqueta ID,
os nomes dos ficheiros serão gerados com nomes tais como
<filename>t1234.html</filename>, <filename>x892.html</filename> e semelhantes.
Eles terão um aspecto bem aleatório. </para>
<PARA> Isto é algo mau; certifique-se que especifica uma etiqueta ID ao
ARTIGO ou SECT1. </para>
</listitem>
</itemizedlist>
<para> O Estilo é controlado pelo documento DSSSL,
<filename>mysheet.dsl</filename>, utilizando as convenções
documentadas em <link linkend="MODSTYLE"> Folhas de Estilo Modulares para DocBook
</link></para>
<para> Componentes que têm de ser instalados para que o comando
<command>jade -ioutput.html -d mysheet.dsl -t sgml
gnucash.sgml</command> funcione incluem:
<itemizedlist>
<listitem><para> <ULINK URL="http://www.jclark.com/jade/">Jade
</ULINK> ou <ULINK URL= "http://www.netfolder.com/DSSSL/index.html">
DSSSL/OpenJade </ULINK></para></listitem>
<listitem><para> O DTD DocBook 3.1, disponível em <ULINK URL=
"http://docbook.org"> DocBook.org </ULINK></para></listitem>
<listitem><para> <ULINK id="MODSTYLE" URL=
"http://nwalsh.com/docbook/dsssl/index.html"> Folhas de Estilo
Modulares </ULINK></para></listitem> do Norman Walsh
</itemizedlist>
</para>
</sect1>
</article>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: -->
<article id="xacc-dochack">
<artheader>
<title> Modificar a Documentação GnuCash </title>
<author>
<firstname>Christopher</firstname>
<surname>Browne</surname>
</author>
</artheader>
<sect1 id="xacc-docbook">
<title> Sobre o DocBook </title>
<para> A documentação do GnuCash foi modificada para utilizar SGML e, em
específico, o formato (DTD) DocBook. </para>
<para> DocBook é um DTD desenhado para a elaboração de documentação técnica
tal como manuais de informática. Existe um número crescente de ferramentas
para apoiar o processamento de material baseado em DocBook. As páginas de
seguida indicadas estão redigidas em inglês.
<itemizedlist>
<listitem>
<para> <ulink url="http://docbook.org/tdg/html/docbook.html"> DocBook:
O Guia Completo (online)</ulink>
</para>
</listitem>
<listitem> <para><ulink url=
"http://www.oasis-open.org/docbook/documentation/index.html"> DocBook
- Documentação</ulink></para> </listitem>
<listitem>
<para><ulink url="http://www.oasis-open.org/docbook/">DocBook -
DocBook</ulink></para>
</listitem>
<listitem>
<para> <ulink url="http:///ella.slis.indiana.edu/~jfieber/docbook/doc/over/index.html"> Apresentação
do DocBook</ulink> </para>
</listitem>
<listitem>
<para> <ulink url="http:///ella.slis.indiana.edu/~jfieber/docbook/doc/user/index.html"> Guia do
Utilizador de DocBook </ulink> </para>
</listitem>
<listitem>
<para> <ulink url="http:///ella.slis.indiana.edu/~jfieber/docbook/doc/ref/index.html"> Guia de
Referência do DocBook </ulink> </para>
</listitem>
<listitem>
<para> <ulink url="http:///ella.slis.indiana.edu/~jfieber/docbook/doc/maint/index.html">Guia de
Personalização do DocBook </ulink> </para>
</listitem>
<LISTITEM ID="MODULARDOCBOOK">
<para> <ulink url="http://nwalsh.com/docbook/dsssl/index.html"> As Folhas de
Estilo Modulares do DocBook </ulink> </para>
</listitem>
<listitem>
<para><ulink url="http://nwalsh.com/docbook/edbsyn/"> A Página
nwalsh.com - Sintaxe Completa do DocBook </ulink>
</para>
<para> Adiciona etiquetas (tags) ao DocBook para suportar linguagens
orientadas por objectos tais como o Java, C++, e IDL, incluindo novas
entidades tais como classes, campos, métodos, excepções, etc.
</para>
</listitem>
<listitem>
<para> <ulink url="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro.html"> Inicie-se
Com o DocBook </ulink></para>
<para> Este documento descreve como o DTD DocBook pode ser utilizado para
elaborar documentos, incluindo informação em como utilizar tabelas e inserir
listagens de programas. </para>
<para> Espera-se que em breve documente os cuidados e necessidades da inserção
de imagens além de mais informação na ``interessante'' referência cruzada.</para>
</listitem>
<listitem>
<para><ulink url="http://lwn.net/2000/features/DocBook/">Explorando o DocBook SGML </ulink>
</para>
</listitem>
<listitem> <para><ulink url=
"http://www.dfwuug.org/newsletters/2000/newsletter_0003.html"> A Minha
Avaliação do DocBook: O Guia Completo </ulink> tal como foi escrito para
O Grupo de Utilizadores de UNIX de DFW
</para>
</listitem>
<listitem>
<para><ulink url="http://www.sslug.dk/%7epto/docbook.html">Iniciação às SGMLTOOLS e ao DOCBOOK</ulink></para>
</listitem>
</itemizedlist> </para>
</sect1>
<sect1 id="xacc-docbookuse">
<title>O Conjunto de Documentação GnuCash</title>
<para> A documentação do GnuCash é gerida como um LIVRO, composte por
um conjunto de "ARTIGOS" DocBook. </para>
<para> O documento principal é o <filename>gnucash.sgml</filename>, que na
verdade contém apenas a informação "sequencial" sobre que ficheiros têm de
ser analisados para criar o corpo do documento, cada ficheiro representando
um dos ARTIGOS. </para>
<para> Note que nomes de ficheiros para o resultado em HTML gerado são definidos
de três formas:</para>
<itemizedlist>
<listitem><para> A etiqueta (tag) ID de cada ARTIGO define um
nome de ficheiro;</para></listitem>
<listitem><para> A etiqueta (tag) ID para cada SECT1 define um nome de ficheiro, excepto
se for a primeira SECT1 no ARTIGO;</para></listitem>
<listitem><para> Se você criar um novo ARTIGO ou SECT1 sem uma etiqueta ID,
os nomes dos ficheiros serão gerados com nomes tais como
<filename>t1234.html</filename>, <filename>x892.html</filename> e semelhantes.
Eles terão um aspecto bem aleatório. </para>
<para> Isto é algo mau; certifique-se que especifica uma etiqueta ID ao
ARTIGO ou SECT1. </para>
</listitem>
</itemizedlist>
<para> O Estilo é controlado pelo documento DSSSL,
<filename>mysheet.dsl</filename>, utilizando as convenções
documentadas em <link linkend="modstyle"> Folhas de Estilo Modulares para DocBook
</link></para>
<para> Componentes que têm de ser instalados para que o comando
<command>jade -ioutput.html -d mysheet.dsl -t sgml
gnucash.sgml</command> funcione incluem:
<itemizedlist>
<listitem><para> <ulink url="http://www.jclark.com/jade/">Jade
</ulink> ou <ulink url= "http://www.netfolder.com/DSSSL/index.html">
DSSSL/OpenJade </ulink></para></listitem>
<listitem><para> O DTD DocBook 3.1, disponível em <ulink url=
"http://docbook.org"> DocBook.org </ulink></para></listitem>
<listitem><para> <ulink id="MODSTYLE" url=
"http://nwalsh.com/docbook/dsssl/index.html"> Folhas de Estilo
Modulares </ulink></para></listitem>
</itemizedlist>
</para>
</sect1>
</article>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: -->
+1 -1
View File
@@ -164,7 +164,7 @@
mas não reconciliada. Você pode alterar o estado de reconciliação
entre '<LITERAL>n</LITERAL>' e '<LITERAL>c</LITERAL>' clicando no
campo (<GUILABEL>R</GUILABEL>); pode defini-lo como '<LITERAL>y</LITERAL>'
utilizando a <LINKLINKEND=XACC-RECNWIN>Janela de Reconciliação</LINK>.
utilizando a <LINK LINKEND=XACC-RECNWIN>Janela de Reconciliação</LINK>.
</PARA>
<PARA>No fundo da janela de conta, existem dois saldos correntes:
+447
View File
@@ -0,0 +1,447 @@
<article id="xacc-repdev">
<artheader>
<title>Desenvolvimento de Relatórios</title>
<author>
<firstname>Christopher</firstname>
<surname>Browne</surname>
</author>
</artheader>
<sect1 id="xacc-reportdev"> <title>Desenvolvimento de Relatórios</title>
<para> Os relatórios do <application>GnuCash</application> são gerados
de uma forma que é bastante retrospectiva dos <ulink
url="http://hoohoo.ncsa.uiuc.edu/cgi/"> CGI </ulink> da web; envolve:
<itemizedlist>
<listitem><para> Escrever programas que gerem "janelas de opções".
</para>
<para> Ao contrário da aproximação CGI, as opções do <application>GnuCash
</application> acabam por gerar directamente widgets GNOME, e não utilizam
etiquetas de FORMs HTML. As semelhanças são, no entanto, bastante grandes
já que ambos os sistemas de opções involvem:
<itemizedlist>
<listitem><para> Construir uma lista de propriedades que descreve opções e
valores de defeito;</para></listitem>
<listitem><para> Submeter essa lista de propriedades para que o utilizador
faça modificações;</para></listitem>
<listitem><para> Retornar outra lista de propriedades contendo as modificações
do utilzador.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para> Escrever programas que obtenham dados da aplicação,
baseados na lista de propriedades das opções, e depois gerem resultados
em HTML.</para>
<para> Muitas aplicações web produzem HTML de integridade questionável
visto o programador gerar HTML na forma atabalhoada de apenas imprimir
comandos que possam conter um tipo de dados com "pseudo-etiquetas".
Por contraste, <application>GnuCash</application> utiliza uma estrutura
de registos orientada para o HTML que torna mais difícil construir
<emphasis> mau </emphasis> HTML do que o torna escrever HTML correcto.
</para></listitem>
</itemizedlist></para>
<para> Esta apresentação irá assumir que o leitor já está de uma forma
genérica familiarizado com o Scheme, particularmente com os seguintes
conceitos:
<itemizedlist>
<listitem><para> Ligar valores e funções utilizando
<function>define</function></para>
<para> Como em:
<screen>
(define *value-x* 25)
(define *value-y* 30)
(define *string-a* "Aqui está uma string!")
(define *string-b* "Uma string com uma aspa \" embebida")
(define (add-1 x)
(+ x 1))
</screen></para>
</listitem>
<listitem><para> Definir ligações locais utilizando
<function id="let">let</function> e <function>let</function>
</para>
<screen>
> (define let-to-hide-stuff
(lambda (x y z)
(let ((x 25);; Local binding of x inside the let
(w 11))
(display "Dentro do let, x é:") (display x) (newline)
(display "E w apenas existe dentro do let como ") (display w)
(newline)
(display "Adicionar x, y, z, w dentro do let:")
(display (+ x y z w)) (newline))
(display "Agora, fora do let:") (newline)
(display "x é:") (display x) (newline)
(display "y é:") (display y) (newline)
(display "z é:") (display z) (newline)
(display "w é:") (display w) (newline)))
> (let-to-hide-stuff 10 20 30)
> (let-to-hide-stuff 10 20 30)
Dentro do let, x é:25
E w apenas existe dentro do let como 11
Adicionar x, y, z, w dentro do let:86
Agora, fora do let:
x é:10
y é:20
z é:30
reference to undefined identifier: w
w é:>
</screen>
</listitem>
<listitem><para> Definir listas utilizando <function>list</function></para>
<para> Como em:
<screen>
> (list 1 2 3 "four" 'five)
(1 2 3 "four" five)
> '(1 2 3 "four" five)
(1 2 3 "four" five)
</screen></para>
</listitem>
<listitem><para> Representar funções anónimas utilizando
<function>lambda</function></para>
<para> A função <function>add-1</function> mostrada anteriormente é
<emphasis>na verdade</emphasis> definida como:
<screen>
(define add-1
(lambda (x) (+ x 1)))
</screen></para>
</listitem>
<listitem><para> A estrutura de controlo <function>if</function></para>
</listitem>
<listitem><para> Utilizar <function>map</function> para aplicar uma função a todos
os membros de uma lista, produzindo outra lista, como em:
<screen>
> (map (lambda (x) (+ x 1)) '(1 2 3 4))
(2 3 4 5)
</screen>
ou
<screen>
> (map (lambda (s n) (string-append s ":" (number->string n)))
'("one" "two" "three" "four") '(1 2 3 4))
("one:1" "two:2" "three:3" "four:4")
</screen></para></listitem>
</itemizedlist></para>
<para> Se os significados de alguns destes não são muito claros, veja as
referências na secção sobre <link linkend="xacc-schemedocs"> Documentação
Scheme</link>, e tente executar código como o acima utilizando Guile.</para>
<sect2> <title>Visão Geral de Relatórios</title>
<para> Um relatório do GnuCash é adicionado ao sistena utilizando a função
<function>gnc:define-report</function>, para a qual são passados os seguintes
parâmetros:
<itemizedlist>
<listitem><para> <structfield>versão</structfield></para>
<para> Este é um número de versão; actualmente não é utilizado para
fazer nada particularmente inteligente.</para></listitem>
<listitem><para> <structfield>nome</structfield></para>
<para> Este é um nome <emphasis>não-traduzido</emphasis> para o
relatório que é notavelmente utilizado para disponibilizar o nome
que será adicionado ao menu de relatórios do <application>GnuCash
</application>.</para></listitem>
<listitem><para> <link linkend="options-generator"> <structfield>
gerador de opções </structfield> </link>
</para>
<para> Este argumento é uma função que não leva parâmetros, e gera um conjunto
de opções que serão utilizadas para apresentar uma janela que o utilizador
pode utilizar para seleccionar valores para os parâmetros do relatório.</para>
<para> Isto tipicamente irá incluir coisas como intrevalos de datas e listas
de contas, para determinar que dados deverão ser seleccionados para o relatório,
bem como outros controlos que determinam como os dados irão ser visualizados. </para>
</listitem>
<listitem><para> <link linkend="renderer">
<structfield>visualizador</structfield>
</link>
</para>
<para> O "visualizador" faz o trabalho de gerar o relatório. Aceita
uma "base de dados" de opções, tal como a gerada pelo <structfield>
gerador de opções </structfield>, obtem os dados correspondentes do
motor do <application>GnuCash</application>, e gera, como resultado,
um objecto do tipo <sgmltag> documento html </sgmltag>, que é o que o
motor de relatórios do <application>GnuCash</application> sabe como
apresentar.</para></listitem>
</itemizedlist></para>
<para> Um exemplo trivial poderá assemelhar-se ao seguinte:
<informalexample>
<screen>
(let ()
(define (options-generator)
(let ((options (gnc:new-options))) ;;; Criar nova lista de opções
options)) ;;; Devolve-la
(define (renderer options)
(let ((document (gnc:make-html-document)))
document)) ;;; Gera um documento vazio
(gnc:define-report
'version 1
'name (N_ "Trivial Example")
'options-generator options-generator
'renderer renderer))
</screen>
</informalexample></para>
<para> Note que os relatórios são tipicamente definidos dentro de um ambiente <link linkend="let"> <function> let </function> </link>; as "funções
de trabalho" serão assim todas invisíveis para o código fora do
ambiente <function> let </function>, o que significa que não precisará
de se preocupar em criar nomes de funções únicos. Apenas o nome do relatório
tem forçosamente de ser único. </para>
<para> Desde que cada relatório esteja do mesmo modo envolto num ambiente
<function> let </function>, você poderia chamar a <emphasis> todas </emphasis>
as funções de "renderização" <function> rederizar </function> sem causar
quaisquer conflitos.</para>
</sect2>
<sect2 id="options-generator"> <title>A função de gerador de opções</title>
<para> O gerador de opções introduz um número adicional de funções
que são utilizadas para definir janelas de opções.
<screen>
(define (options-generator)
(let ((option-set (gnc:new-options))) <co id="newopts">
(gnc:options-add-report-date! <co id="optdate">
option-set pagename-general "End Date" "a")
(gnc:options-add-date-interval! <co id="optdaterng">
option-set pagename-general "From" "To" "a")
(gnc:options-add-interval-choice! <co id="optint">
option-set pagename-general
"Step Size" "b" 'YearDelta)
(gnc:options-add-account-levels! <co id="optacl">
option-set pagename-general
"Show Accounts down to Level" "c" 2)
(gnc:options-add-account-selection! <co id="optacc">
option-set pagename-general "Account Display Depth"
"Always show subaccounts" "Accounts" "a" 3
*LIST-OF-INCOME-AND-EXPENSE-ACCOUNTS*
options))
</screen>
<calloutlist>
<callout arearefs="newopts"> <para>
<function>gnc:new-options</function> cria um conjunto novo de opções,
vazio. Isto tem de ser executado primeiro; as funções seguintes necessitam
de ter um conjunto de opções a que se referir.</para> </callout>
<callout arearefs="optdate"> <para>
<function>gnc:options-add-report-date!</function> adiciona uma opção de
selecção que indica uma data única, geralmente utilizada como a data de
final.</para> </callout>
<callout arearefs="optdaterng"> <para>
<function>gnc:options-add-date-interval!</function> adiciona uma opção de
selecção que permite especificar um intrevalo de datas.</para></callout>
<callout arearefs="optint"> <para>
<function>gnc:options-add-interval-choice!</function> adiciona uma opção
de selecção que permite escolher entre vários intrevalos de tempo, incluindo
dias, semanas, quinzenas, meses, e anos.</para></callout>
<callout arearefs="optacl"> <para> <function>
gnc:options-add-account-levels!</function> adiciona uma opção que indica
até que profundidade um conjunto de níveis de contas deverá ser mostrado.</para></callout>
<callout arearefs="optacc"> <para> <function>
gnc:options-add-account-selection!</function> permite seleccionar um
conjunto de contas.</para> <para> Note que o último argumento é uma lista
de contas de onde seleccionar, o que significa ser necessário, a um determinado
ponto, <link linkend="filtacc">filtrar uma lista de contas relevantes</link>.</para>
</callout> </calloutlist></para>
<para> Existem ainda funções de opções adicionais:
<itemizedlist>
<listitem><para> <function>gnc:options-add-currency!</function> para
seleccionar uma moeda;</para></listitem>
<listitem><para> <function>gnc:options-add-plot-size!</function> para
controlar como um gráfico deverá ser dimensionado.</para></listitem>
</itemizedlist></para>
<para> Subjacentes a estas existem as seguintes funções base do "gerador
de opções" definidas em <filename>options-utilities.scm</filename>, que
podem ser utilizadas para criar novos tipos de opções:
<itemizedlist>
<listitem><para> <function>gnc:register-option</function></para></listitem>
<listitem><para> <function>gnc:make-date-option</function></para></listitem>
<listitem><para> <function>gnc:make-multichoice-option</function></para></listitem>
<listitem><para> <function>gnc:make-simple-boolean-option</function></para></listitem>
<listitem><para> <function>gnc:make-account-list-option</function></para></listitem>
<listitem><para> <function>gnc:make-currency-option</function></para></listitem>
<listitem><para> <function>gnc:make-number-range-option</function></para></listitem>
</itemizedlist></para></sect2>
<sect2 id="accessing-data"> <title>Aceder aos Dados do GnuCash</title>
<para> Existem vários formatos de dados que poderá querer aceder:
</para>
<itemizedlist>
<listitem><para> <link linkend="filtacc"> Informação de Contas </link></para></listitem>
<listitem><para> <link linkend="stockprices"> Preços de Acções </link></para></listitem>
<listitem><para> <link linkend="accoption"> Dados de Leitura de Opções </link></para></listitem>
</itemizedlist>
<sect3 id="filtacc"> <title> Aceder aos Dados do Motor </title>
<para> As funções utilizadas para aceder às várias formas de dados
contabilísticos podem ser encontradas no ficheiro <filename> src/g-wrap/gnc.html
</filename>. </para>
<note> <para> São necessários alguns exemplos aqui... </para> </note></sect3>
<sect3 id="accoption"> <title>Aceder a Dados de Opções</title>
<para> Functions <function>gnc:lookup-option</function>,
<function>gnc:report-options</function>, e
<function>gnc:option-value</function> são as funções cruciais
que mais provavelmente utilizará em <filename> src/scm/options.scm
</filename></para>
<para> Um excerto do <filename> src/scm/report/hello-world.scm
</filename> é o seguinte:
<screen>
;; Primeiro, construir algumas funções de apoio para procurar valores de opções.
(define (get-op section name)
(gnc:lookup-option (gnc:report-options report-obj) section name))
(define (op-value section name)
(gnc:option-value (get-op section name)))
;; O próximo passo é criar variáveis locais para todas as opções
;; específicas no conjunto de opções passado à função.
(let
((bool-val (op-value "Hello, World!" "Boolean Option"))
(mult-val (op-value "Hello, World!" "Multi Choice Option"))
(string-val (op-value "Hello, World!" "String Option"))
(date-val (gnc:date-option-absolute-time
(op-value "Hello, World!" "Just a Date Option")))
(date2-val (gnc:date-option-absolute-time
(op-value "Hello, World!" "Time and Date Option")))
(rel-date-val (gnc:date-option-absolute-time
(op-value "Hello, World!" "Relative Date Option")))
(combo-date-val (gnc:date-option-absolute-time
(op-value "Hello, World!" "Combo Date Option")))
(num-val (op-value "Hello, World!" "Number Option"))
(bg-color-op (get-op "Hello, World!" "Background Color"))
(txt-color-op (get-op "Hello, World!" "Text Color"))
(accounts (op-value "Hello Again" "An account list option"))
(list-val (op-value "Hello Again" "A list option"))
(crash-val (op-value "Testing" "Crash the report")))
(now-do-stuff-with-options))</screen>
</para></sect3>
<sect3 id="stockprices"> <title> Preços de Acções </title>
<warning>
<para> A base de dados de preços de acções está em desenvolvimento, pelo que
é um pouco sedo para ser específico sobre isto...</para> </warning></sect3></sect2>
<sect2 id="html-generation"> <title>Funções de Geração HTML</title>
<para> Os relatórios são gerados como uma árvore de registos <link linkend="guile">
Guile</link>, tendo como raíz um registo &lt;documento html&gt;, que consiste em
informação de estilos, um título, e uma lista de registos &lt;objecto html&gt que
consistem numa função de renderização e noutra lista de objectos.</para>
<para> Poderemos assim gerar um relatório simples:
<screen>
(define (build-simple-document)
(let* ((document (gnc:make-html-document))
;;; Aqui está um par de funções auxiliares
(addfpara (lambda (obj)
(gnc:html-document-add-object!
document
(gnc:make-html-text
(gnc:html-markup-p obj)))))
(addpara (lambda (text)
(addfpara
(gnc:html-markup/format text)))))
;;; Definir o título
(gnc:html-document-set-title! document (_ "Simple List of Values"))
;;; Adicionar um parágrafo de texto
(addpara
(_ "This is a simple report, starting with a paragraph of text"))
(addpara
(_ "Next, we calculate random values, adding them to a balance."))
(let loop
((balance 0))
(if (< balance 500)
(let ((newamt (- (random 500 200)))) ;;; Random number
(addfpara
(gnc:html-markup/format
(_ "Another random adjustment of %s yields %s")
(gnc:html-markup-tt (number->string newamt))
(gnc:html-markup-b (number->string balance))))
(loop (+ balance newamt)))))
document)) ;;; Finalmente, devolver o documento
</screen>
</para>
</sect2>
<sect2 id="renderer"> <title>A função de renderização</title>
<para> A função de renderização é onde as funções das secções anteriores
se juntam.
<itemizedlist>
<listitem><para> Recebe, como entrada, uma "base de dados" de opções geradas
assim que o utilizador adiciona os seus dados à janela produzida pelo
<link linkend="options-generator"> generador de opções </link>.</para></listitem>
<listitem><para> Utiliza essas opções para controlar como <link linkend="accessing-data">
aceder aos dados do GnuCash </link> </para> </listitem>
<listitem><para> Finalmente, a partir desses dados, <link linkend="html-generation"> gera
uma "base de dados" de texto HTML. </link></para></listitem> </itemizedlist></para>
<para> A fnção de renderização disponibiliza, como valor de retorno, a "base de dados
de HTML," que o <application>GnuCash</application> apresenta no visualizador de HTML.
<informalexample>
<screen>
(define (renderer options)
(let ((document (gnc:make-html-document)))
document)) ;;; Gera um documento vazio
</screen>
</informalexample></para></sect2>
<sect2> <title>Para Mais Informações</title>
<para> Se necessitar de mais informações, ou tiver desenvolvido um
relatório novo que possa ser útil para outros, por favor contacte a
lista de desenvolvimento do GnuCash em <email> gnucash-devel@gnucash.org </email>. </para>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: --></sect2></sect1></article>
+155 -160
View File
@@ -1,160 +1,155 @@
<ARTICLE ID="XACC-REPORTS">
<ARTHEADER>
<TITLE>Relatórios</TITLE>
</ARTHEADER>
<SECT1>
<TITLE>Relatórios</TITLE>
<PARA>Uma variedade de relatórios financeiros pode ser seleccionada no
menu de "Relatórios":
<ITEMIZEDLIST>
<LISTITEM>
<PARA><LINK LINKEND="XACC-BALANCESHEET">Folha de Balanço:</LINK>Mostra
Activos, Passívos e Saldos Iniciais.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><LINK LINKEND="XACC-PNL">Estado de Proveitos e Prejuizos:</LINK>mostra
Receitas e Despesas ao longo de um período seleccionável.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><LINK LINKEND="XACC-TRANS-REPORT">Relatório de
Transacções:</LINK>mostra transacções sobre uma conta, apresentadas de
várias formas.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><LINK LINKEND="XACC-PORTFOLIO-REPORT">Portfólio de Acções:</LINK>
disponibiliza um resumo rápido das suas acções, o seu valor actual e
mais-valias obtidas.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><LINK LINKEND="XACC-TAX-REPORT">Relatório de Impostos:</LINK>
mostra Receitas e Despesas tributáveis ou dedutíveis.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><LINK LINKEND="XACC-TXF-EXPORT-REPORT">Relatório de Exportação TXF:</LINK>
exporta um ficheiro .TXF que pode ser importado para o TaxCut ou TurboTax.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><LINK LINKEND="XACC-HIERARCHICAL-REPORT">Relatório Hierárquico:</LINK>
mostra as contas num formato hierárquico.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><APPLICATION>Histórico de Saldos:</APPLICATION>
acompanha o saldo de uma ou mais contas ao longo do tempo, suportando
gráficos representativos (se tiver o <APPLICATION>gnuplot</APPLICATION>
instalado).
</PARA>
</LISTITEM>
</ITEMIZEDLIST>
</PARA>
</SECT1>
<SECT1 ID="XACC-REPORTWINDOW">
<TITLE>A Janela de Relatório</TITLE>
<PARA> Após ter seleccionado um relatório, uma janela de relatório surgirá:
</PARA>
<PARA><INLINEMEDIAOBJECT>
<IMAGEOBJECT>
<IMAGEDATA FILEREF="image/reportwin.png">
</IMAGEOBJECT>
</INLINEMEDIAOBJECT>
</PARA>
<PARA>O relatório é apresentado numa janela redimensionável e com barras de
rolamento. Para controlar o relatório, pode utilizar os botões da barra
de ferramentas no topo da janela:
<ITEMIZEDLIST>
<LISTITEM>
<PARA><EMPHASIS>Retroceder</EMPHASIS> e <EMPHASIS>Avançar</EMPHASIS> permitem-lhe
ver o conteudo anterior da janela, tal como um navegador (browser) de internet
</PARA>
</LISTITEM>
<LISTITEM>
<PARA> <EMPHASIS>Parâmetros</EMPHASIS> faz surgir uma janela que lhe permite
modificar a informação apresentada no relatório:
</PARA>
<PARA><INLINEMEDIAOBJECT>
<IMAGEOBJECT>
<IMAGEDATA FILEREF="image/report-option.png">
</IMAGEOBJECT>
</INLINEMEDIAOBJECT>
</PARA>
<PARA>Veja a ajuda específica para cada relatório para mais detalhes sobre
as opções disponíveis.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><ANCHOR ID="EXPORT"><EMPHASIS>Exportar</EMPHASIS> permite-lhe exportar
o conteudo do relatório para um ficheiro HTML para posterior visualização
ou impressão.
</PARA>
</LISTITEM>
<LISTITEM>
<PARA><EMPHASIS>Fechar</EMPHASIS> fecha a janela de relatório.
</PARA>
</LISTITEM>
</ITEMIZEDLIST>
</PARA>
</SECT1>
<SECT1 ID="XACC-CUSTOMREPORTS">
<TITLE> Construir relatórios personalizados</TITLE>
<PARA> É 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 <application>GnuCash</application>.
</PARA>
<PARA>O interface de relatórios encontra-se presentemente por documentar, mas
poderá ter uma boa ideia de como funciona examinando o ficheiro <filename>
src/scm/report/hello-world.scm </filename> na árvore de código do
<application>GnuCash</application>.
</PARA>
<PARA>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
<filename>src/g-wrap/gnc.html</filename>. Poderá desejar examinar alguns dos
outros relatórios em <filename> src/scm/report </filename> para uma indicação
de como as funções são utilizadas.
</PARA>
<PARA>De momento, os relatórios são gerados criando internamente HTML e
renderizando-o num objecto de HTML. (Versões futuras do GnuCash irão suportar,
esperamos, um sistema mais flexível). </PARA>
<PARA>Caso necessite de mais informação, ou tenha deenvolvido um novo relatório
que possa ser útil para outros, por favor contact a lista de desenvolvimento do
GnuCash em <email> gnucash-devel@gnucash.org </email>.
</PARA>
</SECT1>
</ARTICLE>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: -->
<article id="xacc-reports">
<artheader>
<title>Relatórios</title>
</artheader>
<sect1>
<title>Relatórios</title>
<para>Uma variedade de relatórios financeiros pode ser seleccionada no
menu de "Relatórios":
<itemizedlist>
<listitem>
<para><link linkend="xacc-balancesheet">Folha de Balanço:</link>Mostra
Activos, Passívos e Saldos Iniciais.
</para>
</listitem>
<listitem>
<para><link linkend="xacc-pnl">Estado de Proveitos e Prejuizos:</link>mostra
Receitas e Despesas ao longo de um período seleccionável.
</para>
</listitem>
<listitem>
<para><link linkend="xacc-trans-report">Relatório de
Transacções:</link>mostra transacções sobre uma conta, apresentadas de
várias formas.
</para>
</listitem>
<listitem>
<para><link linkend="xacc-portfolio-report">Portfólio de Acções:</link>
disponibiliza um resumo rápido das suas acções, o seu valor actual e
mais-valias obtidas.
</para>
</listitem>
<listitem>
<para><link linkend="xacc-tax-report">Relatório de Impostos:</link>
mostra Receitas e Despesas tributáveis ou dedutíveis.
</para>
</listitem>
<listitem>
<para><link linkend="xacc-txf-export-report">Relatório de Exportação TXF:</link>
exporta um ficheiro .TXF que pode ser importado para o TaxCut ou TurboTax.
</para>
</listitem>
<listitem>
<para><link linkend="xacc-hierarchical-report">Relatório Hierárquico:</link>
mostra as contas num formato hierárquico.
</para>
</listitem>
<listitem>
<para><application>Histórico de Saldos:</application>
acompanha o saldo de uma ou mais contas ao longo do tempo, suportando
gráficos representativos (se tiver o <application>gnuplot</application>
instalado).
</para>
</listitem>
</itemizedlist>
</para>
</sect1>
<sect1 id="xacc-reportwindow">
<title>A Janela de Relatório</title>
<para> Após ter seleccionado um relatório, uma janela de relatório surgirá:
</para>
<para><inlinemediaobject>
<imageobject>
<imagedata fileref="image/reportwin.png">
</imageobject>
</inlinemediaobject>
</para>
<para>O relatório é apresentado numa janela redimensionável e com barras de
rolamento. Para controlar o relatório, pode utilizar os botões da barra
de ferramentas no topo da janela:
<itemizedlist>
<listitem>
<para><emphasis>Retroceder</emphasis> e <emphasis>Avançar</emphasis> permitem-lhe
ver o conteudo anterior da janela, tal como um navegador (browser) de internet
</para>
</listitem>
<listitem>
<para> <emphasis>Parâmetros</emphasis> faz surgir uma janela que lhe permite
modificar a informação apresentada no relatório:
</para>
<para><inlinemediaobject>
<imageobject>
<imagedata fileref="image/report-option.png">
</imageobject>
</inlinemediaobject>
</para>
<para>Veja a ajuda específica para cada relatório para mais detalhes sobre
as opções disponíveis.
</para>
</listitem>
<listitem>
<para><anchor id="export"><emphasis>Exportar</emphasis> permite-lhe exportar
o conteudo do relatório para um ficheiro HTML para posterior visualização
ou impressão.
</para>
</listitem>
<listitem>
<para><emphasis>Fechar</emphasis> fecha a janela de relatório.
</para>
</listitem>
</itemizedlist>
</para>
</sect1>
<sect1 id="xacc-customreports">
<title> Construir relatórios personalizados</title>
<para> É possível escrever os seus proprios relatórios para suprir as
suas necessidades, caso saiba programar um pouco. Terá de saber <link
linkend="scheme">Scheme</link> (uma linguagem de programação semelhante
a LISP), sendo uma óptima ideia ter por perto uma cópia do código-fonte
do <application>GnuCash</application>.</para>
<para>O interface de relatórios encontra-se documentado em <link linkend=
"xacc-repdev">Desenvolvimento de Relatórios</link>; mas poderá ter uma boa ideia de
como funciona examinando o ficheiro <filename>src/scm/report/hello-world.scm
</filename> na árvore de código do <application>GnuCash</application>.
</para>
<para>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
<filename>src/g-wrap/gnc.html</filename>. Poderá desejar examinar alguns dos
outros relatórios em <filename> src/scm/report </filename> para uma indicação
de como as funções são utilizadas.
</para>
<para>De momento, os relatórios são gerados criando internamente HTML e
renderizando-o num objecto de HTML. (Versões futuras do GnuCash irão suportar,
esperamos, um sistema mais flexível). </para>
</sect1>
</article>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: -->
+145
View File
@@ -0,0 +1,145 @@
<article id="xacc-scheme">
<artheader>
<title> GnuCash e Scheme </title>
<author>
<firstname>Christopher</firstname>
<surname>Browne</surname>
</author>
</artheader>
<sect1 id="scheme">
<title>Scheme</title>
<para> A linguagem de programação Scheme é utilizada como uma linguagem
de extensão do <application>GnuCash</application>. É particularmente
utilizada para as seguintes funcionalidades:
<itemizedlist>
<listitem><para> A <link linkend="xacc-qif-import"> importação QIF </link>,</para></listitem>
<listitem><para> Geração de <link linkend="xacc-reports"> relatórios </link>,</para></listitem>
<listitem><para> Apresentar a "dica do dia".</para></listitem>
</itemizedlist></para>
<para> Scheme é um ``dialecto'' LISP que é relativamente pequeno, suporta
agradavelmente a recursão, disponibiliza estruturas de bloco e âmbito lexico,
e dá a uma variedade de tipos de objectos um status de ``primeira-classe''
(<emphasis>isto é</emphasis> - objectos de primeira classe não nomeáveis e
podem ser passados como argumentos de funções, resultados, ou elementos de
listas).</para>
<para> <application>GnuCash</application> utiliza a implementação
chamada <link linkend="guile"> Guile. </link> </para></sect1>
<sect1 id="xacc-schemedocs"> <title>Documentação Scheme</title>
<para> Existe uma rica literatura de boas referências sobre Scheme,
incluindo as seguintes:
<itemizedlist>
<listitem> <para> <ulink url=
"http://www.swiss.ai.mit.edu/projects/scheme/index.html"> Página principal
do Scheme </ulink></para></listitem>
<listitem> <para> <ulink url="http://mitpress.mit.edu/sicp/"
id="sicp"> Estrutura e Interpretação de Programas de Computador
(SICP)</ulink> </para>
<para> Este trabalho clássico está agora disponível na web <ulink
url="http://mitpress.mit.edu/sicp/full-text/book/book.html"> no formato
de texto completo. </ulink> SICP é utilizado no MIT para ajudar a introduzir
os estudantes à Ciência Informática; é excelente para tal, mas poderá ser
demasiado complexo para os que 'apenas querem fazer algo'.</para></listitem>
<listitem> <para> <ulink
url="http://www.scheme.com/tspl2d/index.html"> A Linguagem de Programação
Scheme, 2ª Edição (Cópia online do livro de Dybvig)</ulink>
</para>
<para> Esta referência excelente apresenta o ANSI standard Scheme,
incluindo bastantes exemplos. </para>
</listitem>
<listitem id="r5rs"> <para> <ulink
url="http://www-swiss.ai.mit.edu/~jaffer/r5rs_toc.html"> Especificações
R5RS do Scheme</ulink> </para> </listitem>
<listitem><para><ulink url="http://www.htdp.org/"> Como Definir
Programas </ulink></para>
<para> Este livro, publicado pela MIT Press, e disponível na web,
disponibiliza aconselhamento tipo tutorial sobre como programar, utilizando o
excelente ambiente <ulink
url="http://www.cs.rice.edu/CS/PLT/packages/drscheme/" id="drscheme">
<application> DrScheme </application> </ulink>.</para>
<para> Este poderá ser o livro mais adequado para os chegados ao Scheme
consultarem já que apresenta um bom número de exemplos de como fazer coisas
úteis em <link linkend="scheme"> Scheme </link>.</para></listitem>
</itemizedlist></para></sect1>
<sect1 id="xacc-guile"> <title>Guile Scheme</title>
<para> <ulink url="http://www.guile.org/" id="guile"> Guile </ulink>
é uma implementação de <link linkend="scheme"> Scheme </link> utilizado
em muitos projectos FSF. Está particularmente destinado a ser prontamente
embebido em aplicações escritas em C.
<itemizedlist>
<listitem> <para> <ulink url="ftp://ftp.red-bean.com/pub/guile/">
Directório de /pub/guile no red-bean.com</ulink> </para>
<para> Esta é a localização ``oficial'' onde o código fonte experimental
do Guile se encontra. </para> </listitem>
<listitem> <para><ulink url=
"http://www.gnu.org/software/goops/goops.html" id="goops"> GOOPS
</ulink> - CLOS para Guile </para> </listitem>
<listitem id="gwrap"> <para> <ulink
url="http://www.cs.cmu.edu/~chrislee/Software/g-wrap/"> g-wrap
</ulink> </para>
<para> G-Wrap é uma ferramenta portável para facilmente importar tipos,
funções, e constantes do C para interpretadores <link linkend="scheme">
Scheme </link>. G-Wrap suporta <link linkend="guile"> Guile
</link> e RScheme.
</para>
<para> <application>GnuCash</application> utiliza o G-Wrap para conectar
o Guile e o motor do <application>GnuCash</application>.
</para> </listitem>
<listitem> <para><ulink url="http://srfi.schemers.org/" id="srfi">
SRFI - Proposta de Implementação Scheme (Scheme Requests For Implementation) </ulink></para>
<para> Uma das deficiências mais antigas do Scheme tem sido que a definição
da linguagem é deliberadamente espartana, faltando-lhe funcionalidades.
Compare a parca definição do Scheme, <link linkend=
"r5rs"> R5RS </link> com a do <ulink url= "http://www.cons.org/">
Common Lisp, </ulink> que tem uma muito maior, mais funcional
<ulink url= "http://www.harlequin.com/education/books/HyperSpec/">
especificação HyperSpec. </ulink> (Nota: O HyperSpec é discutivelmente
um dos melhores e mais sofisticados conjuntos de documentação jamais
construidos utilizando HTML.)</para>
<para> O processo SRFI procura essencialmente adicionar conjuntos de
funções em bibliotecas para disponibilizar funcionalidades expandidas
que possam ser portáveis através das implementações Scheme. Isto tem
incluido bibliotecas para manipular conjuntos, caracteres, texto (strings),
"pacotes", registos, datas, objectos.</para>
<para> <application>GnuCash</application> utiliza o SRFI 1 (Listas),
8 (ligações de múltiplos valores; utilizado pelo SRFI 1), e 19 (Datas). </para>
</listitem>
</itemizedlist></para></sect1>
</article>
<!-- Local variables: -->
<!-- sgml-parent-document: "gnucash.sgml" -->
<!-- End: -->
+5 -2
View File
@@ -76,9 +76,12 @@ v
</LISTITEM>
</ITEMIZEDLIST>
<TABLE>
<TITLE>Lista de Códigos para os Mercados Europeus</TITLE>
<note>
<PARA>Note que a BVL não é suportada pelo Yahoo Europa.</PARA>
</note>
<TABLE>
<TITLE>Lista de Códigos para os Mercados Europeus</TITLE>
<TGROUP COLS="2">
<THEAD>
<ROW>