none
Erro CommandText RRS feed

  • Pergunta

  • Estou com um select dando erro conforme abaixo, e o problema é na linha do Insert, pois quando retiro ela, o erro some, mas não consigo inserir os valores que pretendo na minha tabela:


    Marcelo C. Nascimento

    domingo, 2 de junho de 2013 21:40

Todas as Respostas

  • Marcelo, bom dia.

    Qual IDE vc está utilizando para realização deste comando? Pelo que vejo não é o SSMS. Tente colocar a consulta no SSMS e por favor, poste o erro novamente.

    O problema deve estar em outro lugar da consulta.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 3 de junho de 2013 12:10
  • Eduardo,

    Na verdade no SSMS roda. Não está rodando no TMS que usamos. Este TMS possui recurso de consultas que montamos e colocamos o SLQ lá. Normalmente ele funciona para tudo, mas este caso está retornando este erro.


    Marcelo C. Nascimento

    segunda-feira, 3 de junho de 2013 15:28
  • Deleted
    terça-feira, 4 de junho de 2013 00:17
  • Bom, problema no TMS eu sei que é. É que eles disponibilizam a ferramenta, mas para problemas desse tipo não dão atenção infelizmente.

    Acredito que no TMS esteja rodando alguma versão antiga de algo, pois em outras tentativas ele emitiu aviso de verificar uma tal biblioteca do SQL 2005.

    Queria pelo menos ter certeza do que pode ser para enviar e-mail à eles com a solução.

    Só sei que o problema está com o Insert, mas não sei exatamente onde.

    Agora observei algo. Não tenho certeza que o problema esteja no Insert, porque tenho um select parecido usando o mesmo Insert e não tive este erro. O relatório foi gerado normalmente. Abaixo o outro select que roda normal:

    SET ANSI_NULLS ON
    SET QUOTED_IDENTIFIER ON
    SET CONCAT_NULL_YIELDS_NULL ON
    SET ANSI_WARNINGS ON
    SET ANSI_PADDING ON


    DELETE FROM TMP_RENT

    DECLARE @DATA_RENT DATETIME

    SET @DATA_RENT=:DATAINICIO

    WHILE @DATA_RENT<=:DATAFIM

    BEGIN

    INSERT INTO [TMP_RENT] ([DATA],[RECEITA],[GASTOS],[LUCRO_LIQUIDO],[RETORNO])

    SELECT @DATA_RENT, SUM(RECEITA), SUM(GASTOS),SUM(RECEITA-GASTOS),SUM(RECEITA-GASTOS)*100/(SUM(RECEITA)) AS RETORNO FROM

    (

    SELECT

    RENT.DATAEMISSAO,
    CAST((RENT.VALOR_TOTAL_CTE + RENT.SERVICOS) AS MONEY) AS RECEITA,

    CAST((RENT.BROKER + RENT.ICMS_PROCARGA + RENT.PIS + RENT.COFINS + RENT.IRRF + RENT.CSLL + RENT.VALOR_AP + RENT.NET + RENT.ADV_PAGAR + RENT.ISS + RENT.CUSTO_OP) AS MONEY) as GASTOS,

    CAST(((RENT.VALOR_TOTAL_CTE + RENT.SERVICOS) - (RENT.BROKER - RENT.ICMS_PROCARGA - RENT.PIS - RENT.COFINS - RENT.IRRF - RENT.CSLL - RENT.VALOR_AP - RENT.NET - RENT.ADV_PAGAR - RENT.ISS - RENT.CUSTO_OP))AS MONEY) AS LUCRO_LIQUIDO,

    CAST((((RENT.VALOR_TOTAL_CTE + RENT.SERVICOS) - RENT.BROKER - RENT.ICMS_PROCARGA - RENT.PIS - RENT.COFINS - RENT.IRRF - RENT.CSLL - RENT.VALOR_AP - RENT.NET - RENT.ADV_PAGAR - RENT.ISS - RENT.CUSTO_OP)/RENT.VALOR_TOTAL_CTE)*100 AS MONEY) AS RETORNO

    FROM

    (SELECT
    A.HANDLE AS H_DOC,
    A.NUMERO AS Documento,
    CASE WHEN A.TIPODOCUMENTO = 2 THEN 'CT-e' WHEN A.TIPODOCUMENTO = 6 THEN 'NFS-e' END AS TIPO,
    A.DATAEMISSAO AS DATAEMISSAO,
    B.NOME AS REMETENTE,
    B03.NOME AS UF_Origem,
    C.NOME AS DESTINATARIO,
    C03.NOME AS UF_Destino,
    D.HANDLE AS H_TOMADOR,
    D.NOME AS TOMADOR,
    D02.HANDLE AS H_REP,
    ISNULL(D02.NOME,'SEM REPRESENTANTE') AS REPRESENTANTE,

    ISNULL((SELECT ISNULL((SELECT G.PERCENTUAL AS PERCENT_CTE
    FROM GLGL_DOCUMENTOS X
    INNER JOIN GN_PESSOAS B ON X.TOMADORSERVICOPESSOA=B.HANDLE
    INNER JOIN GLCM_COMISSIONADOS D ON D02.HANDLE=D.PESSOA
    INNER JOIN GLCM_REGRACOMISSIONADOS E ON D.HANDLE=E.COMISSIONADO
    INNER JOIN GLCM_COMISSOES F ON E.COMISSAO=F.HANDLE
    INNER JOIN GLCM_COMISSAOFAIXAS G ON F.HANDLE=G.COMISSAO
    WHERE A.TIPODOCUMENTO=2 AND F.FORMACOMISSAO=57 AND X.HANDLE=A.HANDLE
    GROUP BY X.HANDLE,X.TIPODOCUMENTO, G.PERCENTUAL),

    (SELECT G.PERCENTUAL AS PERCENT_NFSE
    FROM GLGL_DOCUMENTOS Y
    INNER JOIN GN_PESSOAS B ON Y.TOMADORSERVICOPESSOA=B.HANDLE
    INNER JOIN GLCM_COMISSIONADOS D ON D02.HANDLE=D.PESSOA
    INNER JOIN GLCM_REGRACOMISSIONADOS E ON D.HANDLE=E.COMISSIONADO
    INNER JOIN GLCM_COMISSOES F ON E.COMISSAO=F.HANDLE
    INNER JOIN GLCM_COMISSAOFAIXAS G ON F.HANDLE=G.COMISSAO
    WHERE A.TIPODOCUMENTO=6 AND F.FORMACOMISSAO=436  AND Y.HANDLE=A.HANDLE
    GROUP BY Y.HANDLE,Y.TIPODOCUMENTO, G.PERCENTUAL))),0) AS COMISSAO,

    A.VALORCONTABIL * ISNULL((SELECT ISNULL((SELECT G.PERCENTUAL AS PERCENT_CTE
    FROM GLGL_DOCUMENTOS X
    INNER JOIN GN_PESSOAS B ON X.TOMADORSERVICOPESSOA=B.HANDLE
    INNER JOIN GLCM_COMISSIONADOS D ON D02.HANDLE=D.PESSOA
    INNER JOIN GLCM_REGRACOMISSIONADOS E ON D.HANDLE=E.COMISSIONADO
    INNER JOIN GLCM_COMISSOES F ON E.COMISSAO=F.HANDLE
    INNER JOIN GLCM_COMISSAOFAIXAS G ON F.HANDLE=G.COMISSAO
    WHERE A.TIPODOCUMENTO=2 AND F.FORMACOMISSAO=57 AND X.HANDLE=A.HANDLE
    GROUP BY X.HANDLE,X.TIPODOCUMENTO, G.PERCENTUAL),

    (SELECT G.PERCENTUAL AS PERCENT_NFSE
    FROM GLGL_DOCUMENTOS Y
    INNER JOIN GN_PESSOAS B ON Y.TOMADORSERVICOPESSOA=B.HANDLE
    INNER JOIN GLCM_COMISSIONADOS D ON D02.HANDLE=D.PESSOA
    INNER JOIN GLCM_REGRACOMISSIONADOS E ON D.HANDLE=E.COMISSIONADO
    INNER JOIN GLCM_COMISSOES F ON E.COMISSAO=F.HANDLE
    INNER JOIN GLCM_COMISSAOFAIXAS G ON F.HANDLE=G.COMISSAO
    WHERE A.TIPODOCUMENTO=6 AND F.FORMACOMISSAO=436  AND Y.HANDLE=A.HANDLE
    GROUP BY Y.HANDLE,Y.TIPODOCUMENTO, G.PERCENTUAL))),0)/100  AS BROKER,

    E02.NUMEROVIAGEM AS VIAGEM,
    A.DOCCLIATUALVALORTOTAL AS VALOR_NOTAS,
    A.VALORGENERALIDADES AS GENERALIDADES,
    ISNULL(A.VALORGRIS,0) AS VALOR_GRIS,
    A.VALOROUTROS AS ICMS_COBRADO,
    A.VALORPEDAGIO AS PEDAGIO,
    ISNULL(A.VALORTOTAL - A.VALORPEDAGIO - A.VALORSERVICOSADICIONAIS - A.VALORTAXADESPACHO - A.VALORGRIS - A.VALORGENERALIDADES,0) AS VALOR_FRETE,
    A.VALORTOTALRECEBER AS VALOR_TOTAL_CTE,
    ISNULL(F.VALORICMS,0) AS ICMS,
    ISNULL(F.VALORICMS * 0.7,0) AS ICMS_PROCARGA,
    ISNULL(F.VALORPIS,0) AS PIS,
    ISNULL(F.VALORCOFINS,0) AS COFINS,
    ISNULL(K.VALORISS,0) AS ISS,
    A.VALORTOTALRECEBER * 0.012 AS IRRF,
    A.VALORTOTALRECEBER * 0.0108 AS CSLL,
    I.PLACANUMERO AS PLACA,
    J.NOME AS FILIAL,

    ISNULL((SELECT SUM(X.VALORTOTAL) FROM
    GLGL_DOCUMENTOS X
    INNER JOIN GLOP_SERVICOREALIZADORPS Y ON A.HANDLE=Y.DOCUMENTOLOGISTICA
    WHERE Y.DOCUMENTOLOGISTICARPS=X.HANDLE),0) AS SERVICOS,

    (SELECT COUNT(X.HANDLE) FROM
    GLGL_DOCUMENTOS X
    INNER JOIN GLOP_SERVICOREALIZADORPS Y ON A.HANDLE=Y.DOCUMENTOLOGISTICA
    WHERE Y.DOCUMENTOLOGISTICARPS=X.HANDLE) AS QTD_SERVICOS,

    ISNULL((SELECT SUM(VALOR) FROM  (SELECT X.VALORNOMINAL as Valor
    FROM FN_DOCUMENTOS X
    WHERE X.K_DOCUMENTOLOGISTICA=A.HANDLE AND (X.ENTRADASAIDA = 'E') AND (X.TIPODEMOVIMENTO IN (1,2)) OR ((X.ENTRADASAIDA = 'S')
      AND (X.TIPODEMOVIMENTO = 3)) AND (X.ABRANGENCIA <> 'R' AND X.ABRANGENCIA <> 'F' AND X.ABRANGENCIA <> 'A')
      AND (X.OPERACAOCANCELAMENTO IS NULL) AND ((X.EFETUANDOINTEGRACAO <> 'S') OR (X.EFETUANDOINTEGRACAO IS NULL))
      GROUP BY X.HANDLE,X.VALORNOMINAL) AS VALOR_AP),0) AS VALOR_AP,

    (SELECT COUNT(HAND) FROM  (SELECT X.HANDLE AS HAND
    FROM FN_DOCUMENTOS X
    WHERE X.K_DOCUMENTOLOGISTICA=A.HANDLE AND (X.ENTRADASAIDA = 'E') AND (X.TIPODEMOVIMENTO IN (1,2)) OR ((X.ENTRADASAIDA = 'S')
      AND (X.TIPODEMOVIMENTO = 3)) AND (X.ABRANGENCIA <> 'R' AND X.ABRANGENCIA <> 'F' AND X.ABRANGENCIA <> 'A')
      AND (X.OPERACAOCANCELAMENTO IS NULL) AND ((X.EFETUANDOINTEGRACAO <> 'S') OR (X.EFETUANDOINTEGRACAO IS NULL))
      GROUP BY X.HANDLE,X.VALORNOMINAL) AS VALOR_AP) AS QTD_AP,

    (A.VALORCONTABIL/(SELECT SUM(Valor_Cte)
    FROM
    (select X.VALORCONTABIL as Valor_CTe
    FROM GLGL_DOCUMENTOS X
    INNER JOIN GLOP_VIAGEMDOCUMENTOS B ON X.HANDLE = B.DOCUMENTOLOGISTICA
    INNER JOIN GLOP_VIAGENS C ON B.VIAGEM = C.HANDLE
    WHERE C.HANDLE=E02.HANDLE AND X.STATUS NOT IN(236,237) GROUP BY X.HANDLE,X.VALORCONTABIL) SELECAO))*

    (SELECT ((SELECT SUM(Valor_Contratos)
    FROM
    (select Z.VALORPARCELAS as Valor_Contratos
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    WHERE X.HANDLE=E02.HANDLE AND Z.STATUS NOT IN(433) GROUP BY Z.HANDLE,Z.VALORPARCELAS) SELECAO2)+

    (SELECT ISNULL(SUM(Valor_Adicional),0)
    FROM
    (select W.VALORPARCELAS as Valor_Adicional
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    LEFT JOIN GLOP_CONTRATOFRETES W ON Z.HANDLE = W.CONTRATOORIGEM
    WHERE X.HANDLE=E02.HANDLE  AND (Z.STATUS NOT IN(433) OR W.STATUS NOT IN(433)) GROUP BY W.HANDLE,W.VALORPARCELAS) SELECAO3)) AS SOMA) AS NET,

    (SELECT LEFT(Cont,len(Cont)-1) from (SELECT (SELECT  COALESCE(
    (SELECT CAST(Z.NUMERO AS VARCHAR(8000)),', ' AS [text()]
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    WHERE X.HANDLE=E02.HANDLE AND Z.STATUS NOT IN(433)GROUP BY X.HANDLE,Z.NUMERO
    FOR XML PATH(''), TYPE).value('.[1]', 'VARCHAR(MAX)'),''))+

    (ISNULL((SELECT  COALESCE(
    (SELECT CAST(W.NUMERO AS VARCHAR(8000)),', ' AS [text()]
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    LEFT JOIN GLOP_CONTRATOFRETES W ON Z.HANDLE = W.CONTRATOORIGEM
    WHERE X.HANDLE=E02.HANDLE AND W.STATUS NOT IN(433) GROUP BY X.HANDLE,W.NUMERO
    FOR XML PATH(''), TYPE).value('.[1]', 'VARCHAR(MAX)'),'')),''))AS Cont)AS Contrato) AS CONTRATOS,


    (SELECT ISNULL(SUM(IMP_PRINCIPAL),0) AS S1
    FROM
    (select Z.VALORIMPOSTOS as IMP_PRINCIPAL
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    WHERE X.HANDLE=E02.HANDLE AND Z.STATUS NOT IN(433) GROUP BY X.HANDLE,Z.VALORIMPOSTOS) IMP1)+

    (SELECT ISNULL(SUM(IMP_AD),0) AS S1
    FROM
    (select W.VALORIMPOSTOS as IMP_AD
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    LEFT JOIN GLOP_CONTRATOFRETES W ON Z.HANDLE = W.CONTRATOORIGEM
    WHERE X.HANDLE=E02.HANDLE AND W.STATUS NOT IN(433) GROUP BY X.HANDLE,W.VALORIMPOSTOS) IMP2) AS IMPOSTOS_CONTRATO,

    ISNULL((SELECT SUM(X.PREMIO)
    FROM GLGL_DOCUMENTOS V
    LEFT JOIN GLSG_AVERBACAODOCUMENTOS W ON W.DOCUMENTOLOGISTICA=V.HANDLE
    LEFT JOIN GLSG_AVERBACAODOCSEGUROS X ON X.AVERBACAODOCUMENTO=W.HANDLE
    WHERE W.DOCUMENTOLOGISTICA=A.HANDLE GROUP BY V.HANDLE),0) AS ADV_PAGAR,

    194.0000/(select CASE WHEN ISNULL(COUNT(Y.HANDLE),1)=0 THEN 1 ELSE ISNULL(COUNT(Y.HANDLE),1) END AS CONTADOR
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_VIAGEMDOCUMENTOS Y ON X.HANDLE=Y.VIAGEM AND Y.SITUACAO NOT IN(211) AND Y.TIPODOCUMENTO NOT IN(189)
    WHERE X.HANDLE=E02.HANDLE) AS CUSTO_OP

    FROM GLGL_DOCUMENTOS A
    INNER JOIN GN_PESSOAS B ON A.REMETENTE = B.HANDLE
    INNER JOIN GLGL_PESSOAENDERECOS B02 ON A.ORIGEMCONSIDERADO = B02.HANDLE
    INNER JOIN ESTADOS B03 ON B02.ESTADO = B03.HANDLE
    INNER JOIN GN_PESSOAS C ON A.DESTINATARIO = C.HANDLE
    INNER JOIN GLGL_PESSOAENDERECOS C02 ON A.DESTINOCONSIDERADO = C02.HANDLE
    INNER JOIN ESTADOS C03 ON C02.ESTADO = C03.HANDLE
    INNER JOIN GN_PESSOAS D ON A.TOMADORSERVICOPESSOA = D.HANDLE
    LEFT JOIN GN_PESSOAS D02 ON D.AGENTEVENDAS = D02.HANDLE
    INNER JOIN GLOP_VIAGEMDOCUMENTOS E ON A.HANDLE = E.DOCUMENTOLOGISTICA
    INNER JOIN GLOP_VIAGENS E02 ON E.VIAGEM = E02.HANDLE
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS E03 ON E02.HANDLE = E03.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES E04 ON E03.CONTRATOFRETE = E04.HANDLE
    INNER JOIN GLGL_DOCUMENTOTRIBUTOS F ON A.HANDLE = F.DOCUMENTO
    LEFT JOIN MA_RECURSOS I ON E02.VEICULO1 = I.HANDLE
    INNER JOIN FILIAIS J ON A.FILIAL = J.HANDLE
    LEFT JOIN GLGL_DOCUMENTOTRIBUTOS K ON A.HANDLE=K.DOCUMENTO

    WHERE A.TIPODOCUMENTO NOT IN (22)
    AND A.NUMERO IS NOT NULL
    AND A.TIPOLOTACAO = 51
    AND A.STATUS NOT IN(236,237)
    AND E04.STATUS NOT IN(433)
    AND E04.VALORTOTAL<>0
    AND A.DATAEMISSAO=@DATA_RENT

    GROUP BY
    A.NUMERO,
    A.TIPODOCUMENTO,
    A.DATAEMISSAO,
    B.NOME,
    B03.NOME,
    C.NOME,
    C03.NOME,
    D02.NOME,
    D.HANDLE,
    D.NOME,
    D02.HANDLE,
    A.VALORTOTAL,
    A.VALORSERVICOSADICIONAIS,
    A.VALORTAXADESPACHO,
    A.VALORTOTALRECEBER,
    F.VALORICMS,
    F.VALORPIS,
    F.VALORCOFINS,
    A.VALORCONTABIL,
    A.DOCCLIATUALVALORTOTAL,
    A.VALORGENERALIDADES,
    A.VALORGRIS,
    A.VALOROUTROS,
    A.VALORPEDAGIO,
    A.HANDLE,
    I.PLACANUMERO,
    J.NOME,
    E02.HANDLE,
    A.DOCUMENTOLOGISTICA,
    E02.NUMEROVIAGEM,
    K.VALORISS) AS RENT)

    AS RENTAB

    WHERE RENTAB.RECEITA IS NOT NULL

    SET @DATA_RENT=@DATA_RENT+1
    END


    SELECT
    DATA,
    CAST(RECEITA AS DECIMAL(9,2)) AS Receita,
    CAST(GASTOS AS DECIMAL(9,2)) AS Gastos,
    CAST(LUCRO_LIQUIDO AS DECIMAL(9,2)) AS Lucro_Liquido,
    CAST(RETORNO AS DECIMAL(9,2)) AS Retorno

    FROM TMP_RENT WHERE RECEITA IS NOT NULL

    Abaixo o select inteiro que está dando problema. Um detalhe neste é que uso tabela temporária, mas quando usava tabela fixa como no de cima também apresentava o mesmo erro:

    SET ANSI_NULLS ON
    SET QUOTED_IDENTIFIER ON
    SET CONCAT_NULL_YIELDS_NULL ON
    SET ANSI_WARNINGS ON
    SET ANSI_PADDING ON

    DECLARE @TMP_RENT_REP TABLE (
    MES INT,
    RECEITA MONEY,
    GASTOS MONEY,
    LUCRO_LIQUIDO MONEY,
    RETORNO MONEY,
    REPRESENTANTE INT)

    DECLARE @REP INT

    SET @REP=0

    DECLARE REP CURSOR FOR
    select handle from
    GN_PESSOAS A
    WHERE A.EHAGENTEVENDAS='S'
    AND A.INATIVO='N';

    OPEN REP;
    FETCH NEXT FROM REP INTO @REP;

    WHILE @@FETCH_STATUS = 0

    BEGIN

    INSERT INTO @TMP_RENT_REP ([MES],[RECEITA],[GASTOS],[LUCRO_LIQUIDO],[RETORNO],[REPRESENTANTE])

    SELECT ISNULL(MAX(MES),DATEPART(MONTH,GETDATE())), ISNULL(SUM(RECEITA),0), ISNULL(SUM(GASTOS),0), ISNULL(SUM(RECEITA-GASTOS),0),ISNULL(SUM(RECEITA-GASTOS)*100/(SUM(RECEITA)),0) AS RETORNO, ISNULL(MAX(H_REP),0) AS REPRESENTANTE FROM

    (

    SELECT

    DATEPART(MONTH,RENT.DATAEMISSAO) AS MES,
    CAST((RENT.VALOR_TOTAL_CTE + RENT.SERVICOS) AS MONEY) AS RECEITA,

    CAST((RENT.BROKER + RENT.ICMS_PROCARGA + RENT.PIS + RENT.COFINS + RENT.IRRF + RENT.CSLL + RENT.VALOR_AP + RENT.NET + RENT.ADV_PAGAR + RENT.ISS + RENT.CUSTO_OP) AS MONEY) as GASTOS,

    CAST(((RENT.VALOR_TOTAL_CTE + RENT.SERVICOS) - (RENT.BROKER - RENT.ICMS_PROCARGA - RENT.PIS - RENT.COFINS - RENT.IRRF - RENT.CSLL - RENT.VALOR_AP - RENT.NET - RENT.ADV_PAGAR - RENT.ISS - RENT.CUSTO_OP))AS MONEY) AS LUCRO_LIQUIDO,

    CAST((((RENT.VALOR_TOTAL_CTE + RENT.SERVICOS) - RENT.BROKER - RENT.ICMS_PROCARGA - RENT.PIS - RENT.COFINS - RENT.IRRF - RENT.CSLL - RENT.VALOR_AP - RENT.NET - RENT.ADV_PAGAR - RENT.ISS - RENT.CUSTO_OP)/RENT.VALOR_TOTAL_CTE)*100 AS MONEY) AS RETORNO,

    RENT.H_REP

    FROM

    (SELECT
    A.HANDLE AS H_DOC,
    A.NUMERO AS Documento,
    CASE WHEN A.TIPODOCUMENTO = 2 THEN 'CT-e' WHEN A.TIPODOCUMENTO = 6 THEN 'NFS-e' END AS TIPO,
    A.DATAEMISSAO AS DATAEMISSAO,
    B.NOME AS REMETENTE,
    B03.NOME AS UF_Origem,
    C.NOME AS DESTINATARIO,
    C03.NOME AS UF_Destino,
    D.HANDLE AS H_TOMADOR,
    D.NOME AS TOMADOR,
    D02.HANDLE AS H_REP,
    ISNULL(D02.NOME,'SEM REPRESENTANTE') AS REPRESENTANTE,

    ISNULL((SELECT ISNULL((SELECT G.PERCENTUAL AS PERCENT_CTE
    FROM GLGL_DOCUMENTOS X
    INNER JOIN GN_PESSOAS B ON X.TOMADORSERVICOPESSOA=B.HANDLE
    INNER JOIN GLCM_COMISSIONADOS D ON D02.HANDLE=D.PESSOA
    INNER JOIN GLCM_REGRACOMISSIONADOS E ON D.HANDLE=E.COMISSIONADO
    INNER JOIN GLCM_COMISSOES F ON E.COMISSAO=F.HANDLE
    INNER JOIN GLCM_COMISSAOFAIXAS G ON F.HANDLE=G.COMISSAO
    WHERE A.TIPODOCUMENTO=2 AND F.FORMACOMISSAO=57 AND X.HANDLE=A.HANDLE
    GROUP BY X.HANDLE,X.TIPODOCUMENTO, G.PERCENTUAL),

    (SELECT G.PERCENTUAL AS PERCENT_NFSE
    FROM GLGL_DOCUMENTOS Y
    INNER JOIN GN_PESSOAS B ON Y.TOMADORSERVICOPESSOA=B.HANDLE
    INNER JOIN GLCM_COMISSIONADOS D ON D02.HANDLE=D.PESSOA
    INNER JOIN GLCM_REGRACOMISSIONADOS E ON D.HANDLE=E.COMISSIONADO
    INNER JOIN GLCM_COMISSOES F ON E.COMISSAO=F.HANDLE
    INNER JOIN GLCM_COMISSAOFAIXAS G ON F.HANDLE=G.COMISSAO
    WHERE A.TIPODOCUMENTO=6 AND F.FORMACOMISSAO=436  AND Y.HANDLE=A.HANDLE
    GROUP BY Y.HANDLE,Y.TIPODOCUMENTO, G.PERCENTUAL))),0) AS COMISSAO,

    A.VALORCONTABIL * ISNULL((SELECT ISNULL((SELECT G.PERCENTUAL AS PERCENT_CTE
    FROM GLGL_DOCUMENTOS X
    INNER JOIN GN_PESSOAS B ON X.TOMADORSERVICOPESSOA=B.HANDLE
    INNER JOIN GLCM_COMISSIONADOS D ON D02.HANDLE=D.PESSOA
    INNER JOIN GLCM_REGRACOMISSIONADOS E ON D.HANDLE=E.COMISSIONADO
    INNER JOIN GLCM_COMISSOES F ON E.COMISSAO=F.HANDLE
    INNER JOIN GLCM_COMISSAOFAIXAS G ON F.HANDLE=G.COMISSAO
    WHERE A.TIPODOCUMENTO=2 AND F.FORMACOMISSAO=57 AND X.HANDLE=A.HANDLE
    GROUP BY X.HANDLE,X.TIPODOCUMENTO, G.PERCENTUAL),

    (SELECT G.PERCENTUAL AS PERCENT_NFSE
    FROM GLGL_DOCUMENTOS Y
    INNER JOIN GN_PESSOAS B ON Y.TOMADORSERVICOPESSOA=B.HANDLE
    INNER JOIN GLCM_COMISSIONADOS D ON D02.HANDLE=D.PESSOA
    INNER JOIN GLCM_REGRACOMISSIONADOS E ON D.HANDLE=E.COMISSIONADO
    INNER JOIN GLCM_COMISSOES F ON E.COMISSAO=F.HANDLE
    INNER JOIN GLCM_COMISSAOFAIXAS G ON F.HANDLE=G.COMISSAO
    WHERE A.TIPODOCUMENTO=6 AND F.FORMACOMISSAO=436  AND Y.HANDLE=A.HANDLE
    GROUP BY Y.HANDLE,Y.TIPODOCUMENTO, G.PERCENTUAL))),0)/100  AS BROKER,

    E02.NUMEROVIAGEM AS VIAGEM,
    A.DOCCLIATUALVALORTOTAL AS VALOR_NOTAS,
    A.VALORGENERALIDADES AS GENERALIDADES,
    ISNULL(A.VALORGRIS,0) AS VALOR_GRIS,
    A.VALOROUTROS AS ICMS_COBRADO,
    A.VALORPEDAGIO AS PEDAGIO,
    ISNULL(A.VALORTOTAL - A.VALORPEDAGIO - A.VALORSERVICOSADICIONAIS - A.VALORTAXADESPACHO - A.VALORGRIS - A.VALORGENERALIDADES,0) AS VALOR_FRETE,
    A.VALORTOTALRECEBER AS VALOR_TOTAL_CTE,
    ISNULL(F.VALORICMS,0) AS ICMS,
    ISNULL(F.VALORICMS * 0.7,0) AS ICMS_PROCARGA,
    ISNULL(F.VALORPIS,0) AS PIS,
    ISNULL(F.VALORCOFINS,0) AS COFINS,
    ISNULL(K.VALORISS,0) AS ISS,
    A.VALORTOTALRECEBER * 0.012 AS IRRF,
    A.VALORTOTALRECEBER * 0.0108 AS CSLL,
    I.PLACANUMERO AS PLACA,
    J.NOME AS FILIAL,

    ISNULL((SELECT SUM(X.VALORTOTAL) FROM
    GLGL_DOCUMENTOS X
    INNER JOIN GLOP_SERVICOREALIZADORPS Y ON A.HANDLE=Y.DOCUMENTOLOGISTICA
    WHERE Y.DOCUMENTOLOGISTICARPS=X.HANDLE),0) AS SERVICOS,

    (SELECT COUNT(X.HANDLE) FROM
    GLGL_DOCUMENTOS X
    INNER JOIN GLOP_SERVICOREALIZADORPS Y ON A.HANDLE=Y.DOCUMENTOLOGISTICA
    WHERE Y.DOCUMENTOLOGISTICARPS=X.HANDLE) AS QTD_SERVICOS,

    ISNULL((SELECT SUM(VALOR) FROM  (SELECT X.VALORNOMINAL as Valor
    FROM FN_DOCUMENTOS X
    WHERE X.K_DOCUMENTOLOGISTICA=A.HANDLE AND (X.ENTRADASAIDA = 'E') AND (X.TIPODEMOVIMENTO IN (1,2)) OR ((X.ENTRADASAIDA = 'S')
      AND (X.TIPODEMOVIMENTO = 3)) AND (X.ABRANGENCIA <> 'R' AND X.ABRANGENCIA <> 'F' AND X.ABRANGENCIA <> 'A')
      AND (X.OPERACAOCANCELAMENTO IS NULL) AND ((X.EFETUANDOINTEGRACAO <> 'S') OR (X.EFETUANDOINTEGRACAO IS NULL))
      GROUP BY X.HANDLE,X.VALORNOMINAL) AS VALOR_AP),0) AS VALOR_AP,

    (SELECT COUNT(HAND) FROM  (SELECT X.HANDLE AS HAND
    FROM FN_DOCUMENTOS X
    WHERE X.K_DOCUMENTOLOGISTICA=A.HANDLE AND (X.ENTRADASAIDA = 'E') AND (X.TIPODEMOVIMENTO IN (1,2)) OR ((X.ENTRADASAIDA = 'S')
      AND (X.TIPODEMOVIMENTO = 3)) AND (X.ABRANGENCIA <> 'R' AND X.ABRANGENCIA <> 'F' AND X.ABRANGENCIA <> 'A')
      AND (X.OPERACAOCANCELAMENTO IS NULL) AND ((X.EFETUANDOINTEGRACAO <> 'S') OR (X.EFETUANDOINTEGRACAO IS NULL))
      GROUP BY X.HANDLE,X.VALORNOMINAL) AS VALOR_AP) AS QTD_AP,

    (A.VALORCONTABIL/(SELECT SUM(Valor_Cte)
    FROM
    (select X.VALORCONTABIL as Valor_CTe
    FROM GLGL_DOCUMENTOS X
    INNER JOIN GLOP_VIAGEMDOCUMENTOS B ON X.HANDLE = B.DOCUMENTOLOGISTICA
    INNER JOIN GLOP_VIAGENS C ON B.VIAGEM = C.HANDLE
    WHERE C.HANDLE=E02.HANDLE AND X.STATUS NOT IN(236,237) GROUP BY X.HANDLE,X.VALORCONTABIL) SELECAO))*

    (SELECT ((SELECT SUM(Valor_Contratos)
    FROM
    (select Z.VALORPARCELAS as Valor_Contratos
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    WHERE X.HANDLE=E02.HANDLE AND Z.STATUS NOT IN(433) GROUP BY Z.HANDLE,Z.VALORPARCELAS) SELECAO2)+

    (SELECT ISNULL(SUM(Valor_Adicional),0)
    FROM
    (select W.VALORPARCELAS as Valor_Adicional
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    LEFT JOIN GLOP_CONTRATOFRETES W ON Z.HANDLE = W.CONTRATOORIGEM
    WHERE X.HANDLE=E02.HANDLE  AND (Z.STATUS NOT IN(433) OR W.STATUS NOT IN(433)) GROUP BY W.HANDLE,W.VALORPARCELAS) SELECAO3)) AS SOMA) AS NET,

    (SELECT LEFT(Cont,len(Cont)-1) from (SELECT (SELECT  COALESCE(
    (SELECT CAST(Z.NUMERO AS VARCHAR(8000)),', ' AS [text()]
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    WHERE X.HANDLE=E02.HANDLE AND Z.STATUS NOT IN(433)GROUP BY X.HANDLE,Z.NUMERO
    FOR XML PATH(''), TYPE).value('.[1]', 'VARCHAR(MAX)'),''))+

    (ISNULL((SELECT  COALESCE(
    (SELECT CAST(W.NUMERO AS VARCHAR(8000)),', ' AS [text()]
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    LEFT JOIN GLOP_CONTRATOFRETES W ON Z.HANDLE = W.CONTRATOORIGEM
    WHERE X.HANDLE=E02.HANDLE AND W.STATUS NOT IN(433) GROUP BY X.HANDLE,W.NUMERO
    FOR XML PATH(''), TYPE).value('.[1]', 'VARCHAR(MAX)'),'')),''))AS Cont)AS Contrato) AS CONTRATOS,


    (SELECT ISNULL(SUM(IMP_PRINCIPAL),0) AS S1
    FROM
    (select Z.VALORIMPOSTOS as IMP_PRINCIPAL
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    WHERE X.HANDLE=E02.HANDLE AND Z.STATUS NOT IN(433) GROUP BY X.HANDLE,Z.VALORIMPOSTOS) IMP1)+

    (SELECT ISNULL(SUM(IMP_AD),0) AS S1
    FROM
    (select W.VALORIMPOSTOS as IMP_AD
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS Y ON X.HANDLE = Y.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES Z ON Y.CONTRATOFRETE = Z.HANDLE
    LEFT JOIN GLOP_CONTRATOFRETES W ON Z.HANDLE = W.CONTRATOORIGEM
    WHERE X.HANDLE=E02.HANDLE AND W.STATUS NOT IN(433) GROUP BY X.HANDLE,W.VALORIMPOSTOS) IMP2) AS IMPOSTOS_CONTRATO,

    ISNULL((SELECT SUM(X.PREMIO)
    FROM GLGL_DOCUMENTOS V
    LEFT JOIN GLSG_AVERBACAODOCUMENTOS W ON W.DOCUMENTOLOGISTICA=V.HANDLE
    LEFT JOIN GLSG_AVERBACAODOCSEGUROS X ON X.AVERBACAODOCUMENTO=W.HANDLE
    WHERE W.DOCUMENTOLOGISTICA=A.HANDLE GROUP BY V.HANDLE),0) AS ADV_PAGAR,

    194.0000/(select CASE WHEN ISNULL(COUNT(Y.HANDLE),1)=0 THEN 1 ELSE ISNULL(COUNT(Y.HANDLE),1) END AS CONTADOR
    FROM GLOP_VIAGENS X
    INNER JOIN GLOP_VIAGEMDOCUMENTOS Y ON X.HANDLE=Y.VIAGEM AND Y.SITUACAO NOT IN(211) AND Y.TIPODOCUMENTO NOT IN(189)
    WHERE X.HANDLE=E02.HANDLE) AS CUSTO_OP

    FROM GLGL_DOCUMENTOS A
    INNER JOIN GN_PESSOAS B ON A.REMETENTE = B.HANDLE
    INNER JOIN GLGL_PESSOAENDERECOS B02 ON A.ORIGEMCONSIDERADO = B02.HANDLE
    INNER JOIN ESTADOS B03 ON B02.ESTADO = B03.HANDLE
    INNER JOIN GN_PESSOAS C ON A.DESTINATARIO = C.HANDLE
    INNER JOIN GLGL_PESSOAENDERECOS C02 ON A.DESTINOCONSIDERADO = C02.HANDLE
    INNER JOIN ESTADOS C03 ON C02.ESTADO = C03.HANDLE
    INNER JOIN GN_PESSOAS D ON A.TOMADORSERVICOPESSOA = D.HANDLE
    INNER JOIN GN_PESSOAS D02 ON D.AGENTEVENDAS = D02.HANDLE
    INNER JOIN GLOP_VIAGEMDOCUMENTOS E ON A.HANDLE = E.DOCUMENTOLOGISTICA
    INNER JOIN GLOP_VIAGENS E02 ON E.VIAGEM = E02.HANDLE
    INNER JOIN GLOP_CONTRATOFRDOCUMENTOS E03 ON E02.HANDLE = E03.VIAGEM
    INNER JOIN GLOP_CONTRATOFRETES E04 ON E03.CONTRATOFRETE = E04.HANDLE
    INNER JOIN GLGL_DOCUMENTOTRIBUTOS F ON A.HANDLE = F.DOCUMENTO
    LEFT JOIN MA_RECURSOS I ON E02.VEICULO1 = I.HANDLE
    INNER JOIN FILIAIS J ON A.FILIAL = J.HANDLE
    LEFT JOIN GLGL_DOCUMENTOTRIBUTOS K ON A.HANDLE=K.DOCUMENTO

    WHERE A.TIPODOCUMENTO NOT IN (22)
    AND A.NUMERO IS NOT NULL
    AND A.TIPOLOTACAO = 51
    AND A.STATUS NOT IN(236,237)
    AND E04.STATUS NOT IN(433)
    AND E04.VALORTOTAL<>0
    AND A.DATAEMISSAO>= DateAdd(mm, DateDiff(mm,0,GetDate()), 0) AND A.DATAEMISSAO < GETDATE()+1
    AND D02.HANDLE=@REP

    GROUP BY
    A.NUMERO,
    A.TIPODOCUMENTO,
    A.DATAEMISSAO,
    B.NOME,
    B03.NOME,
    C.NOME,
    C03.NOME,
    D02.NOME,
    D.HANDLE,
    D.NOME,
    D02.HANDLE,
    A.VALORTOTAL,
    A.VALORSERVICOSADICIONAIS,
    A.VALORTAXADESPACHO,
    A.VALORTOTALRECEBER,
    F.VALORICMS,
    F.VALORPIS,
    F.VALORCOFINS,
    A.VALORCONTABIL,
    A.DOCCLIATUALVALORTOTAL,
    A.VALORGENERALIDADES,
    A.VALORGRIS,
    A.VALOROUTROS,
    A.VALORPEDAGIO,
    A.HANDLE,
    I.PLACANUMERO,
    J.NOME,
    E02.HANDLE,
    A.DOCUMENTOLOGISTICA,
    E02.NUMEROVIAGEM,
    K.VALORISS) AS RENT)

    AS RENTAB

    WHERE RENTAB.RECEITA IS NOT NULL

    FETCH NEXT FROM REP INTO @REP

    END

    CLOSE REP

    DEALLOCATE REP

    SELECT A.MES,A.RECEITA,A.GASTOS,A.LUCRO_LIQUIDO, A.RETORNO, B.NOME FROM @TMP_RENT_REP A
    INNER JOIN GN_PESSOAS B ON A.REPRESENTANTE = B.HANDLE
    WHERE A.RECEITA <> '0,00'

    Marcelo C. Nascimento



    terça-feira, 4 de junho de 2013 12:44
  • Marcelo, o ideal seria mesmo entrar em contato com a equipe do TMS reportando o erro.

    Possivelmente deve ser algum comando do T-SQL que a aplicação não está conseguindo interpretar, mas estou apenas dando um grande "chute" do diagnóstico.

    Se vc está rodando no SSMS e está rodando e obtendo o resultado esperado, realmente existe algum bug em sua aplicação.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    terça-feira, 4 de junho de 2013 16:51
  • Marcelo,

    Qual é a versão do SQL Server que você esta utilizando? Aparentemente existe alguma incompatibilidade entre o TMS e a versão do SQL Server que você utiliza.

    Por exemplo, você pode estar utilizando alguma comando que esta ferramenta não consegui entender e processar.

    A sua aplicação ainda esta fase de desenvolvimento?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 7 de junho de 2013 16:26