Alan.Cristensen Postado 22 de Agosto de 2012 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 Denunciar Compartilhar Postado 22 de Agosto de 2012 (editado) 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 22 de Agosto de 2012 por Alan.Cristensen Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 22 de Agosto de 2012 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 Denunciar Compartilhar Postado 22 de Agosto de 2012 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Paulo Sergio Postado 22 de Agosto de 2012 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 Denunciar Compartilhar Postado 22 de Agosto de 2012 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
markitu Postado 22 de Agosto de 2012 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 Denunciar Compartilhar Postado 22 de Agosto de 2012 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alan.Cristensen Postado 22 de Agosto de 2012 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 Autor Denunciar Compartilhar Postado 22 de Agosto de 2012 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Paulo Sergio Postado 22 de Agosto de 2012 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 Denunciar Compartilhar Postado 22 de Agosto de 2012 OLA MINHA VERSAO É A 11.20. MINHA VERSAO É A 11.20 Alan, tentou usar aquele relacionamento que te passei ? Abraços Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alan.Cristensen Postado 22 de Agosto de 2012 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 Autor Denunciar Compartilhar Postado 22 de Agosto de 2012 (editado) 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 22 de Agosto de 2012 por Alan.Cristensen Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 22 de Agosto de 2012 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 Denunciar Compartilhar Postado 22 de Agosto de 2012 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 22 de Agosto de 2012 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 Denunciar Compartilhar Postado 22 de Agosto de 2012 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 ?? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alan.Cristensen Postado 22 de Agosto de 2012 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 Autor Denunciar Compartilhar Postado 22 de Agosto de 2012 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 ! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alan.Cristensen Postado 22 de Agosto de 2012 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 Autor Denunciar Compartilhar Postado 22 de Agosto de 2012 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. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alan.Cristensen Postado 22 de Agosto de 2012 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 Autor Denunciar Compartilhar Postado 22 de Agosto de 2012 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' Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Paulo Sergio Postado 22 de Agosto de 2012 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 Denunciar Compartilhar Postado 22 de Agosto de 2012 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alan.Cristensen Postado 23 de Agosto de 2012 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 Autor Denunciar Compartilhar Postado 23 de Agosto de 2012 (editado) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 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 23 de Agosto de 2012 por Alan.Cristensen Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 23 de Agosto de 2012 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 Denunciar Compartilhar Postado 23 de Agosto de 2012 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Alan.Cristensen Postado 23 de Agosto de 2012 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 Autor Denunciar Compartilhar Postado 23 de Agosto de 2012 (editado) 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 23 de Agosto de 2012 por Alan.Cristensen Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
markitu Postado 27 de Agosto de 2012 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 Denunciar Compartilhar Postado 27 de Agosto de 2012 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 Agradeceríamos se nos ajudasse já marcando o seu tópico sempre que resolvido. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
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.