Looplex Knowledge Base

Document Info

O documentInfo recupera informações sobre um documento gerado na plataforma (como por exemplo a versão ou o autor). Pode ser usado para recuperar informação do documento corrente ou de uma lista de documentos de um template. No segundo caso, será necessário utilizar o tipo Document para selecionar o template que deseja recuperar as informações.

Note que as informações recuperadas são dos documentos gerados na plataforma, não informações internas do template. Dessa forma, não é possível, via documentInfo, acessar variáveis de outro documento.

Formato:

<data>.documentInfo(format)
documentInfo(<data>, format)

Parâmetros:

  • data: É sempre um objeto, ou seja, é uma variável do tipo Struct. O Identifier da estrutura é de sua escolha, mas a estrutura deve conter os fields: [name] : String, [id] : Integer, [version] : Integer, [author] : String, [link] : String, [state] : String. Veja um exemplo abaixo:
struct[DocumentInfo] {
fields {
+[name] : String,
+[id] : Integer,
+[version] : Integer,
+[author] : String,
+[link] : String,
+[state] : String
}
}

Onde:
[name] : Recebe o nome do template;
[id] : Recebe o ID interno do template em nossa plataforma;
[version] : Recebe a versão do template no banco de dados;
[author] : Recebe o nome do usuário que gerou o documento na plataforma;
[link] : Recebe um link para download do documento;
[state] : Recebe o estado do template na plataforma, podendo ser: OPEN, LOCKED, COMPLETED, HIDE, REMOVED, BUGGED - para documentos normais; ACTION_ON, ACTION_OFF - para documentos com schedules; e PROTOCOL_START, PROTOCOL_PENDING, PROTOCOLLED, PROTOCOL_REQUESTED, PROTOCOL_ERROR - para documentos envolvidos em protocolação eletrônica.

  • format: É um parâmetro que varia de acordo com o uso. Se desejar recuperar informações do documento corrente, format deve ser (1) "pdf" ou "docx", correspondendo ao formato do arquivo que será gerado e criado o link para download, ou ainda, (2) um identificador de MarkupText do WebLang (como no tube EvalMarkupFile), podendo inclusive ser exportado para "pdf" caso deseje, com a opção "Identificador do Markup:pdf"; Para recuperar informações de outro documento, format deve ser a variável Document correspondente ao template a ser inspecionado mais o formato do arquivo desejado. Veja os exemplos abaixo:
<objReceiver>.documentInfo("pdf")
documentInfo(<objReceiver>, "pdf")
<objReceiver>.documentInfo(<varDocument>, "pdf")
documentInfo(<objReceiver>, <varDocument>, "pdf")
<objReceiver>.documentInfo("Nome do Arquivo WebLang")
documentInfo(<objReceiver>, "Nome do Arquivo WebLang")

Retorno:

Devolve as informações correspondentes ao documento. As informações ficam armazenadas na estrutura criada.

Exemplo:

template[TEMP_DocumentInfo] {
metainfo {
language = "pt_BR"
name = "Template documentInfo"
declarations {
struct[DocumentInfo] {
fields {
+[name] : String,
+[id] : Integer,
+[version] : Integer,
+[author] : String,
+[link] : String,
+[state] : String
}
}
}
}
body {
declarations {
branch[BRC_Objeto_InfoDoTemplate] {
description = "A variável <infoDocumento> armazena a informação do template e \"pdf\" seleciona o formato do arquivo que será gerado para download. Se \"pdf\" não for usado, não será gerado um link para download"
declarations {
-<infoDocumento> : DocumentInfo
}
operations {
<infoDocumento>.documentInfo("pdf"),
print bold("Informações do documento corrente:\n"),
print "> name: " & <infoDocumento.name> & "\n",
print "> id: " & <infoDocumento.id> & "\n",
print "> version: " & <infoDocumento.version> & "\n",
print "> author: " & <infoDocumento.author> & "\n",
print "> link: " & <infoDocumento.link> & "\n",
print "> state: " & <infoDocumento.state> & "\n\n"
}
},
branch[BRC_Objeto_InfoDeOutroDocumento] {
description = "Neste exemplo é acrescentado a variável <documentoEscolhido>. Essa variável recebe o template selecionado pelo suário. A variável Document pode ser até mesmo o próprio template."
declarations {
-<infoDeOutroDoc> : DocumentInfo,
+<documentoEscolhido> : Document[TEMP_MeuTemplateTeste] {
name = "Variável Document"
}
}
operations {
<infoDeOutroDoc>.documentInfo(<documentoEscolhido>, "pdf"),
print bold("Informações do outro documento selecionado:\n"),
print "> name: " & <infoDeOutroDoc.name> & "\n",
print "> id: " & <infoDeOutroDoc.id> & "\n",
print "> version: " & <infoDeOutroDoc.version> & "\n",
print "> author: " & <infoDeOutroDoc.author> & "\n",
print "> link: " & <infoDeOutroDoc.link> & "\n",
print "> state: " & <infoDeOutroDoc.state> & "\n\n"
}
},
branch[BRC_Vetor_InfoOutrosDocumentos] {
description = "Neste outro exemplo, a variável <infoDosDocumentos> recebe as informações de documentos selecionados pelo usuário no vetor de Document |documentosEscolhidos|."
declarations {
-<infoDosDocumentos> : DocumentInfo,
+|documentosEscolhidos| : Vector[Document[TEMP_MeuTemplateTeste]] {
name = "Vetor de Document"
}
}
operations {
print bold("Informações de outro documento:\n"),
foreach(<documento> IN |documentosEscolhidos|) {
<infoDosDocumentos>.documentInfo(<documento>, "pdf"),
print "> name: " & <infoDosDocumentos.name> & "\n",
print "> id: " & <infoDosDocumentos.id> & "\n",
print "> version: " & <infoDosDocumentos.version> & "\n",
print "> author: " & <infoDosDocumentos.author> & "\n",
print "> link: " & <infoDosDocumentos.link> & "\n",
print "> state: " & <infoDosDocumentos.state> & "\n\n"
}
}
}
}
operations {
use BRC_Objeto_InfoDoTemplate,
use BRC_Objeto_InfoDeOutroDocumento,
use BRC_Vetor_InfoOutrosDocumentos
}
}
}
Edit this page on GitHub