Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice
minLevel3

Objetivo

O intuito deste programa é gerar CRUDs simples para as tabelas disponíveis dos bancos selecionados

O projeto está disponível aqui:totvs-codegen.zip

Acesso

O gerador pode ser acessado através da url do ambiente configurado

...

Alguns artefatos possuem dependências específicas a serem adicionadas no projeto.
Para verificar as dependências do projeto, acessa a sessão de dependências do projeto.

Dependências para a casca do projeto frontend

  • node: ^1616.20.0
  • totvs-gps-controls: ^5^15.40.317
  • totvs-gps-crud: ^5.40.17
  • totvs-gps-services: ^5^15.0.110
  • totvs-gps-utils: ^5.0.7
  • totvs-gps-custom: ^5.0.3

     Obs.: As dependências totvs-gps-controls, totvs-gps-crud, totvs-gps-services e totvs-gps-utils , e totvs-gps-custom serão disponibilizadas em um .tgz na casca disponibilizada na sessão de template do frontend


Dependências do projeto

  • node: 14.20.1
  • typescript: 3.8.3
  • angular: 9.1.6
  • progress: 12/11


Instalação do projeto

Necessário ter o node 14.20.1, angular 9.1.6 e progress 12/11 instalado na máquina.

Para instalação do node, basta acessar este link 

Para instalação do angular, com o node instalado, basta executar o comando npm install -g @angular/[email protected]

Se o ambiente for windows, execute o comando get-executionpolicy em seu powershell, se o resultado for diferente de RemoteSigned, execute o seguinte comando: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Com o projeto baixado, na pasta raiz do projeto é necessário executar o comando npm install, para instalação das dependências do projetoApós isso, basta rodar o comando npm run prod

Para sincronização dos dados basta acessar a sessão de sincronia de dados

Após isso, basta rodar o comando npm run prod

Obs.: Caso o ambiente do Codegen seja o mesmo ambiente que vai ser gerado os artefatos, terá que versionar o node, utilizando o NVM, podendo baixar no link aqui

Utilização

Na tela inicial, podem ser pesquisadas as aplicações que já estão cadastradas, incluir uma nova, editar uma já existente, excluir e gerar os artefatos da aplicação.

...

Sincronização de dados

Para que as tabelas aparecem apareçam é necessário com o progress 12 ou 11 instalado na máquina, executar o arquivo com tais parâmetros abaixo:

...

Bloco de código
languagebash
[caminho_instalacao_progress_12_ou_11 (ex.: dlc122)]/bin/prowin32.exe -b -pf "\arquivo.pf -cpterm iso8859-1 -cpstream ibm850 -basekey "ini" -ininame "arquivo.ini" -ininamepf "\arquivo.inipf" -p  "caminho_instalacao_codegen\dictsrc-pumpabl\dict-dump.p" -param \caminho_instalacao_codegen\data\[bases_de_dados_que_serao_utilizadas_separados_por_vírgula (ex.: srcadger, gp)]
  • arquivo.pf: O .pf é o arquivo que contém as configurações da conexão do progress com o banco. Nele vai estar alguns parâmetros da sessão, bem como apontamentos de conexões com bancos de dados
  • arquivo.ini: O .ini é para configuração para telas GUI (Graphical User Interface) 

Caso apareça uma mensagem semelhante a essa:Image Added

Exclua os arquivos gerados no /data/tables e tente novamente.

Em seguida, deve-se executar o comando npm run build:data contido no package.json para atualizar os dados

...

Aqui fica disponibilizado a "casca" de um projeto Angular

Casca_do_projeto.7z

Para verificar as dependências da casca do projeto frontend, clique aqui

Para instalar as dependências da casca do projeto frontend, basta rodar o comando npm install --legacy-peer-deps na pasta thf2

Para o build do artefato, na basta thf2, após o artefato e suas dependências estarem nos devidos lugar, basta executar o comando ng build nome-do-artefato --watch --output-path=diretorio-tomcat\webapps\nome-do-projeto\nome-do-artefato --configuration=production

Após isso, se tudo ocorrer bem, o projeto poderá ser acessado no http://localhost:porta-configurada/nome-do-projeto/nome-do-artefato

Caso seja gerado um novo template, após a compilação do projeto, já irá aparecer na tela para seleção desse template

  • Para criar um novo template é necessário criar na basta pasta data/template.

  • Usando como base um dos dois templates existentes (backend/frontend), basta copiar e colar na mesma pasta e fazer as devidas alterações

...

O Codegen gera apenas a aplicação para ser inserido dentro de projeto progress

As includes ut-api, ut-api-notfound, ut-api-utils, ut-api-action já são expedidadas no produto padrão

  • Para criar um novo template é necessário criar na basta data/template.

...

  • Para o template de backend, na pasta [nome_do_template]/$GP/[nome_do_componente], terá a pasta api e a pasta bosau, bosau, dbo e rtp

Image AddedImage Removed

  • Dentro da pasta api/v1, irá conter o arquivo cuja vai fazer comunicação com a bosau e realizar a comunicação com o frontend, contendo os endpoints
  • Dentro da pasta bosau, irá conter dois arquivos, o .i, onde ficará a include da tabela temporária, e no ponto .p conterá o fluxo de CRUD com a conexão da tabela selecionada
  • Dentro da pasta dbo/utils, irá conter o arquivo .i, onde faz as tratativas de erros http que são recebidas pela rowerror.i do rtp
  • Dentro da pasta rtp, irá conter o arquivo .i, onde pode se chamar para gerar erros de campos e de regras, como no exemplo abaixo:

Image Added