Inquiridor
Erro CommandText

Pergunta
-
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
-
-
-
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 NULLAbaixo 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
- Editado Marcelo Carvalho do Nascimento terça-feira, 4 de junho de 2013 12:49
-
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
- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 1 de fevereiro de 2020 13: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]