Anda di halaman 1dari 23

Customizao de Fichrios

Guia de Referncia para


Customizao
Fichrios


2

Customizao de Fichrios
Copyright 2009 TOTVS S.A. Todos os direitos reservados.
Nenhuma parte deste documento pode ser copiada, reproduzida, traduzida ou transmitida por
qualquer meio eletrnico ou mecnico, na sua totalidade ou em parte, sem a prvia autorizao
escrita da TOTVS S.A., que reserva-se o direito de efetuar alteraes sem aviso prvio. A TOTVS
S.A no assume nenhuma responsabilidade pelas conseqncias de quaisquer erros ou
inexatides que possam aparecer neste documento.
TOTVS S.A.
Av. Santos Dumont, 831, Joinville, SC, Brasil, CEP 89.222-900


3

Customizao de Fichrios
ndice
Declarao <!DOCTYPE> HTML ........................................................ 4
Customizao de Fichrios ............................................................... 4
AfterProcessing .............................................................................................. 6
AfterSaveNew ................................................................................................ 6
BeforeProcessing ........................................................................................... 6
DisplayFields .................................................................................................. 6
EnableFields .................................................................................................. 8
InputFields ..................................................................................................... 9
SetEnable ...................................................................................................... 9
ValidateForm .................................................................................................. 9
Controles visuais ............................................................................. 10
ComboBox ................................................................................................... 10
Zoom ............................................................................................................ 11
Zoom Externo .............................................................................................. 13
Servios de Dados ........................................................................... 16
Dataset ......................................................................................................... 16
DataService ................................................................................................. 18
Pai Filho 2.0 ...................................................................................... 19
Pai Filho Radio Button ................................................................................. 21
Fichrios para dispositivos mveis ................................................ 22
Third Party Trademarks ................................................................... 23
























4

Customizao de Fichrios


Declarao <!DOCTYPE> HTML
Ao publicar um fichrio no recomendada a utilizao de declaraes
<!DOCTYPE>, Ex: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">. A
utilizao dessas pode impactar em algumas funcionalidades do Fichrio ou
do Workflow na utilizao do navegador Microsoft Internet Explorer
Customizao de Fichrios
A customizao de fichrios realizada pela criao de scripts na linguagem
JavaScript. O cdigo de implementao de cada script armazenado em
banco de dados e dispensa o uso de quaisquer outros arquivos, como por
exemplo, plugin.p.
Os eventos de customizao para o fichrio so criados na rea de meta
dados da publicao deste tipo de documento conforme a figura abaixo.


A manuteno dos eventos do fichrio permite:




5

Customizao de Fichrios

Adicionar evento: clique sobre o atalho e selecione o evento desejado.
O cdigo com a implementao padro e os parmetros do evento ser
apresentado na tela;
Validar evento: valida a sintaxe do evento;
Excluir evento: selecione o evento desejado clique sobre o atalho
Excluir;
Todos os eventos do fichrio recebem a referncia ao formulrio usado para a
ficha. Atravs dessa referncia possvel acessar os campos do formulrio,
acessar/definir o valor de um campo e acessar/definir o estado de
apresentao do campo. Os detalhes de cada evento so apresentados nas
prximas sees deste documento.
Uma nova funcionalidade adicionada ao TOTVS | ECM o uso de log de
execuo nos eventos de customizao. Atravs da varivel global log
possvel obter o feedback da execuo de cada evento. Existem quatro nveis
de log, so eles:
error: apresentao de erros;
debug: depurar a execuo;
warn: informar possvel problema de execuo;
info: apresentao de mensagens
A apresentao de cada um dos tipos de log est condicionada a
configurao do servidor de aplicao. Por exemplo, no JBoss, por padro,
as mensagens do tipo info e warn so apresentadas no console do servidor e
as do tipo debug, error so apresentadas no arquivo de log. Abaixo um
exemplo de uso do log em script:
log.info(Testando o log info);
Teramos no console do servidor a mensagem Testando o log info.
Semelhante ao Webdesk 2.04 possvel saber o estado de edio de uma
ficha atravs da varivel form passada como parmetro para os eventos do
fichrio. Para acessar o estado de edio:
form.getFormMode()
A chamada a funo form.getFormMode() vai retornar uma string com o
modo de edio da ficha. Existem os seguintes valores para o modo de
edio do formulrio:
ADD: indicando modo de incluso;
MOD: indicando modo de edio;
VIEW: indicando mode de visualizao;
NONE: indicando que no h comunicao com o formulrio, por
exemplo, ocorre no momento da validao dos campos do formulrio onde
este no est sendo apresentado.
A seguir sero detalhados os eventos disponveis para o fichrio para a
customizao de um fichrio no TOTVS | ECM.





6

Customizao de Fichrios

AfterProcessing
o ltimo evento a ser disparado para o fichrio. O evento recebe como
parmetro uma referncia ao formulrio do fichrio.
Exemplo:
function afterProcessing(form){
}
No contexto deste evento a varivel form pode ser usada somente para
consulta aos campos do fichrio, seus valores e estado de apresentao.

AfterSaveNew
Esse evento disparado aps a criao de uma nova ficha. O evento recebe
como parmetro uma referncia ao formulrio do fichrio.
Para obter o valor de um determinado campo do formulrio:
form.getValue("nome-do-campo")
Exemplo:
function afterSaveNew(form) {
log.info(" Colaborador de abertura: "+ form.getValue("RNC_colab_abertura"));
}
A consulta aos campos do formulrio case insensitve. No exemplo acima,
poderamos obter o valor do campo usando rnc_colab_abertura.

BeforeProcessing
Esse evento o primeiro a ser disparado. Ocorre antes de qualquer outro
evento da ficha. O evento recebe como parmetro uma referncia ao
formulrio do fichrio.
Exemplo:
function beforeProcessing(form){
}
No contexto deste evento a varivel form pode ser usada somente para
consulta aos campos do fichrio, seus valores e estado de apresentao.

DisplayFields
Esse evento disparado no momento em que os objetos do formulrio so
apresentados. O evento recebe como parmetro uma referncia ao formulrio
do fichrio e a referncia para sada de apresentao do formulrio.
Nesse evento possvel alterar os valores a serem apresentados no campo
do formulrio. Para isto basta usar o seguinte procedimento:
form.setValue(nome-do-campo, valor);
Exemplo:





7

Customizao de Fichrios

function displayFields(form, customHTML) {
if ( form.getFormMode() == MOD ) {
form.setValue('RNC_colab_abertura', new java.lang.Integer(1));
}
}


Ainda no evento DisplayFields possvel utilizar dois mtodos de forma
independente ou conjunta para alterar a forma de como apresentada a
renderizao da ficha e ocultar os botes Imprimir e Imprimir em nova
Janela.

Para visualizar a ficha no formato original do formulrio com os campos
desabilitados, deve-se utilizar o mtodo setShowDisabledFields.

Para ocultar o os botes Imprimir e Imprimir em nova Janela, deve-se
utilizar o mtodo setHidePrintLink.


Exemplo de visualizao sem a utilizao dos mtodos:


Exemplo de utilizao dos mtodos:

function displayFields(form, customHTML) {
form.setShowDisabledFields(true);
form.setHidePrintLink(true);
}

Visualizao:




8

Customizao de Fichrios



importante destacar que este evento o nico que permite a alterao dos
valores a serem apresentados nos campos formulrio antes da renderizao
da ficha.

Abaixo um exemplo para usar a sada de apresentao do formulrio:

if (form.getFormMode() != "VIEW") {
customHTML.append(<script> );
customHTML.append(function MostraEscondeBtn_zoom()");
customHTML.append({");
customHTML.append(document.getElementById('zoomUsuario').className = 'show';");
customHTML.append(document.getElementById('zoomModulo').className = 'show';");
customHTML.append(}");
customHTML.append(</script>);
}

EnableFields
Esse evento disparado no momento em que os objetos do formulrio so
habilitados, permitindo desabilitar alguns campos, caso haja a necessidade. O
evento recebe como parmetro uma referncia ao formulrio do fichrio.
Para habilitar ou desabilitar um campo do formulrio o seguinte procedimento
deve ser executado:
form.setEnabled("nome-do-campo",true/false)
Onde true habilita o campo e false desabilita o campo.
Exemplo:

function enableFields(form) {
if ( form.getFormMode() != 'ADD' ){
form.setEnabled("rnc_area",false);
form. setEnabled ("rnc_tipo_ocorrencia",false);
}
}





9

Customizao de Fichrios

importante destacar que o evento ocorre no momento da renderizao da
ficha e o nico que permite alterar o estado de apresentao dos campos
do formulrio.
Outra forma de desabilitar os campos utilizando comandos JavaScript
implementados diretamente em funes do formulrio. Porm, neste caso,
no permitido utilizar a propriedade disabled, pois os campos no sero
gravados ao salvar a ficha. Para esta situao, deve-se utilizar a propriedade
readonly conforme exemplo abaixo:
document.forms['nomeForm'].nomeCampo.setAttribute('readonly',true);

InputFields
Esse evento disparado no momento em que os dados do formulrio so
passados para a BO responsvel pelas fichas do TOTVS | ECM. O evento
recebe como parmetro uma referncia ao formulrio do fichrio. Exemplo:
function inputFields(form){
}

SetEnable
Esse evento pode ser executado em diferentes eventos dos fichrios. Ao
contrrio do Webdesk 2.04 esse evento no implementado
automaticamente na customizao do fichrio.
Exemplo:

function setEnable() {
log.info(Teste de chamada de funo);
}

function displayFields(form, customHTML) {
setEnable();
}

ValidateForm
Esse evento executado antes da gravao dos dados do formulrio no
banco de dados. O evento recebe como parmetro uma referncia ao
formulrio do fichrio. Em caso de erros de validao dos dados do formulrio
esse evento ir retornar uma mensagem de erro.
Exemplo:

function validateForm(form) {
if ( form.getValue('RNC_colab_abertura') == null ){
throw "O colaborador de abertura no foi informado";
}
}




10

Customizao de Fichrios

Controles visuais
Neste captulo ser demonstrado como interagir com alguns tipos de
controles do formulrio que possuem caractersticas especiais, como por
exemplo, o preenchimento do contedo de um ComboBox atravs da
utilizao de Datasets.

ComboBox
Geralmente necessrio popular um ComboBox de um formulrio com um
determinado grupo de valores.


No TOTVS | ECM isto possvel atravs da utilizao de Datasets. Os
Datasets so servios de dados padro disponibilizados pelo TOTVS | ECM,
como por exemplo, o servio de Colaboradores ou reas do produto.

Para habilitar o Dataset no ComboBox basta usar a seguinte construo:

<select name="RNC_area" id="RNC_area" dataset="nome-dataset"
datasetkey="chave" datasetvalue="valor" addBlankLine=false>

Onde:
dataset o nome do Dataset;
datasetkey a chave do registro
datasetvalue o valor de um determinado campo do registro
addBlankLine o que define se a primeira linha do combo ser um
valor em branco.

Exemplo:
<select name="RNC_area" id="RNC_area" dataset="destinationArea"
datasetkey="areaID" datasetvalue="areaDescription">

No exemplo acima estamos listando em um ComboBox todas as reas
cadastradas no TOTVS | ECM.

Caso seja necessria a ordenao dos dados provindos de um dataset
interno, indicamos a criao de um dataset customizado que execute o
interno e ordene os dados, antes de alimentar o componente combobox.

Atualmente o TOTVS | ECM fornece Datasets para Colaboradores, Grupos de
Colaboradores, reas, entre outros.

Para utilizar um ComboBox com somente uma opo no deve ser utilizado
caracteres especiais e espao no value da tag option.

Exemplos:
Forma correta:




11

Customizao de Fichrios

<select>
<option value="te">Teste</option>
</select>

Forma Incorreta:
<select>
<option value="te te te">Teste</option>
</select>



Zoom
Permite a consulta de entidades e outros fichrios criados no TOTVS | ECM
para seleo de dados pelo usurio.



O zoom acima apresenta os registros da entidade Colaborador do TOTVS |
ECM.

O componente de Zoom do TOTVS | ECM foi desenvolvimento em Adobe
Flex. O nome do componente WebdeskZoom.swf. O arquivo faz parte da
distribuio padro do produto. O acesso ao componente realizado por uma
pgina JSP que promove facilidades na apresentao do Zoom.

IMPORTANTE: Por ser desenvolvido atravs da tecnologia Adobe Flex, o
componente de Zoom no suportado em dispositivos mveis ou em outros
sistemas operacionais que no suportem Flash.




12

Customizao de Fichrios


Para acessar o zoom em um formulrio de fichrio necessrio o uso de
JavaScript. Abaixo o cdigo criado para a chamada do zoom dos campos de
um fichrio:

function openZoom() {
window.open("/webdesk/zoom.jsp?cardDatasetId=60&dataFields=RNC_nr_solicitacao,RNC,RNC
_colab_abertura,Colaborador de
Abertura,RNC_descricao,Descrio&resultFields=RNC_colab_abertura,RNC_nr_solicitacao&type
=rnc&filterValues=metadata_active,true", "zoom" , "status , scrollbars=no ,width=600, height=350 ,
top=0 , left=0");
}
Onde:
cardDatasetId: o nmero do fichrio
datasetId: o nome do Dataset a ser acessado;
dataFields: so os campos de dados e os rtulos das colunas
apresentandos no grid de seleo. Os dados devem ser informados no
seguinte padro <nome-campo>,<label-campo-grid>, se for um fichrio,
deve ser passado os nomes dos campos a serem apresentados e seus
respectivos rtulos;
resultFields: so os campos que devem ser retornadas na seleo do
usurio;
type: identificador da chamada.
filterValues: Parmetro opcional, que indica os filtros aplicados nos
dados retornados. Os filtros so enviados em pares separados por vrgula
seguindo o padro <nome-campo>,<valor-filtro>,<nome-campo-2>,<valor-
campo-2>.
ATENO: Este parmetro s vlido para datasets internos. Datasets
customizados no permitem a utilizao de filtros.

Para receber a seleo do usurio o seu formulrio deve possuir a declarao
da seguinte funo JavaScript:

function setSelectedZoomItem(selectedItem) {
}

Onde selectItem o registro selecionado pelo usurio na tela de zoom.

IMPORTANTE: A mesma funo setSelectZoomItem ser usada para
receber o resultado de todas as chamadas ao zoom. Assim, para diferenciar
cada chamada foi criado o parmetro type. Esse parmetro retornado em
selectedItem e pode ser usado para diferenciar as chamadas ao zoom.

Para que seja possvel visualizar e resgatar informaes dos campos
metadatas da ficha, necessrio utilizar a seguinte nomenclatura:

metadata_id Retorna o cdigo da ficha
medatata_version Retorna a verso da ficha
metadata_parent_id Retorna o cdigo da pasta Pai
metadata_card_index_id Retorna o cdigo do fichrio
metadata_card_index_version Retorna a verso do fichrio
metadata_active Verso ativa

Abaixo um exemplo de cdigo utilizado para visualizao e resgate destes
valores:




13

Customizao de Fichrios


function zoomFichario(titulo, fichario, campos, resultFields, type) {
window.open("/webdesk/zoom.jsp?datasetId=<nomeDoServicoDeDados>&dataFields=
metadata_id,id,metadata_version,versao&resultFields=metadata_id,metadata_version&type="+ty
pe+"&title="+titulo, "zoom" , "status , scrollbars=no ,width=600, height=350 , top=0 , left=0");
}

function setSelectedZoomItem(selectedItem) {
alert("Codigo: " + selectedItem.metadata_id + "Verso: "+
selectedItem.metadata_version);
}

Para utilizar filtros a chamada similar ao de dataFields.
Segue exemplo abaixo:
window.open("/webdesk/zoom.jsp?datasetId=preCad&dataFields=codigo,Cdigo,descricao,Descri
o&resultFields=descricao&type=precad&filterValues=metadata_active,false", "zoom" , "status
, scrollbars=no ,width=600, height=350 , top=0 , left=0");

Neste exemplo, o zoom ir retornar somente as fichas inativas.

Zoom Externo
Em situaes aonde os dados dos Elementos externos ao TOTVS | ECM so
muito volumosos recomendada a construo de uma aplicao externa ao
TOTVS | ECM que far o papel de zoom para o usurio. Abaixo ser descrita
uma tcnica JavaScript aonde ser possvel chamar uma aplicao externa e
a mesma poder devolver o dado solicitado pelo usurio para um campo do
formulrio do TOTVS | ECM.

O primeiro passo para implementao dessa tcnica criar uma lgica em
JavaScript que ir abrir uma nova janela chamando a aplicao externa que
ir se comportar como zoom para o formulrio. Vamos utilizar e explanar o
comando window.open neste exemplo:

Window.open(URL Aplicao Externa, Nome da Janela que ser aberta,
comandos adicionais)

Onde:
URL Aplicao Externa a url da aplicao externa que funcionar
como zoom para o TOTVS | ECM. Ex: http://servidor-
ecm/applications/forneczoom.asp
Nome da Janela Nome da janela que ser utilizado pelo navegador
do usurio como identificador. Para evitar a sobreposio de contedo em
janela recomendado que para cada zoom chamado por um mesmo
formulrio seja adicionado um nome diferente. Ex: ZoomFormec
Comandos Adicionais Comandos adicionais utilizados para a
criao da janela que ir conter a aplicao zoom. Ex: width=230,
height=230

Ateno:

Devido a uma restrio dos navegadores a url do programa de zoom externo
ao TOTVS | ECM dever estar no mesmo domnio em que o TOTVS | ECM se
encontra. Caso contrrio no ser possvel atribuir ao campo do formulrio o
valor escolhido para o zoom. Este problema ocorrer por que os navegadores
probem a pratica de codificao JavaScript cross-domain.





14

Customizao de Fichrios

O cdigo abaixo ir programar um formulrio do TOTVS | ECM contendo um
campo e um boto lateral que ir invocar a janela da aplicao externa.

<form name=FornecedorForm>
Cdigo do Fornecedor:
<input name=cod_fornec size=10 value= type=text>
<input value=lista onClick=mostraLista() type=button>
</form>
<script language=JavaScript>

Function mostraLista() {
Window.open(fornecedores.html, list,width=230,height=230);
}
</script>

O segundo passo programar dentro da aplicao externa uma funo
JavaScript que devolva para o campo do formulrio o valor escolhido para o
usurio na aplicao externa. Essa aplicao externa poder ser
desenvolvida em qualquer tecnologia de desenvolvimento web existente no
mercado de que a mesma possa realizar a execuo de scripts JavaScript no
lado do cliente. Segue exemplo de uma funo JavaScript que passa o valor
para o campo do formulrio:

<script language=JavaScript>
Function escolha(valor) {
// A linha abaixo testa se a janela do formulrio do ecm que abriu a
// janela de zoom ainda est aberta
If (window.opener && !window.opener.close) {
// seta o valor passando para o campo
Window.opener.document.(id do form no formulrio ecm).(nome do campo).value = valor;
}
// fecha a janela da aplicao zoom
Window.close();
}
</script>

Onde:

Id do form no formurio TOTVS | ECM Caso alguma id tenha sido
definida para a tag <form> no fichrio/formulrio do TOTVS | ECM
interessante referenciar neste comando. Pode ser utilizada tambm a
referncia de coleo forms dentro do comando (forms[posio]). Ex:
FornecedorForm, forms[0].

Nome do Campo Nome do campo que ir receber o valor passado
para a funo. Ex: cod_fornec.
Valor Dado que ser passado para o campo do formulrio do
TOTVS | ECM.

O exemplo a seguir ir programar um exemplo de zoom externo feito
inteiramente em HTML com dados estticos apenas para ilustrao. Os dados
de zoom podem provir de qualquer fonte seja ela interna ou externa ao
TOTVS | ECM.

<html><head><title>Lista de fornecedores</title>
<script language="JavaScript">
function escolha(valor) {
// Teste de validade do Opener
if (window.opener && !window.opener.closed) {
// gravando o valor do campo cod_fornec
window.opener.document.forms[0].cod_fornec.value = valor;
}
window.close();




15

Customizao de Fichrios

}
</script></head><body>

<!-- Os dados abaixo esto fixos mas poderiam ser montados a partir de qualquer origem. -->

<table border="1" cellpadding="5" cellspacing="0">
<tbody><tr bgcolor="#cccccc"><td colspan="2"><b>Exemplo aplicacao ECM</b></td></tr>
<tr bgcolor="#cccccc"><td><b>Codigo</b></td><td><b>NASDAQ</b></td></tr>
<tr><td><a href="javascript:escolha('TOTVSv3')">TOTVS</a></td>
<td><a href="javascript:escolha('TOTVSv3')">TOTVSv3</a></td></tr>
<tr><td><a href="javascript:escolha('RM1')">RM</a></td>
<td><a href="javascript:escolha('RM1')">RM1</a></td></tr>
<tr><td><a href="javascript:escolha('DTS3')">Datasul</a></td>
<td><a href="javascript:escolha('dts3')">Dts3</a></td></tr>
<tr><td><a href="javascript:escolha('Lgx2')">Logix</a></td>
<td><a href="javascript:escolha('Lgx2')">Lgx2</a></td></tr>
</tbody></table>

<!-- Fim dos dados -->

</body></html>

Para colocar o exemplo em prtica no produto, basta publicar o fichrio em
anexo informando o arquivo do zoom externo como anexo do fichrio.

Ao clicar em um dos itens da tela de zoom ser chamada a funo JavaScript
escolha que ira enviar o valor para o campo cod_fornec no formulrio do
TOTVS | ECM.




16

Customizao de Fichrios

Servios de Dados
O ECM possui integrao com dois tipos de servios de dados, so eles:
Dataset e Servios Externos. Ambos podem ser usados em todos os eventos
disponveis para customizao de fichrio.
Dataset
um servio de dados que fornece acesso s informaes, independente da
origem dos dados. O ECM fornece Datasets internos que permitem acesso as
entidades, como Colaboradores, Grupos de Colaboradores, entre outros.
Consulte o cadastro de Datasets do ECM para obter a relao completa dos
Datasets disponveis e seus respectivos campos.

ATENO: Os exemplos abaixo utilizam a funo getDatasetValues,
disponvel somente para os Datasets de entidade e fichrio (quando
informado o nmero do fichrio). Para a utilizao de Datasets customizados
consulte o Guia de Referncia Customizao de Datasets.

Na funo getDatasetValues, NO so retornados os valores de todos os
campos por questes de segurana. Para obter todos os dados utilizado o
DatasetFactory, exemplificado no Guia de Referncia Customizao de
Datasets.

Por exemplo, para acessar o Dataset de colaboradores do ECM no evento
displayFields de um fichrio:

function displayFields(form,customHTML) {
// Obtendo o usuario via dataset
filter = new java.util.HashMap();
filter.put("colleaguePK.colleagueId","adm");
colaborador = getDatasetValues('colleague',filter);
form.setValue('RNC_colab_abertura',colaborador.get(0).get("colleagueId"));
}

Tambm possvel fazer uma chamada aos Datasets dentro do fichrio
atravs de funes JavaScript.

O acesso aos Datasets tambm pode ser realizado diretamente no formulrio
do fichrio, sendo necessrio a utilizao da biblioteca ecm_datasets.js . Por
exemplo, para acessar o Dataset de colaborador e inserir os valores nos
campos do HTML:

<html>
<head>
<title>
Teste ecm datasets
</title>
<script language="javascript">

function init(){





17

Customizao de Fichrios

var filter = new Object();
filter["colleaguePK.colleagueId"] = "adm";

var colleagues = getDatasetValues("colleague", filter);

if(colleagues.length > 0){
document.getElementById("colleagueName").value = colleagues[0].colleagueName;
document.getElementById("colleagueId").value = colleagues[0].colleagueId;
document.getElementById("login").value = colleagues[0].login;
document.getElementById("extensionNr").value = colleagues[0].extensionNr;
document.getElementById("groupId").value = colleagues[0].groupId;
document.getElementById("mail").value = colleagues[0].mail;
}else{
alert("Nenhum Colaborador Encontrado");
}
}
</script>
</head>
<script src="../ecm_datasets.js"></script>
<body onload="init()">
<form id="form1">
<b>
Nome do Colaborador:
</b>
<input type="text" name="colleagueName" id="colleagueName" />
<br><br>
<b>
Matricula do Colaborador:
</b>
<input type="text" name="colleagueId" id="colleagueId" />
<br><br>
<b>
Login do Colaborador:
</b>
<input type="text" name="login" id="login" />
<br><br>
<b>
Ramal do Colaborador:
</b>
<input type="text" name="extensionNr" id="extensionNr" />
<br><br>
<b>
Grupo do Colaborador:
</b>
<input type="text" name="groupId" id="groupId" />
<br><br>
<b>
Email do Colaborador:
</b>
<input type="text" name="mail" id="mail" />
<br><br>
</form>
</body>
</html>


O Dataset para fichrios usa a mesma chamada do Dataset de entidades,
como no caso do colaborador. Entretanto ao invs de passarmos como
parmetro o nome do Dataset passaremos o nmero do fichrio, por exemplo:

function displayFields(form,customHTML) {
// Obtendo o usuario via dataset
filter = new java.util.HashMap();
filter.put("RNC_nr_solicitacao",new java.lang.Integer(20));
fichas = getDatasetValues(Number(676),filter);
log.info(Colaborador de Abertura: + fichas.get(0).get("RNC_colab_abertura"));
}





18

Customizao de Fichrios

OBSERVAO: A biblioteca vcXMLRPC.js era incompatvel com
algumas tecnologias disponveis, como por exemplo o jQuery UI. Para
aperfeioar a customizao de formulrios e possibilitar a utilizao de
bibliotecas Javascript complementares, foi desenvolvida a nova biblioteca de
integrao de datasets ecm_datasets.js. Esta nova biblioteca pode ser
utilizada da mesma forma que a vcXMLRPC.js e dever ser utilizada para
construo de novas customizaes. As customizaes que j utilizam a
antiga biblioteca vcXMLRPC.js continuaro funcionando normalmente,
entretanto esta biblioteca est depreciada.
DataService
um servio de dados que permite o acesso de aplicaes de terceiros
atravs do ECM. Este servio de dados suporta dois tipos de conexo, so
eles: AppServer do Progress e Web Services.

Os servios de dados so cadastrados e configurados no Painel de Controle
do ECM.

Para mais informaes sobre o cadastro dos servios consulte o Guia de
Integrao ECM. E para informaes de utilizao dos servios nos eventos
consulte o Guia de Referncia Customizao de Workflow.





19

Customizao de Fichrios

Pai Filho 2.0
A tcnica Pai X Filho foi modificada e agora a posio da tag tablename
feita dentro da tag "table" do cdigo html.

No novo modelo implementado agora o parser do fichrio aplicar as
mudanas do pai filho da seguinte forma:

<table tablename="teste"> - A propriedade tablename determina que Agora
abaixo dessa tabela ser implementado um sistema de pai filho dentro do
fichrio. A tag <table> ter seus parmetros varridos na busca de outros
parmetros relacionados tcnica que sero explicados mais adiante nesse
texto. Ser criada uma outra <table> ao redor da tabela principal que conter
um boto que permite adicionar novos filhos. Isso no ocorrer apenas em
casos em que a propriedade noaddbutton tambm seja informada em
conjunto com a propriedade tablename.

<tr> (primeiro abaixo do table) - A primeira tag de <TR> encontrada dentro da
tabela visualizada como uma tag que conter os labels da tabela pai filho A
esta tag ser adicionada uma coluna <TD> contendo o cone e a funo de
eliminar filhos existentes em tela. Est nova coluna ser a primeira coluna a
esquerda da tabela.

<tr> (Segundo abaixo do table) - A tcnica pai filho ir ocultar a linha <TR>
original e transforma l no seu template mestre para criao dos filhos
daquela tabela. Cada vez que o boto novo for acionado todo o conjunto de
campos existentes dentro desse segundo <TR> ser replicado em tela com
os dados iniciais definidos para estes campos.

</tablename> - Fim do escopo da tcnica.

A tcnica tambm suporta novos atributos que podem se passados eu usados
para customizar a tcnica pai e filho. So elas:

noaddbutton - Remove o boto adicionar da tela no momento da edio da
ficha. Isso permite ao desenvolvedor escolher aonde ele vai colocar a funo
que criar os filhos em tela podendo amarrar a chamada da funo em um
link texto ou uma figura ou outro objeto do html.

Ex: <table tablename="teste" noaddbutton=true>

nodeletebutton - Remove o boto lixeira da tela no momento da edio da
ficha. Isso permite ao desenvolvedor impedir a eliminao dos registros ou
definir outra forma de executar a funo que remover os filhos da tabela.

Ex: <table tablename="teste" nodetelebutton=true>

addbuttonlabel - Determina que texto ser posto no boto de adicionar filhos
da tcnica. Caso no seja informado o boto vir com o texto padro (novo)




20

Customizao de Fichrios


Ex: <table tablename="teste" addbuttonlabel="Adicionar novo ingrediente">

addbuttonclass - Permite definir qual classe css ser utilizada pelo boto.
Essa classe css dever estar disponvel no documento html do fichrio.

Ex: <table tablename="teste" addbuttonclass="wdkbuttonClass">

deleteicon - Permite determinar qual ser a imagem que funcionar como
cone da eliminao de filhos em tela. Essa imagem dever ser um anexo
do fichrio e dever ser informada na classe como uma imagem qualquer
utilizada como anexo no fichrio.

Ex: <table tablename="teste" deleteicon="teste.jpg">

customFnDelete - Permite a customizao da funo que chamada ao
clicar no boto que elimina um filho da tabela. A funo customizada dever
estar disponvel no documento html do fichrio e, obrigatoriamente, chamar a
funo padro.

Ex: <table tablename="teste" customFnDelete="fnCustomDelete(this)">

function fnCustomDelete(oElement){
//Customizao
alert ("Eliminando filho!");

// Chamada a funcao padrao, NAO RETIRAR
fnWdkRemoveChild(oElement);

//Customizao
alert ("Filho eliminado!");
}

possvel usar a combinao de um ou mais atributos na mesma tabela pai
filho. Contudo se a propriedade noaddbutton for utilizada os valores das
propriedades addbuttonlabel e addbuttonclass sero ignoradas. No ser
gerada uma mensagem de erro na publicao ou versionamento desse
fichrio, porm no momento da edio da ficha a mesma no ir apresentar o
boto padro que permite cadastrar novos filhos no fichrio. A propriedade
deleteicon no afetada pela propriedade noaddbutton. Exemplo de uso
combinado de parmetros:

<table tablename="teste" addbuttonlabel="Adicionar novo ingrediente"
addbuttonclass="wdkbuttonClass" deleteicon="teste.jpg">

A tcnica 2.0 do Pai filho no retro-compatvel com a primeira
implementao. Fichrios que foram feitos com a primeira tcnica devero ser
retrabalhados para utilizar este nova tcnica.

A tcnica 2.0 do pai Filho no aceita todos os componentes html, mas aceita
os principais, sendo os homologados pelo produto os tipos: text, radio button,
checkbox, select, select multiple, hidden, textarea, image e button.




21

Customizao de Fichrios

Pai Filho Radio Button
Para utilizar campos radio button, alm da definio padro do componente
html, necessrio que seja utilizado o atributo value para os dados serem
salvos corretamente.
Ex:
<table border="1" tablename="teste" addbuttonlabel="Adicionar Filho"
nodetelebutton="true">
<thead>
<tr>
<td><b>Nome</b></td>
<td><b>Idade</b></td>
<td><b><font face = "arial" size=5 color ="blue">Sim:</b></td>
<td><b><font face = "arial" size=5 color ="blue">No:</b></td>
</tr>
</thead>
<tr>
<td><input type="text" name="nomefilho"></td>
<td><input type="text" name="idadefilho"></td>
<td><input type="radio" name="nameradiofilho" id = "idsimfilho" value="ant_yes"></td>
<td><input type="radio" name="nameradiofilho" id = "idnaofilho" value="ant_no"></td>
</tr>
</table>




22

Customizao de Fichrios

Fichrios para dispositivos
mveis

Com a incluso de fichrios que suportem a visualizao em dispositivos
mveis, possvel movimentar solicitaes Workflow atravs destes
dispositivos e realizar o preenchimento das informaes do fichrio HTML,
ggarantindo maior mobilidade e agilidade para realizar movimentaes de
solicitaes workflow.

Para incluir um novo fichrio com suporte de dispositivos mveis, realize o
procedimento padro para incluso de fichrios, adicionando o HTML
principal (utilizado para visualizao padro do fichrio), incluindo tambm
outro arquivo HTML e marcando-o como "mobile".
O arquivo deve possuir os mesmos campos do principal, porm recomenda-
se a formatao para melhor visualizao em dispositivos mveis.

A principal recomendao para criao de fichrios para dispositivos
mveis otimizar a quantidade de informaes mostrada ao usurio,
pois o tamanho das telas dos smartphones so relativamente pequenas
comparadas a um monitor convencional ou notebook.
Procure apresentar informaes de maneira sucinta e com estilo (CSS)
adequado para visualizao neste tipo de dispositivo, evitando que o
usurio tenha que ampliar a pagina para poder visualizar as
informaes.
Para os campos de formulrio recomenda-se definir altura e largura
adequada para cada item, facilitando o toque do usurio no campo para
realizar o preenchimento.





23

Customizao de Fichrios

Third Party Trademarks

Adobe, Flash, Flex, Flex Builder, PostScript and Reader are either registered
trademarks or trademarks of Adobe Systems Incorporated in the United States
and/or other countries.

Apache is a trademark of The Apache Software Foundation.

Apple is a trademark of Apple Inc., registered in the U.S. and other countries

Firefox and Mozilla are registered trademarks of the Mozilla Foundation.

Google, Android and Google Chrome are trademarks of the Google Inc.

IOS is a trademark or registered trademark of Cisco in the U.S. and other
countries and is used under license

JavaScript is a trademark of Oracle Corporation.

Liferay, Liferay Portal, and the Liferay logo are trademarks or registered
trademarks of Liferay, Inc., in the United States and other countries.

Linux is the registered trademark of Linus Torvalds in the U.S. and other
countries.

Microsoft, Active Directory, Excel, Internet Explorer, Outlook, PowerPoint, SQL
Server, Windows and Windows Vista are either registered trademarks or
trademarks of Microsoft Corporation in the United States and/or other
countries.

MySQL is a trademark of Oracle Corporation and/or its affiliates.

openDBcopy is an open-source project by Anthony Smith, published under the
terms of the GNU General Public License

OpenLDAP is a registered trademark of the OpenLDAP Foundation

Oracle, Java and OpenOffice.org are registered trademarks of Oracle and/or
its affiliates. Other names may be trademarks of their respective owners.

Progress and OpenEdge are trademarks or registered trademarks of Progress
Software Corporation or one of its subsidiaries or affiliates in the U.S. and
other countries.

Red Hat and JBoss are registered trademarks of Red Hat, Inc. in the United
States and other countries.

This product includes software developed by the Visigoth Software Society
(http://www.visigoths.org/).

Any other third party trademarks are the property of their respective owners.

Anda mungkin juga menyukai