Pular para o conteúdo principal

CD_LOCSAILEITORSAI - Local de Saída do Leitor

Tela de configuração: MEQ001 - Parâmetros de Estoque Localização: Aba Produção com Leitor → campo "Saída com Leitor" Tabela: PARMESTOQUE.CD_LOCSAILEITORSAI Tipo: DOM_INTEGER (código do local de estoque) Valor padrão: NULL (sem local configurado)


Descrição​

Define o local de estoque utilizado nas baixas (saídas) realizadas por leitor de código de barras no processo de produção/embalagem.

O campo armazena o código que referencia um registro na tabela LOCALESTOQUE. A descrição do local é exibida ao lado do campo por meio de um LEFT JOIN na consulta de parâmetros:

LEFT JOIN TIPOLOCAL TSLS ON (TSLS.CD_TIPOLOCAL = P.CD_TIPOSAILEITORSAI)
LEFT JOIN LOCALESTOQUE LSLS ON (TSLS.CD_TIPOLOCAL = P.CD_TIPOSAILEITORSAI
AND LSLS.CD_LOCAL = P.CD_LOCSAILEITORSAI)

O campo faz parte do conjunto "Saída com Leitor", que agrupa:

CampoFunção
CD_TIPOSAILEITORSAITipo do local de origem (filtra os locais disponíveis)
CD_LOCSAILEITORSAILocal de estoque de onde o produto será baixado
CD_OPERSAILEITORSAIOperação de estoque vinculada à saída
CD_HISTSAILEITORHistórico padrão do lançamento

Telas impactadas​

TelaImpacto
MEQ001Tela de configuração — edição direta do campo

Campos envolvidos​

Campo (tela)DataFieldTabela / OrigemDescrição
edtCD_LOCSAILEITORSAICD_LOCSAILEITORSAIPARMESTOQUECódigo do local de estoque
(campo descrição)DS_LOCSAILEITORSAILOCALESTOQUE.DS_LOCAL (via JOIN)Descrição do local (somente leitura)

Opções disponíveis​

O campo não possui opções fixas. Trata-se de um campo de lookup (pesquisa) que aceita um código inteiro referenciando um registro na tabela LOCALESTOQUE.

O que fazDetalhe
Tipo de componenteTDBEdit — campo editável vinculado ao dataset
Forma de seleçãoDigitação direta do código ou pressionamento de <F9> para abrir a lista de locais
Restrição de lookupO local listado deve pertencer ao Tipo de Local informado em CD_TIPOSAILEITORSAI (configurado na mesma aba)
Campo descriçãoAo lado, exibe DS_LOCSAILEITORSAI (nome do local, somente leitura)

Simulação passo a passo​

  1. Acesse o menu Estoque → Parâmetros (tela MEQ001).
  2. Navegue até a aba Produção com Leitor.
  3. Localize o campo Saída com Leitor (código do local).
  4. Para selecionar o local:
    • Opção A — Digitação direta: Digite o código numérico do local de estoque desejado. O sistema preencherá automaticamente a descrição ao lado.
    • Opção B — Lista com <F9>: Pressione <F9> com o foco no campo para abrir a lista de locais disponíveis (filtrados pelo Tipo de Local definido em CD_TIPOSAILEITORSAI).
  5. Pressione <Ctrl+S> ou clique em Salvar para gravar a alteração.

Resultado esperado: O código do local é salvo em PARMESTOQUE.CD_LOCSAILEITORSAI. A partir desse momento, toda saída de estoque processada pelo leitor de código de barras (via procedure PROCESSA_ETIQUETA) utilizará esse local como origem da baixa de estoque.

Exceção / Importante: O campo funciona em conjunto com CD_TIPOSAILEITORSAI. Se o tipo de local não estiver definido, a lista de locais pode ficar vazia ou o lookup pode não funcionar corretamente. Certifique-se de configurar ambos os campos.


Procedures impactadas​

Referência SQL direta ao campo​

ProcedureArquivoUso
PROCESSA_ETIQUETAScripts/PROCESSA_ETIQUETA.sqlLê o valor de PARMESTOQUE e utiliza como local de destino nas operações de saída

Rotinas Delphi​

Nenhuma referência direta encontrada nos fontes Delphi (.pas). O campo é manipulado exclusivamente via componentes visuais (TDBEdit + DataSource) e pela query de persistência no UdmMEQ001.dfm.

Candidatas por uso da tabela (sem referência direta ao campo)​

As procedures abaixo acessam a tabela PARMESTOQUE mas não citam CD_LOCSAILEITORSAI diretamente nos scripts disponíveis. Nenhum impacto funcional direto identificado.


Comportamento em tempo de execução​

Quando o usuário processa uma etiqueta pelo leitor de código de barras (PROCESSA_ETIQUETA), a procedure executa as seguintes ações com CD_LOCSAILEITORSAI:

  1. Consulta de parâmetros (linhas 60-69): Lê CD_LOCSAILEITORSAI de PARMESTOQUE junto com os demais campos do grupo "Saída com Leitor".
  2. Cálculo de custo (linhas 228-230, 365-367, 450-452): Chama RETORNA_SALDOESTOQUE(empresa, item, tipo_local, local_saida, null) para obter o custo unitário do produto no local de saída.
  3. Geração de estoque (linhas 236-242, 373-379, 458-464): Executa GERA_ESTOQUE passando CD_LOCSAILEITORSAI como parâmetro do local, efetivando a baixa de estoque.

O trecho relevante:

-- Custo Total do Produto no Local de Saída
select O_VL_CUSTO
from RETORNA_SALDOESTOQUE(:V_CD_EMPRESA, :V_CD_ITEM,
:V_CD_TIPOSAILEITORSAI, :V_CD_LOCSAILEITORSAI, null)
into :V_VL_CUSTO;

-- Faz a Saída do Local
execute procedure GERA_ESTOQUE (
:V_CD_EMPRESA, :V_CD_ITEM, :V_CD_TIPOSAILEITORSAI,
:V_CD_LOCSAILEITORSAI, :V_CD_OPERSAILEITORSAI, :V_CD_HISTSAILEITOR,
current_date, 'TF', :V_NR_ORDEMPRODUCAO, ...);

Parâmetros relacionados​

ParâmetroTelaDescrição
CD_TIPOSAILEITORSAIMEQ001 — Aba Produção com LeitorTipo de local que filtra os locais disponíveis para este campo
CD_OPERSAILEITORSAIMEQ001 — Aba Produção com LeitorOperação de estoque aplicada na saída
CD_HISTSAILEITORMEQ001 — Aba Produção com LeitorHistórico padrão do movimento de saída
CD_LOCSAILEITORENTMEQ001 — Aba Produção com LeitorLocal de estoque para a entrada (par simétrico)