Fórum ajuda no plano de contas #328441
01/09/2006
0
[b:77ab497018]tenho uma tabela de plano de contas com as seguintes campos[/b:77ab497018]
CODIGO VARCHAR(4) NOT NULL,
DESCRICAO VARCHAR(60) NOT NULL,
NIVEL VARCHAR(10) NOT NULL,
CONTA INTEGER
[b:77ab497018]tenho uma tabela de movimentacao de Caixa[/b:77ab497018]
DATA DATA NOT NULL,
CONTA INTEGER NOT NULL,
VALOR NUMERIC(9,2)
as 2 tabelas fazen junção com o campo [b:77ab497018]CONTA[/b:77ab497018] que existem em ambas as tabelas
Agora preciso tirar meu plano de Contas como segue a imagem e colocar os totais nas contas cabeças igual contabilidade, como segue o exemplo;
1 . Pagamentos
1.1 - Pagamento Funcionarios
1.1.1 - Pagamento de Funcionarios da Empresa
1.1.1.1 Salario
1.1.1.2 13º Salario
1.1.1.3 Ferias
1.1.1.4 Horas Extras
Se Tiver feito pagamento de 1.000 vai ser distribuido nas suas sub-contas
1 . Pagamentos [b:77ab497018]1.000,00[/b:77ab497018]
1.1 - Pagamento Funcionarios 800,00
1.1.1 - Pagamento de Funcionarios da Empresa 800,00
1.1.1.1 Salario 400,00
1.1.1.2 13º Salario 200,00
1.1.1.3 Ferias 150,00
1.1.1.4 Horas Extras 50,00
--------------------------------------------------------------
Total [b:77ab497018]800,00[/b:77ab497018]
1.2 - Pagamento Impostos 200.00
1.2.1 - Pagamento de Imposto de Salario 200.00
1.2.1.1 - INSS 80,00
1.2.1.2 - FGTS 90,00
1.2.1.3 - Imposto Diversos 30,00
----------------------------------------------------------------------
Total [b:77ab497018]200.00[/b:77ab497018]
preciso fazer a somatoria das sub-contas e jogar o total das sub-contas nas contas principais.
se alguem tiver ideia de como fazer isso, entre em contato,
valeu pessoal
Fernando
Curtir tópico
+ 0Posts
02/09/2006
Ronaldo.cutu
so consigui resolver isso somandos os niveis
fiz um procedure no Firebird que retorna uma exttrutua parecida o meu é um balancete
fiz um loop no plano de contas, no loop ele faz selects pegando valores totais dos niveis do movimento e depois relacionando as contas
essa é uma ideia que funcionou para mim
att
Ronaldo
Gostei + 0
02/09/2006
Dadonas
Gostei + 0
03/09/2006
Dalbem
Quero fazer um programa simples para cadastro de um plano de contas. Já sei quantos níveis eu terei (5) e quantos algarismos cada nível vai ter.
Ex:
1. Ativo
1.1 Circulante
1.1.1 xxxxxx
1.1.2 yyyyyyyy
...
Alguma idéia de como posso armazenar isso no meu BD?
Preciso do código da conta e descrição, mas que tipo de dados serão estes?
E como controlar, via programação ou qqer outra forma, que uma conta com código 1.2.1 não seja criada sem existir a conta superior 1.2 ?
Obrigado
Gostei + 0
04/09/2006
Ronaldo.cutu
NIVEL_1
id_nivel_1
ds_nivel_1
NIVEL_2
id_nivel_2 (pode repetir mais em conjunto com nivel 1 ex: 1.1 e 2.1)
ds_nivel_2
cod_nivel_1
NIVEL_3
id_nivel_3 (pode repetir mais em conjunto com nivel 1 e 2 ex: 1.1.1 e 2.1.1)
ds_nivel_3
cod_nivel_1
cod_nivel_2
NIVEL_4
id_nivel_4 (pode repetir mais em conjunto com nivel 1, 2 e 3 ex: 1.1.1.1 e 2.1.1.1)
ds_nivel_4
cod_nivel_1
cod_nivel_2
cod_nivel_3
NIVEL_5
id_nivel_5 (não se repete)
ds_nivel_5
cod_nivel_1
cod_nivel_2
cod_nivel_3
cod_nivel_4
att
Ronaldo
Gostei + 0
04/09/2006
Gilberto Fernandes
Gostei + 0
04/09/2006
Dalbem
obrigado pela idéia. Vamos assumir que o contador deseja encerrar o plano de contas e criar outro com 6 níveis agora. O software teria que voltar para a software house.
Queria fazer de uma forma que ficasse tudo parametrizado.
Abraços
Gostei + 0
04/09/2006
Dalbem
Você controla se o usuário quiser cadastrar conta 1.2.1 sem ter a conta 1.2 previamente cadastrada?
Qual a lógica de seu programa?
Obrigado
Gostei + 0
04/09/2006
Gilberto Fernandes
mas a estrutura da tabela é simples,
Código varchar(8)
Nome varchar(45)
Tipo varchar(1) S/A
aí tenho uma procedure q efetua a soma para as contas sintéticas, faço um loop pela tabela, se a conta for sintética eu pego todas as analíticas q comecem com o mesmo código do q aquela sintética
Trabalho desse jeito pq tenho fechamentos mensais, com rotina de fechamento mensal, onde faço esse somatório, mesmo se não for o modo mais eficaz, como é uma rotina feita poucas vezes não atrapalha o desempenho do sistema.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)