Páginas filhas
  • 4.1. Criação de processos

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/108660318/wfLogixStyles.css
HTML
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="/download/attachments/108660318/wfLogixScripts.js"></script>
<script type="text/javascript">
$(function () {
    $("p").filter(function() {
        return $.trim($(this).text()) === '' || $.trim($(this).text()) === '&nbsp;';
    }).remove();
    
    initLogixHtml();
});
</script>

Índice

No Fluig é possível utilizar processos que efetuam integração com o Logix. Estes processos são criados utilizando o Fluig Studio, para saber mais sobre esta ferramenta consulta a documentação em: Fluig Studio. Abaixo pode ser encontrado a documentação para a criação de um processo utilizando estilos e eventos padrões disponíveis para o Logix caso desejável.

Índice
maxLevel2
outlinetrue
exclude1

...


Script padrão Logix

Para utilizar os estilos e eventos padrões disponíveis é necessário primeiramente que no formulário HTML do processo sejam referenciadas as bibliotecas JavaScript jQuery na versão 1.8.3 e jQueryUI na versão 1.9.2 (para mais informações visite http://jquery.com/ e http://jqueryui.com/).Além das citadas anteriormente, é necessário referenciar a biblioteca wfLogixUtil (disponível para baixar na lista de anexos no fim desta página), responsável por carregar os estilos e eventos padrões, alterar o estilo do formulário e carregar os zooms atribuídos para os camposos workflows que necessitem execução de zoom Logix é necessário incluir ao final do HTML o script wfLogixUtil.js e exportar o arquivo Javascript junto ao formulário.

Bloco de código
themeEclipse
languagehtml/xml
<head><body>
    <!-- Código HTML -->

    <!-- Biblioteca JavaScript do Fluig/ECM -->
    <script type="text/javascript" src="../vcXMLRPC.js"></script>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
    <script type="text/javascript" src="wfLogixUtil.js"></script>

    <!-- Código HTML -->
</head>

Classes CSS

Atualmente existem uma séries de classes CSS que podem ser utilizadas através do arquivo de estilos padrão para estilizar e agrupar os elementos do formulário HTML.

...

/body>


Estilo padrão

Os estilos dos formulários HTML devem seguir o padrão do guia de estilo do Fluig encontrado no link http://style.fluig.com

Float
sideleft
width20%

Componentes

  • Agrupadores

    Toggle Cloak
    exclusivetrue
    idagrupadores

  • Abas
    Toggle Cloak
    exclusivetrue
    idabas
  • Descrições
    Toggle Cloak
    exclusivetrue
    idlabels
  • Campos de texto 
    Toggle Cloak
    exclusivetrue
    idtexto
  • Campos numérico
    Toggle Cloak
    exclusivetrue
    idnumericos
  • Campos de data
    Toggle Cloak
    exclusivetrue
    iddatas
  • Campos de seleção
    Toggle Cloak
    exclusivetrue
    idselects

...

sideright
width70%

...

visibletrue
idagrupadores

Agrupadores

Utilize agrupadores para organizar o formulário HTML e manter os processos padronizados e responsíveis.

 

...

idabas

Abas

As abas organizam os elementos de forma simples e objetiva otimizando a utilização da área de trabalho.

 

...

idlabels

Descrições

As descrições são desenvolvidas utilizando elementos label com a classe .fw-descr-top ou .fw-descr-top-obrigat para destacar campos obrigatórios.

 

...

idtexto

Campos de texto

Para campos de texto, utilizar no elemento input a classe .fw-input-char.

 

...

idnumericos

Campos Numéricos

Para campos numéricos, utilizar no elemento input a classe .fw-input-number.

 

...

iddatas

Campos de Data

Para campos de datas, utilizar no elemento input a classe .fw-input-date.

 

...

idselects

Campos de Seleção

Para campos de seleção, utilizar no elemento select a classe .fw-input-select.

 

...

Máscaras

Para atribuir máscaras aos campos é necessário incluir no elemento o atributo data com as informações da máscara no formato JSON string.

Bloco de código
themeEclipse
languagejavascript
{
    "picture": "@!"
}
Exemplo
Bloco de código
themeEclipse
languagehtml/xml
<div class="fw-model fw-input">
    <label class="fw-descr-top-obrigat">Nome:</label>
    <input type="text" class="fw-input-char" maxlength="30" data='{"picture":"@!"}'/>
</div>
 
<div class="fw-model fw-input">
    <label class="fw-descr-top">Idade:</label>
    <input type="text" class="fw-input-number" data='{"picture":"9999999999"}'/>
</div>

As máscaras seguem o mesmo formato do AdvPL e pode ser consultado aqui: Tabela de Pictures de Formatação.


Zooms

Para atribuir zooms aos campos é necessário incluir no elemento o atributo data com as informações do zoom no formato JSON string.

 

Bloco de código
themeEclipse
languagejavascript
{
    "zoom": {
        "name": "zoom_item",
        "selection": [
            ["cod_item_compon","cod_item"],
            ["den_item","den_item_reduz"]
        ],
        "whereclause": {
            "fn": "setWhereClause",
            "args": ["item"]
        }
    }
}

...

  • name: nome do zoom cadastrado no metadado Logix.
  • selection:
    • lista com os campos que serão carregados ao selecionar o registro no zoom, o primeiro item é o nome do campo do formulário e o segundo é o nome do campo no zoom do qual o primeiro item receberá o valor.
  • whereclause:
    • fn: função JavaScript que será executada quando o zoom for acionado para retornar o filtro SQL a ser considerado na apresentação dos registros do zoom.
    • args: lista com valores que serão passados como parâmetros para a função definida no atributo fn.

Nota

Além das informações do zoom acima é necessário incluir nos elementos o atributo data-input-zoom
para que seja possível identificar quais campos possuirão zoom.

 


Exemplo
Bloco de código
themeEclipse
languagehtml/xml
<div class="fw-input"><div>
    <label classfor="fw-descr-top-obrigatcod_item_compon">Componente atual:</label>
    <input type="text" name="cod_item_compon" class="fw-input-char" maxlength="15" data='{"picture":"@!","zoom":{"name":"zoom_item","selection":[["cod_item_compon","cod_item"],["den_item","den_item_reduz"]],"whereclause":{"fn":"setWhereClause","args":["item"]}}}' data-input-zoom>
</div>


Zoom em formulários Pai x Filho

Em formulários Pai Filho os campos filhos são criados dinamicamente e consequentemente o comportamento destes campos não segue o mesmo padrão dos outros campos do formulário. Para solucionar este problema é recomendável seguir os passos abaixo:

1. Criar o botão e evento de inclusão de campos filhos manualmente

    • Para isto deve-se incluir no elemento de tabela do formulário o atributo noaddbutton com o valor true;
    • Na ação do botão, informar o evento addItem enviando por parâmetro o nome da tabela filha.


Exemplo
Bloco de código
themeEclipse
languagehtml/xml
<div>
    <input type="button" onclick="addItem('itens');" value="Adicionar item"/>
</div>

<table noaddbutton="true" tablename="itens">
    <!-- Código HTML -->
</table>


2. Criar o evento JavaScript para incluir e alterar o estilos dos campos filhos

    • Para incluir novos itens filhos, utilizar a função padrão wdkAddChild passando por parâmetro o nome definido no atributo tablename;
    • O evento wdkAddChild irá criar os itens filhos e retornar o número da linha criada;
    • Após, executar a função initLogixHtml passando um objeto com o número da linha e o nome da tabela definido no atributo tablename.


Exemplo
Bloco de código
themeEclipse
languagejavascript
function addItem(tablename) {
    var row = wdkAddChild(tablename);
    initLogixHtml({ "tablename": tablename, "row": row });
}

Seguindo os passos acima, os itens filhos irão se comportar normalmente assim como o restante dos campos do formulário.

 

Defindo o código da empresa

Para utilizar as rotinas do Logix a partir do workflow é necessário que haja o código da empresa que será utilizada na rotina. Para isso, deve criar um campo no formulário onde será informado o código da empresa e incluir para este campo o atributo data-cod-empresa. O valor informado no campo que possuir este atributo será considerado o código da empresa na rotina durante a execução.

Exemplo

...

Bloco de código
themeEclipse
languagehtml/xml
<div class="fw-input"><div>
    <label classfor="fw-descr-top-obrigatcod_empresa">Empresa:</label>
	<input type="text" name="cod_empresa" class="fw-input-char" maxlength="2" data='{"picture":"@!","zoom":{"name":"zoom_empresa","selection":[["cod_empresa","cod_empresa"],["den_empresa","den_empresa"]]}}' data-cod-empresa data-input-zoom>
</div>

Formulários Pai Filho

Nos formulários Pai Filho os campos filhos são criados dinamicamente conforme necessidade do usuário através de um botão criado automaticamente no workflow. Por serem criados dinamicamente, os estilos e comportamentos destes campos não seguem o mesmo padrão dos outros campos do formulário quando utilizado os estilos e eventos padrões do Logix. Para solucionar este problema é recomendável seguir os passos abaixo:

Anexos


Anexos