Tem como objetivo a importação de uma carga de dados do Excel para uma tabela de dados previamente cadastrada utilizando uma API (Application Programming Interface) → URL.../api/DataLoad/LoadExcelIntoDataTable
, onde iremos inserir os parâmetros com o código da tabela de dados de origem, o código da coluna e o código da linha onde o arquivo se encontra na tabela de dados de origem e o código da tabela de dados de destino, os dados processados irão para a dataTable de destino onde passamos os códigos através destes parâmetros para API através da QueryString. O processo busca as informações necessárias para preencher a tabela de dados no arquivo Excel, baseando-se no nome da coluna da tabela de dados e o cabeçalho das colunas no arquivo Excel, que devem ser os mesmos. Também leva em consideração o tipo de dados da tabela de dados de destino, tentando fazer as conversões de tipo quando necessário.
Os pré-requisitos da funcionalidade em geral são simplesmente, um usuário logado no T6, um formulário de dados com uma coluna do tipo arquivo para fazermos o upload do arquivo Excel e uma tabela de dados de destino.
Teremos que configurar algumas permissões de usuário como pré-requisitos do sistema para podermos criar o processo e o gatilho do workflow para realizar o upload dos dados do Excel para o T6.
O processo tem como base as colunas da tabela de dados de destino. São importadas todas as colunas da tabela de destino que tem uma contrapartida de mesmo nome no Excel (cabeçalho). Ou seja, colunas presentes no arquivo Excel, que não existem na tabela de dados são ignoradas. Também são levadas em consideração a configuração de tipos e restrições da tabela de dados. Caso a tabela de dados não possa ter um determinado campo nulo e o arquivo não prover essa informação, não será possível importar. Neste caso, a informação deve ser incluída no arquivo Excel ou deve-se alterar a tabela de dados para permitir inserir o campo nulo.
O processo busca na tabela referenciada em dataTableSourceCode, o arquivo Excel na coluna e linha informadas pelos parâmetros sourceRowCode e sourceColumnCode respectivamente e importa o arquivo para a tabela de dados informada no parâmetro dataTableDestinationCode.
Esta API recebe 4 parâmetros via querystring:
REP_DATATABLE_COLUMNS
na coluna codDataColumn
e verificar em qual linha se encontra o arquivo Excel adicionado na Tabela de dados de origem. (Essa informação, juntamente com o parâmetro sourceRowCode especifica em qual coluna da tabela de origem o arquivo está).um exemplo de como ficará a QueryString para utilização: URL.../api/DataLoad/LoadExcelIntoDataTable?dataTableSourceCode=***&sourceColumnCode=***&sourceRowCode=***&dataTableDestinationCode=***
O processo somente importará o arquivo em sua totalidade, caso ocorra algum erro, todo o processo será cancelado, revertido e será notificado no menu de notificações.
Para utilizarmos a importação dos dados do Excel para as tabelas de dados do T6, vamos precisar previamente de um arquivo Excel para anexar à tabela de origem.
Dentro do T6, vamos precisar criar uma Tabela de dados de origem (Source), uma tabela de dados de destino e um formulário de dados para cada tabela.
Na criação das colunas da tabela de dados de destino é obrigatório que o nome das colunas seja exatamente o mesmo nome dos cabeçalhos do arquivo Excel, assim como o tipo da coluna deve ser compatível com o tipo de dados existentes no arquivo do Excel, caso o tipo não seja compatível o T6 irá tentar fazer a conversão.
Caso o processo falhe será necessário ajustar a tabela de dados, ou o arquivo Excel, podendo ser necessário renomear as colunas da tabela ou o cabeçalho do arquivo Excel. A falha pode ocorrer também por conta de restrições na tabela de dados, como campos nulos não permitidos ou tipos de dados incompatíveis.
URL.../api/DataLoad/LoadExcelIntoDataTable?dataTableSourceCode=***&sourceColumnCode=***&sourceRowCode=***&dataTableDestinationCode=***
(podemos manipular os valores dos parâmetros da API através da função Instance(workflowParameter))
Caso ocorra algum erro na inserção da API será gerada uma notificação do sistema informado sobre o ocorrido.
Para informações quanto à configuração e implementação do Swagger, acesse nossa central de ajuda: Swagger.
Para abrir o Swagger, iremos utilizar o endpoint: URL.../swagger/index.html
qablue.tech6cloud.com/swagger/index.html
; (neste caso, qablue é o nome do seu domínio.)(servidor do IIS)/(nome da aplicação no IIS)/swagger/index.html
A URL informada antes da API vai depender do seu domínio na cloud, ou, em caso de ambiente local, das configurações informadas no seu IIS (Internet Information Services).
Ao acessar o endpoint será aberta uma página contendo todas as APIs do sistema, iremos localizar a API (/api/DataLoad/LoadExcelIntoDataTable
) e clicar em para expandi-la:
Ao expandir a API, são exibidas também as possíveis respostas que o sistema pode lhe retornar, assim como uma exibição detalhada da requisição, como por exemplo: