Histórico da Página
Ponto de entrada para rotina de Retorno de Check List
Aviso | ||
---|---|---|
| ||
Os pontos de entrada |
( MNTA7351, MNTA7352, MNTA7355, MNTA7356 e MNTA7358 ) |
encontram-se descontinuados, passando a ser utilizado somente o modelo MVC que contas nesta documentação. |
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||
Segmento: | Manufatura | ||||
Módulo: | SIGAMNT - Manutenção de Ativos e Gestão de Frotas | ||||
Rotina: |
|
Cadastros Iniciais:
Relacione os cadastros necessários que precisam ser preenchidos antes da utilização desse requisito.
Tickets: | 7351993 |
Issues: | DNG-8705 |
Países: | Todos. |
Bancos de Dados: | Todos. |
Sistemas Operacionais: |
Informe as tabelas utilizadas.
Sistema(s) Operacional(is):
Windows e Linux
Descrição
Escreva aqui a descrição da nova implementação ou melhoria.
Importante
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
Antes de executar o compatibilizador informe o nome do compatibilizador é imprescindível:
- Realizar o backup da base de dados do produto que será executado o compatibilizador (diretório PROTHEUS_DATA\DATA, se versão 10, ou \PROTHEUS11_DATA\DATA, se versão 11) e dos dicionários de dados SXs (diretório PROTHEUS_DATA_SYSTEM, se versão 10, ou \PROTHEUS11_DATA\SYSTEM, se versão 11).
- Os diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa.
- Essa rotina deve ser executada em modo exclusivo, ou seja, nenhum usuário deve estar utilizando o sistema.
- Se os dicionários de dados possuírem índices personalizados (criados pelo usuário), antes de executar o compatibilizador, certifique-se de que estão identificados pelo nickname. Caso o compatibilizador necessite criar índices, irá adicioná-los a partir da ordem original instalada pelo Protheus, o que poderá sobrescrever índices personalizados, caso não estejam identificados pelo nickname.
- O compatibilizador deve ser executado com a Integridade Referencial desativada*.
Atenção
O procedimento a seguir deve ser realizado por um profissional qualificado como Administrador de Banco de Dados (DBA) ou equivalente!
A ativação indevida da Integridade Referencial pode alterar drasticamente o relacionamento entre tabelas no banco de dados. Portanto, antes de utilizá-la, observe atentamente os procedimentos a seguir:
- No Configurador (SIGACFG), veja se a empresa utiliza Integridade Referencial, selecionando a opção Integridade/Verificação (APCFG60A).
- Se não há Integridade Referencial ativa, são relacionadas em uma nova janela todas as empresas e filiais cadastradas para o sistema e nenhuma delas estará selecionada. Neste caso, E SOMENTE NESTE, não é necessário qualquer outro procedimento de ativação ou desativação de integridade, basta finalizar a verificação e aplicar normalmente o compatibilizador, conforme instruções.
- Se há Integridade Referencial ativa em todas as empresas e filiais, é exibida uma mensagem na janela Verificação de relacionamento entre tabelas. Confirme a mensagem para que a verificação seja concluída, ou;
- Se há Integridade Referencial ativa em uma ou mais empresas, que não na sua totalidade, são relacionadas em uma nova janela todas as empresas e filiais cadastradas para o sistema e, somente, a(s) que possui(em) integridade está(arão) selecionada(s). Anote qual(is) empresa(s) e/ou filial(is) possui(em) a integridade ativada e reserve esta anotação para posterior consulta na reativação (ou ainda, contate nosso Help Desk Framework para informações quanto a um arquivo que contém essa informação).
- Nestes casos descritos nos itens “iii” ou “iv”, E SOMENTE NESTES CASOS, é necessário desativar tal integridade, selecionando a opção Integridade/ Desativar (APCFG60D).
- Quando desativada a Integridade Referencial, execute o compatibilizador, conforme instruções.
- Aplicado o compatibilizador, a Integridade Referencial deve ser reativada, SE E SOMENTE SE tiver sido desativada, através da opção Integridade/Ativar (APCFG60). Para isso, tenha em mãos as informações da(s) empresa(s) e/ou filial(is) que possuía(m) ativação da integridade, selecione-a(s) novamente e confirme a ativação.
Contate o Help Desk Framework EM CASO DE DÚVIDAS!
- Em Microsiga Protheus TOTVS Smart Client (se versão 10), digite o nome do compatibilizador no campo Programa Inicial. Descreva se o compatibilizador deve ter uma data específica ou superior para que a atualização nos dicionários seja efetuada corretamente. Importante: Para a correta atualização do dicionário de dados, certifique-se que a data do compatibilizador seja igual ou superior a ___/___/____.
- Clique em OK para continuar.
- Após a confirmação é exibida uma tela para a seleção da empresa em que o dicionário de dados será modificado ou é apresentada a janela para seleção do compatibilizador. Selecione o programa xxxx().
- Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
É apresentada uma mensagem explicativa na tela. - Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
- Clique em Gravar para salvar o histórico (log) apresentado.
- Clique em OK para encerrar o processamento.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
Descreva se há algum procedimento necessário após a aplicação do compatibilizador.
Procedimento para Implantação
O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) deste chamado.
- Aplique o patch do chamado e execute uma vez a rotina Informe o nome da rotina.
- No módulo informe o nome do módulo acesse informe o caminho e verifique que o parâmetro informe o nome do parâmetro é criado conforme especificações abaixo:
Nome da Variável:
Informe o Nome da Variável
Tipo:
Informe o Tipo
Descrição:
Informe a Descrição
Valor Padrão:
Informe o Valor Padrão
Atualizações do Compatibilizador
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
- Criação ou Alteração de Perguntas no arquivo SX1 – Cadastro de Perguntes:
Pergunte
(X1_PERGUNT)
Nome
Grupo
(X1_GRUPO)
Ordem
(X1_ORDEM)
Tipo
(X1_TIPO)
Tamanho
(X1_TAMANHO)
2. Criação ou Alteração de tabela no arquivo SX2– Tabelas:
Chave
Nome
Modo
PYME
B04
(X2_CHAVE)
Dente/Região
(X2_NOME)
C
(X2_MODO)
N
(X2_PYME)
3. Criação ou Alteração de Tabelas Genéricas no arquivo SX5 – Tabelas Genéricas:
Chave
Ex.: AR
Descrição
Ex.: Tabela de IR de Aplicações Financeiras
4. Criação ou Alteração (mantenha somente a instrução correspondente) de Campos no arquivo SX3 – Campos:
- Tabela BGD - Prod x Cob x Proc x Co-Part:
Campo
(X3_CAMPO)
Tipo
(X3_TIPO)
Tamanho
(X3_TAMANHO)
Decimal
(X3_DECIMAL)
Formato
(X3_PICTURE)
Título
(X3_TITULO)
Descrição
(X3_DESCRIC)
Nível
(X3_NÍVEL)
Usado
(X3_USADO) Informe Sim ou Não
Obrigatório
(X3_OBRIGAT) Informe Sim ou Não
Browse
(X3_BROWSE) Informe Sim ou Não
Opções
(X3_CBOX)
When
(X3_WHEN)
Relação
(X3_RELACAO)
Val. Sistema
(X3_VALID)
Help
Descreva o conteúdo informado para Help de Campo no ATUSX
Importante:
O tamanho dos campos que possuem grupo pode variar conforme ambiente em uso.
5. Criação ou Alteração de Consulta Padrão no arquivo SXB – Consulta Padrão:
- Pesquisa B05PLS:
Alias
(XB_ALIAS)
Tipo
(XB_TIPO)
Sequência
(XB_SEQ)
Coluna
(XB_COLUNA)
Descrição
(XB_DESCRI)
Contém
(XB_CONTEM)
6. Criação ou Alteração de Índices no arquivo SIX – Índices:
Índice
AA1
Ordem
6
Chave
AA1_FILIAL+AA1_CODVEN
Descrição
Cod. Vendedor
Proprietário
S
7. Criação ou Alteração de Parâmetros no arquivo SX6 – Parâmetros:
Nome da Variável
(X6_VAR)
Tipo
(X6_TIPO)
Descrição
(X6_DESCRIC + X6_DESC1 + X6_DESC2)
Valor Padrão
(X6_CONTEUD)
8. Criação ou Alteração (mantenha somente a instrução correspondente) de Gatilhos no arquivo SX7 – Gatilhos:
- Tabela BD5 – Contas Médicas:
Campo
Informe o conteúdo do (X7_CAMPO)
Sequência
Informe o conteúdo do (X7_SEQUENC)
Campo Domínio
Informe o conteúdo do (X7_CDOMIN)
Tipo
Informe o conteúdo do (X7_TIPO)
Regra
Informe o conteúdo do (X7_REGRA)
Posiciona?
Informe o conteúdo do (X7_SEEK)
Chave
Informe o conteúdo do (X7_CHAVE)
Condição
Informe o conteúdo do (X7_CONDIC)
Proprietário
Informe o conteúdo do (X7_PROPRI)
Procedimento para Configuração
(Estes procedimentos devem ser feitos quando for necessário configurar parâmetros e/ou rotinas no menu).
CONFIGURAÇÃO DE PARÂMETROS
- No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017). Crie/configure (mantenha somente a instrução correspondente) o(s) parâmetro(s) a seguir:
(É necessário criar uma tabela para cada parâmetro descrito no item Parâmetro(s), da tabela Características do Requisito)
Itens/Pastas
Descrição
Nome:
Tipo:
Informe o Tipo do parâmetro
Cont. Por.:
Informe o Conteúdo padrão
Descrição:
CONFIGURAÇÃO DE MENUS
2. No Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013). Informe a nova opção de menu do informe o nome do módulo, conforme instruções a seguir:
Menu
Informe o Menu em que estará localizada a rotina
Submenu
Informe o Submenu em que estará localizada a rotina
Nome da Rotina
Informe o Título da rotina
Programa
Informe o Fonte da rotina
Módulo
Informe o Nome do(s) produto(s) a ser utilizado ou “Todos”
Tipo
Informe a Função
Procedimento para Utilização
- Descreva os procedimentos, passo a passo (caso de uso), que serão realizados pelos usuários para que a melhoria seja visualizada identificando as seguintes informações:
- Localização da rotina no menu;
- Localização dos novos campos e/ou perguntas e respectivas pastas de cadastro que são visualizadas pelo usuário;
- Caso seja necessário ter algum cadastro feito previamente, faça uma observação.
Exemplo:
1. No Plano de Saúde (SIGAPLS), acesse Atualizações / Produto Saúde / Produto Saúde (PLSA800).
O sistema apresenta a janela de produtos cadastrados.
2. Posicione o cursor em um produto e clique em Alterar.
3. Na pasta Cobertura/Carências selecione a subpasta Tipo de Prestador.
4. Dê duplo clique no campo TP Prestador (BCW_TIPPRE).
O sistema apresenta a janela Tipo de Prestador – Coparticipação – Alterar.
5. Informe os dados conforme orientação do help de campo e observe o preenchimento do novo campo:
Som. p/Compra (BCW_SOMCOM): selecione Sim para indicar se a coparticipação cadastrada será válida somente para efeito de compra de procedimentos ou Não, caso contrário.
6. Confira os dados e confirme.
Todos. |
Ponto de Entrada
Descrição: | Ponto de entrada no padrão MVC para customização da rotina de check list. | ||||||||||||||||
Localização: | SIGAMNT: Atualizações > Controle de Oficina > Check List > Retorno Check List | ||||||||||||||||
Programa Fonte: | MNTA735.prw | ||||||||||||||||
Parâmetros: |
| ||||||||||||||||
Retorno: |
| ||||||||||||||||
Links: | Pontos de entrada padrão MVC |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'FWMVCDEF.CH'
User Function MNTA735()
Local aParam := PARAMIXB
Local aAreaTTF := {}
Local xRet := .T.
Local oObj := Nil
Local oGrid1 := Nil
Local cIdPonto := ''
Local cIdModel := ''
Local cEtapa := ''
Local nLinhas := 0
Local nLenGrid := 0
Local nInd := 0
If !Empty( aParam )
oObj := aParam[1] // Modelo ativado.
cIdPonto := aParam[2] // Determina o ponto de chamada.
cIdModel := aParam[3] // Identificador do modelo.
Do Case
// Acionado antes da gravação da tabela do formulário.
Case cIdPonto == 'FORMCOMMITTTSPRE'
// Substituição do ponto de entrada MNTA7352.
If cIdModel == 'MNTA735'
oGrid1 := PARAMIXB[4] //Retorna a Grid que contêm os valores da TTG.
nLinhas := 0
oGrid1:AddLine() //Adiciona uma nova linha.
nLinhas := oGrid1:Length() // Quantidade Total de linhas do oGrid1.
oGrid1:GoLine( nLinhas ) //Posiciona na nova linha incluída.
//Adiciona valores na Grid.
oGrid1:LoadValue( 'TTD_TIPMOD', 'X' )
oGrid1:LoadValue( 'TTG_CHECK', oObj:GetValue( 'TTFMASTER', 'TTF_CHECK' ) )
oGrid1:LoadValue( 'TTG_ETAPA', '01' )
oGrid1:LoadValue( 'TTG_NOMETA', 'Nome etapa 1' )
oGrid1:LoadValue( 'TTG_CRITIC', 'A' )
EndIf
// Acionado após a gravação da tabela do formulário.
Case cIdPonto == 'FORMCOMMITTTSPOS'
// Substituição dos ponto de entrada MNTA7351 e MNTA7358.
If cIdModel == 'MNTA735'
aAreaTTF := TTF->( GetArea() ) // Salva área posicionada.
dbSelectArea( 'TTF' )
dbSetOrder( 1 ) // TTF_FILIAL + TTF_CHECK + TTF_CODFAM + TTF_TIPMOD + TTF_SEQFAM
If dbSeek( xFilial( 'TTF' ) + oObj:GetValue( 'TTFMASTER', 'TTF_CHECK' ) ) // Posiciona no registro adicionado.
RecLock( 'TTF', .F. )
TTF->TTF_POSCON := 100 // Realiza alteração de contador.
TTF->( MsUnLock() )
EndIf
dbSelectArea( 'ST9' )
dbSetOrder( 1 )
If dbSeek( xFilial( 'ST9' ) + oObj:GetValue( 'TTFMASTER', 'TTF_CODBEM' ) )
RecLock( 'ST9', .F. )
ST9->T9_PADRAO := '2'
ST9->( MsUnlock( 'ST9' ) )
EndIf
RestArea( aAreaTTF ) // Retorna área posicionada.
EndIf
// Acionado na validação total do modelo.
Case cIdPonto == 'MODELPOS'
// Substituição do ponto de entrada MNTA7356.
If cIdModel == 'MNTA735'
oGrid1 := oObj:GetModel( 'TTGDETAIL' ) // Posiciona no Model da Grid
nLenGrid := oGrid1:Length() // Pega tamanho total da grid.
nInd := 0
cEtapa := ''
If Empty( oObj:GetValue( 'TTFMASTER', 'TTF_RAMAL' ) ) // Verifica se o campo Ramal foi preenchido.
Help( , , 'Atenção', , 'O campo de Ramal não foi preenchido. Favor realizar o seu preenchimento.', 1, 0 )
xRet := .F.
EndIf
If xRet
For nInd := 1 To nLenGrid
oGrid1:GoLine( nInd ) // Posiciona na linha desejada.
If !oGrid1:IsDeleted() // Veririfica se o registro não está delatado
cEtapa := Trim( oGrid1:GetValue( 'TTG_ETAPA' ) )
If cEtapa == '0001'
Help( , , 'Atenção', , 'Essa etapa não pode ser utilizada', 1, 0 )
xRet := .F.
EndIf
EndIf
Next nInd
EndIf
EndIf
// Acionado na validação total da linha do formulário
Case cIdPonto == 'FORMLINEPOS'
// Substituição do ponto de entrada MNTA7355.
If cIdModel == 'MNTA735'
oGrid1 := oObj:GetModel( 'TTGDETAIL' ) // Posiciona no Model da Grid
If Empty( oGrid1:GetValue( 'TTG_CRITIC' ) ) // Verifica se o campo foi preenchido.
Help( , , 'Atenção', , 'O campo de criticidade não foi preenchido. Favor realizar o seu preenchimento.', 1, 0 )
xRet := .F.
EndIf
EndIf
// Inclusão de botões em ações realacionadas da interface de edição.
Case cIdPonto == 'BUTTONBAR'
/*
Deve ser retornado um array bi-dimencional com as seguintes posições.
[1] Caracter Titulo para o botão
[2] Caracter Nome do Bitmap para exibição
[3] Bloco de Código CodeBlock a ser executado
[4] Caracter ToolTip (Opcional)
*/
xRet := { { 'Salvar', 'SALVAR', { || Alert( 'Salvou' ) }, 'Este botão Salva!' } }
EndCase
EndIf
Return xRet |
Vídeo
- Vídeo hospedado no youtube e inserido no template por meio da macro Widget Connector.
** Canal do youtube e software de vídeoem definição.
Título do Vídeo:
Disponibilizado pelo Marketing.
Introdução:
Disponibilizado pelo Marketing.
Passo a Passo:
Capturar diretamente do sistema.
Finalização:
Disponibilizado pelo Marketing.
Ponto de Entrada
Descrição:
Informe o Menu em que estará localizada a rotina
Localização:
Informe o Submenu em que estará localizada a rotina
Eventos:
Informe o Título da rotina
Programa Fonte:
Informe o Fonte da rotina
Função:
Informe o Nome do(s) produto(s) a ser utilizado ou “Todos”
Retorno:
Nome
Tipo
Descrição
Obrigatório
Exemplo:
#Include 'Protheus.ch'
User Function CN120ALT()
Local aCab:= PARAMIXB[1]
Local cTipo:= PARAMIXB[2]
If cTipo == '1'
aCab[4][2]:= 'NF' //Validações do usuário
EndIf
Return aCab