Pular para o conteúdo principal

CD_SECAO — Seção (Departamento)

Tela de configuração: MFA006 - Parâmetros de Tabela de Preço
Componente: edtCD_SECAO (Edit)
Tabela: PARMTABPRECO.CD_SECAO
Tipo: INTEGER (FK para SECAO.CD_SECAO)
Obrigatório: Não
Valor padrão: N/A (campo livre, preenchido via busca <F9>)


Descrição​

O campo CD_SECAO permite filtrar parâmetros de tabela de preço por seção (departamento/área de produto). Quando preenchido, o registro de preço somente será aplicado a itens que pertençam à seção informada.

A seção é um nível hierárquico de classificação de itens, ficando entre o grupo/subgrupo e o item específico. É configurada na tabela SECAO e atribuída aos produtos no cadastro de itens (ITEM.CD_SECAO).


Telas impactadas​

TelaNomeUso do campo
MFA006Parâmetros de Tabela de PreçoConfiguração do filtro de preço por seção
CFA001Parâmetros de Formação de PreçoParâmetros de formação de preço por seção
CEQ001Consulta de Equipe/SeçãoFiltros de consulta por seção
CEQ004Relatório de Comissão por SeçãoFiltros de relatório por seção
CEQ005Relatório de Produção por SeçãoFiltros de relatório por seção

Campos envolvidos​

TabelaCampoTipoRelação
PARMTABPRECOCD_SECAOINTEGERFK → SECAO.CD_SECAO
SECAOCD_SECAOINTEGERPK
SECAODS_SECAOVARCHAR(60)Descrição da seção
SECAOST_ATIVACHAR(1)Status (S/N)
ITEMCD_SECAOINTEGERSeção do produto

Opções disponíveis​

O campo aceita:

O que fazDetalhe
Vazio (NULL)O filtro de seção não é aplicado; o parâmetro vale para todas as seções
Código válidoInformar o código de uma seção existente para restringir o parâmetro àquela seção

Simulação passo a passo​

  1. Acesse MFA006 → Parâmetros de Tabela de Preço
  2. Localize o campo Seção (edtCD_SECAO)
  3. Para informar uma seção:
    • Pressione <F9> para abrir a busca de seções
    • Selecione a seção desejada (ex: código 10 — "Departamento A")
    • O campo será preenchido automaticamente com o código selecionado
  4. Para limpar o filtro:
    • Selecione todo o conteúdo do campo e apague
    • Ou pressione <Delete>
  5. Salve o registro (<F5> ou botão Salvar)

Resultado esperado: O parâmetro de tabela de preço será aplicado apenas a itens da seção informada. Se o campo estiver vazio, o parâmetro se aplica a todas as seções.

Exceção / Importante:
O código informado deve existir na tabela SECAO e estar com ST_ATIVA = 'S'. Seções inativas podem não aparecer na busca (<F9>).


Regra de busca automática (RETORNA_TABPRECO)​

A procedure RETORNA_TABPRECO consulta os parâmetros de preço considerando a seção do produto. O processo é:

  1. Obtém a seção do produto: SELECT CD_SECAO FROM ITEM WHERE CD_ITEM = :I_CD_ITEM
  2. Compara com os registros em PARMTABPRECO
  3. Prioriza registros com seção específica do produto
  4. Se não encontrar, usa registros com seção nula (todas as seções)

A priorização segue a hierarquia: Item > Seção > Subgrupo > Grupo > (todas)


Regra Geral de Autorização​

Não há regra de autorização específica para este campo. A validação é estrutural: o código deve referenciar uma seção válida na tabela SECAO.


Tabela Comparativa Resumida​

SituaçãoCD_SECAOEfeito no preço
Todas as seçõesNULLParâmetro vale para qualquer seção
Seção específica10Parâmetro vale apenas para itens da seção 10
Seção inativa5 (ST_ATIVA='N')Seção não aparece na busca; parâmetro não é aplicado

Procedures impactadas​

Rotinas Delphi com referência direta ao parâmetro​

RotinaArquivoLinhaEvidência
TfrmMFA006.edtCD_SECAOKeyDownsource/MFA006/UMFA006.pas663dmMFA006.tabPARMTABPRECOCD_SECAO.AsString := result.getParam(0);

Referências SQL diretas ao campo CD_SECAO​

Procedure/ViewArquivoLinhaEvidência
RETORNA_TABPRECOScripts/RETORNA_TABPRECO.sql21V_CD_SECAO INTEGER; — obtém seção do item para filtro de preço
ATUALIZA_PRECOVENDAScripts/ATUALIZA_PRECOVENDA.sql79FROM PARMTABPRECO PP — tabela de parâmetros consultada
RETORNA_PRECOITEMScripts/RETORNA_PRECOITEM.sql104FROM PARMTABPRECO P — consulta preço do item
VERIFICA_BLOQUEIOScripts/VERIFICA_BLOQUEIO.sql1115FROM PARMTABPRECO P — verifica bloqueio de preço

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

Procedure/ViewArquivoLinhaEvidência
CALCULA_MAQUINAScripts/CALCULA_MAQUINA.sql81FROM PARMTABPRECO P
CALCULA_MAQUINAFICHAScripts/CALCULA_MAQUINAFICHA.sql79FROM PARMTABPRECO P
GERA_COMISSAOTABPRECOScripts/GERA_COMISSAOTABPRECO.sql84from PARMTABPRECO
VIEW_TFA006Scripts/VIEW_TFA006.sql84INNER JOIN PARMTABPRECO PT ON (PT.CD_TABPRECO = TABPRECO.CD_TABPRECO)

Referências cruzadas​

O campo CD_SECAO aparece em diversas tabelas do sistema, indicando que seção é um conceito transversal:

TabelaFinalidade
ITEMSeção do produto
GRUPOESTOQUEFiltro de estoque por seção
GRUPOMOVIMENTACAOFiltro de movimentação por seção
COMISSAOVENDEDORComissão por seção
COMISSAOEXECUTORETAPAComissão de executor por seção
METAVENDEDORMeta de venda por seção
FILTROPRECOVENDAFiltro de preço por seção
PARMFORMAPRECOParâmetro de formação de preço por seção
PARMORCAMENTOSeções específicas (armadura, oficina, concretagem)

Observações​

  • O campo faz parte do filtro hierárquico de preço: Grupo → Subgrupo → Seção → Item → Perfil
  • A seção é configurada no cadastro de itens (ITEM.CD_SECAO) e não neste parâmetro
  • Este parâmetro apenas filtra quais itens o preço se aplica
  • A busca <F9> lista apenas seções ativas (ST_ATIVA = 'S')
  • O campo CD_SECAO em PARMTABPRECO é parte do filtro junto com CD_GRUPO, CD_SUBGRUPO, CD_ITEM e CD_PERFIL