01. VISÃO GERAL

A classe TCIWritten foi desenvolvida para viabilizar o acesso aos dados gravados nas tabelas F2D e CJ3 do Configurador de Tributos (FISA170) de uma forma dinâmica e intuitiva. 

Este documento tem o objetivo de demonstrar o funcionamento da classe TCIWritten (Tax Configurator Integration Written) e seus os métodos.

02. COMO USAR

Utilizando os métodos disponíveis deve-se informar o ID (ou IDs) que se deseja obter os dados, feito isso será retornado o dado em tipo caractere estruturado como Json.

03. MÉTODOS

New()

New() é o método construtor da classe TCIWritten.

Exemplo de implementação

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	oDados := JsonObject():New()
	
	oDados := TCIWritten():New()

return	
	

SetId()

O método SetId() serve para informa o Id ou Id's que deseja obter as informações.

Exemplo de implementação

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	oDados := JsonObject():New()
	aIds := {"369ca132-2b3b-ac96-6b78-3247afcc2219","a5dcda40-d145-28d1-c57f-1047e15ce1fe"}
	
	oDados := TCIWritten():New()
	oDados:SetId(aIds)

return	 

GetDataId()

O método GetDataId() serve para retornar os dados obtidos das tabelas F2D e CJ3 do ID(s) solicitado através do método SetId()

Exemplo de implementação

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	oDados := JsonObject():New()
	aIds := {"ec451397-7b97-8114-a231-74a1490e1417"}
	cResponse := ""
	
	oDados := TCIWritten():New()
	oDados:SetId(aIds)
	cResponse := oDados:GetDataId()

return cResponse

Para o correto funcionamento do método GetDataId() é imprescindível informar o(s) ID(s) que deseja os dados através do método SetId(), caso contrário será retornado um "erro - Necessita informar Id"

Exemplo de retorno GetDataId()


{
  "dados_Id": {
    "ec451397-7b97-8114-a231-74a1490e1417": {
      "TRIB01-XIFIS26": {
        "filial": "XIFIS26",
        "tributo": "ICMS",
        "base_tributo ": 12130.8,
        "aliquota_tributo": 18,
        "valor_tributo": 2183.54,
        "valor_urf": 0,
        "mva": 0,
        "valor_pauta": 0,
        "percentual_majora": 0,
        "indice_aux_majora": 0,
        "tributo_majora": "",
        "aliquota_majora": 0,
        "valor_majora": 0,
        "ded_dependentes": 0,
        "dados_escriturados": {
          "filial": "XIFIS26",
          "codigo_tributo": "TRIB01",
          "valor_tributado": 0,
          "cst": "90",
          "valor_isento": 0,
          "valor_outros": 12130.8,
          "valor_nao_tributado": 0,
          "valor_diferido": 0,
          "valor_majorado": 0,
          "perc_majorado": 0,
          "perc_diferido": 0,
          "perc_reducao": 0,
          "valor_pauta": 0,
          "mva": 0,
          "ind_aux_mva": 0,
          "Ind_aux_majora": 0,
          "codigo_tab_cst": "000001",
          "valor_base_original": 0
        }
      },
      "TRIB02-XIFIS26": {
        "filial": "XIFIS26",
        "tributo": "IPI",
        "base_tributo ": 11028,
        "aliquota_tributo": 10,
        "valor_tributo": 1102.8,
        "valor_urf": 0,
        "mva": 0,
        "valor_pauta": 0,
        "percentual_majora": 0,
        "indice_aux_majora": 0,
        "tributo_majora": "",
        "aliquota_majora": 0,
        "valor_majora": 0,
        "ded_dependentes": 0,
        "dados_escriturados": {
          "filial": "XIFIS26",
          "codigo_tributo": "TRIB02",
          "valor_tributado": 0,
          "cst": "49",
          "valor_isento": 0,
          "valor_outros": 11028,
          "valor_nao_tributado": 0,
          "valor_diferido": 0,
          "valor_majorado": 0,
          "perc_majorado": 0,
          "perc_diferido": 0,
          "perc_reducao": 0,
          "valor_pauta": 0,
          "mva": 0,
          "ind_aux_mva": 0,
          "Ind_aux_majora": 0,
          "codigo_tab_cst": "000003",
          "valor_base_original": 0
        }
      },
      "TRIB03-XIFIS26": {
        "filial": "XIFIS26",
        "tributo": "PIS",
        "base_tributo ": 11028,
        "aliquota_tributo": 1.65,
        "valor_tributo": 181.96,
        "valor_urf": 0,
        "mva": 0,
        "valor_pauta": 0,
        "percentual_majora": 0,
        "indice_aux_majora": 0,
        "tributo_majora": "",
        "aliquota_majora": 0,
        "valor_majora": 0,
        "ded_dependentes": 0,
        "dados_escriturados": {
          "filial": "XIFIS26",
          "codigo_tributo": "TRIB03",
          "valor_tributado": 181.96,
          "cst": "70",
          "valor_isento": 0,
          "valor_outros": 0,
          "valor_nao_tributado": 0,
          "valor_diferido": 0,
          "valor_majorado": 0,
          "perc_majorado": 0,
          "perc_diferido": 0,
          "perc_reducao": 0,
          "valor_pauta": 0,
          "mva": 0,
          "ind_aux_mva": 0,
          "Ind_aux_majora": 0,
          "codigo_tab_cst": "000005",
          "valor_base_original": 0
        }
      },
      "TRIB04-XIFIS26": {
        "filial": "XIFIS26",
        "tributo": "COF",
        "base_tributo ": 11028,
        "aliquota_tributo": 7.6,
        "valor_tributo": 838.13,
        "valor_urf": 0,
        "mva": 0,
        "valor_pauta": 0,
        "percentual_majora": 0,
        "indice_aux_majora": 0,
        "tributo_majora": "",
        "aliquota_majora": 0,
        "valor_majora": 0,
        "ded_dependentes": 0,
        "dados_escriturados": {
          "filial": "XIFIS26",
          "codigo_tributo": "TRIB04",
          "valor_tributado": 838.13,
          "cst": "70",
          "valor_isento": 0,
          "valor_outros": 0,
          "valor_nao_tributado": 0,
          "valor_diferido": 0,
          "valor_majorado": 0,
          "perc_majorado": 0,
          "perc_diferido": 0,
          "perc_reducao": 0,
          "valor_pauta": 0,
          "mva": 0,
          "ind_aux_mva": 0,
          "Ind_aux_majora": 0,
          "codigo_tab_cst": "000006",
          "valor_base_original": 0
        }
      }
    }
  }
}


Descrição das propriedades contidas no tributo

PropriedadeTipoDescrição
filialcaractereFilial da operação
tributocaractereSigla do tributo
base_tributonúmeroValor da base do tributo
aliquota_tributonúmeroAlíquota do tributo
valor_tributonúmeroValor do tributo
valor_urfnúmeroValor da URF
mvanúmeroValor do MVA
valor_pautanúmeroValor pauta
percentual_majoranúmeroPercentual majorado
indice_aux_majoranúmeroÍndice auxiliar majoração
tributo_majoracaractereTributo majorado
aliquota_majoranúmeroAlíquota majorada
valor_majoranúmeroValor majorado
ded_dependentesnúmeroDedução por dependentes

Descrição das propriedades contidas em dados escriturados

AtributoTipoDescrição
FilialcaractereFilial da operação
valor_tributadonúmeroValor tributado
cstcaractereCST
valor_isentonúmeroValor isento
valor_outrosnúmeroValor outros
valor_nao_tributadonúmeroValor não tributado
valor_deferidonúmeroValor deferido
valor_majoradonúmeroValor majorado
perc_majoradonúmeroPercentual majorado
perc_diferidonúmeroPercentual diferimento
perc_reduçãonúmeroPercentual redução
valor_pautanúmeroValor pauta
mvanúmeroMVA
ind_aux_mvanúmeroÍndice auxiliar MVA
ind_aux_majoranúmeroÍndice auxiliar majorado
codigo_tab_cstcaractereCod. Tabela CST
valor_base_originalnúmeroValor base original

destroy()

O método destroy() vai limpar tudo que estiver em memória da classe TCIWritten

Exemplo de implementação

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	oDados := JsonObject():New()
	aIds := {"369ca132-2b3b-ac96-6b78-3247afcc2219","a5dcda40-d145-28d1-c57f-1047e15ce1fe"}
	cResponse := ""
	
	oDados := TCIWritten():New()
	oDados:SetId(aIds)
	cResponse := oDados:GetDataId()

	oDados:destroy()

return cResponse

Todos os exemplos demonstrados nesta documentação são fictícios, criados com intuito de orientar, cabendo ao desenvolvedor aplicar os conceitos demonstrados da forma que atenda plenamente as necessidades da operação.