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
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.
Método construtor da classe TCAdditionalData.
using totvs.protheus.backoffice.fiscal.additionalData Function Exemplo() Local oDados as Json oDados := TCAdditionalData():new() Return |
O método destroy() encerra toda a operação da classe.
using totvs.protheus.backoffice.fiscal.additionalData Function Exemplo() Local oDados as Json oDados := TCAdditionalData():new() oDados:destroy() Return |
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) |
using totvs.protheus.backoffice.fiscal.additionalData
Function Exemplo()
Local oDados as Json
oDados := TCAdditionalData():new()
oDados:setDataMode('PROCESSING') // 'WRITTEN' ou 'PROCESSING'
Return |
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.
using totvs.protheus.backoffice.fiscal.additionalData
Function Exemplo()
Local oDados as Json
Local aIDs := {}
aIDs := {"6ABF5415-1642-4011-A261-005056ACF625"} // 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 |
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).
using totvs.protheus.backoffice.fiscal.additionalData
Function Exemplo()
Local oDados as Json oDados := TCAdditionalData():new()
Local cResponse := ""
aIDs := {"6ABF5415-1642-4011-A261-005056ACF625"} // 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 |
{
"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"
}
}
}
}
}
} |