Ferramentas do usuário

Ferramentas do site


documentinfo_tube

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(opt) OU documentInfo(<data>, opt)

Parâmetros:

  • 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:
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.
  • 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 download; Para recuperar informações de outro documento, opt 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”) OU documentInfo(<objReceiver>, “pdf”)
<objReceiver>.documentInfo(<varDocument>, “pdf”) OU documentInfo(<objReceiver>, <varDocument>, “pdf”)

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
    }
  }
}
documentinfo_tube.txt · Última modificação: 2020/03/20 21:52 por 45.168.204.222