Histórico da Página
Alteração dos pontos (MNTA7351, MNTA7352, MNTA7355, MNTA7356 e MNTA7358) de entrada do fonte MNTA735 - Retorno Check List para o novo padrão MVC.
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. | ||||
País(es): | Todos | ||||
Banco(s) de Dados: | Todos | ||||
Tabelas Utilizadas: | 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!
Alteração dos pontos de entrada (MNTA7351, MNTA7352, MNTA7355, MNTA7356 e MNTA7358) para o padrão MVC, alterando a chamada dos pontos de entrada.
Procedimento para
- 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.
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:
.
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: |
|
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 aCabBloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE 'FWMVCDEF.CH'
User Function MNTA735() //Função responsável pela chamada dos pontos de entrada da rotina MNTA735 - Retorno Check List
Local aParam := PARAMIXB //Parâmetros passados pelo ponto de entrada.
Local aAreaTTF := '' //Variável para gravação da área posicionada.
Local xRet := .T. //Retorno da função.
Local oObj := '' //Objeto que receberá o modelo.
Local oGrid1 := '' //Variável de grid.
Local cIdPonto := '' //Identificador da chamada do ponto de entrada.
Local cIdModel := '' //Identificador do modelo utilizado.
Local cModel := '' //Identifica o modelo utilizado e receberá o seu identificador.
Local cEtapa := '' //Código da etapa.
Local nLinhas := 0 //Numero de linhas.
Local nLenGrid := 0 //Numero total de linhas.
Local nInd := 0 //Variável de controle de linhas.
If aParam <> NIL //Identifica que foram enviado os parâmetros.
oObj := aParam[1] //Modelo ativado.
cIdPonto := aParam[2] //Determina o ponto de chamada.
cIdModel := aParam[3] //Identificador do modelo.
If 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 etaga 1")
oGrid1:LoadValue('TTG_CRITIC','A')
EndIf
ElseIf 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.
MsUnLock("TTF")
EndIf
dbSelectArea("ST9")
dbSetOrder(1)
If dbSeek(xFilial("ST9")+oObj:GetValue('TTFMASTER','TTF_CODBEM'))
RecLock("ST9",.F.)
ST9->T9_PADRAO := '2'
MsUnlock("ST9")
EndIF
RestArea(aAreaTTF) //Retorna área posicionada.
EndIf
ElseIf 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(Nil, Nil, "Atenção", Nil, "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 := AllTrim(oGrid1:GetValue("TTG_ETAPA"))
If cEtapa == "0001"
Help(Nil, Nil, "Atenção", Nil, "Essa etapa não pode ser utilizada", 1, 0)
xRet := .F.
EndIf
EndIf
Next nInd
EndIf
EndIf
ElseIf 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(Nil, Nil, "Atenção", Nil, "O campo de criticidade não foi preenchido. Favor realizar o seu preenchimento.", 1, 0)
xRet := .F.
EndIf
EndIf
EndIf
EndIf
Return xRet |