Antes de criar o seu estabelecimento, é preferível ler a documentação :Antes de começar.
Esta função permite gerir um conjunto de listas de valores, dedicados a uma aplicação XTEND, em complemento dos menus locais.
Uma lista de valores XTEND está assocciado a "Token" campo e funciona como um menu local.
Cada elemento da lista contém :
Como para os menus locais, o valor está acessível via o nome do "Token" campo e o literal em acrescentando o sufixo. _DESCR ao nome do campo
Contrariamente aos menus locais uma lista de valor sabe gerir os dados hierárquicos (arborescência de categorias).
O separador das categorias é o caracter. /.
As listas de valores podem ser criados :
As listas de valores são salvaguardadas no ficheiro MEN.xml do directório que contém o dicionário do "site" XTEND (X_TEND/X_GEN/SITE/MEN.xml) excepto as listas criadas pelo tratamento batch que são guardados nos directórios bem identificados.
A parametrização depende do modo de gestão da lista.
Valide a ficha após ter registado para que ela possa estar em conta pelo servidor XTEND.
Force o recarregamento do dicionário se os parâmetros "Verificação das actualizações" do estabelecimento não estão activos.
Ver a ficha Estabelecimeto web.
A lista foi criada/modificada no bloco gráfico (DHTML) em baixo de ecrã.
Cria-se o primeiro valor :
A supressão e modificação se faz por clique direito sobre o valor.
Você pode também construir uma lista de valores a partir de uma lista existente criado a partir de uma mensagem X3, de uma tabela diversa ou de uma lista batch que se deseja modificar o conteúdo.
Neste caso:
Você pode em seguida modificar o conteúdo como indicado anteriormente.
A lista manual não está sincronizada com a lista de origem.
A referência à lista origem (menu, tabela diversas...) está perdida após ter passado o parâmetro gestão a Manual.
Quando se acresce um valor, a janela seginte é afixada.
O objectivo desta janela é de registar o valor e o literal da entrada.
Selecção do literal
O tratamento de geração do ficheiro MEN.xml gera tantos literais que de línguuas que foram definidas para o estabelecimento.
Registo do valor
Valor : por defeito este campo contém o índice do menu local ou o código de entrada da tabela diversa utilizado pelo literal. É geralmente modificado para associar os códigos específicos quando se cria uma nova lista de valores.
Caso das categorias hierarquicas.
O "campo ligado" está vazio por defeito. Contém o campo daentidade que corresponde ao nível de categoria ao qual está anexado o valor apenas somente se está diferente daquele definido por defeito no quadro "Campo por defeito (entidade)"
Ver o parágrafo sobre as categorias hierárquicas.
Tipo
Origem da lista Mensagem ou Tabela diversa
Capítulo
Nº do capítulo
Tabela diversa:
Código da tabela diversa
Literal curto
Sim/Não
Dependência
Não para gerar uma lista simples.
Sim para gerar uma lista hierárquica a partir das dependências entre tabelas diversas.
O encadeamento das dependências entre tabelas diversas é de tipo "filho versus pai" quer dizer que o parâmetro "Tabela dependência" da ficha "tabelas diversas" contém o código da tabela pai.
Para gerar uma lista valor hierárquico a partir de uma tabela diversa falta partir da tabela pai.
Nível.
Define a profundidade da arborescência quer dizer o número de níveis de categorias autorizadas pela lista de valores.
A lista foi criada a partir de um tratamento batch.
O formato do ficheiro criado por batch deve ser idêntico ao formato do ficheiro dicionário MEN.xml.
Directório raíz
Directório raíz XTEND que contém os ficheiros batch
Nós temos definido quatro directórios raíz para guardar os ficheiros XTEND.
Os recursos (ficheiros, imagens...) destes directórios sao acessíveis pelo navegador via os "tokens" "imagem" ou "documentos juntos".
Design HTML e X_FILES podem ser localizados sobre o servidor X3 (defeito) ou sobre o servidor de "web services".
X_FILEAPP e X_TEND estão sempre localizados sobre o servidor X3.
Ficheiro
Caminho de acesso do ficheiro batch por relação ao directório raíz.
Verificar a actualização
"Sim" para activar a verificação períódica (todos os minutos) da data de última modificação do ficheiro batch.
Os ficheiros batch são recarregados quando se recarrega o dicionário XTEND.
Como nós o temos visto precedentemene registar as listas de valores hierárquicos que são representadas sob a forma de uma estrutura arborescente.
Nós vamos ver agora como explorar este estrutura de dados sob a forma de "tokens" nas páginas HTML para gerar os menus de categorias hierárquicas.
Um menu de categorias hierárquicas está constituido de várias ListBoxes afixados via um tag <select> cujos conteúdos são inter-dependentes.
Nós tomamos como exemplo as categorias seguintes utilizadas para efectuar as selecções num catálogo de viaturas:
Nível 1: Coonstrutor
Nível 2: Modelo
Nível 3: Type Break ou Berline
Nível 4: Energia Diesel ou Essência
Os campos de entidade viatura que contém os códigos das categorias dos níveis 1,2,3,4 são respectivamente CAT1,CAT2,CAT3 e CAT4.
A primeira etapa consiste em criar a lista de valores que contêm a arborescência das categorias :
Campo por defeito (Entidade) : lista os "tokens campos" que contêm as informações sobre a categoria.
As entidades XTEND que suportam este sistema de categoria deverão obrigatoriamente comportar os campos definidos no quadro "Campo por defeito".
No nosso exemplo nós registamos na ordem CAT1,CAT2,CAT3,CAT4 (Ver parágrafo seguinte).
Registo das categorias: em cada categoria associamos um literal e um código categoria.
N1 - Valor=REU - Literal=Renault
N2 - Valor=CLI - Literal=Clio
N3 - Valor=BRK - Literal=Break
N4 - Valor=DI - Literal=Diesel
N4 - Valor=ES - Literal=Essência
N2 - Valor=MEG - Literal=Megane
...
O nível (1, 2, 3,4) da categoria corresponde à fila (1-N) no quadro "Campo por defeito" e permite de aceder ao nome do campo que leva o valor.
Os entidades XTEND (emitidos de dados X3) que suportam as categorias hierárquicas devem comportar os campos que contêm as informações sobre a categoria.
A entidade deve comportar tantos campos categoria que de nível de categorias (um campo por nível de categoria).
No nosso exemplo a entidade AUTO deve comportar quatro campos CAT1, CAT2, CAT3, CAT4 para guardar as categorias.
Os campos categoria estão associados à lista de valores AUTOS que contêm a arborescência das categorias.
Estes campos devem estar definidos no parâmetro quadro "Campo por defeito (Entidade) da lista de valores.
No nosso exemplo o quadro contém CAT1, CAT2, CAT3, CAT4.
Nós temos definido assim uam ligação entre a estrutura arborescência e a entidade XTEND via os campos categoria.
Para exprimir uma categoria hierarquica nós utilizamos uma sintaxe de tipo caminho com o caracter "/" como separador.
Por exemplo : /REU/CLI/BER, /PEU, /PEU/107.
Para guardar a categoria hierarquica ao formato caminho nós utilizamos um campo (de trabalho).
Este campo de tipo texto está definido no dicionário e lhe associamos a lista de valor.
O valor deste campo está construido por uma função JavaScript em função dos critérios seleccioandos pelo utilizador depois enviado ao servidor XTEND via um campo do formulário HTML.
No nosso exemplo este campo tem por nome CATPATH.
Para efectuar a selecção sobre a entidade falta criar um token ligado dinâmico e acrescentar os critérios de selecção.
Cria-se um critério por campo categoria e compara-se o valor com aquele do campo que contém o "caminho" da categoria.
Fórmula do "token" ligado ao dinâmico :
CAT1 =web:CATPATH Et CAT2 =web:CATPATH Et CAT3 =web:CATPATH Et CAT4 =web:CATPATH
Para calcular o valor do critério motor XTEND faz a relação entre o nível do campo categoria (CAT1,CAT2...) e a posição do valor no "caminho" da categoria.
Exemplo para a categoria /REU/CLI/BER :
No momento da valorização dos critérios de selecção o motor XTEBD efectua o tratamento seguinte :
1. Leitura do valor do campo web CATPATH,
Este campo contém o caminho /REU/CLI/BER
2. Para cada critério :
Tudo se passa como se o campo CATPATH contém um quadro ordenado de categorias.
Este parágrafo descreve como colocar em obra na página HTML :
Os "tokens" XTEND permitem tratar estas duas operações com um mínimo de código JavaScript a desenvolver.
A seguir criamos quatro caixas de selecção correspondendo às quatro categorias utilizadas para seleccionar as viaturas.
HTML
<tabela>
<tr>
<td>
<select name="CATPATH1" adx="CATPATH:xlevel=1&xonchange=DLKSELECTAUTOS">
<option value="">Indifférent</option>
</select>
</td>
<td>
<select name="CATPATH1" adx="CATPATH:xlevel=1&xonchange=DLKSELECTAUTOS">
<option value="">Indifférent</option>
</select>
</td>
<td>
<select name="CATPATH3" adx="CATPATH:xlevel=3&xonchange=DLKSELECTAUTOS">
<option value="">Indifférent</option>
</select>
</td>
<td>
<select name="CATPATH4" adx="CATPATH:xlevel=4&xonchange=DLKSELECTAUTOS">
<option value="">Indifférent</option>
</select>
</td>
</tabela>
Campo CATPATH : contém o "path" da categoria corrente (Ex : REU/CLI para Renault/Clio)
'adx="CATPATH:xlevel=N' : esta sintaxe indica ao motor XTEND que falta preencher a lista das opções com os valores da categoria correspondendo ao nível N de CATPATH :
À primeira afixação da página CATPATH está vazia e é a opção "indiferente" que está afixado (valor="").
"xonchange=DLKSELECTAUTOS" : executa a ligação dinâmica DLKSELECTAUTOS desde que o valor do campo está modificado.
Este parâmetro evita de acrescentar um botão <input type='button' adx="DLKSELECTAUTOS" value="Seleccionar"> sobre o qual o utilizador deve clicar após ter modificado o critério.
As funções JavaScript a seguir permitem de calcular o "path" da categoria seleccionada :
//-------------------------------------
//aObj é o objecto DOM (select) que foi modificada
//--> nova selecção
//Calcula o nível (wMaxLevel) da categoria em função do nome de aObj
//--> CATPATH1 dá o nível 1 - CATPATH2 dá o nivel 2 ...
//Cálcula o "path" da categoria do nível a 1 em wMaxLevel
//Reset dos campos de nível superior a wMaxLevel
//Reenvia o "path"
função getCatCar(aObj)
{
var wCatPrefix="CATPATH";
var wCat="";
if (!aObj || !aObj.name) return wCat;
var wMaxLevel=parseInt(aObj.name.slice(wCatPrefix.length),10);
for( var i=0;i<wMaxLevel;i++)
{
var wVal=xtdGetFieldVal(wCatPrefix+(i+1));
if (wVal!="")
{
if (i>0) wCat+='/';
wCat+=wVal;
}
}
// Reset do campos
for( var i=wMaxLevel;i<4;i++)
xtdSetField (wCatPrefix+(i+1),"");
return wCat;
}
//-------------------------------------
//xtdDoMyDlk é chmado quando o utilizador clica sobre uma ligação dinâmica
função xtdDoMyDlk(aDomOut)
{
var wContinue=true;
//DLKSELECTAUTOS --> Modificação de um critério de selecção
if (aDomOut.isClickedDynLink("DLKSELECTAUTOS"))
{
//Cálculo do "path" da categoria
var wCat=getCatCar(aDomOut.getDynLinkCtx().getHtmlElement());
//Actualização do campo CATPATH que é transmitido ao motor XTEND
//--> Ver os critérios de selecção da ligação DLKSELECTAUTOS
xtdSetField("CATPATH",wCat);
}
return wContinue;
}
Desde que o utilizador modifica uma categoria a ligação DLKSELECTAUTOS está executada
A função "xtdDoMyDlk" permite efectuar os tratamentos específicos antes de submeter o formulario ao servidor XTEND.
Esta função :
Em retorno, o servidor terá efectuado a nova selecção e calculado os novos valores dos critérios de selecção.
A funçãoa seguir reinicializa os critérios de selecção foi recalculado a página.
<script>
função selAllCars(aObj)
{
xtdSelectSetVal("CATPATH1","");
xtdSelectSetVal("CATPATH2","");
xtdSelectSetVal("CATPATH3","");
xtdSelectSetVal("CATPATH4","");
xtdDoDlk(aObj,"DLKSELECTAUTOS");
}
</script>
<input type="button" value="Reset" onClick='javascript:selAllCars(this);'>
Campos
Os seguintes campos estão presentes neste separador :
Bloco número 5
Bloco número 1
| Código da lista de valores |
| Estabelecimento Web corrente. |
| Permet de définir un intitulé associé à chaque fiche. |
| Les listes de valeurs peuvent être créées :
|
Gestão automática
| Método de leitura do literal : Mensagem : deve preencher o capítulo e o número. Tabela diversa : deve-se preencher o código da tabela diversa mais os campos suplementares. |
| N° du chapitre |
|   |
| Code de la table diverse |
| Assinale para afixar o literal curto. |
| Não para gerar uma lista simples O encadeamento das dependências entre tabelas diversas é de tipo "filhos versus o pai" quer dizer que o parãmetro "Tabela dependência" da ficha "tabelas diversas" contém o código da tabela pai. Para gerar uma lista valor hierarquico a partir de uma tabela diversa falta partir da tabela pai. |
| Définit la profondeur de l'arborescence c'est à dire le nombre de niveaux de catégories autorisés pour la liste de valeurs. |
Gestão batch
| Répertoire racine qui contient les fichiers batch à choisir parmi les répertoires standards de XTEND (Voir documentation de la fonction). |
| Chemin d'accès du fichier batch par rapport au répertoire racine |
| Oui pour activer la vérification périodique (toutes les minutes) de la date de dernière modification du fichier batch. Les fichiers batch sont rechargés lorsqu'on recharge le dictionnaire XTEND |
Quadro Campos p/defeito (entid.)
| Lista dos "tokens campos" que contêm as informações sobre a categoria. A ordem de registo corresponde ao nível de categoria Por exemplo para as categorias de viaturas com os níveis de categorias seguintes : N1 - Construtor (Campo CAT1) Registam-se os campos seguintes no quadro : CAT1 |
Quadro Gráfico quadro
|   |
|   |
| Méthode de lecture du libellé |
| Coordonnées du libellé (Code chapitre) |
| Coordonnées du libellé (N°) |
| Coordonnées du libellé. Code de la table diverse. |
| Coordonnées du libellé |
| Assinale para afixar o literal curto. |
|   |
| Par défaut ce champ contient l'index du menu local ou le code de l'entrée de la table diverse utilisé pour le libellé. Il est généralement modifié pour associer des codes spécifiques lorsqu'on on crée un nouvelle liste de valeurs. |
| Vide par défaut Contient le champ de l'entité qui correspond au niveau de catégorie auquel est rattachée la valeur seulement si il est différent de celui défini par défaut dans le tableau 'Champ par défaut (entité)'. Voir § catégories hiérarchiques Par exemple pour les catégories de voitures avec les niveaux de catégories suivants : N1 - Constructeur (Champ CAT1) Pour un modèle de voiture qui n'a qu'un seul type (comme une twingo de Renault) le niveau 3 correspond en fait à la catégorie 'Energie' (niveau 4 pour les véhicules standards). Dans ce cas on saisit CAT4 dans le champ 'Champ lié' et 'ES' (essence) dans la valeur. |
|   |
|   |
|   |
|   |
|   |
|   |
Fechar
Funções acessíveis por clique direito no quadro
Fechar
Este botão permite copiar uma lista de valores |