plano de contas
bom dia amigos,
preciso montar um plano de contas e gostaria de saber se alguem ja fez algum, pq a maior dificuldade que encontro sao reunir os valores das contas pai tipo
valor total 100.00 que esta distribuidora nas seguintes contas
[b:207b90dd91]1----------100,00[/b:207b90dd91]
[b:207b90dd91]1.1............. 20,00[/b:207b90dd91]
1.1.1.......... 5,00
1.1.2.......... 15,00
[b:207b90dd91]1.2----------50,00[/b:207b90dd91]
[b:207b90dd91]1.3----------30,00[/b:207b90dd91]
1.3.1.............10,00
1.3.2.............15,00
1.3.3.............. 5,00
pq tenho que somar e jogar os valores nas contas cabeças(pai)
preciso montar um plano de contas e gostaria de saber se alguem ja fez algum, pq a maior dificuldade que encontro sao reunir os valores das contas pai tipo
valor total 100.00 que esta distribuidora nas seguintes contas
[b:207b90dd91]1----------100,00[/b:207b90dd91]
[b:207b90dd91]1.1............. 20,00[/b:207b90dd91]
1.1.1.......... 5,00
1.1.2.......... 15,00
[b:207b90dd91]1.2----------50,00[/b:207b90dd91]
[b:207b90dd91]1.3----------30,00[/b:207b90dd91]
1.3.1.............10,00
1.3.2.............15,00
1.3.3.............. 5,00
pq tenho que somar e jogar os valores nas contas cabeças(pai)
Fernando
Curtidas 0
Respostas
Aroldo Zanela
30/01/2006
Colega,
É só agrupar pela substring.
É só agrupar pela substring.
GOSTEI 0
Fernando
30/01/2006
como faria esse agrupamento
GOSTEI 0
Aroldo Zanela
30/01/2006
Colega,
Existem diversas formas de resolver. Desde o agrupamento na instrução SQL ou no próprio relatório. Qual é o banco de dados e qual gerador de relatórios está utilizando?
Existem diversas formas de resolver. Desde o agrupamento na instrução SQL ou no próprio relatório. Qual é o banco de dados e qual gerador de relatórios está utilizando?
GOSTEI 0
Fernando
30/01/2006
so usando firebird e meus relatorio faço tudo na mão usando rdprint
GOSTEI 0
Aroldo Zanela
30/01/2006
Colega,
Por favor, coloque a estrutura das tabelas (DDL) para que possamos elaborar um exemplo prático.
Por favor, coloque a estrutura das tabelas (DDL) para que possamos elaborar um exemplo prático.
GOSTEI 0
Biohazard
30/01/2006
cara eu tenho um programa de contabilidade prontinho. Se você quiser eu te passo... foi feito com o Firebir 1.5, dbexpress. Assim, ele não tá completo, mas dá para o que você quer
GOSTEI 0
Fernando
30/01/2006
Cadastro das Contas
Conta Varchar(4)
descricao varchar(30)
Movimentação
Conta Varchar(4)
Valor Numeric(9,3)
1----------100,00
1.1............. 20,00
1.1.1.......... 5,00
1.1.2.......... 15,00
1.2----------50,00
1.2.1----------50,00
1.3----------30,00
1.3.1.............10,00
1.3.2.............15,00
1.3.3.............. 5,00
primeiro cadastro as contas , depois faço a movimentação
so lanço as contas filhas tipo 1.1.1 ou 1.1.2, 1.1.3 e nunca as contas cabeças
Conta Varchar(4)
descricao varchar(30)
Movimentação
Conta Varchar(4)
Valor Numeric(9,3)
1----------100,00
1.1............. 20,00
1.1.1.......... 5,00
1.1.2.......... 15,00
1.2----------50,00
1.2.1----------50,00
1.3----------30,00
1.3.1.............10,00
1.3.2.............15,00
1.3.3.............. 5,00
primeiro cadastro as contas , depois faço a movimentação
so lanço as contas filhas tipo 1.1.1 ou 1.1.2, 1.1.3 e nunca as contas cabeças
GOSTEI 0
Aroldo Zanela
30/01/2006
Colega,
SELECT CAST(SUBSTRING(CONTA FROM 1 FOR 1) AS CHAR(4)) AS CONTA, SUM(VALOR) AS VALOR FROM MOVIMENTACAO GROUP BY SUBSTRING(CONTA FROM 1 FOR 1) UNION ALL SELECT CAST(SUBSTRING(CONTA FROM 1 FOR 2) AS CHAR(4)) AS CONTA, SUM(VALOR) AS VALOR FROM MOVIMENTACAO GROUP BY SUBSTRING(CONTA FROM 1 FOR 2) UNION ALL SELECT CONTA AS CHAR(4) AS CONTA, VALOR FROM MOVIMENTACAO ORDER BY CONTA
GOSTEI 0
Fernando
30/01/2006
SELECT CAST(SUBSTRING(plano_contas.Codigo FROM 1 FOR 1) AS CHAR(5)) AS CONTA,
SUM(mov_caixa.dinheiro) AS VALOR
FROM mov_Caixa
inner join conta on (conta.codigo=mov_caixa.conta)
inner join plano_contas on (plano_contas.conta = conta.codigo)
GROUP BY SUBSTRING(plano_contas.Codigo FROM 1 FOR 1)
UNION ALL
SELECT CAST(SUBSTRING(plano_contas.Codigo FROM 1 FOR 3) AS CHAR(5)) AS CONTA,
SUM(mov_caixa.dinheiro) AS VALOR
FROM mov_caixa
inner join conta on (conta.codigo=mov_caixa.conta)
inner join plano_contas on (plano_contas.conta = conta.codigo)
GROUP BY SUBSTRING(plano_contas.codigo FROM 1 FOR 3)
UNION ALL
SELECT CAST(SUBSTRING(plano_contas.Codigo FROM 1 FOR 5) AS CHAR(5)) AS CONTA,
SUM(mov_caixa.dinheiro) AS VALOR
FROM mov_caixa
inner join conta on (conta.codigo=mov_caixa.conta)
inner join plano_contas on (plano_contas.conta = conta.codigo)
GROUP BY SUBSTRING(plano_contas.codigo FROM 1 FOR 5)
dessa forma funcionou normal, so que ficou com um problema
as contas cabeças ele mostra 3 vezes, pq possui 3 sql
como faria para resolver esse problema
as contas sao gravadas ja com as mascaras
1
1.1.1
1.1.2
1.1.3
2
2.1
2.1.1
2.1.2
valeu
SUM(mov_caixa.dinheiro) AS VALOR
FROM mov_Caixa
inner join conta on (conta.codigo=mov_caixa.conta)
inner join plano_contas on (plano_contas.conta = conta.codigo)
GROUP BY SUBSTRING(plano_contas.Codigo FROM 1 FOR 1)
UNION ALL
SELECT CAST(SUBSTRING(plano_contas.Codigo FROM 1 FOR 3) AS CHAR(5)) AS CONTA,
SUM(mov_caixa.dinheiro) AS VALOR
FROM mov_caixa
inner join conta on (conta.codigo=mov_caixa.conta)
inner join plano_contas on (plano_contas.conta = conta.codigo)
GROUP BY SUBSTRING(plano_contas.codigo FROM 1 FOR 3)
UNION ALL
SELECT CAST(SUBSTRING(plano_contas.Codigo FROM 1 FOR 5) AS CHAR(5)) AS CONTA,
SUM(mov_caixa.dinheiro) AS VALOR
FROM mov_caixa
inner join conta on (conta.codigo=mov_caixa.conta)
inner join plano_contas on (plano_contas.conta = conta.codigo)
GROUP BY SUBSTRING(plano_contas.codigo FROM 1 FOR 5)
dessa forma funcionou normal, so que ficou com um problema
as contas cabeças ele mostra 3 vezes, pq possui 3 sql
como faria para resolver esse problema
as contas sao gravadas ja com as mascaras
1
1.1.1
1.1.2
1.1.3
2
2.1
2.1.1
2.1.2
valeu
GOSTEI 0
Aroldo Zanela
30/01/2006
Colega,
Por favor, faça um teste sem as associações (joins). Se necessário, crie uma view para simplicar o relacionamento.
Por favor, faça um teste sem as associações (joins). Se necessário, crie uma view para simplicar o relacionamento.
GOSTEI 0