Histórico da Página
Índice | ||
---|---|---|
|
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 | ||
---|---|---|
| ||
[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:
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
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
- 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: