Pular para o conteúdo principal

DS_PORTACOM - Porta COM para dispositivo Bina (Caller ID)

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 → "Porta Comunicação Bina" Tabela: PARMFATUR.DS_PORTACOM Tipo: Texto (nome de porta serial — ex.: COM1, COM2, COM3, COM4) Tamanho: CHAR(4) (domínio DOM_CHAR4) Valor padrão: (não inicializado no AfterInsert — o registro nasce com NULL)

Telas impactadas​

MóduloCódigoDescrição
Parâmetros de Faturamento (cadastro/edição)MFA001Única tela onde o valor é gravado (campo edtDS_PORTACOM)

Nenhum outro módulo Delphi lê o parâmetro PARMFATUR.DS_PORTACOM na versão atual do código-fonte.

O módulo de atendimento de restaurante (MRE005), que é o único que implementa integração com Bina (caller ID via plug-in externo e mensagens WM_USER / WM_RESPOSTA), consulta os parâmetros ST_ATIVABINA, NR_PORTAREMOTA, NR_PORTALOCAL, NR_IPEXTERNO na tabela PARMRESTAURANTE (configurados em MRE001) — não em PARMFATUR.DS_PORTACOM.

Procedures impactadas​

Nenhuma. Em Scripts/ (stored procedures/views Firebird) não há nenhuma referência a DS_PORTACOM.

Campos envolvidos​

CampoTabelaPapel
DS_PORTACOMPARMFATURArmazena o identificador da porta serial (COM) destinada ao dispositivo Bina
ST_ATIVABINAPARMRESTAURANTEParâmetro efetivamente usado para ligar/desligar a integração com o Bina no MRE005
NR_PORTAREMOTA, NR_PORTALOCAL, NR_IPEXTERNOPARMRESTAURANTEParâmetros de rede/socket usados pelo plug-in externo do Bina (comunicação via IPC, não via COM)

Comportamento / Uso​

O rótulo do campo na MFA001 é "Porta Comunicação Bina", indicando que o campo foi originalmente concebido para informar a porta serial (COM1, COM2, etc.) onde o equipamento de Bina (identificador de chamadas / caller ID telefônico) está conectado ao computador.

Porém, na análise completa do código-fonte Delphi (pasta source/):

  1. O valor é apenas persistido — gravado pela MFA001 através do TDBEdit edtDS_PORTACOM (ligado ao DataField = 'DS_PORTACOM') e incluído nos comandos SELECT, INSERT e UPDATE do dataset tabPARMFATUR.
  2. Nenhuma tela lê o valor para abrir a porta serial ou para qualquer outra finalidade. A busca por DS_PORTACOM em todo o source/ retorna apenas referências dentro do próprio MFA001 (declaração do field persistente, cláusulas SQL do CRUD, componente visual).
  3. A integração Bina atualmente operacional (módulo MRE005 — Atendimento Restaurante) usa comunicação via sockets TCP/IP com um executável plug-in externo (HabilitaPlugin, RecebeFoneBina, RespostaBina), com parâmetros de host/porta em PARMRESTAURANTE — ou seja, não consulta DS_PORTACOM.

Conclusão prática: DS_PORTACOM é um parâmetro legado / vestigial. O preenchimento na MFA001 não produz efeito funcional na versão atual do ERP. Foi mantido por compatibilidade de schema (a coluna continua existindo em PARMFATUR e no CRUD persistente), mas qualquer integração Bina hoje é configurada via MRE001.

Simulação passo a passo​

Cenário A — Parâmetro em branco (padrão):

  1. Em MFA001 → Parâmetros → Ambos → Opção 2 → campo "Porta Comunicação Bina" fica vazio.
  2. Salve (F6).
  3. Resultado esperado: nenhum módulo depende deste parâmetro. O Bina do MRE005 (se existir na instalação) funciona normalmente conforme PARMRESTAURANTE.

Cenário B — Parâmetro preenchido com COM1:

  1. Em MFA001 → Opção 2 → "Porta Comunicação Bina" = COM1.
  2. Salve (F6).
  3. Resultado esperado: o valor é persistido em PARMFATUR.DS_PORTACOM, mas nenhum comportamento do ERP muda. Nenhuma rotina abre ou consulta essa porta serial. O Bina do restaurante continua governado pelos parâmetros de PARMRESTAURANTE.

Cenário C — Valor qualquer (texto livre XYZ):

  1. Em MFA001 → Opção 2 → "Porta Comunicação Bina" = XYZ.
  2. Salve (F6).
  3. Resultado esperado: grava sem erro (campo é CHAR(4) sem validação). O sistema aceita qualquer texto de até 4 caracteres. Não há validação de formato (não verifica se começa com COM, não valida existência da porta).

Formato e regras​

Formato esperado​

ValorSignificado pretendido
(em branco / NULL)Sem porta Bina configurada (padrão)
COM1, COM2, COM3, COM4Nome da porta serial do Windows onde estaria o Bina
Qualquer texto de até 4 caracteresAceito sem validação pelo campo

Regras / Observações​

  1. Tamanho fixo: CHAR(4) — máximo 4 caracteres. Portas como COM10 ou COM11 não cabem no campo (o Windows permite portas acima de COM9, mas este parâmetro não).
  2. Sem valor default: o domínio DOM_CHAR4 é definido sem DEFAULT e permite NULL. O método tabPARMFATURAfterInsert (em UdmMFA001.pas) inicializa dezenas de campos padrão da PARMFATUR mas não atribui valor a DS_PORTACOM — o registro nasce com NULL.
  3. Sem validação: o MFA001 grava o valor como texto livre em um TDBEdit comum. Não há validação de formato, nem lookup de portas disponíveis, nem BeforePost.
  4. Nenhum consumidor funcional: a pesquisa integral em source/ (todos os 1.635 módulos BPL e shared units) confirma que nenhum código lê PARMFATUR.DS_PORTACOM para abrir porta serial ou executar qualquer lógica.
  5. Bina no ERP hoje: a integração Bina efetivamente implementada (MRE005 - Restaurante) usa comunicação via socket TCP/IP com plug-in externo, parâmetros em MRE001 / PARMRESTAURANTE (ST_ATIVABINA, NR_PORTAREMOTA, NR_PORTALOCAL, NR_IPEXTERNO). A porta COM do dispositivo físico é tratada pelo plug-in externo, não pelo ERP.
  6. Recomendação: tratar este campo como obsoleto. Deixe em branco salvo orientação explícita do suporte Junsoft — o valor não produz efeito no sistema.

Referências no Código Fonte​

Formulário de parametrização (MFA001)​

ArquivoLinhaDescrição
source/MFA001/UMFA001.pas331Declaração edtDS_PORTACOM: TDBEdit
source/MFA001/UMFA001.dfm3743–3757Label65 — Caption = 'Porta Comunicação Bina', FocusControl = edtDS_PORTACOM
source/MFA001/UMFA001.dfm4261–4277edtDS_PORTACOM — TDBEdit (DataField = 'DS_PORTACOM', DataSource = dmMFA001.dsPARMFATUR) dentro de pagFatOp2 (aba "Ambos → Opção 2")
source/MFA001/UdmMFA001.pas221Declaração tabPARMFATURDS_PORTACOM: TStringField
source/MFA001/UdmMFA001.dfm1618–1624Field persistente — Size = 4, FixedChar = True, Alignment = taCenter, Origin = '"PARMFATUR"."DS_PORTACOM"'
source/MFA001/UdmMFA001.dfm236, 3116Inclusão da coluna nos SELECTs auxiliares (datasets secundários)
source/MFA001/UdmMFA001.dfm2413Inclusão na lista de colunas do SELECT do dataset persistente
source/MFA001/UdmMFA001.dfm2581Inclusão na lista de parâmetros do INSERT (:DS_PORTACOM)
source/MFA001/UdmMFA001.dfm2817Cláusula DS_PORTACOM = :DS_PORTACOM do UPDATE persistente

Consumidores funcionais do parâmetro​

Nenhum. A busca por DS_PORTACOM em todo o source/ retorna exclusivamente os arquivos do módulo MFA001 acima listados.

DDL​

ArquivoLinhaDescrição
docs/schema/tables/PARMFATUR.sql169Definição da coluna: DS_PORTACOM DOM_CHAR4 (nula permitida, sem default)

Scripts / Stored Procedures​

Nenhuma referência em Scripts/ (stored procedures/views Firebird).

Notas adicionais — Bina no MRE005 (não usa DS_PORTACOM)​

Para referência histórica, a integração Bina em uso está implementada em:

  • source/MRE005/UMRE005.pas linhas 308–326 — consulta PARMRESTAURANTE.ST_ATIVABINA para habilitar o plug-in.
  • source/MRE005/UMRE005.pas linhas 2117–2128 — HabilitaPlugin envia mensagem Win32 ao executável plug-in.
  • source/MRE005/UMRE005.pas linhas 2131–2183 — RecebeFoneBina recebe número de telefone do chamador via WM_USER.
  • source/MRE005/UMRE005.pas linhas 2187+ — RespostaBina trata resposta do plug-in via WM_RESPOSTA.
  • source/MRE001/UMRE001.pas linhas 925–934 — MRE001 grava PARMRESTAURANTE.ST_ATIVABINA via chkST_ATIVABINA.
  • source/MRE001/UdmMRE001.pas linhas 179–181 — valores default (NR_PORTAREMOTA = '3821', NR_PORTALOCAL = '6511', ST_ATIVABINA = 'N').

Nenhum desses pontos consulta PARMFATUR.DS_PORTACOM.