Pular para o conteúdo principal

ST_IMPORTACAOMRE005MNF017 - Importação de Atendimentos do Restaurante para o PDV

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Faturamento → Importação de Atendimentos [MRE005/MNF017] Tabela: PARMFATUR.ST_IMPORTACAOMRE005MNF017 Valor padrão: N (Não)

Controla a integração entre o módulo de Atendimento/Restaurante (MRE005) e o Ponto de Venda (MNF017). Quando habilitado, os atendimentos abertos (mesas/cartões) passam a ser fechados/faturados pelo PDV, e não mais pela própria tela do restaurante.

Telas impactadas​

MóduloCódigoDescrição
Parâmetros FaturamentoMFA001Tela onde o parâmetro é configurado
Atendimento / RestauranteMRE005Lê o parâmetro e bloqueia funções de fechamento quando ativado
Ponto de Venda (PDV)MNF017Habilita o botão "Importação MRE005" (F11) quando ativado

Campos envolvidos​

CampoTabelaDescrição
ST_IMPORTACAOMRE005MNF017PARMFATURParâmetro em si (S/N)
NR_RESTAURANTE, CD_AMBIENTE, CD_MESARESTAURANTEIdentificação do atendimento aberto no MRE005
VL_TOTAL, VL_PAGTOITEMRESTAURANTESaldo em aberto do atendimento importado para o PDV

Opções disponíveis​

N - Não (valor padrão)​

O que fazDetalhe
MRE005 (Restaurante)Fluxo "tradicional": os botões Pagamento Parcial, Fechamento, Transferir e Entregar operam normalmente dentro do próprio atendimento
MNF017 (PDV)O botão btnImportacaoMRE005 é desabilitado — não é possível puxar um atendimento do restaurante para faturar no PDV
F11 no PDVNão executa nada (botão desabilitado)

Simulação passo a passo​

  1. Em MFA001 deixe ST_IMPORTACAOMRE005MNF017 = N e salve.
  2. Abra o MRE005, lance itens em uma mesa/cartão.
  3. Clique em Fechamento ou Pagamento Parcial → a tela de fechamento abre normalmente, o recebimento é feito ali mesmo.
  4. Abra o MNF017 → o botão de importação de atendimento do restaurante estará cinza/desabilitado e F11 não funciona.

Resultado esperado: O fechamento do atendimento ocorre 100% dentro do MRE005, sem passar pelo PDV.


S - Sim​

O que fazDetalhe
MRE005 (Restaurante)Ao abrir a tela, os botões Pagamento Parcial, Fechamento, Transferir, Entregar, cmbST_MESA, VL_RECEBIDO e VL_TROCO são desabilitados — o operador do restaurante apenas lança itens
MRE005 (Restaurante)Ao trocar a condição de pagamento para "à vista", os campos de desconto/recebido NÃO são reabilitados (bloqueio mantido)
MRE005 (Restaurante)Ao incluir item, a rotina de Verifica_Matricula (que normalmente desabilitaria pagamento parcial/entregar para mesa vinculada a matrícula) é ignorada — quem controla agora é o PDV
MNF017 (PDV)O botão btnImportacaoMRE005 fica habilitado e a tecla F11 atalha a importação
MNF017 (PDV)Clicando no botão, abre o frmMNF017Cartao listando atendimentos em aberto; ao confirmar, o PDV importa os itens do ITEMRESTAURANTE cujo saldo (VL_TOTAL - VL_PAGTO) é maior que zero e gera a venda no PDV

Simulação passo a passo​

  1. Em MFA001 altere ST_IMPORTACAOMRE005MNF017 = S e salve.
  2. Abra o MRE005 → observe que Fechamento, Pag. Parcial, Transferir, Entregar, troca de mesa, campos de recebido/troco aparecem desabilitados.
  3. Lance itens em uma mesa e finalize o atendimento (sem pagar — o restaurante só alimenta a conta).
  4. Abra o MNF017 → o botão Importação MRE005 fica ativo; pressione F11 ou clique nele.
  5. Selecione o atendimento (mesa/cartão) → o PDV traz os itens com saldo em aberto e prossegue para o fechamento/recebimento no próprio PDV.

Resultado esperado: O restaurante serve apenas como front-end de lançamento; todo o recebimento (dinheiro, cartão, troco, desconto) é concentrado no PDV.


Tabela Comparativa Resumida​

ComportamentoN (Não)S (Sim)
Fechamento dentro do MRE005HabilitadoDesabilitado
Pagamento Parcial no MRE005HabilitadoDesabilitado
Transferir / Entregar no MRE005HabilitadoDesabilitado
Troca de mesa (cmbST_MESA) no MRE005HabilitadoDesabilitado
Campos VL_RECEBIDO / VL_TROCO no MRE005HabilitadoDesabilitado
Botão Importação MRE005 no PDVDesabilitadoHabilitado
Tecla F11 no PDVSem efeitoDispara importação
Onde ocorre o recebimentoMRE005MNF017 (PDV)

Referências no Código Fonte​

MFA001 - Tela de configuração​

  • source/MFA001/UMFA001.dfm (linhas 4005-4018 e 4742-4770): Label e TwwDBComboBox cmbST_IMPORTACAOMRE005MNF017, com DataField = 'ST_IMPORTACAOMRE005MNF017', Items.Strings = ('Sim'#9'S', 'Não'#9'N').
  • source/MFA001/UdmMFA001.pas (linha 569): valor padrão no AfterInsert:
    tabPARMFATURST_IMPORTACAOMRE005MNF017.AsString := 'N';
  • source/MFA001/UdmMFA001.dfm (linhas 293, 1945-1947, 2615, 2871, 3173): campo presente no SELECT/INSERT/UPDATE da PARMFATUR.

MNF017 - PDV (consumidor)​

  • source/MNF017/UMNF017.pas (linha 166): SELECT na PARMFATUR lendo P.ST_IMPORTACAOMRE005MNF017.
  • source/MNF017/UMNF017.pas (linha 207): atribui a dmMNF017.iST_IMPORTACAOMRE005MNF017 := Resultado[33];.
  • source/MNF017/UMNF017.pas (linhas 391-394): habilita/desabilita o botão:
    if (dmMNF017.iST_IMPORTACAOMRE005MNF017 = 'N') then
    frmMNF017.btnImportacaoMRE005.Enabled := False
    else
    frmMNF017.btnImportacaoMRE005.Enabled := True;
  • source/MNF017/UMNF017.pas (linha 562): atalho vk_F11: btnImportacaoMRE005.Click;.
  • source/MNF017/UMNF017.pas (linhas 2598-2606): handler btnImportacaoMRE005Click — abre frmMNF017Cartao para seleção do atendimento.
  • source/MNF017/UdmMNF017.pas (linha 290): declaração da variável de instância iST_IMPORTACAOMRE005MNF017: string.

MRE005 - Atendimento / Restaurante (consumidor)​

  • source/MRE005/UdmMRE005.pas (linha 390): declaração da variável iST_IMPORTACAOMRE005MNF017.
  • source/MRE005/UdmMRE005.pas (linhas 577-581): consulta isolada em PARMFATUR para carregar o parâmetro.
    Consulta :=
    'SELECT P.ST_IMPORTACAOMRE005MNF017 ' + #10 +
    'FROM PARMFATUR P ' + #10 +
    'WHERE P.CD_EMPRESA = ' + IntToStr(sessao.empresa.cd_empresa);
    dmMRE005.iST_IMPORTACAOMRE005MNF017 := ExecutaConsulta(dmMRE005.transaction, Consulta)[0];
  • source/MRE005/UdmMRE005.pas (linhas 1068-1080): se <> 'S', aplica regra Verifica_Matricula para habilitar Pag. Parcial/Entregar. Quando S, regra é ignorada.
  • source/MRE005/UdmMRE005.pas (linhas 1450-1462): ao escolher condição de pagamento à vista, só reabilita VL_DESCONTO/VL_RECEBIDO se <> 'S'.
  • source/MRE005/UdmMRE005.pas (linhas 2729-2741): idem — na inclusão de item, só libera Pag. Parcial/Entregar se <> 'S'.
  • source/MRE005/UMRE005.pas (linhas 365-374): bloqueio geral da UI quando = 'S':
    if (dmMRE005.iST_IMPORTACAOMRE005MNF017 = 'S') then
    begin
    frmMRE005.btnPagtoParcial.Enabled := False;
    frmMRE005.btnFechamento.Enabled := False;
    frmMRE005.btnTransferir.Enabled := False;
    frmMRE005.btnEntregar.Enabled := False;
    frmMRE005.cmbST_MESA.Enabled := False;
    frmMRE005.edtVL_RECEBIDO.Enabled := False;
    frmMRE005.edtVL_TROCO.Enabled := False;
    end;

SQL / Scripts​

Nenhuma referência ao campo foi encontrada em Scripts/ — o parâmetro é avaliado exclusivamente no código-fonte Delphi (MFA001, MNF017 e MRE005).