Histórico da Página
Índice
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
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:
...
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
{
"8CF162BB6ABF5415-F73A1642-4011-BE59A261-D8CB8AD280E5005056ACF625":{
"TG_001RGCOF1":{
"regra escrituracao":{
"id":"e118b1673269a74f-a462077a-0bb0e782-1a119775-08991d2ff2c2d7806aa371c7",
"dados adicionais":{
"AGCREDPRESMOTDESICMS":{
"conteudo":"1"
},
"BASEIPICAL":{
"conteudo":"O"
},
"ENQIPICODE":{
"conteudo":"113"
},
"TRIBPREF":{
"conteudo":"993"
}
}
},
"perfil de operacao":{
"id":"200003000030",
"dados adicionais":{
}
},
"regra de calculo":{
"id":"ff583f18-d972-1646-4985-f2b19e03e586",
"dados adicionais":{
}
}
},
"TG_005":{
"regra escrituracao":{
"id":"e118b167-a462-0bb0-1a11-08991d2ff2c2","ICMSSTNFSA":{
"dados adicionais":{
"AGCREDPRES":{
"conteudo":"1"
},
"BASEIPICALINDNATFRET":{
"conteudo":"O0"
},
"ENQIPICODEREGIMESPEC":{
"conteudo":"113"
},
"TRIBPREF":{
"conteudo":"99"
}
1"
}
},
"perfil de operacao":{
"id":"200003",
"dados adicionais":{
}
},
"regra de calculo":{
"id":"85cdcdffd88f0d0c-568a8d5e-55c44f86-41efd181-8c2794baf1217514b99b1ff2",
"dados adicionais":{
}
}
},
"TG_007"CCREDPRES":{
"regra escrituracao":{
"idconteudo":"10",
"dados adicionais":{
}
},
"perfil de operacao":{
"id":"200003",
"dados adicionais":{
"CONDSUSPRE":{
}
},
"regra de calculo":{
"id":"bfbf109d-6a16-d902-f0ce-9ee6362ad025","conteudo":"S"
"dados adicionais":{
}
}
},
"TG_008":{
"regra escrituracao":{
"id":"",
"dados adicionais":{
}
},
"perfil de operacao":{
"id":"200003",
"dados adicionais":{
}
},
"regra de calculo":{
"id":"e76759fc-bc51-315c-8821-90881d2da9d4",
"dados adicionais":{
}
}
},
"TG_009":{
"regra escrituracao":{
"id":"",
"dados adicionais":{
}
},
"perfil de operacao":{
"id":"200003",
"dados adicionais":{
}
},
"regra de calculo":{
"id":"2ae1ef12-c3bd-cbeb-816e-c3a9a7eb3afd",
"dados adicionais":{
}
}
},
"TG_010":{
"regra escrituracao":{
"id":"",
"dados adicionais":{
}
},
"perfil de operacao":{
"id":"200003",
"dados adicionais":{
}
},
"regra de calculo":{
"id":"06b30b5a-5f1b-9fe6-944b-2899fc8d707e",
"dados adicionais":{
}
}
},
"TG_012":{
"regra escrituracao":{
"id":"",
"dados adicionais":{
}
},
"perfil de operacao":{
"id":"200003",
"dados adicionais":{
}
},
"regra de calculo":{
"id":"99753c4c-08bf-23eb-93cb-78cacda14b79",
"dados adicionais":{
}
}
}
}
} |