01. DADOS GERAIS
| Produto: | | Solucoes_totvs_cross |
|---|
| SolucaoCross | TOTVS Backoffice |
|---|
|
| Solucoes_totvs_parceirosexptotvs |
|---|
|
|
|---|
| Linha de Produto: | |
|---|
| Segmento: | |
|---|
| Módulo: | | Modulos_cross_segmentos |
|---|
| ModulosCrossSegmentos | TOTVS Backoffice (Linha Protheus) - Ativo Fixo (SIGAATF) |
|---|
|
|
|---|
| Função: | ATFA050 - AF050FPR |
|---|
| País: | Brasil |
|---|
| Ticket: | Interno |
|---|
| Requisito/Story/Issue: | DSERCTR1-39974 |
|---|
02. SITUAÇÃO/REQUISITO
O ponto de entrada AF050FPR permite a seleção de determinados ativos a serem desconsiderados no Cálculo Mensal de depreciação.
| Informações |
|---|
|
Os exemplos utilizados nesse documento são meramente ilustrativos. |
| Aviso |
|---|
|
Os impactos causados pela utilização do ponto de entrada são de total responsabilidade do cliente que o implementou. Este PE pode ser executado via PROCEDURE ou ADVPL, se for executado o calculo de depreciação sem procedure utiliza-se o PE em ADVPL, agora se for executado o calculo de depreciação com PROCEDURE deve ser utilizado o PE via PROCEDURE
|
03. SOLUÇÃO
Explicação e contextualização sobre o uso do PE.
| Totvs custom tabs box |
|---|
| tabs | Passo 01, Passo 02, Passo 03, Passo 04 |
|---|
| ids | passo1,passo2 |
|---|
|
| Totvs custom tabs box items |
|---|
| default | yes |
|---|
| referencia | passo1 |
|---|
| Ponto de entrada quando o Cálculo de Depreciação é realizada por procedures. Detalhe que para ser utilizada, esta procedure AF050FPR deve ser codificada/desenvolvida na linguagem nativa do SGBD utilizado. Se utiliza ORACLE, codificar em ORACLE, se MSSQLSERVER codificar em SQLSERVER e se POSTGRES codificar em POSTGRES. O exemplo abaixo está em Oracle.
Procedimento para utilizar a procedure AF050FPR ou qualquer outro Ponto de Entrada em procedure. - Instalar o pacote principal de procedure e verificar se o ponto de Entrada foi criada, atentando-se para o parâmetro MV_DROPPE.
- Este deve estar parametrizado com "F" para que não se excluam os Pontos de Entradas.
Observe que essa procedure é sempre instalada no banco: Image Added
Obs: observe que o PE é sempre executada na chamada da procedure principal ATF001 da seguinte forma: | Bloco de código |
|---|
| language | sql |
|---|
| title | Chamada do PE via SQL |
|---|
| linenumbers | true |
|---|
| AF050FPR_11_T1 (vcFilial , vcN3_CBASE , vcN3_ITEM , vcN3_TIPO , vcN3_SEQ , IN_DATADEP , vcCalcula ); |
|
| Totvs custom tabs box items |
|---|
| default | no |
|---|
| referencia | passo2 |
|---|
| Exemplo em PROCEDURE: Image Added
| Aviso |
|---|
| Importante se atentar que em procedure deve-se codificar, na linguagem do banco de Dados. |
Se codificado em ADVPL: | Bloco de código |
|---|
| language | cpp |
|---|
| title | Exemplo em ADVPL |
|---|
| linenumbers | true |
|---|
| User Function AF050FPR()
Local lRet := .F.
Local cChave := Paramixb[1]
Local aChave := {}
// Monta array para itens que não serão depreciados
// CBASE CITEM
AADD(aChave, "100003 03 " )
AADD(aChave, "100005 05 " )
AADD(aChave, "111111 11 " )
If Ascan(aChave, cChave) # 0
lRet := .T.
Alert("Ponto de entrada AF050FPR() executado")
EndIf
Return lRet |
|
|
04. DEMAIS INFORMAÇÕES
| Informações |
|---|
|
| Bloco de código |
|---|
| language | cpp |
|---|
| title | Evento de Chamada do PE via ADVPL |
|---|
| linenumbers | true |
|---|
| If ExistBlock("AF050FPR")
If ExecBlock("AF050FPR",.F.,.F.,{cChave})
DbSelectarea(cAliasSn3)
(cAliasSn3)->( DbSkip() )
Loop
EndIf
EndIf |
| Bloco de código |
|---|
| language | sql |
|---|
| title | Evento de Chamada do PE via PROCEDURE |
|---|
| linenumbers | true |
|---|
| AF050FPR_11_XX (vcFilial , vcN3_CBASE , vcN3_ITEM , vcN3_TIPO , vcN3_SEQ , IN_DATADEP , vcCalcula ); |
| Informações |
|---|
| title | Parâmetros e Retorno |
|---|
|
Parâmetros em ADVPL: | Parâmetros | Tipo | Descrição |
|---|
| cChave - PARAMIXB[1] | Caractere | Chave retornada para utilização |
Parâmetros em PROCEDURE: | Parâmetros | Tipo | Descrição |
|---|
| IN_FILIAL | Caractere | Filial utilizada | | IN_CBASE | Caractere | Código base | | IN_ITEM | Caractere | Item do Código Base | | IN_TIPO | Caractere | Tipo do bem | | IN_SEQ | Caractere | Sequencia da inclusão do bem | | IN_DATA | Caractere | Data da depreciação | | OUT_RESULT | Caractere | Resultado retornado da procedure. Se "0" pula o registro, Se "1" não |
Retorno do ponto de entrada ADVPL e PROCEDURE: | Modo | Retorno | Tipo |
|---|
| PROCEDURE | OUT_RESULT | Caractere |
|---|
| ADVPL | lRet | Lógico |
|---|
|
|
05. ASSUNTOS RELACIONADOS