================================================== 2024.1.5 06/12/2024 17:03:16:060 Erro banco de dados. Erro: 4036 - ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT ORA-06512: at line 7 Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Devolução Vendas \ Devolução Documento \ Comando Banco Dados Executa SQL: BEGIN DELETE TEMPSELECAODOCUMENTO WHERE sessaoClient = '202412060905159296100163672988' 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 '202412060905159296100163672988', '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.entradaSaida = 'S' AND cab.pessoa = 10000006860 AND item.gradeProduto = 57478 AND cab.dataEmissao BETWEEN TO_DATE ('06/11/2024 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('06/12/2024 23:59:59','DD/MM/YYYY HH24:MI:SS') AND modDoc.geraTransferencia = 0 AND item.cancelado = 0 AND item.gradeProduto = 57478 AND NOT(EXISTS( SELECT 1 FROM TEMPSELECAODOCUMENTO temp WHERE temp.sessaoClient = '202412060905159296100163672988' 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 '202412060905159296100163672988', '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.estabelecimento IN (1,2,400) AND cab.entradaSaida = 'S' AND cab.pessoa = 10000006860 AND item.gradeProduto = 57478 AND cab.dataEmissao BETWEEN TO_DATE ('06/11/2024 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('06/12/2024 23:59:59','DD/MM/YYYY HH24:MI:SS') AND item.cancelado = 0 AND item.gradeProduto = 57478 AND NOT(EXISTS( SELECT 1 FROM TEMPSELECAODOCUMENTO temp WHERE temp.sessaoClient = '202412060905159296100163672988' 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 = '202412060905159296100163672988' 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 '202412060905159296100163672988', '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 = '202412060905159296100163672988' AND nomePublico = 'DevolucaoDocumento' AND sequencia > 0 GROUP BY quebra, origem, idCabecalho, idD; END; ================================================== 2024.1.5 06/12/2024 17:04:19:216 Erro banco de dados. Erro: 4036 - ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT ORA-06512: at line 7 Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Devolução Vendas \ Devolução Documento \ Comando Banco Dados Executa SQL: BEGIN DELETE TEMPSELECAODOCUMENTO WHERE sessaoClient = '202412060905159296100163672988' 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 '202412060905159296100163672988', '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.entradaSaida = 'S' AND cab.pessoa = 10000006860 AND item.gradeProduto = 57478 AND cab.dataEmissao BETWEEN TO_DATE ('06/11/2024 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('06/12/2024 23:59:59','DD/MM/YYYY HH24:MI:SS') AND modDoc.geraTransferencia = 0 AND item.cancelado = 0 AND item.gradeProduto = 57478 AND NOT(EXISTS( SELECT 1 FROM TEMPSELECAODOCUMENTO temp WHERE temp.sessaoClient = '202412060905159296100163672988' 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 '202412060905159296100163672988', '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.estabelecimento IN (1,2,400) AND cab.entradaSaida = 'S' AND cab.pessoa = 10000006860 AND item.gradeProduto = 57478 AND cab.dataEmissao BETWEEN TO_DATE ('06/11/2024 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TO_DATE ('06/12/2024 23:59:59','DD/MM/YYYY HH24:MI:SS') AND item.cancelado = 0 AND item.gradeProduto = 57478 AND NOT(EXISTS( SELECT 1 FROM TEMPSELECAODOCUMENTO temp WHERE temp.sessaoClient = '202412060905159296100163672988' 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 = '202412060905159296100163672988' 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 '202412060905159296100163672988', '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 = '202412060905159296100163672988' AND nomePublico = 'DevolucaoDocumento' AND sequencia > 0 GROUP BY quebra, origem, idCabecalho, idD; END; ================================================== 2024.1.5 13/01/2025 14:04:18:603 Erro banco de dados. Erro: 942 - ORA-00942: table or view does not exist Tabela: TEMPPESQUISAPRODUTOS Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pesq Produtos \ Tela \ Produtos ================================================== 2024.1.5 27/02/2025 16:18:26:974 Erro banco de dados. Erro: 3113 - ORA-03113: end-of-file on communication channel Process ID: 79268 Session ID: 1548 Serial number: 20316 Tabela: MOACESSOSMENU Caminho: start \ Menu Old \ Lista Menu \ Grava Acesso Menu ================================================== 2024.1.5 28/02/2025 15:47:29:150 Impossível criar, alterar ou excluir o registro (Falha de restrição). Erro: 2291 - ORA-02291: integrity constraint (ATACADOSCHARLAU.MODOCUMENTOSFISCAIS_FK37) violated - parent key not found Tabela: MODOCUMENTOSFISCAIS Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Devolução Vendas \ Devolução Documento \ Processa Temp \ Processa Temp Itens \ Cria Documento Fiscal \ Doc Fisc Cab Insere ================================================== 2024.1.5 28/02/2025 15:47:29:209 Impossível criar, alterar ou excluir o registro (Falha de restrição). Erro: 2291 - ORA-02291: integrity constraint (ATACADOSCHARLAU.MODOCFISCALXNFREF_FK1) violated - parent key not found Tabela: MODOCFISCALXNFREF Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Devolução Vendas \ Devolução Documento \ Processa Temp \ Processa Temp Itens \ Cria Documento Fiscal \ Doc Fisc NF Ref Grava ================================================== 2024.1.5 28/02/2025 15:47:29:327 Impossível criar, alterar ou excluir o registro (Falha de restrição). Erro: 2291 - ORA-02291: integrity constraint (ATACADOSCHARLAU.MODOCFISCALXPAGAMENTOS_FK1) violated - parent key not found Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Devolução Vendas \ Devolução Documento \ Processa Temp \ Processa Temp Itens \ Pag TempPagamento Efetiva \ Doc Fisc Pag Pagamento Insere \ Comando Banco Dados Executa SQL: INSERT INTO MODOCFISCALXPAGAMENTOS ( idPagamentoDocFiscal, idDocumentoFiscal, pagamentoTroco, sequencia, indicadorFormaPagamento, meioPagamento, condicaoPagamento, cobranca, numeroParcelas, somaPrazoParcelas, valorXPrazoParcelas, prazoMedio, prazoMedioPonderado, valorEntradaMinima, valorPagamentoBruto, valorDescontoPagamento, valorOutrasDespesasPagamento, valorJurosPagamento, valorPagamentoLiquido, valorFinanceiro, observacoes) VALUES ( 10000016410, 10000013827, 'P', 1, '0', 31, 58, 14469, 1, 0, 0.00, 0, 0, 0.00, 83.98, 0.00, 0.00, 0.00, 83.98, 83.98, ' ') ================================================== 2024.1.5 06/03/2025 17:29:27:093 Erro banco de dados. Erro: 3113 - ORA-03113: end-of-file on communication channel Process ID: 88913 Session ID: 84 Serial number: 55447 Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Orçamento \ Doc Principal \ Tela \ Troca Pessoa \ Código Descrição Troca SQL: SELECT COALESCE(MIN(a.id),0) id, COALESCE(MIN(a.codigo),' ') codigo, COALESCE(MIN(a.id2),0) id2, COALESCE(MIN(a.codigo2),' ') codigo2, COALESCE(MIN(a.codigoDescricao),' ') codigoDescricao, COUNT (1) contaRegistros FROM (SELECT /*+ FIRST_ROWS(2) */ a.pessoa id, ' ' codigo, 0 id2, a.cnpjCpfIdEstrangeiro codigo2, a.nomeRazaoSocial codigoDescricao FROM CAPESSOAS a JOIN CACLIENTES client ON client.cliente = a.pessoa AND client.ativo = 1 WHERE a.pessoa <> 0 AND ( a.nomeRazaoSocial LIKE 'BRUNA%GRA%' OR a.apelidoFantasia LIKE 'BRUNA%GRA%') AND a.ativo = 1 AND ROWNUM <= 2) a ================================================== 2024.1.5 11/03/2025 16:50:17:376 Erro banco de dados. Erro: 3113 - ORA-03113: end-of-file on communication channel Process ID: 93058 Session ID: 1076 Serial number: 28589 Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Orçamento \ Doc Principal \ Tela \ Troca Pessoa \ Código Descrição Troca SQL: SELECT COALESCE(MIN(a.id),0) id, COALESCE(MIN(a.codigo),' ') codigo, COALESCE(MIN(a.id2),0) id2, COALESCE(MIN(a.codigo2),' ') codigo2, COALESCE(MIN(a.codigoDescricao),' ') codigoDescricao, COUNT (1) contaRegistros FROM (SELECT /*+ FIRST_ROWS(2) */ a.pessoa id, ' ' codigo, 0 id2, a.cnpjCpfIdEstrangeiro codigo2, a.nomeRazaoSocial codigoDescricao FROM CAPESSOAS a JOIN CACLIENTES client ON client.cliente = a.pessoa AND client.ativo = 1 WHERE (a.pessoa = 83384359020 OR a.cnpjCpfIdEstrangeiro = '83384359020') AND a.ativo = 1 AND ROWNUM <= 2) a ================================================== 2024.1.5 11/03/2025 16:54:57:583 Erro banco de dados. Erro: 3113 - ORA-03113: end-of-file on communication channel Process ID: 13814 Session ID: 1673 Serial number: 33480 Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pesq Orçamentos \ Pesq Movimentos \ Tela \ TEMPPESQUISAS Gera \ Comando Banco Dados Executa SQL: BEGIN DELETE TEMPPESQUISAS WHERE sessaoClient = '202503111341322959222608154417' AND contadorSessao = 2; INSERT INTO TEMPPESQUISAS ( sessaoClient, nomePublico, contadorSessao, id, codigo, visivel, ordenacao, legenda, imagem, ativo, efetivar, quebraEfetivar, editarComoCriar, eventos, imprimir, salvar, fonte, cor, campoA, campoDescricao, campoB, corB, campoC, corC, campoD, corD, campoE, corE, campoF, corF, campoG, corG, campoH, corH, campoI, corI, campoJ, corJ, campoK, corK, campoL, corL, linhaB, corLinhaB, linhaC, corLinhaC, colunaOcultaA, colunaOcultaB, colunaOcultaC, colunaOcultaD, idAuxilizar, logicoAAuxiliar, logicoBAuxiliar, observacoes) SELECT '202503111341322959222608154417' sessaoClient, 'PesqOrcamentos' nomePublico, 2 contadorSessao, a.id, ' ' codigo, 1 visivel, a.ordenacao, 0 legenda, COALESCE (( SELECT foto.arquivo FROM CAPESSOAXARQUIVOS foto WHERE foto.pessoa = a.fotoCampoLink AND foto.tipoImagemPessoa = 1 AND foto.ativo = 1 AND foto.tipoArquivo = 3 AND (LPAD(foto.ordenacao, 11, '0') || LPAD(foto.id, 14, '0')) = ( SELECT MIN (LPAD(foto2.ordenacao, 11, '0') || LPAD(foto2.id, 14, '0')) FROM CAPESSOAXARQUIVOS foto2 WHERE foto2.pessoa = foto.pessoa AND foto2.tipoImagemPessoa = 1 AND foto2.ativo = 1 AND foto2.tipoArquivo = 3 )), ' ') imagem, 1 ativo, a.efetivar, a.quebraEfetivar, 0 editarComoCriar, a.eventos, a.imprimir, a.salvar, 0 fonte, 0 cor, ' ' campoA, a.campoDescricao, a.campoB, 0 corB, a.campoC, 0 corC, a.campoD, 0 corD, a.campoE, 0 corE, a.campoF, 0 corF, a.campoG, 0 corG, ' ' campoH, 0 corH, a.campoI, 0 corI, ' ' campoJ, 0 corJ, ' ' campoK, 0 corK, ' ' campoL, 0 corL, COALESCE(RTRIM(SUBSTR(SUBSTR ((CASE WHEN a.projeto = ' ' THEN '' ELSE ' | Projeto: ' || proj_descricao END || COALESCE (( SELECT LISTAGG (' | ' || cond.descricao, '') WITHIN GROUP (ORDER BY cond.descricao) FROM ( SELECT pag.orcamento, pag.condicaoPagamento FROM MOORCAMENTOXPAGAMENTOS pag WHERE pag.pagamentoTroco = 'P' AND pag.condicaoPagamento > 0 GROUP BY pag.orcamento, pag.condicaoPagamento) pag JOIN PACONDICOESPAGAMENTO cond ON cond.condicaoPagamento = pag.condicaoPagamento WHERE pag.orcamento = a.orcamento AND pag.condicaoPagamento > 0), CASE WHEN a.condicaoPagamento = 0 THEN ' ' ELSE ' | ' || condPag_descricao END)), 4, 4000),1,300)),' ') linhaB, 0 corLinhaB, COALESCE(RTRIM(SUBSTR('Vendedor: ' || COALESCE( ( SELECT LISTAGG ( CASE WHEN item.vendedor = 0 THEN ' ' ELSE vendItem.apelidoFantasia END, ' | ') WITHIN GROUP ( ORDER BY CASE WHEN item.vendedor = 0 THEN ' ' ELSE vendItem.apelidoFantasia END) FROM ( SELECT item.orcamento, item.vendedor FROM MOORCAMENTOXITENS item WHERE item.vendedor > 0 GROUP BY item.orcamento, item.vendedor ) item JOIN CAPESSOAS vendItem ON vendItem.pessoa = item.vendedor WHERE item.orcamento = a.orcamento ), CASE WHEN a.ultimoVendedorItem = 0 THEN ' ' ELSE vend_apelidoFantasia END),1,300)),' ') linhaC, 0 corLinhaC, a.colunaOcultaA, a.colunaOcultaB, a.colunaOcultaC, ' ' colunaOcultaD, CASE WHEN a.colunaOcultaC BETWEEN '61' AND '89' AND EXISTS(SELECT 1 FROM MOORCAMENTOXITENS itensOrc JOIN MOENTREGAS entr ON entr.idItemOrcamento = itensOrc.idItemOrcamento WHERE itensOrc.orcamento = a.id AND itensOrc.cancelado = 0 AND itensOrc.controleEntrega > 0) THEN a.id ELSE 0 END idAuxilizar, 0 logicoAAuxiliar, 0 logicoBAuxiliar, COALESCE(RTRIM(SUBSTR(COALESCE(RTRIM(SUBSTR((SELECT LISTAGG(UPPER(infCompl.descInformacaoComplementar), ' ') WITHIN GROUP (ORDER BY infCompl.sequencia) FROM MOORCAMENTOXINFOCOMPLENT infCompl WHERE infCompl.orcamento = a.orcamento AND infCompl.geradoPeloSistema = 0 AND infCompl.descInformacaoComplementar <> ' '),1,4000)),' '),1,4000)),' ') observacoes FROM ( SELECT a.orcamento id, ROW_NUMBER() OVER (ORDER BY a.dataEmissao desc, a.idDocumento desc) ordenacao, a.pessoa fotoCampoLink, CASE WHEN etOrc.situacaoOrcamento IN (50,60,63) THEN 1 ELSE 0 END efetivar, COALESCE(RTRIM(SUBSTR(a.entradaSaida || LPAD(a.modeloDocumento,4,'0') || LPAD(a.estabelecimento,4,'0') || LPAD(a.etapaOrcamento,4,'0') || LPAD(a.pessoa,14,'0') || LPAD(a.comissionadoB,14,'0') || LPAD(a.comissionadoC,14,'0'),1,300)),' ') quebraEfetivar, CASE WHEN 1=1 THEN 1 ELSE 0 END eventos, CASE WHEN etOrc.habilitaImprimirManual = 1 THEN 1 ELSE 0 END imprimir, CASE WHEN etOrc.situacaoOrcamento <= 60 OR etOrc.situacaoOrcamento = 80 AND EXISTS( SELECT 1 FROM PAETAPASORCAMENTO etapNova JOIN PAETAPASORCAMENTODEPARA etOrcDePara ON 1=1 WHERE etapNova.ativo = 1 AND etapNova.etapaOrcamento <> a.etapaOrcamento AND CASE a.tipoDocumento WHEN 201 THEN etapNova.validoPedidoCompra WHEN 102 THEN etapNova.validoOrdemServico WHEN 103 THEN etapNova.validoContrato ELSE etapNova.validoOrcamento END = 1 AND etapNova.situacaoOrcamento = 80 AND (etOrcDePara.estabelecimento = 0 OR etOrcDePara.estabelecimento = a.estabelecimento) AND (etOrcDePara.perfilUsuario = 0 OR etOrcDePara.perfilUsuario = 4) AND (etOrcDePara.usuario = 0 OR etOrcDePara.usuario = 10000002655) AND (etOrcDePara.etapaOrcamentoDe = 0 OR etOrcDePara.etapaOrcamentoDe = a.etapaOrcamento) AND (etOrcDePara.etapaOrcamentoPara = 0 OR etOrcDePara.etapaOrcamentoPara = etapNova.etapaOrcamento)) THEN 1 ELSE 0 END salvar, COALESCE(RTRIM(SUBSTR(CASE WHEN a.pessoa=0 THEN 'CONSUMIDOR NÃO IDENTIFICADO' ELSE pess.nomeRazaoSocial END,1,300)),' ') campoDescricao, COALESCE(RTRIM(SUBSTR(CASE WHEN a.idDocumento = 0 THEN 0 WHEN a.idDocumento BETWEEN (a.estabelecimento*10000000000+1) AND (a.estabelecimento*10000000000+9999999999) THEN (a.idDocumento - (a.estabelecimento*10000000000)) ELSE a.idDocumento END,1,300)),' ') campoB, COALESCE(RTRIM(SUBSTR(LPAD(a.estabelecimento,4,'0'),1,300)),' ') campoC, COALESCE(RTRIM(SUBSTR(CASE WHEN a.pessoa=0 THEN 'SEM CPF' ELSE CASE WHEN pess.indicadorDocumentoPessoa = 'I' THEN CASE WHEN pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM ID ESTRANGEIRO' ELSE pess.cnpjCpfIdEstrangeiro END WHEN pess.indicadorPessoa = 'J' THEN CASE WHEN pess.indicadorDocumentoPessoa = 'N' OR pess.cnpjCpfIdEstrangeiro = ' ' THEN 'SEM CNPJ' ELSE 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 SUBSTR(pess.cnpjCpfIdEstrangeiro,1,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,4,3) || '.' || SUBSTR(pess.cnpjCpfIdEstrangeiro,7,3) || '-' || SUBSTR(pess.cnpjCpfIdEstrangeiro,10,2) END END END,1,300)),' ') campoD, COALESCE(RTRIM(SUBSTR(TO_CHAR(TO_NUMBER(SUBSTR(LPAD(a.pessoa,14,'0'),5,10))),1,300)),' ') campoE, COALESCE(RTRIM(SUBSTR(COALESCE(TO_CHAR (a.dataEmissao,'DD/MM/YYYY HH24:MI:SS'),'00/00/0000 00:00:00'),1,300)),' ') campoF, COALESCE(RTRIM(SUBSTR(TO_CHAR (a.valorLiquidoItem,'FM9G999G999G999G990D90'),1,300)),' ') campoG, COALESCE(RTRIM(SUBSTR(etOrc.descricao,1,300)),' ') campoI, COALESCE(RTRIM(SUBSTR(a.tipoDocumento,1,300)),' ') colunaOcultaA, COALESCE(RTRIM(SUBSTR(a.orcamento,1,300)),' ') colunaOcultaB, COALESCE(RTRIM(SUBSTR(etOrc.situacaoOrcamento,1,300)),' ') colunaOcultaC, a.orcamento, a.tipoDocumento, a.estabelecimento, a.pessoa, a.condicaoPagamento, condPag.descricao condPag_descricao, a.ultimoVendedorItem, vend.apelidoFantasia vend_apelidoFantasia, a.etapaOrcamento, etOrc.situacaoOrcamento etOrc_situacaoOrcamento, a.projeto, proj.descricao proj_descricao FROM MOORCAMENTOS a JOIN CAPESSOAS pess ON pess.pessoa = a.pessoa JOIN PAETAPASORCAMENTO etOrc ON etOrc.etapaOrcamento = a.etapaOrcamento JOIN PACONDICOESPAGAMENTO condPag ON condPag.condicaoPagamento = a.condicaoPagamento JOIN CAPESSOAS vend ON vend.pessoa = a.ultimoVendedorItem JOIN PAPROJETOS proj ON proj.projeto = a.projeto WHERE a.orcamento <> 0 AND a.etapaOrcamento = 17 AND a.estabelecimento = 1 AND a.estabelecimento = 1 AND EXISTS ( SELECT 1 FROM PAETAPASORCAMENTOPERMITID b WHERE (b.estabelecimento = 0 OR b.estabelecimento = 1) AND (b.perfilUsuario = 0 OR b.perfilUsuario = 4) AND (b.usuario = 0 OR b.usuario = 10000002655) AND (b.etapaOrcamento = 0 OR b.etapaOrcamento = a.etapaOrcamento) AND b.permitido = 1) AND a.tipoDocumento = 101 ) a WHERE a.ordenacao <= 500; UPDATE TEMPPESQUISAS a SET a.logicoAAuxiliar = CASE WHEN EXISTS ( SELECT 1 FROM MOORCAMENTOXITENS itemOrc JOIN PACONTROLESENTREGA contrEntr ON contrEntr.controleEntrega = itemOrc.controleEntrega WHERE itemOrc.orcamento = a.idAuxilizar AND itemOrc.cancelado = 0 AND itemOrc.controleEntrega > 0 AND contrEntr.efetuarProgramacaoEntrega = 1 AND (itemOrc.quantidadeConvertida - COALESCE (( SELECT SUM(entr.quantidade) FROM MOENTREGAS entr WHERE entr.idItemOrcamento = itemOrc.idItemOrcamento AND entr.situacaoEntrega NOT IN (1,2,7)), 0)) > 0) THEN 1 ELSE 0 END, a.logicoBAuxiliar = CASE WHEN EXISTS ( SELECT 1 FROM MOORCAMENTOXITENS itemOrc JOIN MOENTREGAS entr ON entr.idItemOrcamento = itemOrc.idItemOrcamento WHERE itemOrc.orcamento = a.idAuxilizar AND itemOrc.cancelado = 0 AND itemOrc.controleEntrega > 0 AND entr.situacaoEntrega = 3) OR EXISTS ( SELECT 1 FROM MOORCAMENTOXITENS itemOrc JOIN PACONTROLESENTREGA contrEntr ON contrEntr.controleEntrega = itemOrc.controleEntrega WHERE itemOrc.orcamento = a.idAuxilizar AND itemOrc.cancelado = 0 AND itemOrc.controleEntrega > 0 AND contrEntr.efetuarProgramacaoEntrega = 0 AND (itemOrc.quantidadeConvertida - COALESCE (( SELECT SUM(entr.quantidade) FROM MOENTREGAS entr WHERE entr.idItemOrcamento = itemOrc.idItemOrcamento AND entr.situacaoEntrega NOT IN (1,2,7)), 0)) > 0) THEN 1 ELSE 0 END WHERE a.sessaoClient = '202503111341322959222608154417' AND a.contadorSessao = 2 AND a.idAuxilizar > 0; END; ================================================== 2024.1.5 11/03/2025 16:54:57:843 Erro banco de dados. Erro: 3113 - ORA-03113: end-of-file on communication channel Process ID: 13814 Session ID: 1673 Serial number: 33480 Tabela: TEMPPESQUISAS Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Pesq Orçamentos \ Pesq Movimentos \ Tela \ Tabela ================================================== 2024.1.5 12/03/2025 16:03:32:761 Erro banco de dados. Erro: 3113 - ORA-03113: end-of-file on communication channel Process ID: 88724 Session ID: 541 Serial number: 27460 Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Orçamento \ Doc Principal \ Tela \ Troca Pessoa \ Código Descrição Troca SQL: SELECT COALESCE(MIN(a.id),0) id, COALESCE(MIN(a.codigo),' ') codigo, COALESCE(MIN(a.id2),0) id2, COALESCE(MIN(a.codigo2),' ') codigo2, COALESCE(MIN(a.codigoDescricao),' ') codigoDescricao, COUNT (1) contaRegistros FROM (SELECT /*+ FIRST_ROWS(2) */ a.pessoa id, ' ' codigo, 0 id2, a.cnpjCpfIdEstrangeiro codigo2, a.nomeRazaoSocial codigoDescricao FROM CAPESSOAS a JOIN CACOMISSIONADOSB comB ON comB.comissionadoB = a.pessoa AND comB.ativo = 1 WHERE a.pessoa <> 0 AND ( a.nomeRazaoSocial LIKE 'TICI%' OR a.apelidoFantasia LIKE 'TICI%') AND a.ativo = 1 AND ROWNUM <= 2) a ================================================== 2024.1.5 12/03/2025 16:26:36:915 Falha na criação, alteração ou exclusão do registro. Erro: 1722 - ORA-01722: invalid number Tabela: MOORCAMENTOS Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Orçamento \ Doc Principal \ Tela \ Cabeçalho Grava \ Doc Cabeçalho Grava \ Orçamento Rot Troca Correlatos \ Zera Cabeçalho ================================================== 2024.1.5 12/03/2025 16:50:58:001 Falha na criação, alteração ou exclusão do registro. Erro: 1722 - ORA-01722: invalid number Tabela: MOORCAMENTOS Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Orçamento \ Doc Principal \ Tela \ Cabeçalho Grava \ Doc Cabeçalho Grava \ Orçamento Rot Troca Correlatos \ Zera Cabeçalho ================================================== 2024.1.5 12/03/2025 17:57:24:792 Falha na criação, alteração ou exclusão do registro. Erro: 1722 - ORA-01722: invalid number Tabela: MOORCAMENTOS Caminho: start \ Menu Old \ Lista Menu \ Chama Menu \ Orçamento \ Doc Principal \ Tela \ Cabeçalho Grava \ Doc Cabeçalho Grava \ Orçamento Rot Troca Correlatos \ Zera Cabeçalho