Importante
Caro Cliente,
O TOTVS ECM 3.0 foi fundamentado na tecnologia de interface Flash, do qual a Adobe irá descontinuar seu suporte em 31/12/2020.
Recomendamos que nossos clientes avaliem a utilização do TOTVS Fluig Plataforma, que proporciona uma maior abrangência de recursos e importantes inovações tecnológicas. São inúmeras novidades não só em ECM e BPM que o Fluig entrega aos seus mais de 4 mil clientes, mas também conta com recursos de portais, social e identidade única.
Entre em contato com seu executivo de conta para saber mais detalhes desta oferta.
O TOTVS | ECM possibilita várias formas de customização, deixando o sistema mais flexível e seguro.
Para utilização interna ao sistema, são disponibilizados diversos DataSets que tem como objetivo disponibilizar aos processos de customização, uma consulta rápida e alguns dados do sistema.
Através do Painel de Controle, é possível navegar pelos DataSets disponíveis bem como visualizar o seu conteúdo. Com isto, é possível verificar quais os campos disponíveis, tanto para filtros quanto para acesso, bem como fazer testes sobre DataSets customizados.
Vários pontos do sistema podem fazer uso dos DataSets. Dependendo do local onde o DataSet é utilizado, podem ocorrer variações na forma de acessá-lo ou de manuseá-lo. Os DataSets podem ser acessados através de diversos pontos, por exemplo:
Os métodos disponíveis para utilização dos DataSets estão explicados no documento "Guia de Referência Customização de Datasets.pdf", disponível na mídia do produto.
O TOTVS | ECM disponibiliza uma série de WebServices para que seja possível que outros sistemas se comuniquem com ele.
Além de disponibilizá-los, o TOTVS | ECM pode acessar WebServices disponibilizados por outros sistemas. Para acessar, basta cadastrá-los através do ícone de serviços.
Para mais informações de utilização, consulte a documentação "Guia de Referência Utilização de Webservices.pdf" disponível na mídia do produto.
O TOTVS | ECM disponibiliza recursos como os Adapter e aplicativos, que possibilitam a execução de programas , como por exemplo, o ERP da Datasul, o EMS.
Existem também no produto, uma opção de visualização de relatórios, a ferramenta de visualização de relatório do TOTVS | ECM possui várias funcionalidades, sendo:
Ainda falando sobre relatórios, é possível, a partir da classe DatasetFactory, acessar dados de fichários no TOTVS | ECM e utilizá-los para popular um relatório.
O exemplo a seguir, apresenta uma chamada simples a um DataSet, nesse caso, ao DataSet "group".
function doTest1() { var dataset = DatasetFactory.getDataset("group", null, null, null);
return dataset.rowsCount;
}
Como cada linha do DataSet representa um registro, o método acima retorna a quantidade de grupos cadastrados no TOTVS|ECM.
Para acessar um WebService, é necessário criar um DataSet.
Exemplo
Existe um fichário que recebe um valor em reais e, através de uma função JavaScript pode-se pegar esse valor, enviar a um DataSet, que por sua vez pode enviá-lo a um WebService e após o WebService processar esse valor (converter o valor para dólar, por exemplo), fazer o caminho de volta até o fichário para que seja possível, por exemplo, preencher outro campo do formulário.
Através de uma função JavaScript no arquivo HTML do fichário, é possível criar um constraint que enviará um valor do fichário até o DataSet.
Exemplo
Neste exemplo, observe que está sendo enviado o valor do campo "diaria".
var c = DatasetFactory.createConstraint("valor", document.form.diaria.value, document.form.diaria.value, ConstraintType.MUST);
var constraints = new Array(c);
var dataset = DatasetFactory.getDataset("convertToDolar", null,constraints, null);
A seguir, apresentamos um exemplo para o DataSet convertToDolar, que recebe, entre outros valores, a constraint com o valor em reais e o envia até o WebService.
function createDataset(fields, constraints, sortFields) { var newDataset = DatasetBuilder.newDataset();
newDataset.addColumn("Cotacao");
var viagemService = ServiceManager.getService('WS');
var serviceHelper = viagemService.getBean();
var serviceLocator = serviceHelper.instantiate('org.apache.ws.axis2.WSLocator');
var service = serviceLocator.getWSHttpSoap11Endpoint();
var retorno = service.toDolar(new java.lang.Double(constraints[0].getInitialValue()));
newDataset.addRow(new Array(retorno.toString()));
return newDataset;
}
O comando ServiceManager.getService('W') realiza a comunicação com o WebService "WS", que por sua vez disponibiliza o método "toDolar", utilizado para realizar a conversão do valor em reais para o valor em dólar.
Após o WebService processar o valor e devolver ao DataSet o valor já em dólar, o DataSet retorna esse valor para o JavaScript do formulário, que por sua vez, pode popular um campo do fichário com o valor já convertido.
Exemplo
No código abaixo, observe como receber o retorno do DataSet.
var valor = dataset.values[0];
document.getElementById("valorEmDolar").value = valor["Cotacao"];
Observe no código, que pegamos o valor na posição zero do DataSet, que é uma linha, um registro e setamos na variável "valor", depois precisamos saber o nome da coluna do DataSet para pegar o valor do dólar, que nesse caso é "Cotacao" e o valor é enviado para o campo do formulário chamado "ValorEmDolar".
É possível criar DataSets customizados que podem ser construídos a partir de um código JavaScript. Uma vez que o próprio DataSet é criado a partir de um código JavaScript, é possível fazer chamadas a outros DataSets, chamadas à serviços externos ou apenas criar a DataSet a partir de valores codificados.
Exemplo
function createDataset(fields, constraints, sortFields) { var newDataset = DatasetBuilder.newDataset(); // Cria as colunas
newDataset.addColumn("Sigla");
newDataset.addColumn("Estado");
newDataset.addColumn("Capital");
newDataset.addColumn("Area");
// Cria os registros
newDataset.addRow(new Array('AM','Amazonas','Manaus',1570746));
newDataset.addRow(new Array('PA','Pará','Belém',1247690));
newDataset.addRow(new Array('MT','Mato Grosso','Cuiabá',903358));
newDataset.addRow(new Array('TO','Tocantins','Palmas',277621));
newDataset.addRow(new Array('PI','Piauí','Teresina',251529));
…
return newDataset;
}
No exemplo acima, é criado um DataSet cujo os campos e valores estão fixos no código. Para criar um novo DataSet, é utilizado o método DatasetBuilder.newDataset(). A partir deste objeto, é possível criar as colunas desejadas (addColumn) bem como adicionar linhas (addRow).
Os eventos de customização para fichário, são criados na área de metadados da publicação deste tipo de documento.
Altera os valores que serão apresentados no campo do formulário. Para isto, utilize o seguinte procedimento:
form.setValue(“nome-do-campo”, “valor”);
Exemplo
function displayFields(form, customHTML) { if ( form.getFormMode() == “MOD” ) { form.setValue('RNC_colab_abertura', new java.lang.Integer(1)); }}
Dispara no momento em que os objetos do formulário são habilitados, permitindo desabilitar alguns campos, caso haja necessdidade.
Para habilitar ou desabilitar um campo do formulário, realize o seguinte procedimento:
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);
}
}
Este evento é executado antes da gravação dos dados no formulário no banco de dados. Em caso de erros de validação dos dados no formulário, esse evento retornará uma mensagem de erro.
Exemplo
function validateForm(form) { if ( form.getValue('RNC_colab_abertura') == null ){
throw "O colaborador de abertura não foi informado";
}
}
Exemplo de customização de e-mail
O método é disparado no exato momento em que qualquer um dos e-mails de processo é enviado.
function onNotify(subject, receivers, template, params){ if(template.match("tpl028")!=null){ receivers.add("[email protected]"); }
}
Para mais informações sobre customizações, consulte a documentação do produto.