Jump to content
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×

João Rodrigo

Membros
  • Posts

    290
  • Joined

  • Last visited

  • Days Won

    12

João Rodrigo last won the day on November 4 2019

João Rodrigo had the most liked content!

About João Rodrigo

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

João Rodrigo's Achievements

Master Collaborator

Master Collaborator (5/10)

  • Collaborator
  • First Post
  • Conversation Starter
  • One Year In
  • One Month Later

Recent Badges

17

Reputation

  1. Eu estava pensando em algo mais pratico, no SQLSever existe um recurso chamado Linked Server (http://technet.microsoft.com/en-us/library/ms188279.aspx) desta forma vc poderia importar o cadastro diretamente no banco. Porem precisaria montar uma Storage Procedure, que "pegaria" os dados do seu Servidor Oracle e inseri-se na tabela FCFO do seu SqlServer Há tbem a possibilidade de importar o cadastro conforme o wiki http://wikihelp.totvs.com.br/WikiHelp/FIN/FIN.ImportacaoClienteFornecedor.aspx
  2. Me fala uma coisa ... o que é feito com o campo CODCFO ? não é o mesmo nas duas bases?
  3. e se vc tentar criar 4 sub relatórios? LD01 (vazio) LD01.01 LD01.02 LD01.03 LD01.04
  4. pelo visto não é uma tabela, e sim uma view!
  5. boa tarde, este arquivo poderia ser extraído através de uma aplicação externa?
  6. é ai que entra a outra query, ou melhor, o case da outra query... por exemplo: esta query vai gerar este resultado : select CODCOLIGADA, idlan, valororiginal, ROW_NUMBER() OVER(ORDER BY idlan ) AS r from flan where idmov=:IDMOV CODCOLIGADA, idlan, valororiginal, r 1 , 13, 95, 1 ( primeira parcela) 1 , 14, 5, 2 (retenção) com base nessa query, é feito o case onde passamos o idlan e conseguir comparar qual parcela estamos "vendo", se passar o idlan=13 o valor de r será igual a 1 e com isso a mensagem é exibida. já se passarmos o idlan=14 o valor de r será 2 e não teremos retorno (null)
  7. já tentou tirar estes +60? SE HORASTRAB(DATA) >0 E DIASEM(DATA) = 'DOM' ENTAO SETVAR(TOTAL,TOTAL +(HORASTRAB(DATA) ));
  8. Pelo o que eu entendi de seus anexos era para funcionar: select CODCOLIGADA, idlan, valororiginal, ROW_NUMBER() OVER(ORDER BY idlan ) AS r from flan where idmov=:IDMOV nesta query, será retornado todos os lançamentos de um movimento, ordenando pelo idlan e aqui é tratado quando é o primeiro lançamento, retornando a mensagem ou null quando não for: select case when r=1 then ( 'Retenção Contratual de R$ '+ convert(varchar, cast((select sum(valororiginal) from flan where idmov=:IDMOV and CODCOLIGADA=:CODCOLIGADA )-f.valororiginal AS money), 1)) else null end
  9. Entendi sim... esta solução para o problema pode ser uma consulta em SQL? select case when r=1 then ( 'Retenção Contratual de R$ '+ convert(varchar, cast((select sum(valororiginal) from flan where idmov=:IDMOV and CODCOLIGADA=:CODCOLIGADA )-f.valororiginal AS money), 1)) else null end from( select CODCOLIGADA, idlan, valororiginal, ROW_NUMBER() OVER(ORDER BY idlan ) AS r from flan where idmov=:IDMOV )f where IDLAN=:IDLAN and CODCOLIGADA=:CODCOLIGADA
  10. SELECT PFUNC.NOME,PFUNC.CODFUNCAO,PFUNCAO.NOME "FUNÇAO", TIPODEMISSAO, PTPDEMISSAO.DESCRICAO, COUNT(PFUNC.NOME) AS QNT_DEM FROM PFUNC INNER JOIN PTPDEMISSAO ON PFUNC.TIPODEMISSAO = PTPDEMISSAO.CODCLIENTE inner join PFUNCAO on PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA and PFUNC.CODFUNCAO = PFUNCAO.CODIGO WHERE PFUNC.TIPODEMISSAO NOT IN ('5','6') AND ( TO_CHAR(PFUNC.DATADEMISSAO,'MM')>=:PLN_B1_N /* mes inicial */ AND TO_CHAR(PFUNC.DATADEMISSAO,'MM')<=:PLN_C1_N ) /* mes final*/ AND TO_CHAR(PFUNC.DATADEMISSAO, 'YYYY')=:PLN_B2_N GROUP BY PFUNC.NOME,PFUNC.CODFUNCAO,PFUNC.TIPODEMISSAO, PTPDEMISSAO.DESCRICAO ,PFUNCAO.NOME
  11. veja se assim te ajuda: SELECT PFUNC.NOME,PFUNC.CODFUNCAO,PFUNCAO.NOME "FUNÇAO", TIPODEMISSAO, PTPDEMISSAO.DESCRICAO, COUNT(PFUNC.NOME) AS QNT_DEM FROM PFUNC INNER JOIN PTPDEMISSAO ON PFUNC.TIPODEMISSAO = PTPDEMISSAO.CODCLIENTE inner join PFUNCAO on PFUNC.CODCOLIGADA = PFUNCAO.CODCOLIGADA and PFUNC.CODFUNCAO = PFUNCAO.CODIGO WHERE PFUNC.TIPODEMISSAO NOT IN ('5','6') AND TO_CHAR(PFUNC.DATADEMISSAO,'MM')=:PLN_B1_N AND TO_CHAR(PFUNC.DATADEMISSAO, 'YYYY')=:PLN_B2_N GROUP BY PFUNC.NOME,PFUNC.CODFUNCAO,PFUNC.TIPODEMISSAO, PTPDEMISSAO.DESCRICAO ,PFUNCAO.NOME
  12. Tente assim : SELECT count(*) FROM PFUNC WHERE PFUNC.CODCOLIGADA ='2' AND PFUNC.CODFILIAL ='1' AND (PFUNC.CODSECAO ='001.01.01.01.004' OR PFUNC.CODSECAO >= '001.01.05.03.001' AND PFUNC.CODSECAO <= '001.01.05.03.005' ) AND PFUNC.CODSITUACAO = 'A' AND PFUNC.DATAADMISSAO <= $NoMes
  13. este P_COD é o campo COD da SQL RELATORIOS 02 ? ​se for, você terá que utilizar o espelho para levar este paramento!
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.