Histórico da Página
...
Utilizado quando é preciso fazer validação customizada nas propriedades da tela de publicação/edição de documentos antes de salva-lo no banco de dados. Dentre todas as propriedades da tela de publicação/edição de documentos não serão tratados os campos customizados, pois já existe um evento que trata esta situação.
Além disso, implementamos também um exemplo de como tornar o campo 'Descrição/Versão/Revisão' de preenchimento obrigatório, apresentado no momento do check in do documento. O exemplo é apresentado como: Exemplo 1 - Tornar campo descrição/versão/revisão obrigatório.
Exemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function beforeDocumentPublisher() {
// Exemplo de evento que impede o usuário de publicar um documento com descrição
// repetida em uma determinada pasta .
var state = getValue("WKState");
if (state == "PUBLISH") {
var doc = getValue("WKDocument");
// Faz validações apenas se o documento estiver sendo publicado na pasta
// 624
if (doc.getParentDocumentId() == 624) {
// Reduzir o retorno de registros para reduzir impacto em
// performance.
var constraintDocument1 = DatasetFactory.createConstraint(
'sqlLimit', '1', '1', ConstraintType.MUST);
// Passando código da pasta pai para o Dataset
var constraintDocument2 = DatasetFactory.createConstraint(
'parentDocumentId', doc.getParentDocumentId(), doc
.getParentDocumentId(), ConstraintType.MUST);
// Consultando apenas registros de documentos ativos.
var constraintDocument3 = DatasetFactory.createConstraint(
'activeVersion', 'true', 'true', ConstraintType.MUST);
// Consultando apenas nos documentos não foram removidos.
var constraintDocument4 = DatasetFactory.createConstraint(
'deleted', 'false', 'false', ConstraintType.MUST);
// Consultando documentos que tenham a mesma descrição informada na
// publicação
var constraintDocument5 = DatasetFactory.createConstraint(
'documentDescription', doc.getDocumentDescription(), doc
.getDocumentDescription(), ConstraintType.MUST);
var datasetDocument = DatasetFactory.getDataset('document', null,
new Array(constraintDocument1, constraintDocument2,
constraintDocument3, constraintDocument4,
constraintDocument5), null);
if (datasetDocument.rowsCount > 0) {
throw "Já existe um documento com a mesma descrição informada";
}
}
}
}
|
Bloco de código | ||
---|---|---|
| ||
function beforeDocumentPublisher() { var doc = getValue("WKDocument"); // Verifica se a descrição da versão não está preenchida if (doc.getVersionDescription() == "") { log.info("### Documento: " + doc.getDocumentId() + " - Versão: " + doc.getVersion() + " não está com a Descrição da Versão preenchida!"); // Informa somente o numero do documento de origem, para o caso de checkin com nova versao/revisao var constraintDocument1 = DatasetFactory.createConstraint('allocatedDocumentPK.sourceDocument', doc.getDocumentId(), doc .getDocumentId(), ConstraintType.MUST); // Instanciando o dataset var datasetDocument = DatasetFactory.getDataset('allocatedDocument', null, new Array(constraintDocument1), null); // Verifica se o documento esta em checkout/checkin e exibe a mensagem if (datasetDocument.rowsCount > 0) { throw "Para efetuar o checkin é necessário informar a Descrição da Versão!"; } } } |
São disponibilizadas algumas propriedades referentes ao documento que está sendo criado ou editado, porém somente para consulta através do método getValue.
...