Árvore de páginas

Versões comparadas

Chave

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

etivo

Página destinada a detalhar as particularidades do TAF nos processos corporativos ( expedição, manutenção e inovação )

Introdução

Os itens abaixo são referências que devem ser adotadas no desenvolvimento, homologação e liberação do TAF para as versões 11 e 12.

Índice
Índice

1. Conceitos do TOTVS Automação Fiscal

1.1. Modelos de Distribuição

Pode ser distribuído como módulo do sistema Microsiga Protheus ou como aplicação segregada ao ERP.

 

1.2. Arquitetura

1.2.1. Linguagem

O TAF utiliza a linguagem ADVPL e a base de dados é voltada a banco de dados relacional.

1.2.2. Estrutura

Utiliza o mesmo conceito da arquitetura Protheus ( visite TOTVS | Platform )

1.2.3. Metadados

Utiliza o conceito de metadados em sua arquitetura ( visite Dicionário de Dados )

1.2.4. Tabelas Autocontidas

São as tabelas informadas e pré-preenchidas pelo Governo. No TAF essas tabelas são carregadas automaticamente e podem ser utilizadas nos cadastros e movimentos do sistema. Exemplo: Países, Municípios, CFOP, etc...

1.2.5. Layout TOTVS

Possui um layout único de integração que tem como objetivo possuir a maior quantidade de informações para a geração das mais variadas obrigações acessórias, ou seja, o Layout foi elaborado de forma lógica, garantindo que de apenas uma integração diversas obrigações possam ser geradas dentro do TAF.

Visite Layout Único Atual

1.2.6. Integração

Existem dois modelos de integração disponíveis para integração com o TAF, a integração Online e a integração Banco a Banco, conforme abaixo:

  1. Integração Online:
    Neste cenário o ERP envia as informações em real time para o TAF, ou seja, no momento em que o usuário confirma a operação no ERP o TAF já é atualizado automaticamente. 
    Este cenário somente é disponível para quando o ERP utilizar a mesma base (Dicionário de Dados/RPO) do produto TAF. 

  2. Integração Banco a Banco:
    Neste cenário utiliza-se conexão banco-a-banco para realizar a integração das informações. Este conceito utiliza a própria ferramenta DBAcces/TopConnect. Com isso, a aplicação grava em uma tabela compartilhada e sob seu domínio, ou seja, no mesmo database, o XML criado por sua rotina de integração. Após gravá-lo, o TAF através de suas rotinas de monitoramento, processará os XMLs disponíveis e transportará para uma tabela de controle dentro de seu ambiente de processamento (TAF).

Visite Manual de Integração do TAF - Para o ERP(Origem)

 

1.3. Recursos de Desenvolvimento

1.3.1. Ferramenta TDS ( TOTVS Development Studio )

  • Ambiente de desenvolvimento

1.3.2. Ferramenta ATUSX

  • Gerenciamento de metadados padrão
  • Manutenção do Dicionário de dados
  • Gerenciamento dos projetos e pacotes de dicionário de dados
  • Compilação de pacotes de requisitos ( inovação )

O Projeto TAF SEGREGADO está separado dos projetos de dicionário de dados do Protheus padrão. O objetivo é manter sempre um dicionário segregado visando o modelo de distribuição de aplicação autônoma.

O dicionário do TAF também está no dicionário padrão do Protheus. O objetivo é manter o dicionário do TAF no padrão para atender ao modelo de distribuição como módulo do ERP.

 

O dicionário poderá ser alterado através de um requisito ( processo de inovação ) ou através de um chamado ( processo de manutenção ). Veja abaixo como deve ser feita a manutenção de acordo com o seu processo de desenvolvimento:

Os ajustes de dicionário realizados no ATUSX serão efetivados através do update oficial UPDDISTR ( visite Atualizador de dicionário e base de dados - UPDDISTR )


*Detalhes sobre as regras do UPDDISTR:

1.3.3. Ferramenta TFS

  • Ambiente de versionamento e gerenciamento dos fontes
  • O TAF utiliza diretórios do Protheus Padrão ( $/Protheus_Padrao ) e também possui um diretório específico ( $/TAF ) para outros controles.

2. Inovação

Este tópico tem como objetivo detalhar a as particularidades do TAF no processo de inovação.

2.1. Tenho um requisito do TAF que devo desenvolver na versão 11

Durante o ciclo de construção, os requisitos de Inovação ( JIRA ) serão desenvolvidos e homologados na branch de Inovação.


Fontes: Deverá ser utilizada a branch de Inovação do TAF - versão11: $/TAF/Inovação, de acordo com o release de entrega, exemplo: 11.80.13, 11.80.14, etc...

Dicionário de Dados: Para alteração do dicionário de dados, deverá seguir os passos abaixo:
  • As alterações de dicionário deverão ser realizadas no ATUSX ( em pacote individual por requisito ) e incorporados no final do release de expedição do TAF ( de acordo com o calendário de expedição da versão 11 );
  • Os pacotes do ATUSX sempre devem ser criados abaixo do Projeto do Release de entrega da versão 12, ou seja, deve-se planejar a homologação do requisito/chamado de réplica da versão 12 assim que iniciar o desenvolvimento da versão 11. O objetivo é realizar as alterações de dicionário uma única vez, garantindo a integridade do TAF em ambas as versões.
  • Assim que o chamado/requisito for homologado na versão 11, deve ser solicitado ao GCAD que faça a incorporação no Projeto TAF Segregado ( utilizado para atualização do TAF na versão 11 );
  • Verifique como alterar o dicionário de dados no tópico Recursos de Desenvolvimento -> Ferramenta ATUSX.

2.1. Tenho um requisito do TAF que devo desenvolver na versão 12

Durante o ciclo de construção, os requisitos de Inovação ( JIRA ) serão desenvolvidos e homologados na branch de Inovação.
Fontes: Branch de Inovação do TAF - versão 12 ( release incremental ): $/Protheus_Padrao/Fontes_Doc/Inovação/V12

Dicionário de Dados: Para alteração do dicionário de dados, deverá seguir os passos abaixo:
    • As alterações de dicionário deverão ser realizadas no ATUSX ( em pacote individual por requisito ) e incorporados no final do release de expedição do TAF ( de acordo com o calendário de expedição da versão 12 );
    • Assim que o chamado/requisito for homologado na versão 12, este automaticamente será incorporado ao Release “pai” para expedição.
    • Os requisitos/chamados da versão 12 devem obedecer o Calendário do Release Incremental.
    • Verifique como alterar o dicionário de dados no tópico Recursos de Desenvolvimento -> Ferramenta ATUSX.

3. Manutenção

Este tópico tem como objetivo detalhar a as particularidades do TAF no processo de inovação.


3.1. Tenho um chamado do TAF que devo desenvolver na versão 11

Durante o ciclo de construção, os chamados de Manutenção ( SSIM ) serão desenvolvidos e homologados na branch de Manutenção ou de Inovação.

  • O chamado a ser desenvolvido não possui alteração no modelo de dados

    Deverá apenas realizar a alteração no código fonte de acordo com a versão/release da correção.

    Fontes: Deverá ser utilizada a branch de Manutenção do Protheus_Padrao ( pasta do TAF ) - versão11: $/Protheus_Padrao/Fontes_Doc/Sustentação/V11/V118/Fontes/TAF

  • O chamado a ser desenvolvido possui alteração no modelo de dados

Neste caso, deverá ser avaliado a categoria do chamado e a criticidade do mesmo:

 

Criticidade X

Categoria

BaixaMediaAltaCrítica
CAT001Ação 1Ação 1Ação 2Ação 2
CAT017Ação 1Ação 1Ação 1Ação 1
CAT014Ação 3Ação 3Ação 3Ação 3

 

 

Ação 1

Fontes: Deverá ser utilizada a branch de Manutenção do Protheus_Padrao ( pasta do TAF ) - versão11: $/Protheus_Padrao/Fontes_Doc/Sustentação/V11/V118/Fontes/TAF

Dicionário de Dados: Verificar se a alteração de dicionário é contemplada pelo UPDDISTR e, caso seja contemplada, realizar a alteração do dicionário através do ATUSX ( Tópico Recursos de Desenvolvimento -> Ferramenta ATUSX ) . Neste caso o cliente aguarda a expedição do Atualizador do TAF no final do release.

Caso a alteração de dicionário não seja contemplada pelo UPDDISTR, o ajuste é realizado no update do módulo ( UPDTAF ) que pode ser encontrado no diretório de fontes padrão.

  • As alterações de dicionário deverão ser realizadas no ATUSX ( em pacote individual por requisito ) e incorporados no final do release de expedição do TAF ( de acordo com o calendário de expedição da versão 11 );
  • Os pacotes do ATUSX sempre devem ser criados abaixo do Projeto do Release de entrega da versão 12, ou seja, deve-se planejar a homologação do requisito/chamado de réplica da versão 12 assim que iniciar o desenvolvimento da versão 11. O objetivo é realizar as alterações de dicionário uma única vez, garantindo a integridade do TAF em ambas as versões.
  • Assim que o chamado/requisito for homologado na versão 11, deve ser solicitado ao GCAD que faça a incorporação no Projeto TAF Segregado ( utilizado para atualização do TAF na versão 11 );
  • Verifique como alterar o dicionário de dados no tópico Recursos de Desenvolvimento -> Ferramenta ATUSX.
Ação 2

Fontes: Deverá ser utilizada a branch de Manutenção do Protheus_Padrao ( pasta do TAF ) - versão11: $/Protheus_Padrao/Fontes_Doc/Sustentação/V11/V118/Fontes/TAF

Dicionário de Dados: O ajuste é realizado no update do módulo ( UPDTAF ) que pode ser encontrado no diretório de fontes padrão.

 

 

Ação 3

Uma melhoria que envolve alteração no dicionário de dados deve ser absorvida no roadmap e tratado através do processo de Inovação.

 

3.2. Tenho um chamado do TAF que devo desenvolver na versão 12


Adotar o processo padrão de manutenção do Release Incremental: Manutenção com Dicionário de Dados - Release Incremental

 

Expedição

Fluxo operacional

Image Removed

 

Manutenção

( devido as mudanças no processo do release incremental este tópico está sendo reavaliado )

 

Os códigos fontes do TAF estão armazenados em um único diretório no TFS. Qualquer manutenção nas rotinas, independente da versão do TAF ( 11 ou 12 ), devem ser realizadas nesse único diretório.

Após a homologação do chamado, as alterações serão compiladas em

4

diretórios distintos:

1) D-1 Protheus Padrão - Versão 11 ( todas as línguas e bases );

2) D-1 Protheus Padrão - Versão 12 ( todas as línguas e bases );

3) D-1 TAF - Versão 11 ( todas as línguas, base TOPCONNECT );

4) D-1 TAF - Versão 12 ( todas as línguas, base TOPCONNECT ).

Todo chamado da versão 11 deverá gerar uma réplica para a versão 12. Como o fonte já foi corrigido na versão 11 e este se aplica à todas as versões, a FNC réplica da versão 12 deverá ser encerrada apenas com os fontes corrigidos amarrados como dependência no pacote. Deverá ser colocada uma observação no encerramento da FNC, indicando o chamado original que aquele erro já foi corrigido.

 

Versão12
1 - Chamado envolve alteração de dicionário
  • Fonte: Alterar na branch de Inovação do Release Corrente
  • Dicionário: Alterar apenas no ATUSX - Pacote MANUTENÇÃO do Release corrente
2 - Chamado não envolve alteração de dicionário
  • Fonte: Alterar na branch de Manutenção
3 - Chamado envolve alteração de tabela autocontida
  • Tabela Autocontida: Alterar na branch de Inovação do release corrente
  • Regra: A tabela autocontida sofrerá manutenção através de uma legislação, e consequentemente entrará no processo de inovação ( item 1 ).
  • Exceções ( apenas em casos críticos ): Alterar na branch de manutenção com uma sub-versão, exemplo: autocontidasv100301.taf.
  • Devem ser alterada a versão apenas dos .dbf que sofreram manutenção. Os demais mantem a versão.
4 - Chamado envolve alteração no layout.def / dbf / dtc
  • Layout: Alterar na branch de Inovação do release corrente
  • Regra: O Layout sofrerá manutenção através de uma legislação, e consequentemente entrará no 
    processo de inovação ( item 1 ).
  • Exceções ( erros ): Criar uma sub-versão na seção de "build" do layout dentro do layout.def
  • Observação: Criar uma seção de versão dentro do layout.def ( formato: versão + sub-versão + data ) exemplo: 2.600120150626
  • Criptografar arquivo layout.def ( + interface que descriptografa o arquivo para visualização )
Versão11
1 - Chamado envolve alteração de dicionário
  • Fonte: Alterar na branch de manutenção
  • Dicionário: Alterar o UPDTAF ( UPDDISTR não executa o RUP_ na versão 11 )
  • Observação: Alterar o manual de atualização orientando a execução do UPDTAF que primeiro executa o UPDDISTR (automático) e depois o UPDTAF.
  • Documentar todas as alterações no boletim ( TDN ).
  • Criar uma trava no UPDATE, só pode ser executado na versão 11 ( quando o diretório único estiver em produção ) verificar o nome da função genérica.
2 - Chamado não envolve alteração de dicionário
  • Fonte: Alterar na branch de Manutenção
3 - Chamado envolve alteração de tabela autocontida
  • Tabela Autocontida: Alterar na branch de Inovação do release corrente
  • Regra: A tabela autocontida sofrerá manutenção através de uma legislação, e consequentemente entrará no processo 
    de inovação ( item 1 ).
  • Exceções ( apenas em casos críticos ): Alterar na branch de manutenção com uma sub-versão, exemplo: autocontidasv100301.taf.
  • Devem ser alterada a versão apenas dos .dbf que sofreram manutenção. Os demais mantem a versão.
4 - Chamado envolve alteração no layout.def / dbf / dtc
  • Layout: Alterar na branch de Inovação do release corrente
  • Regra: O Layout sofrerá manutenção através de uma legislação, e consequentemente entrará no 
    processo de inovação ( item 1 ).
  • Exceções ( erros ): Criar uma sub-versão na seção de "build" do layout dentro do layout.def
  • Observação: Criar uma seção de versão dentro do layout.def ( formato: versão + sub-versão + data ) exemplo: 2.600120150626
  • Criptografar arquivo layout.def ( + interface que descriptografa o arquivo para visualização )

 

Alterando o dicionário

Image Removed

 

Image Removed

 

  

 

 CriticidadeBaixaMédiaAltaCríticaCategoria     CAT001 Ação 1Ação 1Ação 2Ação 2CAT017 Ação 3Ação 3Ação 3Ação 3

. Expedição

4.1. Fluxo operacional

Image Added

 

 

CAT014 Ação 3Ação 3Ação 3Ação 3