Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 Ponto de entrada para rotina de Retorno de Check List 


Aviso
titleAtenção

Os pontos de entrada

Alteração dos pontos

( MNTA7351, MNTA7352, MNTA7355, MNTA7356 e MNTA7358 )

de entrada do fonte MNTA735 - Retorno Check List para o novo padrão MVC. 

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:

Rotina

Nome Técnico

MNTA735

Retorno Check List

Cadastros Iniciais:

Relacione os cadastros necessários que precisam ser preenchidos antes da utilização desse requisito.

País(es)

Tickets:7351993
Issues:DNG-8705

Países:

Todos.

Banco(s)

Bancos de Dados:

Todos.

Tabelas Utilizadas

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:

  1. No   Configurador (SIGACFG), veja se a empresa utiliza Integridade   Referencial, selecionando a opção Integridade/Verificação   (APCFG60A).
  2. 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.
  3.  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;
  4.  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).
  5. Nestes   casos descritos nos itens “iii” ou   “iv”, E SOMENTE NESTES CASOS, é necessário desativar tal integridade, selecionando a opção Integridade/ Desativar (APCFG60D).
  6.  Quando desativada a Integridade Referencial,   execute o compatibilizador, conforme instruções.
  7. 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!

  1. 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 ___/___/____.
  2. Clique em OK para continuar.
  3. 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().
  4. Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
    1. Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
      É apresentada uma mensagem explicativa na tela.
    2. 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.
    3. Clique em Gravar para salvar o histórico (log) apresentado.
    4. Clique em OK para encerrar o processamento.

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.

  1. Aplique o patch do chamado e execute uma vez a rotina Informe o nome da rotina.
  2. 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)

  1. 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

 

  1. 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:
NomeTipoDescriçãoObrigatório
ParamIXB[1]ObjetoModelo de Dados

Sim

ParamIXB[2]CaracterIdentificador do ponto de chamadaSim
ParamIXB[3]CaracterIdentificador do modelo de dadosSim

Retorno:

Nome

Tipo

Descrição

Obrigatório

 xRet

Indefinido

O retorno pode se modificar, dependendo do ponto de chamada enviado pelo parâmetro PARAMIXB[2]

Sim

Links:Pontos de entrada padrão MVC
Bloco de código
languagesql
titleExemplo P.E. MNTA735 padrão MVC
linenumberstrue
#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