Jump to content

João Rodrigo

Membros
  • Content Count

    290
  • Joined

  • Last visited

  • Days Won

    12

João Rodrigo last won the day on November 4

João Rodrigo had the most liked content!

Community Reputation

17 Bom

About João Rodrigo

  • Rank
    ** Membro Destaque ** 01/2013

Profile Information

  • Sexo
    Masculino
  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.