Olá Carolina! Tudo bem?
Pela imagem anexa neste tópico, está ocorrendo um erro no custom.js (linha 310). O displayFields não deve executar corretamente devido esta “quebra” na execução do JavaScript do formulário.
No custom.js é feito uma consulta de dataset para recuperar registros de uma tabela Pai x Filho, correto?
Se nesse Pai x Filho existem registros adicionados por outro usuário, é necessário que o usuário que está consultando tenha permissão nestes registros. Como é o formulário de um processo, você pode passar a constraint “userSecurityId” ao consultar os registros da tabela pai e filho com a matrícula do usuário que possui permissão (um administrador, por exemplo). Mais informações: http://tdn.totvs.com/display/fluig/Desenvolvimento+de+Datasets
Na visualização do formulário os registros do Pai e Filho são exibidos para qualquer usuário que interaja com o processo pois o fluig trata esta questão de segurança. Porém, para consultar os dados via dataset é necessário que as permissões estejam corretas ou utilizar a constraint que citei acima.
Após alterar a consulta do dataset passando a constraint “userSecurityId”, creio que serial melhor externalizar essa consulta em um dataset customizado e no formulário você consulta o dataset customizado – e a constraint (e a consulta como um todo) não fica visível caso algum usuário utilize o Developer Tools do navegador. Caso você precise de algum dado do formulário para consultar o Pai e Filho, você pode passar como constraint no dataset customizado. Para recuperar as constraints em um dataset customizado é bem simples:
function createDataset(fields, constraints, sortFields) {
var company;
var initialDate;
var finalDate;
if (constraints != null) {
for (var i = 0; i < constraints.length; i++) {
if (constraints[i].fieldName == "company") {
company = constraints[i].initialValue;
}
else if (constraints[i].fieldName == "date") {
initialDate = constraints[i].initialValue;
finalDate = constraints[i].finalValue;
}
}
}
//implementação do seu dataset...
}
Mais informações: http://tdn.totvs.com/display/fluig/Desenvolvimento+de+Datasets#DesenvolvimentodeDatasets-ConstruindoumDatasetCustomizado
Abs,
Marcos
Olá Carolina! Pode compartilhar o código que está implementado no displayFields, por favor?
— Marcos Jahn 17 de May de 2018Olá, Marcos, anexei o arquivo com o displayFields implementado. Agradeço a atençao!
— Carolina Mello 17 de May de 2018Por nada! Pode enviar o log do fluig também? Esqueci de pedir ele :|
— Marcos Jahn 17 de May de 2018Marcos, anexei os logs. No arquivo log-admin-4436, a solicitação 4436 foi assumida por um admin e tudo funcionou corretamente. No arquivo log-user-4438, a solicitação 4438 foi assumida por um usuário sem permissão de admin e o displayFields não funcionou.
— Carolina Mello 17 de May de 2018Qual o número da atividade onde está ocorrendo isso?
— Marcos Jahn 17 de May de 2018Mandei o log fazendo o teste na atividade 3, mas para usuários sem permissão de admin, o displayFields não funciona para nenhuma atividade. Em todas as atividades, o formulário é carregado inteiramente, sem esconder nenhum campo ou div. Esse processo é iniciado através de outro processo, usando o startProcess. No startProcess, configurei para a atividade inicial do segundo processo ser completada automaticamente, dessa forma, o processo já "inicia" na atividade 3
— Carolina Mello 17 de May de 2018No console do navegador não aparece nada?
— Marcos Jahn 17 de May de 2018Marcos, tirei print do console das duas telas. O primeiro é com o usuário admin e o segundo com o usuário normal. A função listaProcesso() depende de uma informação que só é preenchida posteriormente, por isso está puxando um valor "undefined"
— Carolina Mello 17 de May de 2018Hoje, um outro desenvolvedor enfrentou um problema parecido. Ele desenvolveu uma widget e deu permissão para um outro usuário comum acessar a página dessa widget. Quando esse usuário comum acessava a página, nada era mostrado, porem, qualquer outro usuário com permissão admin conseguia visualizar o conteudo dessa pagina. Para resolver, ele foi no Painel de Controles e acessou a opção "Permissões" e configurou a permissão "WIDGET - página" para todos os usuários visualizarem. Mas no meu caso, não consegui achar uma solução.
— Carolina Mello 17 de May de 2018Pode enviar o seu formulário (html, js, eventos), por favor? Acho que o problema não é o displayFields... Abs!
— Marcos Jahn 18 de May de 2018