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_LOCSAILEITORSAITipo: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:
| Campo | Função |
|---|---|
CD_TIPOSAILEITORSAI | Tipo do local de origem (filtra os locais disponíveis) |
CD_LOCSAILEITORSAI | Local de estoque de onde o produto será baixado |
CD_OPERSAILEITORSAI | Operação de estoque vinculada à saída |
CD_HISTSAILEITOR | Histórico padrão do lançamento |
Telas impactadas
| Tela | Impacto |
|---|---|
| MEQ001 | Tela de configuração — edição direta do campo |
Campos envolvidos
| Campo (tela) | DataField | Tabela / Origem | Descrição |
|---|---|---|---|
edtCD_LOCSAILEITORSAI | CD_LOCSAILEITORSAI | PARMESTOQUE | Código do local de estoque |
| (campo descrição) | DS_LOCSAILEITORSAI | LOCALESTOQUE.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 faz | Detalhe |
|---|---|
| Tipo de componente | TDBEdit — campo editável vinculado ao dataset |
| Forma de seleção | Digitação direta do código ou pressionamento de <F9> para abrir a lista de locais |
| Restrição de lookup | O local listado deve pertencer ao Tipo de Local informado em CD_TIPOSAILEITORSAI (configurado na mesma aba) |
| Campo descrição | Ao lado, exibe DS_LOCSAILEITORSAI (nome do local, somente leitura) |
Simulação passo a passo
- Acesse o menu Estoque → Parâmetros (tela
MEQ001). - Navegue até a aba Produção com Leitor.
- Localize o campo Saída com Leitor (código do local).
- 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 emCD_TIPOSAILEITORSAI).
- 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
| Procedure | Arquivo | Uso |
|---|---|---|
PROCESSA_ETIQUETA | Scripts/PROCESSA_ETIQUETA.sql | Lê 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:
- Consulta de parâmetros (linhas 60-69): Lê
CD_LOCSAILEITORSAIdePARMESTOQUEjunto com os demais campos do grupo "Saída com Leitor". - 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. - Geração de estoque (linhas 236-242, 373-379, 458-464): Executa
GERA_ESTOQUEpassandoCD_LOCSAILEITORSAIcomo 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âmetro | Tela | Descrição |
|---|---|---|
CD_TIPOSAILEITORSAI | MEQ001 — Aba Produção com Leitor | Tipo de local que filtra os locais disponíveis para este campo |
CD_OPERSAILEITORSAI | MEQ001 — Aba Produção com Leitor | Operação de estoque aplicada na saída |
CD_HISTSAILEITOR | MEQ001 — Aba Produção com Leitor | Histórico padrão do movimento de saída |
CD_LOCSAILEITORENT | MEQ001 — Aba Produção com Leitor | Local de estoque para a entrada (par simétrico) |