01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Totvs DMS (Linha Protheus) - Oficina (SIGAOFI)

Função:Atualização da Lista de Preços (OFIA539)
País:Brasil
Ticket:Não há/Não se aplica.
Requisito/Story/Issue:DVARMIL-10944

02. SITUAÇÃO/REQUISITO

Após levantamentos realizados sobre estudos baseando-se nos processos e regras de negócio da montadora Scania, foi identificada a necessidade de criar uma rotina que permita realizar a atualização de preço de venda das peças fornecidas pela montadora Scania por meio de um arquivo PRI9600.TXT, facilitando o recebimento e atualização dessas informações dentro do sistema Protheus DMS.

03. SOLUÇÃO

A solução implementada consistiu na criação da rotina Atualização da Lista de Preços (OFIA539), que realiza a leitura de arquivos PRI9600.TXT enviados pela montadora Scania e permite a atualização dos preços de venda de peças no cadastro de Peças do sistema Protheus DMS.

Para que a rotina funcione corretamente, é necessário garantir algumas condições que asseguram a leitura adequada do arquivo PRI9600.TXT, o mapeamento das peças previamente cadastradas e o correto tratamento dos dados no sistema. São elas:


  • Acesse o Módulo 14 (Oficina).
  • Acesse o menu Atualizações → Cadastros Peças → Atualização da Lista de Preços (OFIA539).
  • Preencha os parâmetros: 
    • No parâmetro Diretório do Arquivo? que possui preenchimento obrigatório, ao sair do campo, será exibida uma tela mostrando o servidor (pasta protheus_data) e seus diretórios. Selecione o arquivo PRI9600.TXT que será processado pela rotina.
    • No parâmetro Grupos de Produto? que possui preenchimento obrigatório, será necessário preencher o(s) grupo(s) vinculado(s) às peças já cadastradas no Protheus e existentes na rotina Grupos de Peças (MATA035).
    • No parâmetro Destino Público?, ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.
    • No parâmetro Destino Público 30d?, ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.
    • No parâmetro Destino Balcão?,  ao clicar no ícone da lupa, será exibida uma listagem onde deve ser selecionado o preço de venda desejado.

Observação: Não é permitido utilizar o mesmo preço de venda em parâmetros diferentes, ou seja, caso um preço de venda já tenha sido selecionado em um parâmetro, se selecionado o mesmo preço em um segundo parâmetro ao clicar no botão OK para execução da rotina ocorrerá a validação dos parâmetros e será exibida uma mensagem em tela abortando a operação.

    • No parâmetro Atu. Quant. por Embalagem? que possui preenchimento obrigatório, caso seja selecionada a opção 1 - Sim, a quantidade de peças por embalagem será atualizada de acordo com a configuração realizada anteriormente para o parâmetro "MV_ARQPROD". Caso seja selecionada a opção 2 - Não, não haverá atualização da quantidade de peças por embalagem.  
  • No parâmetro Ação após Processamento, selecione uma das opções abaixo:

    • Nenhuma Ação: o arquivo PRI9600.TXT permanecerá no diretório original, sem ser movido, nem apagado após o processamento.

    • Mover Arquivo: o parâmetro Mover Para? será habilitado e terá preenchimento obrigatório, permitindo selecionar o diretório de destino dentro do servidor. Ao final do processamento, o arquivo será movido automaticamente do diretório original para o diretório informado.

    • Apagar Arquivo: ao término do processamento, o arquivo PRI9600.TXT será excluído do diretório original.

  • Após preencher todos os parâmetros obrigatórios, clique no botão “OK”.

    • A rotina processará o arquivo PRI9600.TXT e, após a atualização de preço e da quantidade por embalagem de cada peça, serão executadas ações personalizadas definidas através do ponto de entrada criado para execução após o processamento de cada item.

    • Ao final do processamento, quando o arquivo for concluído com sucesso, serão executadas ações personalizadas definidas através do ponto de entrada destinado à conclusão da rotina, e o sistema aplicará a ação de pós-processamento selecionada (manter, mover ou apagar o arquivo).


  • No Configurador (SIGACFG), acesse Ambientes/Cadastros/Menu (CFGX013) e informe as novas opções de menu do módulo de Oficina (SIGAOFI) conforme instruções a seguir:


Menu

Atualizações

Submenu

Cadastros Peças

Nome da Rotina

Atualização da Lista de Preços

Programa

OFIA539

Módulo

Oficina (SIGAOFI)

Tipo

Função Protheus


Criação de Pergunte no arquivo SX1 – Pergunta


Grupo

OFIA539OFIA539OFIA539OFIA539

Grupo de campo





Ordem

01020304

Pergunta

Diretório do ArquivoGrupos de ProdutoDestino PúblicoDestino Público 30d

Tipo

CCCC
Tamanho99804040
Decimal0000
Var01MV_PAR01MV_PAR02MV_PAR03MV_PAR04
Formato



ValidaçãoOA539005M_PreValid(1)!Vazio() .And. OA539005M_PreValid(2)Vazio() .Or. OA539005M_PreValid(3)Vazio() .Or. OA539005M_PreValid(3)
ObjetoGetGetGetGet
Consulta Padrão

VX5PRVVX5PRV
Pré-Seleção (Combo)



Item 1



Item 2



Item 3



Item 4



Item 5



Help





Grupo

OFIA539OFIA539OFIA539OFIA539

Grupo de campo





Ordem

05060708

Pergunta

Destino BalcãoAtu. Quant. por EmbalagemAção após ProcessamentoMover Para

Tipo

CCCC
Tamanho401199
Decimal0000
Var01MV_PAR05MV_PAR06MV_PAR07MV_PAR08
Formato



ValidaçãoVazio() .Or. OA539005M_PreValid(3)

If( MV_PAR07==2, OA539005M_PreValid(4) ,Vazio())
ObjetoGetComboComboGet
Consulta PadrãoVX5PRV


Pré-Seleção (Combo)
21
Item 1
SimNenhuma Ação
Item 2
NãoMover Arquivo
Item 3

Apagar Arquivo
Item 4



Item 5



Help





04. DEMAIS INFORMAÇÕES



05. ASSUNTOS RELACIONADOS


<style>
  .link_container {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Alinhado à esquerda */
    width: 100%;
    gap: 8px; /* Espaçamento entre os itens */
  }

  .btn-doc,
  .btn-doc:link,
  .btn-doc:visited {
    display: inline-block;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    color: #FFFFFF !important; /* Força o texto branco */
    background-color: #08244C; /* Fundo azul escuro */
    border: none;
    border-radius: 8px;
    text-decoration: none;
    text-align: left;
    transition: background-color 0.3s ease, transform 0.2s ease, color 0.3s ease;
  }

  .btn-doc:hover {
    background-color: #FFFFFF; /* Azul mais claro no hover */
    color: #08244C !important; /* Mantém texto branco */
    transform: scale(1.03);
  }

  .btn-doc:active {
    background-color: #061B3B; /* Azul ainda mais escuro no clique */
    color: #FFFFFF !important; /* Mantém texto branco */
    transform: scale(0.98);
  }
</style>  

<div class="link_container">
  <a href="https://tdn.totvs.com/pages/viewpage.action?pageId=1017443499" target="_blank" class="btn-doc">     
	📄 Atualização da Lista de Preços (OFIA539)
  </a>
  <a href="https://tdn.totvs.com/pages/viewpage.action?pageId=1018563765" target="_blank" class="btn-doc">     		
	📄 Ponto de Entrada OA539LIN - Atualização da Lista de Preços (OFIA539)   
  </a>
  <a href="https://tdn.totvs.com/pages/viewpage.action?pageId=1018563840" target="_blank" class="btn-doc">     
	📄 Ponto de Entrada OA539FIM - Atualização da Lista de Preços (OFIA539)   
  </a>  
</div>