Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Livros Fiscais - SIGAFIS
Função:

FISXSERID.PRW

SPEDXFUN.PRW

FISX002.PRW

FISXFUN.PRX

FISA008.PRW

FISA007.PRW

FISX001.PRW

Ticket:6118173
Requisito/Story/Issue (informe o requisito relacionado) :DSERFIS1-14171

02. SITUAÇÃO/REQUISITO

Performance SPED Contribuições.

03. SOLUÇÃO

Verificado que a função aadd feita varias vezes demora mais que a atribuição direta das posições necessárias no array.

Função: SerieToSDoc localizada no fonte: FisxSerId.prw


Verificado que a função SerienfId, é uma ofensora no quesito performance, portanto avaliado na função SPEDSitDoc no fonte SPEDXFUN, uma chamada desnecessária.

Função: SerienfId localizada no fonte: SPEDXFUN.prw


Verificado que a função CTOD chamada varias vezes desnecessariamente para inicializar variavel do tipo data que so é utilizada em situação especifica onde esta variavel é utilizadda apenas para atribuir data ja contida em outra variavel.

A mesma se encotra no metodo GeraLinha do fonte FISX002.

Função: GeraLinha localizada no fonte: FISX002.prw


Verificado que a função AModNot ao ser chamada, executa desnecessariamente EXISTBLOCK a declararação de variavel, sendo que a mesma é utilizada apenas em dois casos especificos de validação na rotina.

Função: AModNot localizada no fonte: FISXFUN.prx


Verificado que a função FSA0080150 ao ser chamada, executa varias vezes a função aADD, e conforme avaliação ja feita, o aADD é uma possivcel ofensora quanto a performance, portanto a atribuição do array aPar é feita uma unica vez na função.

Função: FSA0080150 localizada no fonte: FISA008.prw


Verificado que a função FSA0080200 ao ser chamada, executa varias vezes a função aADD, e conforme avaliação ja feita, o aADD é uma possivcel ofensora quanto a performance, portanto a atribuição do array aPar é feita uma unica vez na função.

Função: FSA0080200 localizada no fonte: FISA008.prw


Verificado que a função FSA0080500 ao ser chamada, executa varias vezes a função aADD, e conforme avaliação ja feita, o aADD é uma possivcel ofensora quanto a performance, portanto a atribuição do array aPar é feita uma unica vez na função.

Função: FSA0080500 localizada no fonte: FISA008.prw


Verificado que a função IndPagToE1 ao ser chamada, percorre desnecessariamente a tabela SE1 para contar o numero de titulus, e que por isso a linha que executa o SE1->(DBSKIP()) passa a ser grande ofensora no tocante a performance da rotina, portanto foi montada uma consulta via query, que faz a seleção de uma vez sem precisar ficar percorrendo a tabela SE1

Função: IndPagToE1 localizada no fonte: FISA008.prw


Levando em consideração o acerto anterior, tambem foi alterada a função IndPagToE2

Função: IndPagToE2 localizada no fonte: FISA008.prw


Levando em consideração o grande numero de chamadas da função PROCC175, foi verificado que o calculo efetuado 2 vezes para alimentar a variavel nValDesp pode ser um ofensor quanto ao tempo de execução da rotina.

Função: PROCC175 localizada no fonte: FISA007.prw


Verificado que na função SPEDSitDoc, ao executar a função Dbseek, esta afetando a performance da rotina, logo como proposta de melhoria de tempo a mesma sera executada apenas quando necessario, ou seja, se o campo F3_CODRSEF existir no array aSPDSX3.

Função: SPEDSitDoc localizada no fonte: SPEDXFUN.prw


Melhoria efetuada na função ChkRegraNf, visando a melhoria de performance por esta função ser chamada para cada registro da SFT ao imprimir o relatório FISR101.

Função: ChkRegraNf localizada no fonte: FISX001.prw





04. DEMAIS INFORMAÇÕES

Não se aplica.

05. ASSUNTOS RELACIONADOS

Para Demais Informações referente a Apuração EFD Contribuições, acessar o link:

EFD-Contribuições: Apuração

EFD-Contribuições: Geração do Arquivo