01. VISÃO GERAL
A classe TCAdditionalData (Tax Configurator Additional Data) foi desenvolvida para viabilizar o acesso aos dados adicionais que vão estar vinculados a rotinas do Configurador de Tributos (FISA170).
Este documento tem o objetivo de demonstrar o funcionamento da classe TCAdditionalData e seus os métodos.
Para entender como inserir/manipular esses dados adicionais nas suas devidas rotinas dentro do Protheus, siga a seguinte documentação: https://tdn.totvs.com.br/pages/viewpage.action?pageId=945397604
02. COMO USAR
A Classe TCAdditionalData possibilita obter os Dados Adicionais, tanto em documentos em processamento (Matxfis em tempo de execução), quanto para documentos persistidos em banco de dados. Sendo assim, para o funcionamento correto é imprescindível passar a classe qual o modo em que ela está sendo instanciada.
03. MÉTODOS
new()
Método construtor da classe TCAdditionalData.
| Bloco de código |
|---|
| language | js |
|---|
| theme | Midnight |
|---|
| title | Exemplo método New() |
|---|
|
using totvs.protheus.backoffice.fiscal.additionalData
Function Exemplo()
Local oDados as Json
oDados := TCAdditionalData():new()
Return |
destroy()
O método destroy() encerra toda a operação da classe.
| Bloco de código |
|---|
| language | js |
|---|
| theme | Midnight |
|---|
| title | Exemplo de utilização método destroy() |
|---|
|
using totvs.protheus.backoffice.fiscal.additionalData
Function Exemplo()
Local oDados as Json
oDados := TCAdditionalData():new()
oDados:destroy()
Return |
setDataMode( mode : String )
O Método setDataMode() serve para informar a classe em qual contexto ela está sendo instanciada. Ele sempre deve receber uma string com uma das opções abaixo:
| Opções | Descrição |
|---|
| "WRITTEN" | Deve ser passado quando o documento fiscal já foi persistido no banco de dados. |
| "PROCESSING" | Deve ser passado quando o documento fiscal ainda não persistido no banco de dados (Deve buscar o documento nas referencias da Matxfis) |
| Bloco de código |
|---|
| language | js |
|---|
| theme | Midnight |
|---|
| title | Exemplo método setDataMode() |
|---|
|
using totvs.protheus.backoffice.fiscal.additionalData
Function Exemplo()
Local oDados as Json
oDados := TCAdditionalData():new()
oDados:setDataMode('PROCESSING') // 'WRITTEN' ou 'PROCESSING'
Return |
setId( aIds : Array )
O Método setId() serve para informar para a classe os IDs (F2D_IDREL ou D1_IDTRIB/D2_TRIB) dos tributos dos documentos fiscais que já foram persistidos no banco de dados, então deve ser utilizada sempre com setDataMode() no modo WRITTEN.
| Bloco de código |
|---|
| language | js |
|---|
| theme | Midnight |
|---|
| title | Exemplo método setId() |
|---|
|
using totvs.protheus.backoffice.fiscal.additionalData
Function Exemplo()
Local oDados as Json
Local aIDs := {}
aIDs := {"8CF162BB6ABF5415-F73A1642-4011-BE59A261-D8CB8AD280E5005056ACF625"} // D1_IDTRIB = F2D_IDREL ou D2_IDTRIB = F2D_IDREL
oDados := TCAdditionalData():new()
oDados:setDataMode('WRITTEN') // Os documentos já foram persistidos no banco de dados
oDados:SetId(aIDs) // Informa os IDs do tributo que deseja consultar
Return |
getAdditionalData()
O Método getAdditionalData() serve para receber os dados adicionais de acordo com o que foi informado nos métodos setDataMode e setId (Para dados já persistidos).
| Bloco de código |
|---|
| language | js |
|---|
| theme | Midnight |
|---|
| title | Exemplo método getAdditionalData() |
|---|
|
using totvs.protheus.backoffice.fiscal.additionalData
Function Exemplo()
Local oDados as Json oDados := TCAdditionalData():new()
Local cResponse := ""
aIDs := {"8CF162BB6ABF5415-F73A1642-4011-BE59A261-D8CB8AD280E5005056ACF625"} // D1_IDTRIB = F2D_IDREL ou D2_IDTRIB = F2D_IDREL
oDados:setDataMode('WRITTEN') // Os documentos já foram persistidos no banco de dados
oDados:SetId(aIDs) // Informa os IDs do tributo que deseja consultar
cResponse := oDados:getAdditionalData() // Recebe os dados adicionais do tributo
Return |
Exemplo de retorno getAdditionalData()
| Bloco de código |
|---|
| language | js |
|---|
| theme | Midnight |
|---|
| title | Exemplo de retorno GetDataItems() |
|---|
|
{
"6ABF5415-1642-4011-A261-005056ACF625":{
"RGCOF1":{
"regra escrituracao":{
"id":"3269a74f-077a-e782-9775-d7806aa371c7",
"dados adicionais":{
"MOTDESICMS":{
"conteudo":"3"
}
}
},
"perfil de operacao":{
"id":"000030",
"dados adicionais":{
"ICMSSTNFSA":{
"conteudo":"1"
},
"INDNATFRET":{
"conteudo":"0"
},
"REGIMESPEC":{
"conteudo":"1"
}
}
},
"regra calculo":{
"id":"d88f0d0c-8d5e-4f86-d181-7514b99b1ff2",
"dados adicionais":{
"CCREDPRES":{
"conteudo":"10"
},
"CONDSUSPRE":{
"conteudo":"S"
}
}
}
}
}
} |