Cria uma instância de um wizard de configuração de integração com a Carol/Techfin. Permite adicionar requisitos, passos, validações e processamentos. O Wizard apresenta uma tela de boas vindas com pré-requisitos para execução, uma tela de login que só aceita usuários administradores, permite adicionar passos intermediários, uma tela de configuração da integração e uma tela de processamento. O Wizard valida as informações de conexão com a Carol e a Plataforma.
#include "protheus.ch" /*/{Protheus.doc} WizardTF Wizard para ativação da integração com a TechFin /*/ Main Function WizardTF() MsApp():New( "SIGAFIN" ) oApp:cInternet := Nil __cInterNet := NIL oApp:bMainInit := { || ( oApp:lFlat := .F. , TechFinWiz() , Final( "Encerramento Normal" , "" ) ) }//"Encerramento Normal" oApp:CreateEnv() OpenSM0() PtSetTheme( "TEMAP10" ) SetFunName( "UPDDISTR" ) oApp:lMessageBar := .T. oApp:Activate() Return /*/{Protheus.doc} FintechWiz Construção da Tela de Wizard @return Nil /*/ Static Function TechFinWiz() Local oWizard As Object Local cDescription As Character Local bConstruction As CodeBlock Local bNextAction As CodeBlock Local bPrevWhen As CodeBlock Local bCancelWhen As CodeBlock Local bProcess As CodeBlock Local aParam As Array Local cReqDes As Character Local cReqCont As Character Local bReqVld As CodeBlock Local cReqMsg As Character oWizard := FWCarolWizard():New() cDescription := "Novo Passo " bConstruction := { | oPanel | aParam := StepPage( oPanel ) } bNextAction := { || VldStep( aParam ) } bPrevWhen := { || .F. } bCancelWhen := { || .T. } // bProcess := { | cGrpEmp, cMsg | FINTFWizPr( cGrpEmp, cMsg, aFinParam ) } bProcess := { | cGrpEmp, cMsg | ProcAnt( cGrpEmp, @cMsg, aParam ) } cReqDes := "Release do RPO cReqCont := GetRpoRelease() bReqVld := { || GetRpoRelease() >= "12.1.023" } cReqMsg := "Versão de RPO deve ser no mínimo 12.1.23" oWizard:SetWelcomeMessage( "Minha mensagem de boas vindas customizada" ) oWizard:AddRequirement( cReqDes, cReqCont, bReqVld, cReqMsg ) oWizard:AddStep( cDescription + "1", bConstruction, bNextAction, bPrevWhen, bCancelWhen ) oWizard:AddStep( cDescription + "2", bConstruction, bNextAction, bPrevWhen, bCancelWhen ) oWizard:AddStep( cDescription + "3", bConstruction, bNextAction, bPrevWhen, bCancelWhen ) // oWizard:AddStep( cDescription + "4", bConstruction, bNextAction, bPrevWhen, bCancelWhen ) oWizard:AddProcess( bProcess ) oWizard:SetTrialMode(.T.) //Default .F. // oWizard:SetExclusiveCompany(.F.) //Default .T. // oWizard:UsePlatformAccess(.F.) //Default .T. oWizard:Activate() Return /*/{Protheus.doc} ProcAnt Processamento de regra de negócio @type function @author izac.ciszevski @param cGrpEmp, character, grupo de empresa logado @param cMsg, character, mensagem de erro de retorno @param aParam, array, parâmetros para da etapa de configuração @return logical, sucesso ou falha /*/ Static Function ProcAnt( cGrpEmp, cMsg, aParam ) cMsg := "Falha na gravação da regra X" Return .T. /*/{Protheus.doc} IntegrationPage Monta o layout para a página de informações da Integração @param oPanel, object, painel onde será montada a tela /*/ Static Function StepPage( oPanel As Object ) Local aParam As Array Local oConfig As Object oConfig := FWTFConfig() aParam := Array( 5 ) aParam[ 1 ] := Space( 32 ) aParam[ 2 ] := Space( 32 ) aParam[ 3 ] := Space( 36 ) aParam[ 4 ] := Space( 32 ) aParam[ 5 ] := Space( 32 ) @ 010, 045 GROUP TO 55, 380 PROMPT "Informações" of oPanel PIXEL @ 025, 055 SAY "Dados" SIZE 200, 20 OF oPanel PIXEL @ 032, 055 MSGET aParam[ 4 ] SIZE 110, 09 OF oPanel PIXEL @ 025, 175 SAY "Dados" SIZE 200, 20 OF oPanel PIXEL @ 032, 175 MSGET aParam[ 5 ] SIZE 110, 09 OF oPanel PIXEL @ 066, 45 GROUP TO 130, 380 PROMPT "Informações" of oPanel PIXEL @ 075, 055 SAY "Dados" SIZE 200, 20 OF oPanel PIXEL @ 082, 055 MSGET aParam[ 1 ] SIZE 110, 09 OF oPanel PIXEL @ 075, 175 SAY "Dados" SIZE 200, 20 OF oPanel PIXEL @ 082, 175 MSGET aParam[ 2 ] SIZE 110, 09 OF oPanel PIXEL @ 102, 055 SAY "Dados" SIZE 200, 20 OF oPanel PIXEL @ 109, 055 MSGET aParam[ 3 ] SIZE 110, 09 OF oPanel PIXEL Return aParam /*/{Protheus.doc} VldStep Validação da etapa de negócio @type function @author izac.ciszevski @param aParam, array, informações preenchidas @return logical, sucesso ou falha na validação /*/ Static Function VldStep( aParam ) Return .T.
New
Sintaxe
FWCarolWizard():New()-> oSelf
Descrição
Construtor da Classe
Exemplo
oCarol := FWCarolWizard():New()
Activate()
Ativa o Wizard
FWCarolWizard():Activate()-> Nil
AddStep()
Adiciona um passo no Wizard. ATENÇÃO: Recomendamos adicionar até 3 passos extras no Wizard. Apesar de ser possível, o layout ficará desconfigurado.
Sintaxe
FWCarolWizard():AddStep()-> Nil
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cDescription | Caracter | Descrição do passo | X | ||
bConstruction | Code-block | Bloco para construção da Tela | X | ||
bNextAction | Code-block | Bloco que habilita o botão próximo | { || .T. } | ||
bPrevWhen | Code-block | Bloco que Habilita o botão voltar | { || .T. } | ||
bCancelWhen | Code-block | Bloco que Habilita o botão Cancelar | { || .T. } |
AddRequirement()
Adiciona um requisito para a execução do Wizard. O ambiente não está montado nesse momento.
FWCarolWizard():AddRequirement()-> lSuccess
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cDescription | Caracter | Descrição do requisito | "" | X | |
cContent | Caracter | Conteúdo a ser exibido | "" | X | |
bValid | Code-block | Validação a ser executada | { || .T. } | X | |
cMessage | Caracter | Mensagem em caso de não atender | "" | X |
AddProcess()
Adiciona um processamento. É executado uma vez para cada empresa selecionada.
Sintaxe
FWCarolWizard():AddProcess()-> lSuccess
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
bProcess | Code-block | Bloco de código que será executado. Ao ser executado, passa a empresa sendo processada e uma variável caracter para retornar uma mensagem de erro ( Eval( bProcess, cEmpAnt, @cMsgReturn ). | { | | .T. } | X |
SetWelcomeMessage()
Edita a Mensagem de Boas Vindas do Wizard.
Sintaxe
FWCarolWizard():SetWelcomeMessage()-> Nil
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cWelcome | Caracter | Mensagem de boas vindas do Wizard | Nil | X |
UsePlatformAccess()
Indica se usa ou não os acessos da plataforma. Caso não utilize o método, o padrão da classe é usar os acessos da plataforma.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lPlatformAccess | Caracter | Se Estiver habilitado as informações de ConnectorId, ApiToken e TenantID são recuperadas da plataforma e não são apresentadas para edição. | X |
SetTrialMode()
A partir de LIB SmartLink v2.1.0
Indica se usa ou não o modo Trial/Testes. Caso não utilize o método, o padrão da classe é usar o modo de produção.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lTrialMode | Lógico | Se Estiver habilitado altera o comportamento do Wizard da seguinte forma:
| X |
SetExclusiveCompany()
A partir da LIB SmartLink v2.4.0
Indica se ao realizar a utilização do wizard será verificado se a empresa utilizada pode ser aberta em modo exclusivo.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lExclusiveCompany | Lógico | Define se a abertura do wizard irá verificar se a empresa utilizada se encontra exclusiva | .T. | X |
GetSelectedGroups()
A partir da LIB SmartLink v2.4.1
Recupera os grupos de empresas selecionados pelo usuário no wizard.
Sintaxe
FWCarolWizard():GetSelectedGroups()-> Array
SetCountries()
A partir da LIB SmartLink v2.4.9
Indica os países que podem utilizar o wizard.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
aCountries | Array | Países que possuem permissão para utilizar o wizard. | BRA | X |
Os valores passados obedecem o parâmetro MV_PAISLOC.
Caso queira que todos os países sejam permitidos enviar o valor 'ALL' no array. (Vide exemplo de uso)
Se nenhum país for indicado somente o país BRA (Brasil) será permitido.
SetERPCredentialsMode()
A partir da LIB SmartLink v2.5.3
Permite habilitar a solicitações de credenciais a partir do provisionamento do tenant em uso.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lErpCredentialsMode | Lógico | Indica se habilita a opções de solicitação de credenciais (provisionamento). | .F. | X |
A opção é disponibilizada no lugar do botão que solicita as credenciais via email na etapa de solicitação das credenciais do wizard.
A solicitação das credenciais é realizada a partir dos dados do license em uso, sendo necessário que o mesmo seja válido (dados válidos na plataforma) para o provisionamento ser realizado.
O provisionamento é solicitado e alguns minutos são necessários para conclusão, a opção realiza a solicitação e realiza algumas tentativas para verificar se as credenciais estão prontas, caso necessário é solicitado nova tentativa para verificar se as informações já estão disponíveis.
Assim que o provisionamento é concluído as credenciais são atualizadas automaticamente nos campos referentes no próprio wizard.
É necessário que o trialMode (SetTrialMode) esteja em uso para conseguir habilitar essa opção.
Exemplo de uso: