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 (informe o requisito relacionado) : | DVARMIL-10946 |
|---|
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 das peças //enviados pela montadora Scania por meio de um arquivo XML, facilitando o recebimento e o cadastro 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 XML enviados pela montadora Scania e permite incluir ou atualizar registros no cadastro de serviços do sistema Protheus DMS.
Para que a rotina funcione corretamente, é necessário garantir algumas condições que asseguram a leitura adequada do arquivo XML, o mapeamento dos grupos de serviço e o correto tratamento dos dados no sistema. São elas:
- O campo “Cod. Grp Mont” deve estar adicionado na rotina Grupos de Serviço (OFIOA020), garantindo o vínculo entre os grupos de serviço da montadora e os grupos cadastrados no Protheus.
- Na rotina Grupos de Serviço (OFIOA020), existam registros cadastrados com o campo “Cod. Grp Mont” devidamente preenchido, conforme os códigos pré-definidos pela montadora Scania.
- A rotina Importação de Serviços Scania (OFIA533) deve ser incluída manualmente no menu do Protheus, permitindo o acesso à funcionalidade.
- É necessário possuir um arquivo XML válido com os serviços fornecidos pela montadora, que será utilizado como base para o processo de importação.
- Acesse o Módulo 14 (Oficina).
- Acesse o menu Atualizações → Cadastros Oficina → Importação de Serviços Scania (OFIA533).
- Preencha os parâmetros obrigatórios:
- Marca
- Arquivo XML
- Quantidade Mecânicos
- Ação pós Processamento
- No parâmetro Arquivo XML, será exibida uma tela mostrando o servidor (pasta protheus_data) e seus diretórios. Selecione o arquivo XML que será processado pela rotina.
No parâmetro Ação pós-processamento, selecione uma das opções abaixo: Nenhuma Ação: o arquivo XML permanecerá no diretório original, sem ser movido ou excluído após o processamento. Mover Arquivo: o parâmetro Mover Para será habilitado, 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 XML 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 XML e após a inclusão ou atualização de cada serviço serão executadas ações personalizadas definidas através do ponto de entrada. Ao final do processamento, quando o arquivo for processado com sucesso, serão executadas ações personalizadas definidas através do ponto de entrada de conclusão da rotina, e o sistema aplicará a ação de pós-processamento escolhida (mover, apagar ou manter 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 | ? |
|---|
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 | OFIA539 | OFIA539 | OFIA539 | OFIA539 |
|---|
Grupo de campo |
|
|
|
|
|---|
Ordem | 01 | 02 | 03 | 04 |
|---|
Pergunta | Diretório do Arquivo | Grupos de Produto | Destino Público | Destino Público 30d |
|---|
Tipo | C | C | C | C |
|---|
| Tamanho | 99 | 80 | 40 | 40 |
|---|
| Decimal | 0 | 0 | 0 | 0 |
|---|
| Var01 | MV_PAR01 | MV_PAR02 | MV_PAR03 | MV_PAR04 |
|---|
| Formato |
|
|
|
|
|---|
| Validação | OA539005M_PreValid(1) | !Vazio() .And. OA539005M_PreValid(2) | Vazio() .Or. OA539005M_PreValid(3) | Vazio() .Or. OA539005M_PreValid(3) |
|---|
| Objeto | Get | Get | Get | Get |
|---|
| Consulta Padrão |
|
| VX5PRV | VX5PRV |
|---|
| Pré-Seleção (Combo) |
|
|
|
|
|---|
| Item 1 |
|
|
|
|
|---|
| Item 2 |
|
|
|
|
|---|
| Item 3 |
|
|
|
|
|---|
| Item 4 |
|
|
|
|
|---|
| Item 5 |
|
|
|
|
|---|
| Help |
|
|
|
|
|---|
Grupo | OFIA539 | OFIA539 | OFIA539 | OFIA539 |
|---|
Grupo de campo |
|
|
|
|
|---|
Ordem | 05 | 06 | 07 | 08 |
|---|
Pergunta | Destino Balcão | Atu. Quant. por Embalagem | Ação após Processamento | Mover Para |
|---|
Tipo | C | C | C | C |
|---|
| Tamanho | 40 | 1 | 1 | 99 |
|---|
| Decimal | 0 | 0 | 0 | 0 |
|---|
| Var01 | MV_PAR05 | MV_PAR06 | MV_PAR07 | MV_PAR08 |
|---|
| Formato |
|
|
|
|
|---|
| Validação | Vazio() .Or. OA539005M_PreValid(3) |
|
| If( MV_PAR07==2, OA539005M_PreValid(4) ,Vazio()) |
|---|
| Objeto | Get | Combo | Combo | Get |
|---|
| Consulta Padrão | VX5PRV |
|
|
|
|---|
| Pré-Seleção (Combo) |
| 2 | 1 |
|
|---|
| Item 1 |
| Sim | Nenhuma Ação |
|
|---|
| Item 2 |
| Não | Mover 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> |
