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: Geração do Arquivo