Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Ligação Entre Flan e Clanca


Alan.Cristensen

Posts Recomendados


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  142
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  30

OLÁ BOM DIA.

O RM POSSUI UM RELATORIO NO SALDUS (ID DO RELAT = 380563 PODE SER ACESSADO NA OPCAO -> RELATORIOS -> BALANCETE).

UM RELATORIO GERADO POR ESTA OPCAO É O GASTOS POR CENTRO DE CUSTO E CONTA CONTABIL É O QUE

QUEREMOS OBTER POR CONTA VIA SQL , PORQUE O RELATORIO EM QUESTAO TRAZ INFORMAÇÕES DEMAIS E

TAMBÉM QUEREMOS CRIAR UMA PLANILHA DESTA CONSULTA.

PORÉM VENDO AS TABELAS FLAN (TODAS) VI QUE APESAR DE TER O CENTRO DE CUSTO NOS LANÇAMENTOS

NÃO TEM A CONTA CONTABIL A QUAL UM DETERMINADO VALOR FOI DESTINADO

----------------------------------------------------------------------------------------------

EXEMPLO : CCC = ALMOXARIFADO -----> 1200

CONTA CONTABIL 111 ------ SALARIOS 600

222 ------ EQUIPAMENTOS 600

----------------------------------------------------------------------------------------------

ENTAO ME PERGUNTEI , COMO ELES GERAM AQUELE RELATORIO.... DEVE HAVER ALGUMA RELAÇÃO ENTRE

LANÇAMENTOS E CONTAS CONTÁBEIS, MAS ONDE ?

NA CLANCA TEM O VALOR GASTOS POR CENTRO DE CUSTO E CONTA CONTABIL , SENDO QUE ELE USA UM

CAMPO LCTREF PARA FAZER O RATEIO DE UM DETERMINADO VALOR PARA CENTROS DE CUSTO E CC.

MAS NÃO CONSEGUI ENCONTRAR NEHUMA TABELA QUE INDIQUE QUE O IDLAN DA TABELA FLAN CORRESPONDE A

TAL NUMERO (LCTREF) NA TABELA CLANCA.

PEÇO AJUDA DE VOCES POIS JA ESTOU A UM TEMPO TENTANDO MAS NÃO ENCONTRO.

MUITO OBRIGADO PELA ATENÇÃO.

OBS : NA TABELA FLANRAT POSSUI O CENTRO DE CUSTO E CONTA CONTABIL PARA QUAL SE FOI O VALOR DE UMA BAIXA

PORÉM NÃO SEI O MOTIVO PELO QUAL HÁ MUITOS LANÇAMENTOS QUE NÃO VÃO PARA FLANRAT POR EXEMPLO

SALARIOS.

NÃO HÁ NENHUM LANÇAMENTO DE SALARIO NESTA TABELA (FLANRAT) , SENDO QUE NA FLAN EXISTE.

Editado por Alan.Cristensen
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  1.140
  • Conteúdo/Dia:  0.21
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Alan,

Quando precisava fazer relatórios ligando FLAN com CLANCA, utilizava o campo INTEGRACHAVE, mas onde ele coloca uma letra e depois o numero na maioria das vezes era o ID da origem da aplicação.

Veja se esse campo pode te ajudar.

[]'s

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  60
  • Conteúdo/Dia:  0.01
  • Reputação:   4
  • Pontos/Conquistas:  370
  • Conteúdo Resolvido:  0
  • Dias Ganho:  3
  • Status:  Offline
  • Idade:  43

Alan,

Qual a sua versão ? Veja se a tabela flancont te ajuda, caso precise usar a clanca, tente usar como abaixo:

FROM Clanca AS C (Nolock)

INNER JOIN Flan AS L (Nolock) ON (L.Codcoligada=C.Codcoligada AND L.Idlan=Substring(C.Integrachave, 2, 10))

Abraços

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Aviso - Problema no seu Post ou no seu Tópico

NÃO USE CAIXA ALTA OU NEGRITOS EM TODO O SEU TEXTO, OU NOS TÍTULOS QUANDO POSTAR.

CAIXA ALTA = Todo o Texto em MAIUSCULO.

Isso é contra as regras do Fórum, e atrapalha muito a leitura.

Regras do Forum:

4.12. Não escreva todas as letras em MAIÚSCULAS ou negritas tanto no Título ou no corpo das suas mensagens, pois, isto é extremamente desagradável, equivale a GRITAR. Além de ser desagradável de ler, também é injusto, pois, faz com que sua mensagem tenha mais destaque que as demais. Em resumo, é proibido o uso na postagem de mensagens inteiras. É permitido em trechos de mensagens visando chamar a atenção para a informação ali contida. Também é proibida a postagem de mensagens inteiras com cores berrantes ou qualquer outra maneira de chamar a atenção.

* Favor Editar o seu post/topico e corrigir !!

Obrigado,

Equipe Fórum RM

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  142
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  30

Alan,

Qual a sua versão ? Veja se a tabela flancont te ajuda, caso precise usar a clanca, tente usar como abaixo:

FROM Clanca AS C (Nolock)

INNER JOIN Flan AS L (Nolock) ON (L.Codcoligada=C.Codcoligada AND L.Idlan=Substring(C.Integrachave, 2, 10))

Abraços

OLA MINHA VERSAO É A 11.20.

Alan,

Qual a sua versão ? Veja se a tabela flancont te ajuda, caso precise usar a clanca, tente usar como abaixo:

FROM Clanca AS C (Nolock)

INNER JOIN Flan AS L (Nolock) ON (L.Codcoligada=C.Codcoligada AND L.Idlan=Substring(C.Integrachave, 2, 10))

Abraços

MINHA VERSAO É A 11.20

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  60
  • Conteúdo/Dia:  0.01
  • Reputação:   4
  • Pontos/Conquistas:  370
  • Conteúdo Resolvido:  0
  • Dias Ganho:  3
  • Status:  Offline
  • Idade:  43

OLA MINHA VERSAO É A 11.20.

MINHA VERSAO É A 11.20

Alan, tentou usar aquele relacionamento que te passei ?

Abraços

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  142
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  30

Alan, tentou usar aquele relacionamento que te passei ?

Abraços

TENTEI MAS ESTA DANDO ERRO AO TENTAR CONVERTER DE VARCHAR PARA NUMERIC ... ESTOU CONVERTENDO POR ESTAR USANDO UM SUBSTRING POREM ELE DA O ERRO

SELECT C.CODCCUSTO, C.CREDITO, C.COMPLEMENTO, C.VALOR

FROM Clanca AS C (Nolock)

INNER JOIN Flan AS L (Nolock) ON (L.Idlan=CONVERT (NUMERIC(10),Substring(C.Integrachave, 2, 10)))

Msg 8114, Level 16, State 5, Line 1

Error converting data type varchar to numeric.

Editado por Alan.Cristensen
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  1.140
  • Conteúdo/Dia:  0.21
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Alan,

tente assim

SELECT C.CODCCUSTO, C.CREDITO, C.COMPLEMENTO, C.VALOR

FROM Clanca AS C (Nolock)

INNER JOIN Flan AS L (Nolock) ON (convert(varchar,L.Idlan) = Substring(C.Integrachave, 2, 10))

Lembrando que esse tipo de conversão implícita faz o banco ter um lentidão maior no momento da execução.

[]'s

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  902
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.855
  • Conteúdo/Dia:  1.34
  • Reputação:   311
  • Pontos/Conquistas:  106.691
  • Conteúdo Resolvido:  0
  • Dias Ganho:  195
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Detalhe 1 - Isso aqui por provocar problema, pois, as vezes, não lembro em quais casos, o que ideitifica no inicio não é apenas uma letra e sim duas... entao, pode dar erro por converter uma letra e os numeros para numerico.

Substring(C.Integrachave, 2 , 10))

Detalhe 2 - Alan, voce iniciou o topico escrevendo tudo em MAIUSCULO, foi alertado ( acima ) que não deve fazer isso e continua a escrever com tudo MAIUSCULO !! E ai ??

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  142
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  30

Detalhe 1 - Isso aqui por provocar problema, pois, as vezes, não lembro em quais casos, o que ideitifica no inicio não é apenas uma letra e sim duas... entao, pode dar erro por converter uma letra e os numeros para numerico.

Substring(C.Integrachave, 2 , 10))

Detalhe 2 - Alan, voce iniciou o topico escrevendo tudo em MAIUSCULO, foi alertado ( acima ) que não deve fazer isso e continua a escrever com tudo MAIUSCULO !! E ai ??

ola adm desculpa e mania de programador COBOL mesmo..... to em banco de dados e ainda faço as coisas como se estivesse em uma tela de mainframe....rsrsrs

desculpa !

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  142
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  30

Alan,

tente assim

SELECT C.CODCCUSTO, C.CREDITO, C.COMPLEMENTO, C.VALOR

FROM Clanca AS C (Nolock)

INNER JOIN Flan AS L (Nolock) ON (convert(varchar,L.Idlan) = Substring(C.Integrachave, 2, 10))

Lembrando que esse tipo de conversão implícita faz o banco ter um lentidão maior no momento da execução.

[]'s

OBRIGADO ... ESTA FUNCIONANDO AGORA VOU ANALISAR OS RESULTADOS ... DEPOIS DOU RETORNO.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  142
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  30

vou acrescentar um detalhe.

Na tabela CLANCA eu tenho os lançamentos com o centro de custo e contacontabil.....certo

porém quando tenho um lançamento que possui rateio entre centros de custos ele joga este rateio para outra tabela CRATEIOLC....

e la coloca o lctref - centro custo - conta contabil - valor

Ou seja, na CLANCA tenho lançamentos que vão para um unico centro de custo.

Ja na CRATEIOLC tenho os lançamentos que possuem mais de um centro de custo (exemplo alimentação).

sendo que preciso da soma dos valores por centro custo e contabil , teria de fazer a uniao da soma das duas tabelas.

unir a soma dos centros de custos e das contas contabeis das duas tabelas.

Como poderia fazer um comando que faz a soma de uma tabela e junta com a soma de outra?

comando usado :

SELECT CL.CODCCUSTO, CL.CREDITO, CU.NOME, CC.DESCRICAO, SUM(CL.VALOR)

FROM CLANCA CL, GCCUSTO CU, CCONTA CC

WHERE CL.CODCCUSTO = CU.CODCCUSTO AND

CL.CREDITO = CC.CODCONTA AND

CL.DATAINTEGRACAO BETWEEN '2012-07-01' AND '2012-07-31'

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  60
  • Conteúdo/Dia:  0.01
  • Reputação:   4
  • Pontos/Conquistas:  370
  • Conteúdo Resolvido:  0
  • Dias Ganho:  3
  • Status:  Offline
  • Idade:  43

Detalhe 1 - Isso aqui por provocar problema, pois, as vezes, não lembro em quais casos, o que ideitifica no inicio não é apenas uma letra e sim duas... entao, pode dar erro por converter uma letra e os numeros para numerico.

Substring(C.Integrachave, 2 , 10))

Detalhe 2 - Alan, voce iniciou o topico escrevendo tudo em MAIUSCULO, foi alertado ( acima ) que não deve fazer isso e continua a escrever com tudo MAIUSCULO !! E ai ??

Jair,

Creio que quando ele traz duas letras quando é um lote de estorno, creio no estorno fique assim .. EI+idlan.

vou acrescentar um detalhe.

Na tabela CLANCA eu tenho os lançamentos com o centro de custo e contacontabil.....certo

porém quando tenho um lançamento que possui rateio entre centros de custos ele joga este rateio para outra tabela CRATEIOLC....

e la coloca o lctref - centro custo - conta contabil - valor

Ou seja, na CLANCA tenho lançamentos que vão para um unico centro de custo.

Ja na CRATEIOLC tenho os lançamentos que possuem mais de um centro de custo (exemplo alimentação).

sendo que preciso da soma dos valores por centro custo e contabil , teria de fazer a uniao da soma das duas tabelas.

unir a soma dos centros de custos e das contas contabeis das duas tabelas.

Como poderia fazer um comando que faz a soma de uma tabela e junta com a soma de outra?

comando usado :

SELECT CL.CODCCUSTO, CL.CREDITO, CU.NOME, CC.DESCRICAO, SUM(CL.VALOR)

FROM CLANCA CL, GCCUSTO CU, CCONTA CC

WHERE CL.CODCCUSTO = CU.CODCCUSTO AND

CL.CREDITO = CC.CODCONTA AND

CL.DATAINTEGRACAO BETWEEN '2012-07-01' AND '2012-07-31'

Alan,

Para voce fazer isso, terá que fazer um union nos select e depois fazer um sum.

Abraços

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  142
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  30

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SELECT cl.codccusto AS CENTROCUSTO, cl.credito AS CONTABIL, cu.nome AS NOMECCUSTO, cc.descricao AS DESCRICAO, SUM(cl.valor) AS SOMA

FROM CLANCA CL, GCCUSTO CU, CCONTA CC

WHERE cl.codccusto = cu.codccusto AND

cl.credito = cc.codconta AND

cl.dataintegracao BETWEEN '2012-07-01' AND '2012-07-31'

GROUP BY cl.codccusto, cl.credito, cu.nome, cc.descricao

UNION

SELECT cr.codgerencial AS CENTROCUSTO, cr.codconta AS CONTABIL, cu.nome AS NOMECCUSTO, cc.descricao AS DESCRICAO, SUM(cr.vlrdebito) AS SOMA

FROM CRATEIOLC CR, GCCUSTO CU, CCONTA CC

WHERE cr.codgerencial = cu.codccusto AND

cr.codconta = cc.codconta AND

cr.data BETWEEN '2012-07-01' AND '2012-07-31'

GROUP BY cr.codgerencial, cr.codconta, cu.nome , cc.descricao

------------------------------------------------------------------------------------------------------------------------------------------------

olá pessoal , bom estou usando o comando acima para unir o resultado da soma dos selects, só que como o esperado ele esta unindo selects e assim duplica os campos presentes no group by.

como eu poderia fazer para pegar esta uniao inteira somando pelo agrupamento que existe nos dois selects.

ou seja, deve retornar como se fosse um select só (os mesmos campos) só que somando e agrupando pelos campos presentes na clausula group by.

é possivel?

obrigado e bom dia.

Editado por Alan.Cristensen
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  1.140
  • Conteúdo/Dia:  0.21
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Alan,

Veja se assim ajuda

SELECT

CENTROCUSTO,

CONTABIL,

NOMECCUSTO,

DESCRICAO,

SUM(SOMA) AS SOMA

FROM

(

SELECT

cl.codccusto AS CENTROCUSTO,

cl.credito AS CONTABIL,

cu.nome AS NOMECCUSTO,

cc.descricao AS DESCRICAO,

SUM(cl.valor) AS SOMA

FROM

CLANCA CL, GCCUSTO CU, CCONTA CC

WHERE

cl.codccusto = cu.codccusto AND

cl.credito = cc.codconta AND

cl.dataintegracao BETWEEN '2012-07-01' AND '2012-07-31'

GROUP BY

cl.codccusto,

cl.credito,

cu.nome,

cc.descricao

UNION

SELECT

cr.codgerencial AS CENTROCUSTO,

cr.codconta AS CONTABIL,

cu.nome AS NOMECCUSTO,

cc.descricao AS DESCRICAO,

SUM(cr.vlrdebito) AS SOMA

FROM

CRATEIOLC CR, GCCUSTO CU, CCONTA CC

WHERE

cr.codgerencial = cu.codccusto AND

cr.codconta = cc.codconta AND

cr.data BETWEEN '2012-07-01' AND '2012-07-31'

GROUP BY

cr.codgerencial,

cr.codconta,

cu.nome,

cc.descricao

)TABELATOTAL

GROUP BY

CENTROCUSTO,

CONTABIL,

NOMECCUSTO,

DESCRICAO

Apenas um detalhe você está usando o comando UNION ele vai fazer o papel do DISTINCT entre as duas sentenças, quer dizer se tiver uma linha igual com os mesmos valores ele vai descartar um dos repetidos, o ideal acredito seja em utilizar o UNION ALL.

[]'s

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  4
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  20
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  142
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  30

Olá funcionou sim.

O comando esta quase perfeito, falta alguns rounds e também verificar a consistencia de todos os dados.

Sendo assim, dou como resolvido o Tópico.

Muito obrigado à todos , sempre que puder ajudar estou as ordens.

Editado por Alan.Cristensen
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Aviso Sobre MultiModeração para Membros

Que bom que resolveu o seu problema ou dúvida. :)

Não sei se você já sabe, mas no fórum existe o processo de multimoderação onde o próprio usuário que abriu o tópico pode marcar como resolvido. Assim nos ajudando a manter as informações sempre atualizadas por aqui!!

Dá uma olhada no link abaixo que mostra como fazer.

http://www.forumrm.com.br/index.php?showtopic=1555

:victory: Agradeceríamos se nos ajudasse já marcando o seu tópico sempre que resolvido.

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.