CD_TRANSFSAI — Operação de Transferência Avulsa de Saída
Tela de configuração: MEQ001 — Parâmetros de Estoque Tabela:
PARMESTOQUE.CD_TRANSFSAITipo:INTEGER, nullable Chave estrangeira:OPERACAO.CD_OPERACAO(constraintRPARMESTOQUE_TRANSFSAI) Valor padrão:NULL
Descrição
Define a operação de estoque utilizada para registrar a saída em transferências avulsas de produtos entre locais ou empresas. Quando um movimento de transferência avulsa é executado, o sistema gera um registro na tabela MOVESTOQUE utilizando este código de operação para o lançamento de saída.
O parâmetro é lido por diversas telas de transferência (MEQ008, MEQ016, MEQ035, MEQ052) e pela tela de Leira (MEQ066), que valida sua existência antes de permitir o início de operações.
Telas impactadas
| Tela | Nome | Uso do parâmetro |
|---|---|---|
| MEQ008 | Transferência entre Empresas | Lê CD_TRANSFSAI para obter a operação de saída |
| MEQ016 | Transferência entre Empresas (alternativa) | Lê CD_TRANSFSAI com LEFT JOIN OPERACAO para verificar ST_CONTABIL |
| MEQ035 | Transferência Avulsa | Lê CD_TRANSFSAI; valida que está configurado antes de permitir a transferência |
| MEQ052 | Transferência Avulsa (lote) | Lê CD_TRANSFSAI de PARMESTOQUE |
| MEQ066 | Leira | Valida existência na abertura; usa o valor para preencher CD_OPERSAI na manutenção de ordens de leira |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_TRANSFSAI | PARMESTOQUE | INTEGER (nullable) | Código da operação de estoque para saída na transferência avulsa |
DS_TRANSFSAI | (calculado via JOIN) | VARCHAR | Descrição da operação, obtida via LEFT JOIN OPERACAO TS ON (P.CD_TRANSFSAI = TS.CD_OPERACAO) |
Opções disponíveis
Campo vazio (NULL)
| O que faz | Detalhe |
|---|---|
| Permitido | Sim — o campo é nullable e aceita valor em branco |
| Efeito no sistema | O campo DS_TRANSFSAI é limpo automaticamente |
| Restrição em telas dependentes | MEQ066 oculta todos os botões de ação e exige configuração prévia. MEQ035 e MEQ008 exibem mensagem de erro impedindo a transferência |
Simulação passo a passo
- Acesse MEQ001 — Parâmetros de Estoque.
- Localize o campo Transferência Avulsa (coluna de saída).
- Deixe o campo em branco (ou apague o valor existente).
- Salve o registro.
- Acesse MEQ066 — Leira e tente iniciar uma operação.
Resultado esperado: Em MEQ066, o sistema exibe a mensagem "A Operação de Estoque de Transferência Avulsa de Saída deve ser parametrizada. Verifique [MEQ001]!" e oculta os botões Salvar, Lançar Acabado, Iniciar Leira, Finalizar Leira, Incluir Produtos, Cancelar Leira e Salvar Leira.
Exceção / Importante: Se
CD_TRANSFENT(operação complementar de entrada) também estiver vazio, a mensagem de erro será exibida para ambos os campos simultaneamente em MEQ066.
Código válido (operação de saída ativa)
| O que faz | Detalhe |
|---|---|
| Campo editável | Aceita digitação direta do código numérico ou busca via <F9> |
Busca por <F9> | Abre pesquisa de operações com filtro ST_ATIVO = 'S' e TP_OPERACAO = 'S' (apenas operações de Saída ativas) |
| Preenchimento automático | Ao informar um código válido, o campo DS_TRANSFSAI é preenchido com a descrição da operação |
Simulação passo a passo — Preenchimento via <F9>
- Acesse MEQ001 — Parâmetros de Estoque.
- Posicione no campo Transferência Avulsa (saída).
- Pressione
<F9>. - Na janela de pesquisa, selecione uma operação de saída ativa (ex: código
5, descrição "Transferência Saída"). - Confirme a seleção.
Resultado esperado: O campo recebe o código 5 e o campo de descrição ao lado exibe "Transferência Saída" automaticamente.
Simulação passo a passo — Digitação direta
- Acesse MEQ001 — Parâmetros de Estoque.
- No campo Transferência Avulsa (saída), digite diretamente o código de uma operação de saída ativa (ex:
5). - Pressione
<Tab>para sair do campo.
Resultado esperado: O sistema valida o código, preenche a descrição no campo DS_TRANSFSAI e permite a navegação normalmente.
Código inválido — operação inexistente
| O que faz | Detalhe |
|---|---|
| Rejeição | O sistema impede a saída do campo e exibe erro |
| Mensagem | "A Operação de Estoque não está Cadastrada [TEQ001]!" |
Simulação passo a passo
- Acesse MEQ001 — Parâmetros de Estoque.
- No campo Transferência Avulsa (saída), digite um código que não exista na tabela
OPERACAO(ex:99999). - Pressione
<Tab>.
Resultado esperado: O sistema exibe "A Operação de Estoque não está Cadastrada [TEQ001]!" e mantém o foco no campo.
Código inválido — operação inativa
| O que faz | Detalhe |
|---|---|
| Rejeição | O sistema impede a saída do campo e exibe erro |
| Mensagem | "A Operação de Estoque não está Ativa [TEQ001]!" |
Simulação passo a passo
- Acesse MEQ001 — Parâmetros de Estoque.
- No campo Transferência Avulsa (saída), digite o código de uma operação que exista mas esteja com
ST_ATIVO = 'N'. - Pressione
<Tab>.
Resultado esperado: O sistema exibe "A Operação de Estoque não está Ativa [TEQ001]!" e mantém o foco no campo.
Código inválido — operação do tipo Entrada
| O que faz | Detalhe |
|---|---|
| Rejeição | O sistema impede a saída do campo e exibe erro |
| Mensagem | "A Operação de Estoque deve ser de Saída [TEQ001]!" |
Simulação passo a passo
- Acesse MEQ001 — Parâmetros de Estoque.
- No campo Transferência Avulsa (saída), digite o código de uma operação de Entrada (
TP_OPERACAO = 'E'). - Pressione
<Tab>.
Resultado esperado: O sistema exibe "A Operação de Estoque deve ser de Saída [TEQ001]!" e mantém o foco no campo.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TdmMEQ001.tabPARMESTOQUECD_TRANSFSAIValidate | UdmMEQ001.pas | 779 | Valida o código: consulta OPERACAO, verifica existência, status ativo e tipo (saída) |
TfrmMEQ001.edtCD_TRANSFSAIKeyDown | UMEQ001.pas | 1175 | Trata <F9>, abrindo pesquisa de operações de saída ativas (ST_ATIVO = 'S', TP_OPERACAO = 'S') |
Busca_Parametros (MEQ008) | UdmMEQ008.pas | 90 | Lê CD_TRANSFSAI para transferência entre empresas |
Busca_Parametros (MEQ016) | UdmMEQ016.pas | 163 | Lê CD_TRANSFSAI com LEFT JOIN OPERACAO para verificar ST_CONTABIL |
Busca_Parametros (MEQ035) | UdmMEQ035.pas | 176 | Lê CD_TRANSFSAI para transferência avulsa |
Busca_Parametros (MEQ052) | UdmMEQ052.pas | 88 | Lê CD_TRANSFSAI para transferência avulsa |
iniciar (MEQ066) | UMEQ066.pas | 242 | Valida que CD_TRANSFSAI está preenchido; se vazio, oculta botões de ação |
TfrmMEQ066.btnTransferenciaClick | UMEQ066.pas | 1224 | Atribui CD_TRANSFSAI ao campo CD_OPERSAI da manutenção de ordem de leira |
Referências SQL diretas ao campo em Scripts/
Sem referência direta ao campo CD_TRANSFSAI identificada nos scripts SQL em Scripts/. As procedures candidatas que acessam a tabela PARMESTOQUE (ex: GERA_ESTOQUE, CANCELA_ESTOQUE, etc.) não citam este campo nas evidências disponíveis.
Parâmetros relacionados
| Parâmetro | Tela | Relação |
|---|---|---|
CD_TRANSFENT | MEQ001 | Operação complementar de Entrada para transferências avulsas. Configurado em paralelo com CD_TRANSFSAI |
ST_TRANSFEMPRESAS | MEQ001 | Indica se transferências entre empresas estão habilitadas; controla se CD_TRANSFSAI/CD_TRANSFENT serão utilizados em contexto interempresas |