Editando
Guia Automação com BPMS Bonita
(seção)
Ir para navegação
Ir para pesquisar
Aviso:
Você não está conectado. Seu endereço IP será visível publicamente se você fizer alguma edição. Se você
fizer login
ou
criar uma conta
, suas edições serão atribuídas ao seu nome de usuário, juntamente com outros benefícios.
Verificação contra spam.
Não
preencha isto!
==Dicas complementares no uso da ferramenta Bonita Studio, nas Etapas do Guia de Modelagem e Automação== *Na Etapa 7, o importante é modelar todos os dados necessários para o processo funcionar corretamente. Novos atributos podem ser inseridos no modelo futuramente sem problemas. É interessante aumentar o tamanho das variáveis de texto, pois o padrão provavelmente será insuficiente. Para isso, selecione a variável já criada no modelo, e aumente o “''Length''” para o valor desejado. *As ''Pool variables'' (''Business variables'' ou ''Process variables'') e ''Documents'' também podem ser definidos através de ''scripts''. Quando é criado um Contrato para as ''Business variables'', o Bonita Studio gera ''scripts'' para o usuário poder trabalhar com as variáveis, variáveis essas que serão submetidas através de um formulário. Caso possua algum atributo de uma ''Business variable'' que não será inserido diretamente no formulário, mas que precisa ser persistido para o banco de dados, é necessário a criação de um ''script'' manual para este atributo. Esse atributo é adicionado no contrato da tarefa que o valor do mesmo deve ser atualizado, na aba '''Execution -> Operation''' (Figura 50) da tarefa, identificando o atributo desejado e modificando o ''script'' que foi criado automaticamente. [[Arquivo:B50.png|commoldura|centro|Figura 50 – Atualizar atributo de uma ''Business variable''.]] No caso das ''Process variables'', elas são específicas para uso em Contratos de tarefas e não em Contratos de ''Pool'', e o tempo de vida corresponde ao tempo do caso/instância, embora não fique armazenado no Banco de Dados de processos. Quando se crie uma variável deste tipo, deve-se selecionar a tarefa a qual esta variável pertença. Na aba '''Execution -> Operations''', selecionar a opção Add na primeira caixa de seleção, selecionar a variável e selecionar o Lápis de Edição (Figura 51) ao lado da segunda caixa de seleção, selecionar Script e escrever o código para a variável. O símbolo na primeira caixa de seleção indica o tipo da variável, se ela é ''Business variable'', ''Process variable'' ou ''Document''. [[Arquivo:B51.png|commoldura|centro|Figura 51 - Atualizar o valor de uma ''Process variable''.]] Também é possível criar ''Scripts'' para estas variáveis na criação das mesmas, determinando o que o Bonita Studio chama de valor ''default'' da variável. <br><br> A seguir serão apresentadas três figuras referentes às ''Process variables''. A Figura 52 mostra o caminho de criação/modificação da variável, a figura 53 mostra caminho para acessar o script da variável, e a figura 54 mostra o painel de script da variável. [[Arquivo:B52.png|commoldura|centro|Figura 52 - Criar/Modificar uma ''Process variable''.]] [[Arquivo:B53.png|commoldura|centro|Figura 53 - Definições da ''Process variable''.]] [[Arquivo:B54.png|commoldura|centro|Figura 54 - Definição do valor ''default'' da variável.]] *A Etapa 8 depende bastante dos atributos definidos na Etapa 7. O foco nesta Etapa é criar as melhores expressões lógicas que permitirão dividir o fluxo nos ''gateways''. Caso necessário, é possível voltar à Etapa 7 e incluir novos atributos para servir de base nesta Etapa. <br> Para auxílio na Etapa 8, seguem alguns exemplos de Process variables utilizadas até o momento nos processos implementados. <br><br> '''idpessoa''': Retorna o valor do “idpessoa” do usuário desejado. <br><br> <pre> for (Object obj : apiAccessor.getIdentityAPI().getCustomUserInfo(BonitaUsers.getProcessInstanceInitiator(apiAccessor,processInstanceId).id, 0, 0)) { if (obj.definition.name == "idpessoa") { return Long.parseLong(obj.value); } } return 0; </pre> <br><br> '''ehProfessor''': Verifica se o usuário em questão é professor: se ele for professor, o código retorna TRUE; se o usuário não for Professor, o código retorna FALSE. <br><br> <pre> import org.bonitasoft.engine.identity.UserMembership; import org.bonitasoft.engine.identity.UserMembershipCriterion; long roleId = apiAccessor.identityAPI.getRoleByName("Professor").id; long userId = BonitaUsers.getProcessInstanceInitiator(apiAccessor,processInstanceId).id; for (UserMembership um : apiAccessor.identityAPI.getUserMemberships(userId, 0, 0, UserMembershipCriterion.ASSIGNED_DATE_ASC)){ if (um.getRoleId() == roleId){ return true; } } return false; </pre> <br><br> *Na Etapa 10, quando é gerado o formulário pelo Bonita Studio, esse formulário já contém algumas variáveis que serão muito utilizadas durante a formatação do formulário final, para mostrar dados do processo que já foram inseridos em tarefas anteriores. <br> Para fazer acesso a variáveis do BDM é utilizado o context da seguinte forma: #No '''UI Designer''' na aba '''Variables -> Create a new variable'''. #Crie um nome para a variável, e selecione o tipo '''External API'''. Como valor defina: <pre>..//{{context.nomeDoObjeto_ref.link}}</pre> <br> Substitua nomeDoObjeto pelo nome da variável definido na Etapa 8. <br><br> Para acessar documentos: <pre>context.nomeDoDocumento_ref</pre> <br><br> Para acessar ''Process variables'': #No '''UI Designer''' na aba '''Variables -> Create a new variable'''. #Crie um nome para a variável, e selecione o tipo '''External API'''. #Como valor defina: <pre>../API/bpm/caseVariable/{{caseId}}/nomeDaVariável</pre> <br> Substitua nomeDaVariável pelo nome da variável definido na Etapa 8. <br><br> A variável caseId é muito utilizada, porém ela não é criada junto com o formulário. Para acessar o valor do caseId: #No '''UI Designer''' na aba '''Variables -> Create a new variable'''. #Crie um nome para a variável, e selecione o tipo '''Javascript expression'''. #Como valor defina: <pre>return $data.task.caseId;</pre> <br> Para acessar variáveis ou documento múltiplos é necessário fazer o seguinte: #Inserir um '''Container''' vazio no formulário #Definir a '''Collection''' do container como o atributo múltiplo desejado. E.g, <pre>nomeDoObjeto.atributo</pre>, isso fará com que o '''Container''' receba os valores deste atributo. #Inserir algum campo dentro do Container. Campos de Input ou Text são adequados para mostrar dados. Definir como valor do campo inserido acima como: <pre>$item</pre> <br> Isto fará com que sejam mostrados ao usuário todos os elementos do atributo. Cada elemento do atributo será mostrado em um bloco diferente. Caso o atributo possua dois valores será mostrado 2 campos de '''Input''', um para cada valor. <br> *Nas Etapas 7 e 8 é fundamental ter criado anteriormente os grupos e papéis dos usuários que pertençam à Organização que será utilizada
Resumo da edição:
Por favor, note que todas as suas contribuições em EAPn podem ser editadas, alteradas ou removidas por outros contribuidores. Se você não deseja que o seu texto seja inexoravelmente editado, não o envie.
Você está, ao mesmo tempo, a garantir-nos que isto é algo escrito por si, ou algo copiado de alguma fonte de textos em domínio público ou similarmente de teor livre (veja
EAPn - Escritório de Automação de Processos de Negócio:Direitos de autor
para detalhes).
NÃO ENVIE TRABALHO PROTEGIDO POR DIREITOS DE AUTOR SEM A DEVIDA PERMISSÃO!
Cancelar
Ajuda de edição
(abre numa nova janela)
Menu de navegação
Ferramentas pessoais
Não autenticado(a)
Discussão
Contribuições
Entrar
Espaços nominais
Página
Discussão
português do Brasil
Visualizações
Ler
Editar
Ver histórico
Mais
Pesquisa
Navegação
Página principal
Mudanças recentes
Página aleatória
Ajuda do MediaWiki
Ferramentas
Páginas afluentes
Mudanças relacionadas
Páginas especiais
Informações da página