Ações. Parte 1 - Reconhecimento de Nota Fiscal#

Vamos considerar um exemplo de robô, que é a primeira parte do projeto e demonstra o trabalho com Ações no Orquestrador, como pode ser visto do lado do Orquestrador aqui. Neste estágio, o robô reconhece os dados do documento pdf “Pedido ao Fornecedor 1.pdf”, após o que os dados obtidos são definidos como parâmetros da tarefa e essa tarefa é criada na fila especificada ($QueueGuid).

Ao criar a tarefa, é especificada a tag "1CNew" ($TaskTag). Além disso, nos parâmetros da tarefa, é fornecido um link para o arquivo pdf carregado no armazenamento ($StorageGuid).

A primeira parte do projeto do robô consiste em dois diagramas e um arquivo pdf.

Assim, se descrevermos passo a passo, este robô funciona da seguinte maneira:

  1. Carrega o arquivo na pasta especificada, no armazenamento do Orquestrador.
  2. Inicia o diagrama “ReconhecimentoDeDados”.
  3. Cria uma tarefa no Orquestrador e a adiciona à fila especificada.

O diagrama principal do projeto é assim (para conveniência, os blocos do diagrama estão numerados):

  1. Bloco “Início” (todas as diagramas começam a partir deste bloco).
  2. Bloco “Storage. Criar arquivo” cria um arquivo pdf no grupo de arquivos selecionado. Para este bloco, as seguintes propriedades são especificadas:
  • GUID/Nome do grupo de arquivos (GUID do grupo de arquivos (pasta) no Orquestrador, onde o documento pdf reconhecido será carregado);
  • Nome do arquivo;
  • Caminho para o arquivo (caminho para o arquivo no disco).
  1. Bloco “Processo” permite criar cenários compostos por vários diagramas. A execução do cenário continuará a partir do bloco “Início” do diagrama do projeto especificado. A execução do cenário retornará ao bloco atual e continuará no diagrama atual assim que o bloco “Fim” for alcançado no diagrama externo. Para o bloco “Processo”, é especificada a propriedade “Nome do diagrama” (nome do arquivo do diagrama, onde a execução do cenário continuará).
  1. Bloco “Adicionar tarefa à fila” cria uma tarefa e a adiciona à fila. Para este bloco, as seguintes propriedades são especificadas:
  • GUID/Nome da fila (GUID da fila no Orquestrador, onde a tarefa será adicionada).
  • Nome (nome da tarefa que será adicionada à fila selecionada no Orquestrador);
  • Parâmetros (parâmetros da tarefa que serão definidos após o reconhecimento dos dados do arquivo pdf);
  • Prioridade (prioridade de execução da tarefa);
  • Lista de tags (tags da tarefa a ser adicionada à fila);
  • Tempo de espera (tempo de espera pela resposta do servidor em segundos).
  1. Bloco “Fim” (este bloco encerra a execução do cenário ou retorna o diagrama do subprocesso ao processo principal).

Diagrama “ReconhecimentoDeDados”


  1. Bloco “Início” (todas as diagramas começam a partir deste bloco).
  2. Bloco “Reconhecer por modelo” permite reconhecer o documento por um modelo previamente criado no Modelador. Neste bloco, as seguintes propriedades são especificadas:
  • Caminho para o arquivo;
  • Caminho para o arquivo do modelo (caminho para o arquivo do modelo para reconhecimento).
  1. Bloco “Atribuir valor à variável” define novos valores para uma ou mais variáveis. Neste caso, nas propriedades, são especificados dois valores que devem ser atribuídos às variáveis.

Neste caso, as variáveis especificadas são os valores das células “Fornecedor” e “Pedido”. O valor da variável “Fornecedor” é atribuído a partir do dicionário de atributos pela chave "Executor". O valor da variável “Pedido” é atribuído a partir da chave "Pedido".

  1. Bloco “Ciclo para cada” itera sobre todas as linhas da tabela de dados.

  2. Bloco “Log” permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do cenário do robô. Neste caso, são utilizados três desses blocos, para os quais é especificada a propriedade “Valor” (para cada um dos blocos, um próprio) e o nível da mensagem ao enviar o log para o Orquestrador. Entre aspas, é especificada uma constante de texto, e o nome da variável começa com o símbolo $, indicado pela variável. Ou seja, neste caso, o log do robô registra mensagens sobre o reconhecimento de dados do “Fornecedor”, “Pedido” e “Produtos”.

  1. Bloco “Atribuir valor à variável” define novos valores para uma ou mais variáveis. Neste caso, os valores das colunas são obtidos e atribuídos às suas variáveis.

  2. Bloco “Adicionar linha” permite adicionar uma linha à tabela de dados. Neste caso, as seguintes propriedades são especificadas:

  • Tabela (tabela de dados à qual a linha é adicionada);
  • Valores (lista de valores da nova linha);* Número da linha (retorna o número da linha adicionada, a numeração começa em 0).
  1. Bloco “Fim” (este bloco finaliza a execução do script ou retorna o diagrama do subprocesso ao processo principal).