================================================== 2024.1.4 21/11/2024 17:38:22:459 Erro banco de dados. Erro: 28 - ORA-00028: your session has been killed Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pré-Documento Saída \ Doc Principal \ Tela \ Devolução Vendas \ Devolução Documento \ Comando Banco Dados Executa SQL: BEGIN DELETE TEMPSELECAODOCUMENTO WHERE sessaoClient = '202411211506531345775269195731' AND nomePublico = 'DevolucaoDocumento' AND selecionado = 0; INSERT INTO TEMPSELECAODOCUMENTO ( sessaoClient, nomePublico, quebra, quebraB, sequencia, idItem, origem, idCabecalho, linhaA, linhaB, campoA, campoB, campoC, campoD, idA, idB, idC, idD, idE, idF, vendedor, gradeProduto, personalizacao, localEstoque, unidadeMedida, casasDecimaisUnidadeMedida, data, quantidade, quantidadeConvertida, quantidadeSelecionada, quantidadeConvertidaSelec, quantidadeA, quantidadeB, quantidadeC, precoUnitarioA, precoUnitarioB, precoUnitarioC, valorA, valorB, valorC, valorD, valorE, valorF, valorG, valorH, simNaoB) SELECT '202411211506531345775269195731', 'DevolucaoDocumento', TO_CHAR(cab.dataEmissao,'YYYYMMDD') || 'D' || LPAD(item.idDocumentoFiscal,14,'0') || CASE WHEN EXISTS (SELECT 1 FROM MOFINANCEIROS financ JOIN MODOCFISCALXPAGAMENTOS pagam ON pagam.idPagamentoDocFiscal = financ.idPagamentoDocFiscal WHERE financ.meioPagamento = 64 AND pagam.idDocumentoFiscal = item.idDocumentoFiscal) THEN '1' ELSE '0' END, 'D' || LPAD(CASE WHEN prod.estabelecimentoFaturamento <> 0 THEN prod.estabelecimentoFaturamento ELSE 1 END,4,'0') || LPAD(cab.modeloDocumento,4,'0') || LPAD(cab.pessoa,14,'0') || CASE WHEN EXISTS (SELECT 1 FROM MOFINANCEIROS financ JOIN MODOCFISCALXPAGAMENTOS pagam ON pagam.idPagamentoDocFiscal = financ.idPagamentoDocFiscal WHERE financ.meioPagamento = 64 AND pagam.idDocumentoFiscal = item.idDocumentoFiscal) THEN '1' ELSE '0' END, item.sequencia, item.idItemDocFiscal, 'D', item.idDocumentoFiscal, RTRIM(gradProd.produtoImpresso) || ' - ' || RTRIM(gradProd.descricaoImpressa), CASE WHEN item.vendedor=0 THEN ' ' ELSE 'Vendedor: ' || vend.apelidoFantasia END, 'Documento Fiscal: ' || TO_CHAR (cab.documentoFiscal), CASE WHEN cab.pessoa = 0 THEN CASE WHEN cab.indicadorDocumentoPessoa = 'I' THEN CASE WHEN cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE 'ID.Estrang.: ' || cab.cnpjCpfIdEstrangeiro END WHEN cab.indicadorPessoa = 'J' THEN CASE WHEN cab.indicadorDocumentoPessoa = 'N' OR cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 'CNPJ: ' || SUBSTR(cab.cnpjCpfIdEstrangeiro,1,2) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,3,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,6,3) || '/' || SUBSTR(cab.cnpjCpfIdEstrangeiro,9,4) || '-' || SUBSTR(cab.cnpjCpfIdEstrangeiro,13,2) END ELSE CASE WHEN cab.indicadorDocumentoPessoa = 'N' OR cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CPF' ELSE 'CPF: ' || SUBSTR(cab.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(cab.cnpjCpfIdEstrangeiro,10,2) END END ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'I' THEN CASE WHEN pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE 'ID.Estrang.: ' || pess.cnpjCpfIdEstrangeiro END WHEN pess.indicadorPessoa = 'J' THEN CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 'CNPJ: ' || SUBSTR(pess.cnpjCpfIdEstrangeiro,1,2) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,3,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,6,3) || '/' || SUBSTR(pess.cnpjCpfIdEstrangeiro,9,4) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,13,2) END ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CPF' ELSE 'CPF: ' || SUBSTR(pess.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,10,2) END END END, CASE WHEN cab.pessoa=0 THEN CASE WHEN cab.nomeRazaoSocial = ' ' THEN 'CONSUMIDOR NÃO IDENTIFICADO' ELSE cab.nomeRazaoSocial END ELSE pess.nomeRazaoSocial END, cab.tipoPagamentoFrete, cab.modeloDocumento, cab.pessoa, CASE WHEN prod.estabelecimentoFaturamento <> 0 THEN prod.estabelecimentoFaturamento ELSE 1 END, 0, cab.estabelecimento, item.cfop, item.vendedor, item.gradeProduto, item.personalizacao, item.localEstoque, CASE WHEN item.controleQuantidade = 5 THEN prod.unidadeMedida ELSE item.unidadeMedidaConversao END, CASE WHEN item.controleQuantidade = 5 THEN uniMed.casasDecimaisUnidadeMedida ELSE uniMedConv.casasDecimaisUnidadeMedida END, TRUNC (cab.dataEmissao), item.quantidade, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) <= 0 THEN 0 WHEN item.controleQuantidade = 5 THEN ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) ELSE ROUND ((item.quantidadeConvertida * ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) / item.quantidade), uniMedConv.casasDecimaisUnidadeMedida) END, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) <= 0 THEN 0 ELSE ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) END, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) <= 0 THEN 0 WHEN item.controleQuantidade = 5 THEN ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) ELSE ROUND ((item.quantidadeConvertida * ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) / item.quantidade), uniMedConv.casasDecimaisUnidadeMedida) END, CASE WHEN item.controleQuantidade = 5 THEN item.quantidade ELSE item.quantidadeConvertida END, uniMed.casasDecimaisUnidadeMedida, CASE WHEN item.quantidade = 0 OR item.quantidade <= item.quantidadeDevolvidaRetornada THEN 0 ELSE item.quantidade - item.quantidadeDevolvidaRetornada END, item.precoUnitario, item.precoUnitarioBruto, item.acrescimoUnitarioComposicao, item.valorFreteTotal, item.valorSeguroTotal, CASE WHEN (item.valorProdutoServicoBruto - item.valorDescontoItem + item.valorAcrescimoItem) = 0 OR (cab.valorProdutosBruto - cab.valorDescontoProdutos + cab.valorAcrescimoProdutos + cab.valorServicosBruto - cab.valorDescontoServicos + cab.valorAcrescimoServicos) = 0 THEN 0 ELSE ROUND (((COALESCE (( SELECT SUM (pag.valorPagamentoBruto) FROM MODOCFISCALXPAGAMENTOS pag WHERE pag.idDocumentoFiscal = item.idDocumentoFiscal AND pag.meioPagamento = 30), 0) + COALESCE (( SELECT SUM (vale.valor) FROM MOVALEDESCXDOCFISCAL vale WHERE vale.idDocumentoFiscal = item.idDocumentoFiscal), 0)) * (item.valorProdutoServicoBruto - item.valorDescontoItem + item.valorAcrescimoItem) / (cab.valorProdutosBruto - cab.valorDescontoProdutos + cab.valorAcrescimoProdutos + cab.valorServicosBruto - cab.valorDescontoServicos + cab.valorAcrescimoServicos)), 2) END, (item.valorAcrescimoItem + item.valorOutrasDespesasGeral + item.valorOutrasDespesasPagamento + item.valorJurosPagamento), item.valorAcrescimoItem, item.valorLiquidoItem, item.valorBasePagamento, (item.valorDescontoItem + item.valorDescontoGeral + item.valorDescontoPagamento), CASE WHEN EXISTS ( SELECT 1 FROM MODOCFISCALXPAGAMENTOS pagam JOIN MOFINANCEIROS financ ON financ.idPagamentoDocFiscal = pagam.idPagamentoDocFiscal WHERE pagam.idDocumentoFiscal = item.idDocumentoFiscal AND financ.meioPagamento = 64) THEN 1 ELSE 0 END contaCorrante FROM MODOCFISCALXITENS item JOIN MODOCUMENTOSFISCAIS cab ON cab.idDocumentoFiscal = item.idDocumentoFiscal JOIN PAESTABELECIMENTOS est ON est.estabelecimento = cab.estabelecimento JOIN CAPESSOAS pessEst ON pessEst.pessoa = est.pessoaEstabelecimento JOIN PAMODELOSDOCUMENTO modDoc ON modDoc.modeloDocumento = cab.modeloDocumento JOIN CAPESSOAS pess ON pess.pessoa = cab.pessoa JOIN CAGRADESPRODUTO gradProd ON gradProd.gradeProduto = item.gradeProduto JOIN CAPRODUTOS prod ON prod.produto = gradProd.produto JOIN SIUNIDADESMEDIDA uniMed ON uniMed.unidadeMedida = prod.unidadeMedida JOIN SIUNIDADESMEDIDA uniMedConv ON uniMedConv.unidadeMedida = item.unidadeMedidaConversao JOIN CAPESSOAS vend ON vend.pessoa = item.vendedor WHERE item.idItemDocFiscal > 0 AND cab.devolucaoAnulacaoRetorno = 0 AND cab.situacaoDocumentoFiscal = 23 AND cab.estabelecimento IN (1,2,3,4) AND cab.entradaSaida = 'S' AND cab.pessoa = 3846 AND cab.dataEmissao BETWEEN TO_DATE ('22/10/2024 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('21/11/2024 23:59:59','DD/MM/YYYY HH24:MI:SS') AND modDoc.geraTransferencia = 0 AND item.cancelado = 0 AND NOT(EXISTS( SELECT 1 FROM TEMPSELECAODOCUMENTO temp WHERE temp.sessaoClient = '202411211506531345775269195731' AND temp.nomePublico = 'DevolucaoDocumento' AND temp.quebra = TO_CHAR(cab.dataEmissao,'YYYYMMDD')||'D'||LPAD(item.idDocumentoFiscal,14,'0') || CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MODOCFISCALXPAGAMENTOS pagam ON pagam.idPagamentoDocFiscal = financ.idPagamentoDocFiscal WHERE financ.meioPagamento = 64 AND pagam.idDocumentoFiscal = item.idDocumentoFiscal) THEN '1' ELSE '0' END AND temp.origem = 'D' AND temp.idCabecalho = item.idDocumentoFiscal AND temp.sequencia = item.sequencia AND temp.idItem = item.idItemDocFiscal)); INSERT INTO TEMPSELECAODOCUMENTO ( sessaoClient, nomePublico, quebra, quebraB, sequencia, idItem, origem, idCabecalho, linhaA, linhaB, campoA, campoB, campoC, campoD, idA, idB, idC, idD, idE, idF, vendedor, gradeProduto, personalizacao, localEstoque, unidadeMedida, casasDecimaisUnidadeMedida, data, quantidade, quantidadeConvertida, quantidadeSelecionada, quantidadeConvertidaSelec, quantidadeA, quantidadeB, quantidadeC, precoUnitarioA, precoUnitarioB, precoUnitarioC, valorA, valorB, valorC, valorD, valorE, valorF, valorG, valorH, simNaoB) SELECT '202411211506531345775269195731', 'DevolucaoDocumento', TO_CHAR(cab.dataEmissao,'YYYYMMDD') || 'P' || LPAD(item.preDocumento, 14, '0') || CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MOPREDOCUMXPAGAMENTOS pagam ON pagam.idPagamentoPreDocumento = financ.idPagamentoPreDocumento WHERE financ.meioPagamento = 64 AND pagam.preDocumento = item.preDocumento) THEN '1' ELSE '0' END, 'P' || LPAD(CASE WHEN prod.estabelecimentoFaturamento <> 0 THEN prod.estabelecimentoFaturamento ELSE 1 END,4,'0') || LPAD(cab.modeloDocumento,4,'0') || LPAD(cab.pessoa,14,'0') || CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MOPREDOCUMXPAGAMENTOS pagam ON pagam.idPagamentoPreDocumento = financ.idPagamentoPreDocumento WHERE financ.meioPagamento = 64 AND pagam.preDocumento = item.preDocumento) THEN '1' || LPAD(item.preDocumento, 14, '0') ELSE '0' END, item.sequencia, item.idItemPreDocumento, 'P', item.preDocumento, RTRIM(gradProd.produtoImpresso) || ' - ' || RTRIM(gradProd.descricaoImpressa), CASE WHEN item.vendedor=0 THEN ' ' ELSE 'Vendedor: ' || vend.apelidoFantasia END, 'Pré-Documento: ' || SUBSTR(LPAD (cab.preDocumento, 14, '0'),1,4) || '.' || SUBSTR(LPAD (cab.preDocumento, 14, '0'),5,4) || '.' || SUBSTR(LPAD (cab.preDocumento, 14, '0'),9,3) || '.' || SUBSTR(LPAD (cab.preDocumento, 14, '0'),12,3), CASE WHEN cab.pessoa = 0 THEN CASE WHEN cab.indicadorDocumentoPessoa = 'I' THEN CASE WHEN cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE 'ID.Estrang.: ' || cab.cnpjCpfIdEstrangeiro END WHEN cab.indicadorPessoa = 'J' THEN CASE WHEN cab.indicadorDocumentoPessoa = 'N' OR cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 'CNPJ: ' || SUBSTR(cab.cnpjCpfIdEstrangeiro,1,2) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,3,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,6,3) || '/' || SUBSTR(cab.cnpjCpfIdEstrangeiro,9,4) || '-' || SUBSTR(cab.cnpjCpfIdEstrangeiro,13,2) END ELSE CASE WHEN cab.indicadorDocumentoPessoa = 'N' OR cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CPF' ELSE 'CPF: ' || SUBSTR(cab.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(cab.cnpjCpfIdEstrangeiro,10,2) END END ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'I' THEN CASE WHEN pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE 'ID.Estrang.: ' || pess.cnpjCpfIdEstrangeiro END WHEN pess.indicadorPessoa = 'J' THEN CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 'CNPJ: ' || SUBSTR(pess.cnpjCpfIdEstrangeiro,1,2) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,3,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,6,3) || '/' || SUBSTR(pess.cnpjCpfIdEstrangeiro,9,4) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,13,2) END ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CPF' ELSE 'CPF: ' || SUBSTR(pess.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,10,2) END END END, CASE WHEN cab.pessoa=0 THEN CASE WHEN cab.nomeRazaoSocial = ' ' THEN 'CONSUMIDOR NÃO IDENTIFICADO' ELSE cab.nomeRazaoSocial END ELSE pess.nomeRazaoSocial END, cab.tipoPagamentoFrete, cab.modeloDocumento, cab.pessoa, CASE WHEN prod.estabelecimentoFaturamento <> 0 THEN prod.estabelecimentoFaturamento ELSE 1 END, 0, cab.estabelecimento, item.cfop, item.vendedor, item.gradeProduto, item.personalizacao, item.localEstoque, CASE WHEN item.controleQuantidade = 5 THEN prod.unidadeMedida ELSE item.unidadeMedidaConversao END, CASE WHEN item.controleQuantidade = 5 THEN uniMed.casasDecimaisUnidadeMedida ELSE uniMedConv.casasDecimaisUnidadeMedida END, TRUNC (cab.dataEmissao), item.quantidade, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) <= 0 THEN 0 WHEN item.controleQuantidade = 5 THEN ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) ELSE ROUND ((item.quantidadeConvertida * ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) / item.quantidade), uniMedConv.casasDecimaisUnidadeMedida) END, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) <= 0 THEN 0 ELSE ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) END, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) <= 0 THEN 0 WHEN item.controleQuantidade = 5 THEN ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) ELSE ROUND ((item.quantidadeConvertida * ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) / item.quantidade), uniMedConv.casasDecimaisUnidadeMedida) END, CASE WHEN item.controleQuantidade = 5 THEN item.quantidade ELSE item.quantidadeConvertida END, uniMed.casasDecimaisUnidadeMedida, CASE WHEN item.quantidade = 0 OR item.quantidade <= item.quantidadeDevolvidaRetornada THEN 0 ELSE item.quantidade - item.quantidadeDevolvidaRetornada END, item.precoUnitario, item.precoUnitarioBruto, item.acrescimoUnitarioComposicao, item.valorFreteTotal, item.valorSeguroTotal, CASE WHEN (item.valorProdutoServicoBruto - item.valorDescontoItem + item.valorAcrescimoItem) = 0 OR (cab.valorProdutosBruto - cab.valorDescontoProdutos + cab.valorAcrescimoProdutos + cab.valorServicosBruto - cab.valorDescontoServicos + cab.valorAcrescimoServicos) = 0 THEN 0 ELSE ROUND (((COALESCE (( SELECT SUM (pag.valorPagamentoBruto) FROM MOPREDOCUMXPAGAMENTOS pag WHERE pag.preDocumento = item.preDocumento AND pag.meioPagamento = 30), 0) + COALESCE (( SELECT SUM (vale.valor) FROM MOVALEDESCXPREDOCUM vale WHERE vale.preDocumento = item.preDocumento), 0)) * (item.valorProdutoServicoBruto - item.valorDescontoItem + item.valorAcrescimoItem) / (cab.valorProdutosBruto - cab.valorDescontoProdutos + cab.valorAcrescimoProdutos + cab.valorServicosBruto - cab.valorDescontoServicos + cab.valorAcrescimoServicos)), 2) END, (item.valorAcrescimoItem + item.valorOutrasDespesasGeral + item.valorOutrasDespesasPagamento + item.valorJurosPagamento), item.valorAcrescimoItem, item.valorLiquidoItem, item.valorBasePagamento, (item.valorDescontoItem + item.valorDescontoGeral + item.valorDescontoPagamento), CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MOPREDOCUMXPAGAMENTOS pagam ON pagam.idPagamentoPreDocumento = financ.idPagamentoPreDocumento WHERE financ.meioPagamento = 64 AND pagam.preDocumento = item.preDocumento) THEN 1 ELSE 0 END contaCorrante FROM MOPREDOCUMXITENS item JOIN MOPREDOCUMENTOS cab ON cab.preDocumento = item.preDocumento JOIN PAESTABELECIMENTOS est ON est.estabelecimento = cab.estabelecimento JOIN CAPESSOAS pessEst ON pessEst.pessoa = est.pessoaEstabelecimento JOIN PAMODELOSDOCUMENTO modDoc ON modDoc.modeloDocumento = cab.modeloDocumento JOIN CAPESSOAS pess ON pess.pessoa = cab.pessoa JOIN CAGRADESPRODUTO gradProd ON gradProd.gradeProduto = item.gradeProduto JOIN CAPRODUTOS prod ON prod.produto = gradProd.produto JOIN SIUNIDADESMEDIDA uniMed ON uniMed.unidadeMedida = prod.unidadeMedida JOIN SIUNIDADESMEDIDA uniMedConv ON uniMedConv.unidadeMedida = item.unidadeMedidaConversao JOIN CAPESSOAS vend ON vend.pessoa = item.vendedor WHERE item.idItemPreDocumento > 0 AND cab.devolucaoAnulacaoRetorno = 0 AND cab.statusPreDocumento = 'A' AND cab.entradaSaida = 'S' AND cab.pessoa = 3846 AND cab.dataEmissao BETWEEN TO_DATE ('22/10/2024 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('21/11/2024 23:59:59','DD/MM/YYYY HH24:MI:SS') AND item.cancelado = 0 AND NOT(EXISTS( SELECT 1 FROM TEMPSELECAODOCUMENTO temp WHERE temp.sessaoClient = '202411211506531345775269195731' AND temp.nomePublico = 'DevolucaoDocumento' AND temp.quebra = TO_CHAR(cab.dataEmissao,'YYYYMMDD')||'P'||LPAD(item.preDocumento,14,'0') || CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MOPREDOCUMXPAGAMENTOS pagam ON pagam.idPagamentoPreDocumento = financ.idPagamentoPreDocumento WHERE financ.meioPagamento = 64 AND pagam.preDocumento = item.preDocumento) THEN '1' ELSE '0' END AND temp.origem = 'P' AND temp.idCabecalho = item.preDocumento AND temp.sequencia = item.sequencia AND temp.idItem = item.idItemPreDocumento)); UPDATE TEMPSELECAODOCUMENTO SET valor = ROUND (quantidadeSelecionada * (precoUnitarioB + precoUnitarioC), 2) - ROUND (valorH * quantidadeConvertidaSelec / quantidadeA, 2) + ROUND (valorE * quantidadeConvertidaSelec / quantidadeA, 2) + ROUND (( valorF - ROUND(quantidade * (precoUnitarioB + precoUnitarioC), 2) + valorH - valorE - CASE WHEN campoD = 'V' THEN 0 ELSE valorA + valorB END + valorC - valorD ) * quantidadeConvertidaSelec / quantidadeA, 2), valorSelecionado = ROUND (quantidadeSelecionada * (precoUnitarioB + precoUnitarioC), 2) - ROUND (valorH * quantidadeConvertidaSelec / quantidadeA, 2) + ROUND (valorE * quantidadeConvertidaSelec / quantidadeA, 2) + ROUND (( valorF - ROUND(quantidade * (precoUnitarioB + precoUnitarioC), 2) + valorH - valorE - CASE WHEN campoD = 'V' THEN 0 ELSE valorA + valorB END + valorC - valorD ) * quantidadeConvertidaSelec / quantidadeA, 2) WHERE sessaoClient = '202411211506531345775269195731' AND nomePublico = 'DevolucaoDocumento' AND quantidadeA <> 0; INSERT INTO TEMPSELECAODOCUMENTO ( sessaoClient, nomePublico, quebra, sequencia, idItem, quebraB, origem, idCabecalho, linhaB, campoA, campoB, idA, idB, idC, idD, idE, data, quantidade, quantidadeConvertida, simNaoB) SELECT '202411211506531345775269195731', 'DevolucaoDocumento', quebra, 0, 0, MAX(quebraB), origem, idCabecalho, MAX(campoC), MAX(campoA), MAX(campoB), MAX(idA), MAX(idB), MAX(idC), idD, MAX(idE), MAX(data), SUM(quantidade), SUM(quantidadeConvertida), MAX(simNaoB) FROM TEMPSELECAODOCUMENTO WHERE sessaoClient = '202411211506531345775269195731' AND nomePublico = 'DevolucaoDocumento' AND sequencia > 0 GROUP BY quebra, origem, idCabecalho, idD; END; ================================================== 2024.1.4 21/11/2024 17:38:23:951 Erro banco de dados. Erro: 3114 - ORA-03114: not connected to ORACLE Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pré-Documento Saída \ Doc Principal \ Tela \ Devolução Vendas \ Comando Banco Dados Executa SQL: DELETE TEMPSELECAODOCUMENTO WHERE sessaoClient = '202411211506531345775269195731' AND nomePublico = 'DevolucaoDocumento' ================================================== 2024.1.4 21/11/2024 17:39:27:354 Erro banco de dados. Erro: 4036 - ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT ORA-06512: at line 1168 Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pré-Documento Saída \ Doc Principal \ Tela \ Devolução Vendas \ Devolução Documento \ Comando Banco Dados Executa SQL: BEGIN DELETE TEMPSELECAODOCUMENTO WHERE sessaoClient = '202411211506531345775269195731' AND nomePublico = 'DevolucaoDocumento' AND selecionado = 0; INSERT INTO TEMPSELECAODOCUMENTO ( sessaoClient, nomePublico, quebra, quebraB, sequencia, idItem, origem, idCabecalho, linhaA, linhaB, campoA, campoB, campoC, campoD, idA, idB, idC, idD, idE, idF, vendedor, gradeProduto, personalizacao, localEstoque, unidadeMedida, casasDecimaisUnidadeMedida, data, quantidade, quantidadeConvertida, quantidadeSelecionada, quantidadeConvertidaSelec, quantidadeA, quantidadeB, quantidadeC, precoUnitarioA, precoUnitarioB, precoUnitarioC, valorA, valorB, valorC, valorD, valorE, valorF, valorG, valorH, simNaoB) SELECT '202411211506531345775269195731', 'DevolucaoDocumento', TO_CHAR(cab.dataEmissao,'YYYYMMDD') || 'D' || LPAD(item.idDocumentoFiscal,14,'0') || CASE WHEN EXISTS (SELECT 1 FROM MOFINANCEIROS financ JOIN MODOCFISCALXPAGAMENTOS pagam ON pagam.idPagamentoDocFiscal = financ.idPagamentoDocFiscal WHERE financ.meioPagamento = 64 AND pagam.idDocumentoFiscal = item.idDocumentoFiscal) THEN '1' ELSE '0' END, 'D' || LPAD(CASE WHEN prod.estabelecimentoFaturamento <> 0 THEN prod.estabelecimentoFaturamento ELSE 1 END,4,'0') || LPAD(cab.modeloDocumento,4,'0') || LPAD(cab.pessoa,14,'0') || CASE WHEN EXISTS (SELECT 1 FROM MOFINANCEIROS financ JOIN MODOCFISCALXPAGAMENTOS pagam ON pagam.idPagamentoDocFiscal = financ.idPagamentoDocFiscal WHERE financ.meioPagamento = 64 AND pagam.idDocumentoFiscal = item.idDocumentoFiscal) THEN '1' ELSE '0' END, item.sequencia, item.idItemDocFiscal, 'D', item.idDocumentoFiscal, RTRIM(gradProd.produtoImpresso) || ' - ' || RTRIM(gradProd.descricaoImpressa), CASE WHEN item.vendedor=0 THEN ' ' ELSE 'Vendedor: ' || vend.apelidoFantasia END, 'Documento Fiscal: ' || TO_CHAR (cab.documentoFiscal), CASE WHEN cab.pessoa = 0 THEN CASE WHEN cab.indicadorDocumentoPessoa = 'I' THEN CASE WHEN cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE 'ID.Estrang.: ' || cab.cnpjCpfIdEstrangeiro END WHEN cab.indicadorPessoa = 'J' THEN CASE WHEN cab.indicadorDocumentoPessoa = 'N' OR cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 'CNPJ: ' || SUBSTR(cab.cnpjCpfIdEstrangeiro,1,2) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,3,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,6,3) || '/' || SUBSTR(cab.cnpjCpfIdEstrangeiro,9,4) || '-' || SUBSTR(cab.cnpjCpfIdEstrangeiro,13,2) END ELSE CASE WHEN cab.indicadorDocumentoPessoa = 'N' OR cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CPF' ELSE 'CPF: ' || SUBSTR(cab.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(cab.cnpjCpfIdEstrangeiro,10,2) END END ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'I' THEN CASE WHEN pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE 'ID.Estrang.: ' || pess.cnpjCpfIdEstrangeiro END WHEN pess.indicadorPessoa = 'J' THEN CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 'CNPJ: ' || SUBSTR(pess.cnpjCpfIdEstrangeiro,1,2) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,3,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,6,3) || '/' || SUBSTR(pess.cnpjCpfIdEstrangeiro,9,4) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,13,2) END ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CPF' ELSE 'CPF: ' || SUBSTR(pess.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,10,2) END END END, CASE WHEN cab.pessoa=0 THEN CASE WHEN cab.nomeRazaoSocial = ' ' THEN 'CONSUMIDOR NÃO IDENTIFICADO' ELSE cab.nomeRazaoSocial END ELSE pess.nomeRazaoSocial END, cab.tipoPagamentoFrete, cab.modeloDocumento, cab.pessoa, CASE WHEN prod.estabelecimentoFaturamento <> 0 THEN prod.estabelecimentoFaturamento ELSE 1 END, 0, cab.estabelecimento, item.cfop, item.vendedor, item.gradeProduto, item.personalizacao, item.localEstoque, CASE WHEN item.controleQuantidade = 5 THEN prod.unidadeMedida ELSE item.unidadeMedidaConversao END, CASE WHEN item.controleQuantidade = 5 THEN uniMed.casasDecimaisUnidadeMedida ELSE uniMedConv.casasDecimaisUnidadeMedida END, TRUNC (cab.dataEmissao), item.quantidade, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) <= 0 THEN 0 WHEN item.controleQuantidade = 5 THEN ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) ELSE ROUND ((item.quantidadeConvertida * ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) / item.quantidade), uniMedConv.casasDecimaisUnidadeMedida) END, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) <= 0 THEN 0 ELSE ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) END, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) <= 0 THEN 0 WHEN item.controleQuantidade = 5 THEN ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) ELSE ROUND ((item.quantidadeConvertida * ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXDOCFISCAL docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXDOCFISCAL docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemDocFiscalReferenciado = item.idItemDocFiscal AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0)) / item.quantidade), uniMedConv.casasDecimaisUnidadeMedida) END, CASE WHEN item.controleQuantidade = 5 THEN item.quantidade ELSE item.quantidadeConvertida END, uniMed.casasDecimaisUnidadeMedida, CASE WHEN item.quantidade = 0 OR item.quantidade <= item.quantidadeDevolvidaRetornada THEN 0 ELSE item.quantidade - item.quantidadeDevolvidaRetornada END, item.precoUnitario, item.precoUnitarioBruto, item.acrescimoUnitarioComposicao, item.valorFreteTotal, item.valorSeguroTotal, CASE WHEN (item.valorProdutoServicoBruto - item.valorDescontoItem + item.valorAcrescimoItem) = 0 OR (cab.valorProdutosBruto - cab.valorDescontoProdutos + cab.valorAcrescimoProdutos + cab.valorServicosBruto - cab.valorDescontoServicos + cab.valorAcrescimoServicos) = 0 THEN 0 ELSE ROUND (((COALESCE (( SELECT SUM (pag.valorPagamentoBruto) FROM MODOCFISCALXPAGAMENTOS pag WHERE pag.idDocumentoFiscal = item.idDocumentoFiscal AND pag.meioPagamento = 30), 0) + COALESCE (( SELECT SUM (vale.valor) FROM MOVALEDESCXDOCFISCAL vale WHERE vale.idDocumentoFiscal = item.idDocumentoFiscal), 0)) * (item.valorProdutoServicoBruto - item.valorDescontoItem + item.valorAcrescimoItem) / (cab.valorProdutosBruto - cab.valorDescontoProdutos + cab.valorAcrescimoProdutos + cab.valorServicosBruto - cab.valorDescontoServicos + cab.valorAcrescimoServicos)), 2) END, (item.valorAcrescimoItem + item.valorOutrasDespesasGeral + item.valorOutrasDespesasPagamento + item.valorJurosPagamento), item.valorAcrescimoItem, item.valorLiquidoItem, item.valorBasePagamento, (item.valorDescontoItem + item.valorDescontoGeral + item.valorDescontoPagamento), CASE WHEN EXISTS ( SELECT 1 FROM MODOCFISCALXPAGAMENTOS pagam JOIN MOFINANCEIROS financ ON financ.idPagamentoDocFiscal = pagam.idPagamentoDocFiscal WHERE pagam.idDocumentoFiscal = item.idDocumentoFiscal AND financ.meioPagamento = 64) THEN 1 ELSE 0 END contaCorrante FROM MODOCFISCALXITENS item JOIN MODOCUMENTOSFISCAIS cab ON cab.idDocumentoFiscal = item.idDocumentoFiscal JOIN PAESTABELECIMENTOS est ON est.estabelecimento = cab.estabelecimento JOIN CAPESSOAS pessEst ON pessEst.pessoa = est.pessoaEstabelecimento JOIN PAMODELOSDOCUMENTO modDoc ON modDoc.modeloDocumento = cab.modeloDocumento JOIN CAPESSOAS pess ON pess.pessoa = cab.pessoa JOIN CAGRADESPRODUTO gradProd ON gradProd.gradeProduto = item.gradeProduto JOIN CAPRODUTOS prod ON prod.produto = gradProd.produto JOIN SIUNIDADESMEDIDA uniMed ON uniMed.unidadeMedida = prod.unidadeMedida JOIN SIUNIDADESMEDIDA uniMedConv ON uniMedConv.unidadeMedida = item.unidadeMedidaConversao JOIN CAPESSOAS vend ON vend.pessoa = item.vendedor WHERE item.idItemDocFiscal > 0 AND cab.devolucaoAnulacaoRetorno = 0 AND cab.situacaoDocumentoFiscal = 23 AND cab.estabelecimento IN (1,2,3,4) AND cab.entradaSaida = 'S' AND cab.pessoa = 3846 AND cab.dataEmissao BETWEEN TO_DATE ('22/10/2024 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('21/11/2024 23:59:59','DD/MM/YYYY HH24:MI:SS') AND modDoc.geraTransferencia = 0 AND item.cancelado = 0 AND NOT(EXISTS( SELECT 1 FROM TEMPSELECAODOCUMENTO temp WHERE temp.sessaoClient = '202411211506531345775269195731' AND temp.nomePublico = 'DevolucaoDocumento' AND temp.quebra = TO_CHAR(cab.dataEmissao,'YYYYMMDD')||'D'||LPAD(item.idDocumentoFiscal,14,'0') || CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MODOCFISCALXPAGAMENTOS pagam ON pagam.idPagamentoDocFiscal = financ.idPagamentoDocFiscal WHERE financ.meioPagamento = 64 AND pagam.idDocumentoFiscal = item.idDocumentoFiscal) THEN '1' ELSE '0' END AND temp.origem = 'D' AND temp.idCabecalho = item.idDocumentoFiscal AND temp.sequencia = item.sequencia AND temp.idItem = item.idItemDocFiscal)); INSERT INTO TEMPSELECAODOCUMENTO ( sessaoClient, nomePublico, quebra, quebraB, sequencia, idItem, origem, idCabecalho, linhaA, linhaB, campoA, campoB, campoC, campoD, idA, idB, idC, idD, idE, idF, vendedor, gradeProduto, personalizacao, localEstoque, unidadeMedida, casasDecimaisUnidadeMedida, data, quantidade, quantidadeConvertida, quantidadeSelecionada, quantidadeConvertidaSelec, quantidadeA, quantidadeB, quantidadeC, precoUnitarioA, precoUnitarioB, precoUnitarioC, valorA, valorB, valorC, valorD, valorE, valorF, valorG, valorH, simNaoB) SELECT '202411211506531345775269195731', 'DevolucaoDocumento', TO_CHAR(cab.dataEmissao,'YYYYMMDD') || 'P' || LPAD(item.preDocumento, 14, '0') || CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MOPREDOCUMXPAGAMENTOS pagam ON pagam.idPagamentoPreDocumento = financ.idPagamentoPreDocumento WHERE financ.meioPagamento = 64 AND pagam.preDocumento = item.preDocumento) THEN '1' ELSE '0' END, 'P' || LPAD(CASE WHEN prod.estabelecimentoFaturamento <> 0 THEN prod.estabelecimentoFaturamento ELSE 1 END,4,'0') || LPAD(cab.modeloDocumento,4,'0') || LPAD(cab.pessoa,14,'0') || CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MOPREDOCUMXPAGAMENTOS pagam ON pagam.idPagamentoPreDocumento = financ.idPagamentoPreDocumento WHERE financ.meioPagamento = 64 AND pagam.preDocumento = item.preDocumento) THEN '1' || LPAD(item.preDocumento, 14, '0') ELSE '0' END, item.sequencia, item.idItemPreDocumento, 'P', item.preDocumento, RTRIM(gradProd.produtoImpresso) || ' - ' || RTRIM(gradProd.descricaoImpressa), CASE WHEN item.vendedor=0 THEN ' ' ELSE 'Vendedor: ' || vend.apelidoFantasia END, 'Pré-Documento: ' || SUBSTR(LPAD (cab.preDocumento, 14, '0'),1,4) || '.' || SUBSTR(LPAD (cab.preDocumento, 14, '0'),5,4) || '.' || SUBSTR(LPAD (cab.preDocumento, 14, '0'),9,3) || '.' || SUBSTR(LPAD (cab.preDocumento, 14, '0'),12,3), CASE WHEN cab.pessoa = 0 THEN CASE WHEN cab.indicadorDocumentoPessoa = 'I' THEN CASE WHEN cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE 'ID.Estrang.: ' || cab.cnpjCpfIdEstrangeiro END WHEN cab.indicadorPessoa = 'J' THEN CASE WHEN cab.indicadorDocumentoPessoa = 'N' OR cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 'CNPJ: ' || SUBSTR(cab.cnpjCpfIdEstrangeiro,1,2) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,3,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,6,3) || '/' || SUBSTR(cab.cnpjCpfIdEstrangeiro,9,4) || '-' || SUBSTR(cab.cnpjCpfIdEstrangeiro,13,2) END ELSE CASE WHEN cab.indicadorDocumentoPessoa = 'N' OR cab.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CPF' ELSE 'CPF: ' || SUBSTR(cab.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(cab.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(cab.cnpjCpfIdEstrangeiro,10,2) END END ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'I' THEN CASE WHEN pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE 'ID.Estrang.: ' || pess.cnpjCpfIdEstrangeiro END WHEN pess.indicadorPessoa = 'J' THEN CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 'CNPJ: ' || SUBSTR(pess.cnpjCpfIdEstrangeiro,1,2) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,3,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,6,3) || '/' || SUBSTR(pess.cnpjCpfIdEstrangeiro,9,4) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,13,2) END ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CPF' ELSE 'CPF: ' || SUBSTR(pess.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,10,2) END END END, CASE WHEN cab.pessoa=0 THEN CASE WHEN cab.nomeRazaoSocial = ' ' THEN 'CONSUMIDOR NÃO IDENTIFICADO' ELSE cab.nomeRazaoSocial END ELSE pess.nomeRazaoSocial END, cab.tipoPagamentoFrete, cab.modeloDocumento, cab.pessoa, CASE WHEN prod.estabelecimentoFaturamento <> 0 THEN prod.estabelecimentoFaturamento ELSE 1 END, 0, cab.estabelecimento, item.cfop, item.vendedor, item.gradeProduto, item.personalizacao, item.localEstoque, CASE WHEN item.controleQuantidade = 5 THEN prod.unidadeMedida ELSE item.unidadeMedidaConversao END, CASE WHEN item.controleQuantidade = 5 THEN uniMed.casasDecimaisUnidadeMedida ELSE uniMedConv.casasDecimaisUnidadeMedida END, TRUNC (cab.dataEmissao), item.quantidade, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) <= 0 THEN 0 WHEN item.controleQuantidade = 5 THEN ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) ELSE ROUND ((item.quantidadeConvertida * ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) / item.quantidade), uniMedConv.casasDecimaisUnidadeMedida) END, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) <= 0 THEN 0 ELSE ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) END, CASE WHEN item.quantidade = 0 OR ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) <= 0 THEN 0 WHEN item.controleQuantidade = 5 THEN ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) ELSE ROUND ((item.quantidadeConvertida * ( item.quantidade - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXPREDOCUM docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND docXDoc2.idItemPreDocumento <> docXDoc2.idItemPreDocReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXPREDOCUM docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemPreDocReferenciado = itemDev.idItemPreDocumento AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0)) END) FROM MOPREDOCUMXPREDOCUM docXDoc JOIN MOPREDOCUMXITENS itemDev ON itemDev.idItemPreDocumento = docXDoc.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev ON cabDev.preDocumento = itemDev.preDocumento WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.statusPreDocumento <> 'C'),0) - COALESCE(( SELECT SUM ( CASE WHEN itemDev.quantidade <= ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) THEN 0 ELSE itemDev.quantidade - ( COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MODOCFISCALXDOCFISCAL docXDoc2 JOIN MODOCFISCALXITENS itemDev2 ON itemDev2.idItemDocFiscal = docXDoc2.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev2 ON cabDev2.idDocumentoFiscal = itemDev2.idDocumentoFiscal WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND docXDoc2.idItemDocFiscal <> docXDoc2.idItemDocFiscalReferenciado AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.situacaoDocumentoFiscal <= 23),0) + COALESCE(( SELECT SUM (itemDev2.quantidade) FROM MOPREDOCUMXDOCFISCAL docXDoc2 JOIN MOPREDOCUMXITENS itemDev2 ON itemDev2.idItemPreDocumento = docXDoc2.idItemPreDocumento JOIN MOPREDOCUMENTOS cabDev2 ON cabDev2.preDocumento = itemDev2.preDocumento WHERE docXDoc2.idItemDocFiscalReferenciado = itemDev.idItemDocFiscal AND itemDev2.cancelado = 0 AND cabDev2.origemDocumento = 4 AND cabDev2.statusPreDocumento <> 'C'),0)) END) FROM MODOCFISCALXPREDOCUM docXDoc JOIN MODOCFISCALXITENS itemDev ON itemDev.idItemDocFiscal = docXDoc.idItemDocFiscal JOIN MODOCUMENTOSFISCAIS cabDev ON cabDev.idDocumentoFiscal = itemDev.idDocumentoFiscal WHERE docXDoc.idItemPreDocReferenciado = item.idItemPreDocumento AND itemDev.cancelado = 0 AND cabDev.origemDocumento <> 6 AND cabDev.situacaoDocumentoFiscal <= 23),0)) / item.quantidade), uniMedConv.casasDecimaisUnidadeMedida) END, CASE WHEN item.controleQuantidade = 5 THEN item.quantidade ELSE item.quantidadeConvertida END, uniMed.casasDecimaisUnidadeMedida, CASE WHEN item.quantidade = 0 OR item.quantidade <= item.quantidadeDevolvidaRetornada THEN 0 ELSE item.quantidade - item.quantidadeDevolvidaRetornada END, item.precoUnitario, item.precoUnitarioBruto, item.acrescimoUnitarioComposicao, item.valorFreteTotal, item.valorSeguroTotal, CASE WHEN (item.valorProdutoServicoBruto - item.valorDescontoItem + item.valorAcrescimoItem) = 0 OR (cab.valorProdutosBruto - cab.valorDescontoProdutos + cab.valorAcrescimoProdutos + cab.valorServicosBruto - cab.valorDescontoServicos + cab.valorAcrescimoServicos) = 0 THEN 0 ELSE ROUND (((COALESCE (( SELECT SUM (pag.valorPagamentoBruto) FROM MOPREDOCUMXPAGAMENTOS pag WHERE pag.preDocumento = item.preDocumento AND pag.meioPagamento = 30), 0) + COALESCE (( SELECT SUM (vale.valor) FROM MOVALEDESCXPREDOCUM vale WHERE vale.preDocumento = item.preDocumento), 0)) * (item.valorProdutoServicoBruto - item.valorDescontoItem + item.valorAcrescimoItem) / (cab.valorProdutosBruto - cab.valorDescontoProdutos + cab.valorAcrescimoProdutos + cab.valorServicosBruto - cab.valorDescontoServicos + cab.valorAcrescimoServicos)), 2) END, (item.valorAcrescimoItem + item.valorOutrasDespesasGeral + item.valorOutrasDespesasPagamento + item.valorJurosPagamento), item.valorAcrescimoItem, item.valorLiquidoItem, item.valorBasePagamento, (item.valorDescontoItem + item.valorDescontoGeral + item.valorDescontoPagamento), CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MOPREDOCUMXPAGAMENTOS pagam ON pagam.idPagamentoPreDocumento = financ.idPagamentoPreDocumento WHERE financ.meioPagamento = 64 AND pagam.preDocumento = item.preDocumento) THEN 1 ELSE 0 END contaCorrante FROM MOPREDOCUMXITENS item JOIN MOPREDOCUMENTOS cab ON cab.preDocumento = item.preDocumento JOIN PAESTABELECIMENTOS est ON est.estabelecimento = cab.estabelecimento JOIN CAPESSOAS pessEst ON pessEst.pessoa = est.pessoaEstabelecimento JOIN PAMODELOSDOCUMENTO modDoc ON modDoc.modeloDocumento = cab.modeloDocumento JOIN CAPESSOAS pess ON pess.pessoa = cab.pessoa JOIN CAGRADESPRODUTO gradProd ON gradProd.gradeProduto = item.gradeProduto JOIN CAPRODUTOS prod ON prod.produto = gradProd.produto JOIN SIUNIDADESMEDIDA uniMed ON uniMed.unidadeMedida = prod.unidadeMedida JOIN SIUNIDADESMEDIDA uniMedConv ON uniMedConv.unidadeMedida = item.unidadeMedidaConversao JOIN CAPESSOAS vend ON vend.pessoa = item.vendedor WHERE item.idItemPreDocumento > 0 AND cab.devolucaoAnulacaoRetorno = 0 AND cab.statusPreDocumento = 'A' AND cab.entradaSaida = 'S' AND cab.pessoa = 3846 AND cab.dataEmissao BETWEEN TO_DATE ('22/10/2024 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('21/11/2024 23:59:59','DD/MM/YYYY HH24:MI:SS') AND item.cancelado = 0 AND NOT(EXISTS( SELECT 1 FROM TEMPSELECAODOCUMENTO temp WHERE temp.sessaoClient = '202411211506531345775269195731' AND temp.nomePublico = 'DevolucaoDocumento' AND temp.quebra = TO_CHAR(cab.dataEmissao,'YYYYMMDD')||'P'||LPAD(item.preDocumento,14,'0') || CASE WHEN EXISTS ( SELECT 1 FROM MOFINANCEIROS financ JOIN MOPREDOCUMXPAGAMENTOS pagam ON pagam.idPagamentoPreDocumento = financ.idPagamentoPreDocumento WHERE financ.meioPagamento = 64 AND pagam.preDocumento = item.preDocumento) THEN '1' ELSE '0' END AND temp.origem = 'P' AND temp.idCabecalho = item.preDocumento AND temp.sequencia = item.sequencia AND temp.idItem = item.idItemPreDocumento)); UPDATE TEMPSELECAODOCUMENTO SET valor = ROUND (quantidadeSelecionada * (precoUnitarioB + precoUnitarioC), 2) - ROUND (valorH * quantidadeConvertidaSelec / quantidadeA, 2) + ROUND (valorE * quantidadeConvertidaSelec / quantidadeA, 2) + ROUND (( valorF - ROUND(quantidade * (precoUnitarioB + precoUnitarioC), 2) + valorH - valorE - CASE WHEN campoD = 'V' THEN 0 ELSE valorA + valorB END + valorC - valorD ) * quantidadeConvertidaSelec / quantidadeA, 2), valorSelecionado = ROUND (quantidadeSelecionada * (precoUnitarioB + precoUnitarioC), 2) - ROUND (valorH * quantidadeConvertidaSelec / quantidadeA, 2) + ROUND (valorE * quantidadeConvertidaSelec / quantidadeA, 2) + ROUND (( valorF - ROUND(quantidade * (precoUnitarioB + precoUnitarioC), 2) + valorH - valorE - CASE WHEN campoD = 'V' THEN 0 ELSE valorA + valorB END + valorC - valorD ) * quantidadeConvertidaSelec / quantidadeA, 2) WHERE sessaoClient = '202411211506531345775269195731' AND nomePublico = 'DevolucaoDocumento' AND quantidadeA <> 0; INSERT INTO TEMPSELECAODOCUMENTO ( sessaoClient, nomePublico, quebra, sequencia, idItem, quebraB, origem, idCabecalho, linhaB, campoA, campoB, idA, idB, idC, idD, idE, data, quantidade, quantidadeConvertida, simNaoB) SELECT '202411211506531345775269195731', 'DevolucaoDocumento', quebra, 0, 0, MAX(quebraB), origem, idCabecalho, MAX(campoC), MAX(campoA), MAX(campoB), MAX(idA), MAX(idB), MAX(idC), idD, MAX(idE), MAX(data), SUM(quantidade), SUM(quantidadeConvertida), MAX(simNaoB) FROM TEMPSELECAODOCUMENTO WHERE sessaoClient = '202411211506531345775269195731' AND nomePublico = 'DevolucaoDocumento' AND sequencia > 0 GROUP BY quebra, origem, idCabecalho, idD; END; ================================================== 2024.1.4 21/11/2024 17:40:09:515 Falha na criação, alteração ou exclusão do registro. Erro: 1722 - ORA-01722: invalid number Tabela: MOPREDOCUMENTOS Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pré-Documento Saída \ Doc Principal \ Tela \ Cabeçalho Grava \ Doc Cabeçalho Grava \ Pré-Doc Rot Troca Correlatos \ Zera Cabeçalho ================================================== 2024.1.5 21/02/2025 15:02:30:156 Erro banco de dados. Erro: 942 - Oracle Gateway: Only SELECT statement or STORED PROCEDURES having SELECT statement can have output parameters. Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pré-Documento Saída \ Doc Principal \ Tela \ Old Doc Pagamentos \ Múltiplos \ Pag Condição Busca Categorias ================================================== 2024.1.5 14/03/2025 12:30:19:249 Erro banco de dados. Erro: 3113 - ORA-03113: end-of-file on communication channel Process ID: 58378 Session ID: 1294 Serial number: 15980 Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pesq Clientes \ Pesq Pessoas \ Pesquisa \ Tela \ Pesquisa Subform Dados \ Det Pessoa Simplificado \ Detalhe \ Extrato Financeiro Pessoa \ Comando Banco Dados Executa SQL: DELETE TEMPEXTRATOPESSOA WHERE sessaoClient = '202503140906096014783843365130' AND idSessao = 2