ST_CODBARRASEMBALAGEM – Utiliza Código de Barras Embalagem [MEQ015]
Tela de configuração: MFA001 – Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela:
PARMFATUR.ST_CODBARRASEMBALAGEMValor padrão:N(Não)
Telas impactadas
| Tela | Módulo | Impacto |
|---|---|---|
| MFA001 | Faturamento | Lê/grava o campo; exibido condicionalmente |
| MEQ015 | Balanço de Estoque | Lê ambos ST_CODIGOBARRACAIXA e ST_CODBARRASEMBALAGEM; se = 'S', ativa multiplicação por fator de embalagem |
| InventarioJunsoft (coletor mobile) | Inventário | Sincroniza o valor para o dispositivo móvel |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
ST_CODBARRASEMBALAGEM | PARMFATUR | Campo do parâmetro (CHAR 1, padrão 'N') |
ST_CODIGOBARRACAIXA | PARMFATUR | Parâmetro pai — controla visibilidade deste campo e o fallback de busca por código de barras de embalagem (ST_CODIGOBARRACAIXA, configurado em MFA001 — Parâmetros de Faturamento, aba Opção 2) |
CD_CODBARRAEMB | ITEM / ITEMEMBALAGEM | Código de barras da embalagem, usado no fallback da procedure VALIDA_CODIGOBARRA |
PS_LIQUIDO | — | Fator de conversão da embalagem pelo qual a quantidade é multiplicada |
Dependência obrigatória
ST_CODBARRASEMBALAGEM só é visível e configurável quando ST_CODIGOBARRACAIXA = 'S'.
O evento cmbST_CODIGOBARRACAIXAChange (UMFA001.pas:2552) controla a visibilidade de lblST_CODBARRASEMBALAGEM e cmbST_CODBARRASEMBALAGEM:
ST_CODIGOBARRACAIXA = 'S'→ label e combobox ficam visíveis.ST_CODIGOBARRACAIXA <> 'S'→ label e combobox ficam ocultos (Visible = False).
Opções disponíveis
S – Sim
| O que faz | Detalhe |
|---|---|
| Habilita multiplicação por fator de embalagem | No balanço de estoque MEQ015, ao ler um código de barras que pertença a uma embalagem, a quantidade é multiplicada pelo fator da embalagem (PS_LIQUIDO) |
| Exige dependência | Requer ST_CODIGOBARRACAIXA = 'S'; caso contrário, este parâmetro fica oculto e sem efeito |
| Escopo | Afeta MEQ015 (balanço de estoque) e o InventarioJunsoft (coletor mobile) |
Simulação passo a passo
- Acesse MFA001 → Faturamento → aba Opção 2.
- Configure "Código de Barras para Unidade Alternativa (Embalagem)" (
ST_CODIGOBARRACAIXA) como "Sim". - Observe que o campo "Utiliza Código de Barras Embalagem [MEQ015]" aparece logo abaixo.
- Selecione "Sim" no combobox.
- Salve os parâmetros (
<F6>). - No MEQ015 (Balanço de Estoque), leia o código de barras de uma embalagem (ex.: caixa com 12 unidades de um produto).
- O sistema reconhece o EAN da embalagem e multiplica automaticamente a quantidade pelo fator da embalagem — por exemplo, se o fator for 12 e você informar quantidade 1, o sistema registrará 12 unidades.
Resultado esperado: A quantidade lançada no balanço de estoque reflete o fator da embalagem, evitando que o operador precise calcular manualmente.
Exceção / Importante: A regra combinada no MEQ015 é
stConsultaEmbalagem = (ST_CODIGOBARRACAIXA = 'S') AND (ST_CODBARRASEMBALAGEM = 'S')— ambos precisam estar'S'para ativar a multiplicação. Se apenasST_CODIGOBARRACAIXA = 'S'masST_CODBARRASEMBALAGEM = 'N', o balanço trata a leitura da embalagem como unidade normal, sem multiplicar.
N – Não (padrão)
| O que faz | Detalhe |
|---|---|
| Desabilita multiplicação por fator de embalagem | O MEQ015 trata qualquer código de barras lido como unidade individual, sem multiplicar pelo fator da embalagem |
| Sem dependência | Mesmo que ST_CODIGOBARRACAIXA = 'S', o MEQ015 não multiplicará pelo fator |
| Pode ficar oculto | Se ST_CODIGOBARRACAIXA <> 'S', o campo nem aparece na tela |
Simulação passo a passo
- Acesse MFA001 → Faturamento → aba Opção 2.
- Se o campo "Utiliza Código de Barras Embalagem [MEQ015]" estiver visível, selecione "Não".
- Salve os parâmetros (
<F6>). - No MEQ015 (Balanço de Estoque), leia o código de barras de uma embalagem.
- O sistema registrará quantidade 1 (ou a quantidade informada manualmente), sem multiplicar pelo fator da embalagem.
Resultado esperado: A quantidade lançada é exatamente a informada pelo operador, sem conversão automática.
Regra combinada MEQ015
No método iniciar do MEQ015 (UMEQ015.pas:189-200):
stConsultaEmbalagem := (ST_CODIGOBARRACAIXA = 'S') AND (ST_CODBARRASEMBALAGEM = 'S')
ST_CODIGOBARRACAIXA | ST_CODBARRASEMBALAGEM | MEQ015 multiplica por fator? | Uso típico |
|---|---|---|---|
| S | S | ✅ Sim | Distribuidoras/atacadistas que leem embalagens inteiras |
| S | N | ❌ Não | Empresa usa fallback de busca mas não quer multiplicação automática |
| N | — (oculto) | ❌ Nunca | Empresa sem EAN separado para caixa/embalagem |
Sincronização com coletor mobile (InventarioJunsoft)
O módulo de inventário mobile (UdmContagem.pas:177-202) lê ST_CODBARRASEMBALAGEM do PARMFATUR e envia o valor ao dispositivo móvel durante a autenticação/sincronização. O coletor utiliza esse parâmetro para decidir se aplica o fator de embalagem ao contar produtos via código de barras.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TfrmMFA001.cmbST_CODIGOBARRACAIXAChange | source/MFA001/UMFA001.pas | 2556 | Controla visibilidade de lblST_CODBARRASEMBALAGEM e cmbST_CODBARRASEMBALAGEM |
TdmMFA001.tabPARMFATURAfterInsert | source/MFA001/UdmMFA001.pas | 576 | Atribui valor padrão 'N' ao campo |
iniciar (DLL MEQ015) | source/MEQ015/UMEQ015.pas | 193 | Lê ST_CODBARRASEMBALAGEM do PARMFATUR; se ambos forem 'S', ativa stConsultaEmbalagem |
| Autenticação do coletor | source/InventarioJunsoft/UdmContagem.pas | 180 | Lê ST_CODBARRASEMBALAGEM e envia ao dispositivo móvel |
Referências SQL diretas ao campo
Nenhuma procedure/view SQL em Scripts/ referencia ST_CODBARRASEMBALAGEM diretamente. O campo é consumido apenas por rotinas Delphi (MEQ015 e InventarioJunsoft).