Pular para o conteúdo principal

MNF026 — Troca de Produtos com Emissão de Nota Fiscal

Fonte​

  • Source: source/MNF026/

Objetivo​

O módulo MNF026 tem como finalidade gerenciar o processo completo de troca de produtos vendidos, realizando simultaneamente a devolucao dos itens originais (nota de entrada) e a emissao de uma nova nota fiscal de saida contendo os produtos substitutos. Esse fluxo unifica em uma unica tela as operacoes que normalmente exigiriam duas etapas separadas: a devolucao e a nova venda.

O módulo e utilizado por operadores de faturamento, caixas e supervisores comerciais que precisam atender clientes que desejam trocar mercadorias. Ele lida com cenarios como troca simples (mesmo valor), troca com diferenca a pagar pelo cliente, troca com credito/compensacao financeira e troca vinculada a pedidos de venda.

Ao salvar a operacao, o sistema gera automaticamente a nota fiscal de devolucao (entrada) e a nota fiscal de venda (saida), calcula impostos, movimenta estoque, gera o financeiro (contas a receber/pagar), permite abertura de caixa para cobranca da diferenca e, quando configurado, emite NF-e/NFC-e eletronicamente. Um resumo da troca e gravado na tabela TROCANFERESUMO para controle e rastreabilidade.

Funcionalidades​

  • Selecao de Notas para Devolucao
  • Itens Devolvidos (Entrada)
  • Itens para Troca (Saida)
  • Dados Financeiros da Nova Nota
  • Serie e Especie da Devolucao
  • Calculo de Diferenca e Desconto
  • Compensacao Financeira
  • Vinculacao com Pedidos de Venda
  • Emissao de NF-e/NFC-e

Mensagens exibidas​

Levantadas de source/MNF026/ pela camada 0 (commit 96fc51e236).

CódigoTipoMensagem
E-0271ErroA Condição de Pagamento Não Está Ativa. Verifique! [TFC002]
E-0290ErroA Movimentação não está cadastrada. Verifique! [TCB001]
W-0122AvisoProduto "%s" não está Ativo. Verifique! [TPO001]
W-0127AvisoÉ Obrigatório Informar o Vendedor
W-0168AvisoA Movimentação Gera Estoque e o Produto "%s": Não possui Local de Armazenagem Associado. Ou o Usuário não possui Acesso. Ou Não Permite Faturamento. Verifique [TPO001, TOF007]!
W-0202AvisoOperação Cancelada!
W-0324AvisoÉ Obrigatório informar a Condição de Pagamento!
W-0326AvisoÉ Obrigatório informar a Forma de Pagamento!
W-0338AvisoÉ Obrigatório Informar a Pessoa para Validação do Endereço!
W-0339AvisoO Endereço da Pessoa Física / Jurídica não está Cadastrado. Verifique! [TFA001]
W-0343AvisoA Movimentação não está Ativa. Verifique! [TCB001]
W-0364AvisoParcelamento Cancelado!
W-0367AvisoO Código de Barras do Produto não está Cadastrado. Verifique! [TPO001]
W-0369AvisoÉ Obrigatório Informar a Pessoa para Listar os Endereços!
W-0786AvisoÉ Obrigatório Informar a Série da Nota Fiscal!
W-1909AvisoProduto não encontrado. Verifique!
W-1910AvisoTodos os Produto %s Já Foram Selecionados. Verifique!
W-1911AvisoNão foi Selecionado nenhum Pedido para Atender. Verifique!
W-1912AvisoNão foi Possível Gerar uma NF através do Pedido %s Pois o Mesmo já está Atendido. Verifique! [CPD001]
W-1913AvisoO item %s está sem saldo da grade ou na Nota. Verifique!
W-1914AvisoO Item %s está com saldo da grade do pedido diferente do saldo do pedido. [Saldo Pedido %s Saldo Grade %s]
W-1915AvisoOcorreu um Problema na Impressão do Cupom Fiscal. A Nota Fiscal não foi lançada!
W-1916AvisoRateio da Grade do Produto Cancelado!
W-1917AvisoO Produto %s Linha: %s Coluna: %s Não Pertence A Nota de Origem!
W-1918AvisoO Produto %s Linha: %s Coluna: %s Não Possui Saldo na Nota de Origem!
W-1919AvisoNota Fiscal Não Esta Válida. Verifique! [CNF001]
W-1920AvisoNota Fiscal Não Encontrada. Verifique! [CNF001]
W-1921AvisoA Pessoa está com Situação Financeira Bloqueada!
W-1922AvisoSérie da Nota de Saída Não Cadastrada. Verifique! [MFA002]
W-1924AvisoNão existe nenhuma condição de pagamento do Tipo "Digite o Vencimento" cadastrada. Verifique! [TFC002]
W-1925AvisoÉ Obrigatório informar o Produto da Nota Fiscal de Saída!
W-1926AvisoÉ Obrigatório informar a Movimentação do Produto na Nota Fiscal!
W-1927AvisoÉ Obrigatório informar o Peso do Produto na Nota Fiscal!
W-1928AvisoÉ Obrigatório informar a Quantidade do Produto na Nota Fiscal!
W-1929AvisoÉ Obrigatório informar o Valor Unitário do Produto na Nota Fiscal!
W-1930AvisoÉ Obrigatório informar o Valor Total do Produto na Nota Fiscal!
W-1931AvisoA Movimentação não possui Código Fiscal de Operação(CFO) Associado [TCB001]!
W-1932AvisoO Produto %s já foi Informado na Nota Fiscal!
W-1933AvisoProduto não associado a esta empresa [TOF007]!
W-1934AvisoO Produto não está Cadastrado [TPO001]!
W-1935AvisoO Tipo de Operação da Movimentação "%s" não pode ser de Compra!
W-1936AvisoA Movimentação "%s" não pode ser de Devolução ou Retorno!
W-1937AvisoA Movimentação "%s" não possui Tipo de Contas associado. Verifique! [TCB001]
W-1938AvisoA Movimentação "%s" não está Cadastrada [TCB001]!
W-1939AvisoO Peso do Produto da Nota deve ser Maior que Zero!
W-1940AvisoA Quantidade do Produto da Nota deve ser Maior que Zero!
W-1941AvisoNão é possível usar Condição de Pagamento do tipo Vencimento Digitado para Modelo de Fechamento por Liquidação! Verifique MFA001 ou utilize outra Condição de Pagamento.
W-1942AvisoA Nota de devolução não pode ser Cupom Fiscal. Verifique [MFA002]!
W-1943AvisoOs Parâmetros de Nota Fiscal com a serie "%s" para a Empresa %s e Operação de Entrada não estão Cadastrados [MFA002]!
W-1944AvisoNota Fiscal Inválida. Verifique [CNF001]!
W-1945AvisoObrigado Informar Pessoa da Nota!
W-1946AvisoObrigado Informar o Número da Nota Fiscal.
W-1947AvisoObrigado Informar a Série da Nota
W-1948AvisoObrigado Informar Lançamento da Nota
W-1949AvisoA Pessoa da Devolução não possui Endereço. Verifique [TFA001]!
W-1950AvisoA Nota não está Válida. Verifique [CNF001]!
W-1951AvisoA Nota não possui saldo para devolução. Verifique [CNF001]!
W-1953AvisoA Pessoa não possui Endereço. Verifique [TFA001]
W-1954AvisoPara Modo de Contingência SCAN [MFA008], é Necessário uma Série de NF-e entre 900 a 999 [MFA002]!
W-1955AvisoOs Parâmetros de Nota Fiscal para a Empresa %s e Operação de Saída não estão Cadastrados [MFA002]!
W-1956AvisoProduto não pertence a nenhuma nota de Origem! Verifique!
W-1957AvisoO Produto "%s" nota [%s] já foi informado para está devolução. Verifique!
W-1958AvisoA Movimentação "%s" Verifique! [TCB001]!
W-1959AvisoErro na movimentação
W-1960AvisoInforme o Item para Devolução
W-1961AvisoNão é Possível Devolver uma Quantidade Maior que a nota de Origem!
W-1962AvisoA Quatidade do Produto da Nota deve ser Maior que Zero!
W-1963AvisoO Tipo de Operação da Movimentação deve ser de Entrada. Verifique! [TCB001]
W-1964AvisoA Movimentação deve ser de Devolução. Verifique [TCB001]!
W-1965AvisoA quantidade informada [%s] é maior que o saldo a devolver [%s]
W-1966AvisoO percentual de desconto não pode ser maior que 100%!
W-1967AvisoÉ Obrigado Informar a Condição de Pagamento!
W-1968AvisoÉ Obrigado Informar a Forma de Pagamento!
W-1969AvisoO valor da compensação selecionada não pode ser maior que o saldo da conta!
W-1970AvisoO valor da compensação selecionada deve ser maior que 0!
W-1971AvisoNão é possivel dar mais de 100% de desconto na diferença!
W-1972AvisoO Valor do Desconto somado com o total compensado não pode ultrapassar o valor da diferença!
W-1973AvisoA Data de Emissão de uma das Notas de Devolução Selecionadas é Posterior a Data informada. Verifique!
W-1975AvisoO Peso para Atender não pode ser Maior que o Saldo do Pedido.
W-1976AvisoA Quantidade para Atender não pode ser Maior que o Saldo do Pedido.
W-1977AvisoO produto está associado á um pedido e não pode ser excluido!
W-1978AvisoO valor de compensação não pode ser maior que o valor da diferença da troca!
W-1979AvisoÉ Obrigado Informar a Pessoa da Nota!
W-1980AvisoÉ Obrigatório Informar o endereco Pessoa da Nota!
W-1981AvisoÉ Obrigatório Informar a Data de Emissão da Nota!
W-1982AvisoÉ Obrigado Informar a Série da Nota Fiscal De Origem!
W-1983AvisoÉ Obrigado Informar o Vendedor da Troca!
W-1984AvisoÉ Obrigado Informar a Série da Nota de Devolução!
W-1985AvisoPara condição de Pagamento Informe o Vencimento!
W-1986AvisoA Nota Fiscal não possui Valor!
W-1987AvisoA Nota Fiscal de Devolução não possui Produtos. Verifique!
W-1988AvisoÉ Obrigatório Informar o Produto para Troca!
W-1989AvisoA Nota Fiscal de Saída não possui Produtos. Verifique!
W-1990AvisoNota Fiscal Cancelada. A Execução do Processo de Caixa foi Cancelada!
W-1991AvisoSomente é Permitido Informar Números!
W-1992AvisoNão foi Possivel Realizar a Confirmação das Transações Efetuadas pelo TEF. Realize a Baixa Novamente. Reter o Cupom!
W-1993AvisoÉ Obrigatório Informar a Pessoa da Nota!
W-1994AvisoNão foi informada nenhuma nota para Devolução. Verifique!
W-1995AvisoNão à saldo a pagar ná troca para utilizar Créditos!
W-1996AvisoA Movimentação do Produto %s não Confere. Pedido.: %s Movimentação.: %s Pedido.: %s Movimentação.:%s
W-1997AvisoO Login Deve Ser Informado!
W-1998AvisoA Senha Deve Ser Informado!
W-1999AvisoO Usuário Autorizador Não Esta Ativo! [TFA008]
W-2000AvisoO Usuário Não é Autorizador, Verifique! [TFA008]
W-2001AvisoSenha Inválida. Verifique [ADM001]!

Mais 10 mensagens com texto literal no código: MNF026.

Parâmetros lidos​

Campos PARM* lidos via values[] em source/MNF026/ (commit 96fc51e236).

ParâmetroTabela
ST_BLOQUEIOVENDEDORPARMFATUR
ST_FECHAMENTOTROCAPARMFATUR
ST_PEDVENDAPARMFATUR
ST_VARIOSVENDEDORESPARMFATUR
ST_COMPENSACAOFINANCPARMFINANC

Tabelas de Escrita (INSERT/UPDATE/DELETE)​

TabelaOperacoes
DEVOLUCAONOTAINSERT, SELECT
EMPRESASELECT, UPDATE
IMPOSTONOTADELETE, INSERT, SELECT, UPDATE
ITEMNOTADELETE, INSERT, SELECT, UPDATE
ITEMNOTAGRADEDELETE, INSERT, SELECT, UPDATE
ITEMNOTALOCALINSERT, SELECT
ITEMNOTAVENDEDORINSERT, SELECT
MOVTOCAIXASELECT, UPDATE
NOTADELETE, INSERT, SELECT, UPDATE
PARCELANOTADELETE, INSERT, SELECT, UPDATE
PEDIDOINSERT, SELECT, UPDATE
PEDIDONOTAINSERT
TROCANFINSERT
TROCANFERESUMOINSERT

Tabelas de Leitura (SELECT)​

TabelaOperacoes
AGENCIASELECT
AUTORIZADORSELECT
BANCOSELECT
BOLETOSELECT
CONDPAGTOSELECT
CONDPARCELASELECT
CONFIGNFESELECT
CONTASSELECT
ENDERECOPESSOASELECT
EXAMEFINALPNEUSELECT
FORMAPAGTOSELECT
HISTORICOSELECT
IMPOSTOSELECT
ITEMSELECT
ITEMEMPRESASELECT
ITEMPEDIDOSELECT
ITEMPEDIDOGRADESELECT
ITEMPEDIDOPNEUSELECT
ITEMPEDIDOVENDEDORSELECT
ITEMTABPRECOSELECT
JUROSELECT
LOCALESTOQUESELECT
MESTRASELECT
MOVIMENTACAOSELECT
MOVTOPROCESSOSELECT
MUNICIPIOSELECT
NATUREZACARGASELECT
OBSFISCALSELECT
ORDEMPRODUCAORECAPSELECT
PARMCONTABILSELECT
PARMFATURSELECT
PARMFINANCSELECT
PARMNOTASELECT
PESSOASELECT
PESSOAITEMSELECT
PLUGORDRECAPPEDIDOSELECT
PNEUSELECT
PROCESSOSELECT
TABPRECOSELECT
TABPRECOVENDEDORSELECT
TEFSELECT
TIPOCALCULOSELECT
TIPOCONTASELECT
TIPOLOCALSELECT
TROCANFVENDEDORSELECT
USUARIOSELECT

Procedures Chamadas​

ProcedureTabelas Acessadas
CALCULA_COMISSAOCOMISSAOVENDEDOR (SELECT), CONDPAGTO (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMNOTAVENDEDOR (SELECT), ITEMPERFIL (SELECT) +8
CALCULA_IMPOSTOPEDIDOEMPRESA (SELECT), ENDERECOPESSOA (SELECT), IMPOSTO (SELECT), IMPOSTOITEM (SELECT), IMPOSTOMOV (SELECT), ITEM (SELECT) +9
CALCULA_VALORITEM (SELECT), TIPOCALCULO (SELECT)
CALCULA_VALORMOEDACOTACAOMOEDA (SELECT), MOEDA (SELECT)
EXECUTA_PROCESSOAGENCIA (SELECT), AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), AVISOSCPC (INSERT), BANCO (SELECT), CHEQUE (SELECT) +63
GERA_COMISSAODEVOLUCAODEVOLUCAONOTA (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMNOTAVENDEDOR (INSERT/SELECT), MOVIMENTACAO (SELECT), NOTA (SELECT) +2
GERA_INTEGRACAOAJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), CODRECEITA (SELECT), CONDPAGTO (SELECT), CONTAS (SELECT), CONTASCTB (DELETE/INSERT/SELECT) +53
GERA_NFECONFIGNFE (SELECT), ITEMNOTA (UPDATE), MOVIMENTACAO (SELECT), NFE (INSERT/SELECT), NOTA (SELECT), PARMNOTA (SELECT)
GERA_NOTAFISCALAGENCIA (SELECT), AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), AVISOSCPC (INSERT), BANCO (SELECT), BOLETO (SELECT) +145
GERA_SEQUENCIASEQUENCIA (SELECT/UPDATE)
GRAVA_MOVTOPROCESSOCONTAS (SELECT), CONTASHISTORICO (SELECT), HISTORICO (SELECT), MOVTOPROCESSO (INSERT/SELECT), PARMFINANC (SELECT), PROCESSO (SELECT/UPDATE)
GRAVA_PROCESSOPROCESSO (INSERT), SEQUENCIA (SELECT/UPDATE), SESSAO (SELECT)
HABILITA_PESOQTDEITEM (SELECT), TIPOCALCULO (SELECT), UNIDMED (SELECT)
PESOQTDE_ITEMNOTADEVOLUCAONOTA (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMNOTALOCAL (SELECT), NOTA (SELECT), TIPOCALCULO (SELECT) +1
RETORNA_COMPLEMENTOCONTAS (SELECT), CONTASHISTORICO (SELECT), HISTORICO (SELECT), MOVTOCAIXA (SELECT), PARMCOMPLCAIXA (SELECT), PARMFINANC (SELECT) +3
RETORNA_IN-
RETORNA_LOCAISARMAZENAGEMITEMEMPRESA (SELECT), ITEMLOCAL (SELECT), LOCALESTOQUE (SELECT), LOCALUSUARIO (SELECT), PARMFATUR (SELECT), SESSAO (SELECT) +1
RETORNA_MOVIMENTACAOCAMPOSTEMPORARIOS (SELECT), CONDPAGTO (SELECT), ENDERECOPESSOA (SELECT), GRUPOMOVIMENTACAO (SELECT), ITEM (SELECT), ITEMPERFIL (SELECT) +2
RETORNA_PRECOITEMCONDPAGTO (SELECT), ITEM (SELECT), ITEMTABPRECO (SELECT), ITEMTABPRECODATA (SELECT), PARAMRECAP (SELECT), PARMFATUR (SELECT) +6
RETORNA_SALDODEVOLUCAODEVOLUCAONOTA (SELECT), ITEM (SELECT), NOTA (SELECT), TIPOCALCULO (SELECT)
RETORNA_SALDODEVOLUCAOGRADEDEVOLUCAONOTA (SELECT), ITEMNOTA (SELECT), ITEMNOTAGRADE (SELECT), NOTA (SELECT)
RETORNA_SALDOESTOQUEESTOQUE (SELECT), ESTOQUEDIA (SELECT), ITEMLOCAL (SELECT), MOVESTOQUE (SELECT), OPERACAO (SELECT), PARMESTOQUE (SELECT)
RETORNA_SALDONOTADEVOLUCAODEVOLUCAONOTA (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), NOTA (SELECT), TIPOCALCULO (SELECT)
RETORNA_SALDOPEDIDOCONTROLEPRODUCAO (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMPEDIDO (SELECT), NOTA (SELECT), ORDEMCARREG (SELECT) +5
VALIDA_CODIGOBARRABALANCA (SELECT), ITEM (SELECT), ITEMCODIGOBARRA (SELECT), ITEMEMPRESA (SELECT), ITEMGRADE (SELECT), LOTESEMENTE (SELECT) +4
VALOR_IMPOSTOIMPOSTO (SELECT), IMPOSTONOTA (SELECT), NOTA (SELECT), PESSOA (SELECT)
VERIFICA_BLOQUEIOBENEFICIOCLIENTE (SELECT), CONDPAGTO (SELECT), CONDPARCELA (SELECT), CONTAS (SELECT), CREDITOGRUPO (SELECT), CREDITOPERIODICO (SELECT) +35
VERIFICA_ESTOQUENEGATIVONOTACOLUNAGRADE (SELECT), ITEM (SELECT), ITEMLOCAL (SELECT), ITEMPEDIDO (SELECT), ITEMPEDIDOGRADE (SELECT), LINHAGRADE (SELECT) +6
VIEW_PLANOCONTASCENTROCUSTO (SELECT), CONTASPESSOA (SELECT), PARMCONTABIL (SELECT), PARMSISTEMA (SELECT), PLANOCONTAS (SELECT), PLANOEMPRESA (SELECT)

Tabelas via Procedures (acesso indireto)​

TabelaOperacoes
AGENCIASELECT
AJUSTEFISCALITEMNOTADELETE, INSERT, SELECT
ALIQUOTASELECT
AVISOSCPCINSERT
BALANCASELECT
BANCOSELECT
BENEFICIOCLIENTESELECT
BOLETOSELECT
CAMPOSTEMPORARIOSSELECT
CENTROCUSTOSELECT
CFOSELECT
CHEQUESELECT
CODRECEITASELECT
COLUNAGRADESELECT
COMISSAOCONTASINSERT
COMISSAOTABPRECOINSERT
COMISSAOVENDEDORSELECT
CONDPAGTOSELECT
CONDPARCELASELECT
CONFIGNFESELECT
...+172 tabelas

Dependencias Aferentes (quem alimenta esta tela)​

Telas que escrevem em tabelas lidas por esta tela.

TelaTítuloTabelas em Comum
MRC020Confirmação de Ordem de Carregamento RecapadoraCONTAS
MFC023Duplicata / Adiantamento por ObraCONTAS
MFC027Gerenciamento Conciliação BancáriaCONTAS
MFC005Cancelamento de Duplicata / AdiantamentoCONTAS
MNF034Lançamento Documento Fiscal em LoteCONTAS
CNF012Consulta de CTRCCONTAS
MPD026Controle de ObrasCONTAS
MTR005Consulta / Fechamento de ViagemCONTAS
RPD015CONTAS
MRC030CONTAS
jFaturamentoCONTAS
MCA004Fechamento de ContratosCONTAS
MFC014CONTAS
MCA009Complemento de PagamentoCONTAS
MNF002Emissão de Nota Fiscal de VendaCONTAS
MFC034Provisão Financeira/Contábil para Devedores DuvidososCONTAS
MPD019Gerenciamento de Contrato/Romaneio ObrasCONTAS
MPD022CONTAS
MFC019Reparcelamento de ContasCONTAS
MFC012Agrupamento de ContasCONTAS
MNF023Gerenciamento de Contas de ContratosCONTAS
MNF009CONTAS
MNF017Venda BalcãoCONTAS
MNF024CONTAS
MNF007Devolução / Retorno de Notas FiscaisCONTAS
MFC015Desconto de Duplicatas / ChequesCONTAS
MFC032Gerenciamento de Títulos a PagarCONTAS
TFA067Contratos e Licenças de SoftwareCONTAS
MNF004Emissão de Notas Fiscais LiberadasCONTAS
MNF001Recebimento de Notas Fiscais de CompraCONTAS
...+74 telas