CD_TABLOCACAO - Tabela de Preço de Locação
Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Aba Operação 1, campo "Tabela de Locação" Tabela:
PARMFATUR.CD_TABLOCACAO(DOM_INTEGER) Campo de descrição associado:DS_TABLOCACAO(somente leitura, preenchido automaticamente) Tabela referenciada:TABPRECO (CD_TABPRECO)— FKRPARMFATUR_TABPRECO_LOC
Telas impactadas
| Tela | Módulo | Impacto |
|---|---|---|
| MFA001 | Faturamento | Tela de configuração do parâmetro |
| MPD043 | Locações | Usa CD_TABLOCACAO para precificar itens locados, validar descontos e gerar pedidos a partir de locações |
| RPD022 | Relatórios | Usa CD_TABLOCACAO para trazer preço de locação no relatório de produtos |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_TABLOCACAO | PARMFATUR | INTEGER | Código da tabela de preço usada em operações de locação |
DS_TABLOCACAO | PARMFATUR (JOIN) | VARCHAR | Descrição da tabela de locação, obtida via LEFT JOIN TABPRECO LOC ON (CD_TABLOCACAO = CD_TABPRECO) |
Configuração
| O que faz | Detalhe |
|---|---|
| Define qual tabela de preço será usada | Armazena o código de uma tabela de preço (TABPRECO) usada como referência de preço em locações |
| Campo editável | Sim — pode ser digitado ou selecionado via pesquisa |
| Obrigatório para Locações | Se não preenchido, o módulo de Locações (MPD043) bloqueia a tela e exibe aviso |
| Validação ao sair do campo | Verifica se o código existe em TABPRECO; se não existir, exibe erro e impede gravação |
Como preencher
- Acesse MFA001 → aba Operação 1.
- Posicione o cursor no campo "Tabela de Locação".
- Digite o código da tabela de preço diretamente, ou pressione
<F9>para abrir a janela de pesquisa "Selecione a Tabela de Locação". - Na pesquisa, selecione a tabela desejada e confirme. O campo descrição será preenchido automaticamente.
- Salve os parâmetros.
Exceção / Importante: Se o campo ficar vazio, ao abrir a tela de Locações (MPD043) o sistema exibirá a mensagem "É Necessário Informar uma Tabela de Locação. [MFA001]!" e desabilitará os botões de inclusão, alteração e exclusão, impedindo o uso completo do módulo.
Uso no módulo de Locações (MPD043)
Precificação de itens
Ao adicionar um item em uma locação, o sistema chama a função RETORNA_PRECOITEM passando CD_TABLOCACAO como tabela de preço para obter:
O_VL_PRECO— preço de locação do itemO_PC_DESCMAX— percentual máximo de desconto na locação
Isso ocorre nas validações de item (tabITEMCD_ITEMValidate, tabITEMST_BRINDEValidate) e nas validações de troca saída (tabTROCASAIDACD_ITEMValidate, tabTROCASAIDAST_BRINDEValidate).
Validação de desconto
Ao salvar uma locação com desconto (btnSalvarClick), o sistema busca em ITEMTABPRECO o PC_DESCONTOMAXIMO da tabela de locação (CD_TABLOCACAO) para o item em questão. Se não houver registro específico, utiliza o PC_DESCONTOPED genérico de PARMFATUR.
Geração de pedido
Ao gerar pedido de venda a partir de uma locação (btnGerarPedidoClick):
- Se o tipo de locação for V (Venda), o sistema utiliza
CD_TABPRECO(tabela de preço de venda). - Se o tipo for diferente de V (Locação padrão), o sistema utiliza
CD_TABLOCACAOcomo tabela de preço do pedido.
Troca / Devolução
Na confirmação de troca (btnConfirmaTrocaClick), o sistema utiliza CD_TABLOCACAO tanto na movimentação de troca saída (venda) quanto na troca entrada (devolução) para obter os preços corretos dos itens envolvidos.
Uso em Relatórios (RPD022)
No relatório de produtos por locação, o sistema faz LEFT JOIN TABPRECO TA ON (TA.CD_TABPRECO = P.CD_TABLOCACAO) e chama RETORNA_PRECOITEM com essa tabela para exibir o preço de locação do produto.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
edtCD_TABLOCACAOKeyDown | source/MFA001/UMFA001.pas | Abre pesquisa de tabela de preço ao pressionar <F9> |
tabPARMFATURCD_TABLOCACAOValidate | source/MFA001/UdmMFA001.pas | Valida existência do código em TABPRECO e preenche descrição |
iniciar | source/MPD043/UMPD043.pas | Verifica se CD_TABLOCACAO está preenchido; bloqueia MPD043 se vazio |
btnSalvarClick | source/MPD043/UMPD043.pas | Usa CD_TABLOCACAO para buscar desconto máximo na locação |
btnGerarPedidoClick | source/MPD043/UMPD043.pas | Usa CD_TABLOCACAO como tabela de preço ao gerar pedido de locação |
btnConfirmaTrocaClick | source/MPD043/UMPD043.pas | Usa CD_TABLOCACAO nas operações de troca saída e entrada |
tabITEMCD_ITEMValidate | source/MPD043/UdmMPD043.pas | Busca preço de locação via RETORNA_PRECOITEM com CD_TABLOCACAO |
tabITEMST_BRINDEValidate | source/MPD043/UdmMPD043.pas | Busca preço de locação ao alterar flag de brinde |
tabTROCASAIDACD_ITEMValidate | source/MPD043/UdmMPD043.pas | Busca preço de locação para item de troca saída |
tabTROCASAIDAST_BRINDEValidate | source/MPD043/UdmMPD043.pas | Busca preço de locação ao alterar brinde na troca saída |
btnImprimirClick | source/RPD022/URPD022.pas | Usa CD_TABLOCACAO no relatório de produtos por locação |
Referências SQL diretas ao campo
Não foi encontrada referência direta ao campo CD_TABLOCACAO em Scripts/ (procedures/views SQL). As procedures listadas como candidatas acessam a tabela PARMFATUR mas não utilizam este campo especificamente.
Parâmetros relacionados
| Parâmetro | Tabela | Relação |
|---|---|---|
CD_TABPRECO | PARMFATUR | Tabela de preço de venda (usada em operações de venda padrão). Configurado em MFA001 — mesma aba |
CD_TABLOCACAOLOC | PARMFATUR | Outro campo de tabela de locação em contexto diferente. Configurado em MFA001 |
CD_TROCASAI | PARMFATUR | Movimentação de troca saída — usada em conjunto com CD_TABLOCACAO na troca. Configurado em MFA001 |
CD_TROCAENT | PARMFATUR | Movimentação de troca entrada — usada em conjunto com CD_TABLOCACAO na troca. Configurado em MFA001 |