Desenvolvimento > Safe X3 WAS > Lig. SAFE X3 > Acção Web 

SEEWARNING Antes de criar o seu estabelecimento, é preferível ler a documentação :Antes de começar.


Uma acção utilizador XTEND se traduz seja por uma acção efectuada directamente pelo servidor XTEND, seja pela chamada de um "web service" X3 que pode ser um sub-programa seja uma acção associada a um objecto X3.
A acção utiliza os "web services X3" quando ela está associada a um interface.
Uma acção permite descrever o "mapping" (correspondência) entre as entidades/campos XTEND e os grupos/parâmetros de uma interface em entrada (valorização dos parâmetros de chamada) e em saída (tratamento dos valores reenviados).
A acção está associada a um "token" ligação dinâmica inserido na página HTML, num "tag" de tipo de botão ou ancôra.
A acção foi desencadeada por um clique do utilizador.

Acções pré-definidas

Detalhe das acções pré-definidas :

Código

Parâmetros

Ligação dinâmica

Descrição

ABLKFIRSTPAGE

Não

ADLKFIRSTPAGE

Afixa a primeira página de um bloco
Syntaxe MonBloc.MonLienDynamique

ABLKNEXTPAGE

Não

ADLKNEXTPAGE

Afixa a página seguinte de um bloco

ABLKPREVPAGE

Não

ADLKPREVPAGE

Afixa a página precedente de um bloco

ABLKLASTPAGE

Não

ADLKLASTPAGE  

Afixa a última página de um bloco

ABLKRESTOREMAINCTX

Não

A criar

Devolução versus uma lista sem perda da paginação
Criar uma ligação dinâmica com o limite que contém o bloco coom página alvo

ABLKSELECT

Não

ADLKSELECT

Selecione a linha de um bloco
MonBloc.MonChamp reenvia o valor de MonChamp para a linha selecionada

ABLKUNSELECT

Não

ADLKUNSELECT

Des-selecione a linha de selecção de um bloco

ARESTOREFORM

Não

ADLKRESTOREFORM

Restaura um formulário HTML com os valores iniciais
Não tem em conta do parâmetro HTML xrc

ARESTORESESSION

Não

ADLKRESTORESESSION

Utilizado na página de reconexão (ver ficha estabelecimento)
Afixa a última página aberta antes do fecho do navegador

ASESSLOGIN  

Sim                 

ADLKLOGIN

Login do utilizador
Código utilizador (AUSERCODE) e palavra chave (APWD) em parâmetro
A interface e o "mapping" dos parâmetros devem-se fazer

ASESSLOGOUT

Não

ADLKLOGOUT

Desconecta o utilizador

ASESSSWITCHCOOKIES

Não

ADLKSWITCHCOOKIES

Permuta o modo "sem cookies" e o modo "com cookies"
Utilizar o bloco condicionado ADISPNOCOOKIES
para afixar a lista com/sem "cookies" da sessão

ASESSSWITCHLANG

Sim                 

Não

Altera a língua utilizador
Código língua em parâmetro

ASESSSWITCHSITE

Sim                 

Não

Alteração de estabelecimento
Códigos X3SOLUTION/X3FOLDER/XTENDLANG/XTENDSITE em parâmetro

ATRACESET

Não

ADLKTRACESET 

Actualização do rastro XTEND

SEEINFO Para poder funcionar, a acção AXTDLOGIN deve estar congfigurada com a interface de login que criou pelo estabelecimento.

Pré-requisitos

SEEREFERTTO Consulte a docuemntação de Implementação

Gestão do ecrã

Cabeçalho

Campos

Os seguintes campos estão presentes neste separador :

Selecione um código ação.

SEEREFERTTO Ver o quadro das Ações pré-definidas.

  • Estab. (campo FCYLIB)

Estabelecimento Web corrente.

  • Descr. (campo INTIT)

Titulo de ação corrente.

Fechar

 

Separador Generalidades

Campos

Os seguintes campos estão presentes neste separador :

Acção

  • Tipo (campo ACTTYP)

Este campo indica se a ação é de tipo :

  • standard
  • de login (conexão),
  • ou de logout (desconexão).

Por defeito, o campo está a "Standard".

  • Activo em reload (campo ACTREFRESH)

Este campo indica se a ação deve ser re-executada quando o utilizador apoia sobre a tecla F5.

Por defeito,o campo está a "Não" para bloquear a ação.
Isso permite evitar a criação de uma nova encomenda quando o utilizador apoia sobre F5.

  • Seg. da actividade (campo LOGMOD)

Este campo permite ativar o seguimento de atividade para a ação.
Um rasto será registado no ficheiro .log do servidor XTEND.

Entidades a suprimir

  • Supressão no início (campo ENTSUPBEF)

A ação pode suprimir as entidades em início ou em fim de execução.

  • Por defeito a check box não está assinalada. a supressão teve lugar em fim de execução se nenhum erro se produz.

  • Se a check box está assinalada : a supressão teve lugar em início de ação.

Exemplo:

Para uma ação que passa uma encomenda :

  • Desassinale a check box para suprimir o cesto.
  • Se a encomenda foi criada sem erro, o cesto está suprimido.

Quadro Supressões

Registe os códigos das entidades a suprmir.

Gestão Web service

Este campo indica o código de interface chamada pela ação

  • campo INTTYP

 

  • Activação botão (campo WSOACT)

Selecione o tipo de botão do objeto :

  • Leitura,
  • Criar,
  • Suprimir,
  • Registar
  • Outro : o código botão deverá ser registado.

  • Cód. botão (campo WSOACTBTN)

Se a opção "Outra" do campo "Ativação do botão" está selecionado, registe um código botão particular.

Exemplo:

Para objeto Fatura, pode-se registar "V" para ativar o botão validação da fatura.

  • Tipo de parâmetro (campo WSOTYPPAR)

Para uma ação "Outra", seleciona-se a "assinatura" do método "actionObject" a chamar.

Para o web service objet X3, dois métodos "actionObjet" de mesmo nome estão disponíveis, mas com parãmetros diferentes. Estes parâmetros são:

  • "Chaves": um quadro de chaves de objeto,
  • "Dados" : o conteúdo XML de um objeto

Quadro Parâmetros da acção

Código do parâmetro de ação.
O parâmetro é um "Token camp" que deve ser declarado no dicionário.

  • Valor (campo VALTYP40)

Dois tipos de valores são possíveis:

  • Constante: permite registar um valor fixo ; o valor deve ser registado na coluna "Constante".
  • Registo : o valor está registado na "Ligação dinâmica" em função do contexto de utilização.

Em geral, um parâmetro está valorizado na "Ligação dinâmica" :

  • A partir de um campo do formulário HTML,
  • A partir de um campo de uma entidade sessão ou ação,
  • A partir do campo de um bloco (Entidade Acesso dados): neste caso, o bloco ACURRENT permite de ler o valor.
  • Constante (campo VALEUR40)

Valor da constante.

Fechar

 

Separador "Mapping" interface

Apresentação

Este separador detalha a correspondência (mapping) entre os campos XTEND e os parâmetros do sub-programa ou campos do objecto X3.

Quadro

Parâmetros em entrada (Entidades versus Interface)

O quadro "Entidade/Param --> Interface" descreve a correspondencia entre les paramètres de l'action decritos previamente e os parâmetros do "web service" associado ao interface.

SEEINFO Para seleccionar um parâmetro da acção não falta valorizar a coluna entidade.
Neste caso a lista dos parâmetros da acção foi afixada sobre F12 na célula "Campo/Param...

É igualmente possível de "mapper" directamente o campo de uma entidade versus um parâmetro do "web service" em indicando o código na coluna entidade.

Parâmetros em saida (Interface versus Entidades)

O quadro "Interface --> Entidade" descreve a correspondência entre os parâmetros do "web service" associado ao interface e as entidades XTEND que serão criadas pela acção.

___________________________

No momento de um "mapping" de um "webservice" objecto X3 o parâmetro AMODSTAMP do grupo ADXTEC contém o TimeStamp (identificando a última modificação) do objecto X3

AMODSTAMPé um "token" campo fornecido

Permite gerir os conflitos de actualizaçaõ de objectos que podem surgir em modo "web service" (assíncrono)

Se este parâmetro está reeenviado a X3, o processo X3 compara o seu valor daquele do objecto guardado na base de dados e gera um erro se os dois valores são diferentes(objecto em curso de modificação sobre um outro posto")

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro Entids/Param. --> interface

O código da entidade XTEND permite efetuar o mapping do parâmetro.
Deixe o campo vazio se pretende "mapear" um parâmetro da ação.

  • Campo / Param. (campo FIEKEY20)

Código parâmetro de ação, ou o código campo de entidade.

  • Grupo (campo DSCGRP20)

Grupo de publicação ou código ecrã do web service.

  • Parâmetro de interface (campo DSCCOD20)

Selecione "Não" para efetuar um "mapping" de N campos Xtend versus n valores de um mesmo parãmetro X3..

A coluna "índice" torna-se registável e permite registar o índice do "parãmetro interface" (parãmetros X3) a valorizar com o valor do campo XTEND.

SEEREFERTTO Para mais informações, ver o parágrafo sobre os "mapping múltiplo".

  • Multi (campo INTMLT20)

Selecione "Não" para efetuar um "mapping" de N valores de um mesmo parãmetro X3 versus N campos Xtend.

A coluna "índice" torna-se registável e permite registar o índice do parãmetro X3 que dá o valor do campo XTEND.

SEEREFERTTO Para mais informações, ver o parágrafo sobre os "mapping múltiplo".

  • Índice (campo DSCIND20)

Mapping de N campos Xtend -> N valores de um parãmetro X3 :

Registar "Não"na coluna "Multi"'.
A coluna "Indice" dá o índice, no quadro dos valores do "parâmetro de interface" (parâmetro X3), da célula que será valorizada com o valor do campo XTEND.

SEEREFERTTO Para mais informações, ver o parágrafo sobre os "mapping múltiplo".

Interface --> entidades

Código de ação que contém o mapping de devolução, se este tem já definido numa outra ação.

No caso de um objeto X3, a criação de uma ação XTEND se faz frequentemente pelo botão de ação X3. O mapping de devolução está geralmente o mesmo para todas as ações : descreva-o numa só ação.

Quadro Publicação

  • Grupo (campo DSCGRP21)

Grupo de publicação ou código ecrã do web service.

  • Parâmetro de interface (campo DSCCOD21)

Nome do parãmetro do sub-programa, ou código do campo de objeto X3

  • Multi (campo INTMLT21)

Selecione "Não" para efetuar um "mapping" de N campos Xtend versus n valores de um mesmo parãmetro X3..

A coluna "índice" torna-se registável e permite registar o índice do "parãmetro interface" (parãmetros X3) a valorizar com o valor do campo XTEND.

SEEREFERTTO Para mais informações, ver o parágrafo sobre os "mapping múltiplo".

  • Índice (campo DSCIND21)

Mapping de N valores de um parâmetro X3 -> N campos Xtend :

Registar "Não"na coluna "Multi"'.
O valor do campo XTEND está dado pela coluna "índice" que está o índice no quadro dos valores do "parãmetro de interface" (parãmetro X3).

SEEREFERTTO Para mais informações, ver o parágrafo sobre os "mapping múltiplo".

Código de entidade na qual será criado o campo XTEND com o valor do "parãmetro interface".

  • Campo (campo FIEKEY21)

Código do campo XTEND a criar.

Fechar

 

A propósito do "Mapping Múltiplo"

O "mapping" standad campo a campo necessita de declarar um parâmetro L4G por campo.

Existem certos casos de uso onde não se deseja declarar um parâmetro por campo mas agrupar os valores dos campos num único parâmetro L4G :

  • Se o número de campos é superior a 50 (formulário HTML com muitos campos de registos)
    Um "web service" X3 não aceita mais de 60 parâmetros cujo 10 utilizados por XTEND como parâmetros técnicos.
  • Se o número de campos pode ser modificado por parametrizaçaõ e que não se deseja modificar o "web service" e o "mapping" da acção após cada modificação.

GESAYA_1.jpg

XTEND permite de não utilizar que um único parâmetro L4G multi-dimensionada para passar todos os valores dos campos via as colunas "Multi" e "Índice" do "mapping.

A correspondência valor/campo está efectuado pela posição (índice) no quadro.

"Multi" e "Índice" não estão activos que se o parâmetro na interface é de dimenrsão >1.

Modo standard (campo a campo)

Criação de uma única linha de "mapping"
O parâmetro Multi tem por valor "Sim" para indicar que um campo será criado pela entidade XTEND com o valor correspondente ao índice da linha corrente.

O parâmetro "índice" não está utilizado.

Mode N valores de um parâmetro X3 -> N campos Xtend

Criação de tantas linhas de "mapping" que de campos XTEND a valorizar.
O parâmetro Multi tem por valor "Não" para indicar que falta valorizar um único campo XTEND com o valor do parâmetro X3 cujo índice é dado na coluna índice.

Mode N campos Xtend -> N valores de um parâmetro X3

Criação de tantas linhas de "mapping" que de valores a acrescentar ao parâmetro X3.
O parâmetro Multi tem por valor "Não" para indicar que falta valorizar a célula do quadro cujo índice é dado na coluna índice com o valor do campo XTEND.

Listagens

Por defeito, os seguintes listagens estão associados à função :

 PRTSCR : Impressão ecran

Mas pode ser alterado por parametrização.

Botões específicos

Este botão permite atualizar o dicionário XTEND ao formato XML

O servidor X3WEB toma em conta unicamente o dicionário sob este formato.

Existe um ficheiro xml por dicionário.

Por exemplo o ficheiro ACT.xml correspondente ao conjunto das ações web para o estabelecimento web corrente.

Este botão permite copiar uma acção Web.

Barra de menu

Utilitários / Validação com verificação

Validação com uma verificação da coerência dos dados do dicionário XTEND.

Mensagens de erro

Não existe outra mensagem de erro, para além das mensagens genéricas.

Tabelas consideradas

SEEREFERTTO Consulte a docuemntação de Implementação