Ferramentas do usuário

Ferramentas do site


documentinfo_tube

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
documentinfo_tube [2019/09/04 20:00]
127.0.0.1 edição externa
documentinfo_tube [2020/03/20 21:52] (atual)
45.168.204.222 Atualizando descrição
Linha 1: Linha 1:
 ===== Document Info ===== ===== Document Info =====
-Recupera ​informações sobre os documentos de um determinado ​template, ​ou documento corrente+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 casoserá necessário utilizar ​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: === === Formato: ===
->  documentInfo(<//data//>, //opt//) \\+>  ​<​data>​.documentInfo(//​opt//) **OU** documentInfo(//<​data>//, //opt//) \\
  
 === Parâmetros: ​ === === Parâmetros: ​ ===
-  * //​data//: ​objeto ou vetor de uma Struct específica que contém ​os fields: [name] : String, [id] : Integer, [version] : Integer, [author] : String, [link] : String, [state] : String. +  * //**data**//: É sempre ​uma estrutura (struct[DocumentInfo]). 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: 
-  * //​opt//: ​caso //data// seja um objeto, //opt// deve ser "​pdf"​ ou "​docx"; ​caso //data// seja um vector, //opt// deve ser o Identifier do template a ser inspecionado.+<​code>​ 
 +struct[DocumentInfo] {   
 +  fields {   
 +    +[name] : String, ​  
 +    +[id] : Integer, ​  
 +    +[version] : Integer, ​  
 +    +[author] : String, ​  
 +    +[link] : String, ​  
 +    +[state] : String ​  
 +  }   
 +
 +</​code>​ 
 + 
 +**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. 
 + 
 +  * //**opt**//: É um parâmetro que varia de acordo com o uso. Se desejar recuperar informações do documento corrente, //**opt**// deve ser "​pdf"​ ou "​docx"​, correspondendo ao formato do arquivo que será gerado e criado o link para downloadPara recuperar informações de outro documento, //**opt**// deve ser a variável Document correspondente ao template a ser inspecionado ​mais o formato do arquivo desejadoVeja os exemplos abaixo:\\ 
 + 
 +> <​objReceiver>​.documentInfo("​pdf"​) **OU** documentInfo(<​objReceiver>,​ "​pdf"​) ​  
 +> <​objReceiver>​.documentInfo(<​varDocument>,​ "​pdf"​) **OU** documentInfo(<​objReceiver>,​ <​varDocument>,​ "​pdf"​)
  
 === Retorno: ​ === === Retorno: ​ ===
-Devolve as informações correspondentes ao dado documento.+Devolve as informações correspondentes ao documento. As informações ficam armazenadas na estrutura criada.
  
 === Exemplo: === === Exemplo: ===
- template[TEMP_DocumentInfo] {  +<​code>​ 
- metainfo {  +template[TEMP_DocumentInfo] { 
- language = "​pt_BR"​ +  metainfo { 
- }  +    language = "​pt_BR"​ 
- head {  +    ​name ​= "Template documentInfo
- title ​= "MY SELF"  +    declarations { 
-   }  +      struct[DocumentInfo] { 
- body { +        fields { 
- declarations { +          +[name] : String, 
- +<​docInfo>​ : struct[DocumentInfo] { +          +[id] : Integer, 
- fields { +          +[version] : Integer, 
- +[name] : String, +          +[author] : String, 
- +[id] : Integer, +          +[link] : String, 
- +[version] : Integer, +          +[state] : String 
- +[author] : String, +        
- +[link] : String, +      
- +[state] : String +    
- +  } 
- +  body { 
- +    declarations { 
- operations { +      branch[BRC_Objeto_InfoDoTemplate] { 
- documentInfo(<​docInfo>, "​pdf"​),​ +        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"​ 
- print <docInfo+        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 
 +    } 
 +  } 
 +
 +</​code>​
documentinfo_tube.1567627247.txt.gz · Última modificação: 2019/09/04 20:00 por 127.0.0.1