01. VISÃO GERAL

A classe TCIProcessing foi desenvolvida para viabilizar o acesso aos dados em processamento do Configurador de Tributos (FISA170) de uma forma dinâmica e intuitiva, desprendendo o fluxo dos dados de condições impostas pela tabela SF4 (TES). 

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

02. COMO USAR

A Classe TCIProcessing possibilita obter os dados do Configurador de Tributos (FISA170) que estão em processamento, ou seja, em tempo de execução, dados que estão sendo calculados pela MATXFIS e não foram persistidos em banco de dados. Sendo assim, para o funcionamento correto é imprescindível que a classe seja consumida após a inicialização da MATXFIS e antes do seu encerramento.

03. MÉTODOS

New()

Método construtor da classe TCIProcessing.

Exemplo de utilização

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

setDataItens()

O método setDataItens() serve para acrescentar ao processamento dos dados retornados pelo método GetDataItens() detalhes das configurações realizadas pelo usuário no Configurador de Tributos (FISA170). As configurações que podem ser obtidas são  "regras_base", "regras_aliquiota", "regras_escrituracao" e "detalhes_livro". O uso correto deste método é antes do consumo do método GetDataItens().

O uso do método setDataItens se faz necessário apenas quando há a necessidade obter dados de cadastros no Configurador de Tributos (FISA170), não sendo obrigatório para a obtenção dos tributos dos itens.

Exemplo de utilização setDataItens()

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	Local oDados := JsonObject():New
	Local cRetorno
	
	oDados := TCIPrecessing():New()
	oDados:setDataItens({"regras_base", "regras_aliquiota", "regras_escrituracao", "detalhes_livro"})
	cRetorno := oDados:GetDadaItens()

Return cRetorno

GetDataItems()

O método GetDataItems() retornará os dados dos tributos por item,  em estrutura Json com o tipo de dado caractere.

Exemplo de utilização GetDataItems()

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	Local oDados := JsonObject():New()
	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
	cRetorno := oDados:GetDataItems()

Return cRetorno 

Exemplo de retorno GetDataItems()

{
  "dados_itens": {
    "1": {
      "TRIB01": {
        "cod_regra": "TRIB01",
        "desc_regra": "REGRA ICMS CST 00 TRIBUTADO",
        "base_trib": 100,
        "aliq_trib": 18,
        "val_trib": 18,
        "regr_financ": "",
        "id_cadastro": "a1c7cdbc-d6a3-3f8f-b00c-f95c2b6b8202",
        "config_arred": true,
        "ident_trib": "000021",
        "formula_npi": "BAS:TRIB01 ALQ:TRIB01 *",
        "id_npi": "0e5b3e42-9a2b-5cf1-0f4a-0a17630aa57b",
        "cod_cabec_npi": "VAL:TRIB01",
        "margem_mva": 0,
        "mva": false,
        "mva_aux": 0,
        "val_pauta": 0,
        "pauta": false,
        "perc_majora": 0,
        "majorado": false,
        "ind_aux_majora": 0,
        "cod_trib_majora": "",
        "ded_dependentes": 0,
        "cod_regr_tab_progre": "",
        "cod_regr_ded_depen": "",
        "aliq_servico": 0,
        "aliq_servico_lei_comp": 0,
        "formula_calc_isento": "BAS:TRIB01",
        "formula_calc_outros": "BAS:TRIB01",
        "cod_regra_guia": "",
        "val_zero": false,
        "val_maximo": 0,
        "val_minimo": 0,
        "operador_maximo": "",
        "operador_minimo": ""
      }
	}
}

Descrição das propriedades contidas em dados_itens

PropriedadeTipoDescrição
cod_regracaractereCódigo da regra fiscal
desc_regracaractereDescrição da regra
base_tribnúmeroBase de cálculo do tributo
aliq_tribnúmeroAlíquota  do tributo
val_tribnúmeroValor do tributo
retencaobooleanIndica se o tributo tem retenção
regr_financcaractereCódigo da regra financeira
id_cadastrocaractereId Cadastro Tributo
conf_arredbooleanConfig. Arredondamento
ident_tribcaractereIdentificador do Tributo
desc_tribcaractereDescrição do tributo 
formula_npicaractereFórmula convertida em NPI
id_npicaractereId cabeçalho
cod_cabec_npicaractereCódigo do Cabeçalho
mvanúmeroMargem de Valor Agregado
mva_auxnúmeroíndice auxiliar MVA
val_pautanúmeroValor da pauta
perc_majoranúmeroPercentual majoração
ind_aux_majoranúmeroÍndice Auxiliar Majoração
cod_trib_majoracaractereCódigo do que majora o tributo atual
ded_dependentesnúmeroDedução por dependentes
cod_regr_tab_progrecaractereCódigo da regra de tabela progressiva
aliq_serviconúmeroAliquota padrão código lei complementar
cod_regr_ded_depencaractereCódigo da regra dedução dependentes
aliq_servico_lei_compnúmeroAlíquota de serviço da lei complemetar
formula_calc_isentocaractereFórmula de cálculo Isento
formula_calc_outroscaractereFórmula de cálculo outros
formula_calculocaractereFórmula do calculo que compõe o valor do Tributo
cod_regra_guiacaractereCódigo da regra de Guia
val_zerobooleanValor Zero na Base ou Alíquota
val_maximonúmeroValor máximo definido para o tributo
val_minimonúmeroValor mínimo definido para o tributo
operador_maximocaractereOperador de limite de valor máximo do tributo
operador_minimocaractereOperador de limite de valor mínimo do tributo

Exemplo de retorno GetDataItens() com setDataItens() contendo "regras_base", "regras_aliquiota", "regras_escrituracao" e "detalhes_livro".

{
  "dados_itens": {
    "1": {
      "TRIB01": {
        "cod_regra": "TRIB01",
        "desc_regra": "REGRA ICMS CST 00 TRIBUTADO",
        "base_trib": 100,
        "aliq_trib": 18,
        "val_trib": 18,
        "regr_financ": "",
        "id_cadastro": "b2355baf-baef-8f3c-877a-b0b81890f4f6",
        "config_arred": true,
        "ident_trib": "000021",
        "formula_npi": "BAS:TRIB01 ALQ:TRIB01 *",
        "id_npi": "a720bf23-c24d-3ed8-4822-e78e7d907d8b",
        "cod_cabec_npi": "VAL:TRIB01",
        "margem_mva": 0,
        "mva": false,
        "mva_aux": 0,
        "val_pauta": 0,
        "pauta": false,
        "perc_majora": 0,
        "majorado": false,
        "ind_aux_majora": 0,
        "cod_trib_majora": "",
        "ded_dependentes": 0,
        "cod_regr_tab_progre": "",
        "cod_regr_ded_depen": "",
        "aliq_servico": 0,
        "aliq_servico_lei_comp": 0,
        "formula_calc_isento": "BAS:TRIB01",
        "formula_calc_outros": "BAS:TRIB01",
        "cod_regra_guia": "",
        "val_zero": false,
        "val_maximo": 0,
        "val_minimo": 0,
        "operador_maximo": "",
        "operador_minimo": "",
        "regras_base": {
          "cod_regr_base": "BAS002",
          "origem_valor": "01",
          "acao_desconto": "2",
          "acao_frete": "3",
          "acao_seguro": "3",
          "acao_despesa": "3",
          "acao_icms_deson": "1",
          "acao_icms_ret": "1",
          "perc_reducao": 0,
          "tipo_reducao": "",
          "um_base": "",
          "id_cadastro": "71380195-0f8e-14e1-3620-7c53beb48b03",
          "formula_base": "B:BAS002",
          "id_formula": "6cf6c049-b177-0623-6b76-afc08e78c922",
          "cod_formula": "BAS:TRIB01"
        },
        "regras_aliquota": {
          "cod_regr_aliquota": "ALQ001",
          "origem_aliquota": "04",
          "tipo_aliquota": "1",
          "aliquota": 18,
          "cod_urf": "",
          "perc_urf": 0,
          "valor_urf": 0,
          "id_cadastro": "A:ALQ001",
          "id_aliquota": "47f56799-c5e1-c560-7a06-f228d9edbc5c",
          "cod_formula": "ALQ:TRIB01"
        },
        "detalhe_livro": {
          "cst": "00",
          "valor_tributado": 18,
          "valor_isento": 0,
          "valor_outros": 0,
          "valor_nao_tribut": 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,
          "cod_tab_cst": "000001",
          "val_base_original": 0
        },
        "regras_escrituracao": {
          "id_cadastro": "b20ddabf-ba24-358e-8168-2dc0563721a8",
          "incidencia": "1",
          "acao_tot_nf": "1",
          "perc_diferimento": 0,
          "cst": "00",
          "cod_tab_cst": "000001",
          "inc_parc_redu": ""
        }
      },
	}
}

Descrição das propriedades contidas em regras_base

PropriedadeTipoDescrição
cod_regr_basecaractereCódigo identificador da regra de base de cálculo
origem_valorcaractereOpção que indica a origem do valor que definirá a base de cálculo
acao_descontocaractereOpção que definirá se o valor do desconto deverá ter alguma ação sobre o valor de origem
acao_fretecaractereOpção que definirá se o valor do frete deverá ter alguma ação sobre o valor de origem
acao_segurocaractereOpção que definirá se o valor do seguro deverá ter alguma ação sobre o valor de origem
acao_despesacaractereOpção que definirá se o valor de despesas acessórias deverá ter alguma ação sobre o valor de origem
acao_icms_desoncaractereOpção que definirá se o valor do icms desonerado deverá ter alguma ação sobre o valor de origem
acao_icms_retcaractereOpção que definirá se o valor do icms retido deverá ter alguma ação sobre o valor de origem
perc_reducaonúmeroPercentual de redução de base de cálculo
tipo_reducaocaractereOpção que definirá o momento em que a redução ocorrerá
um_basecaractereUnidade de medida - Base de cálculo por quantidade
id_cadastrocaractereId identificação do cadastro
formula_basecaractereFórmula base
id_formulacaractereID da fórmula
cod_formulacaractereCódigo da fórmula

Para mais informações sobre o conteúdo dos campos verificar a documentação:

CFGTRIB - Configurador de Tributos - 12.1.22.10#CadastrodeRegradeBasedeC%C3%A1lculo

Descrição das propriedades contidas em regras_aliquota

PropriedadeTipoDescrição
cod_regr_aliquotacaractereCódigo identificador da regra de alíquota
origem_aliquotacaractereOpção que indica a origem da alíquota
tipo_aliquotacaractereOpção que defini  o tipo de alíquota informada manualmente
aliquotanúmeroAlíquota informada manualmente
cod_urfcaractereCódigo da URF
perc_urfnúmeroPercentual URF
valor_urfnúmeroValor da URF no período
id_cadastrocaractereId do cadastro Alíquota
formula_aliquotacaractereFórmula alíquota
id_aliquotacaractereID da fórmula
cod_formulacaractereCódigo da fórmula

Para mais informações sobre o conteúdo dos campos verificar a documentação:

CFGTRIB - Configurador de Tributos - 12.1.22.10#CadastrodeRegradeAl%C3%ADquota

Descrição das propriedades contidas em detalhes_livro

PropriedadeTipoDescrição
cstcaractereClassificação fiscal
valor_tributadonúmeroValor tributado
valor_isentonúmeroValor isento
valor_outrosnúmeroValor outros
valor_nao_tributnúmeroValor não tributado
valor_diferidonúmeroValor diferido
valor_majoradonúmeroValor majorado
perc_majoradonúmeroPercentual da Majoração
perc_diferidonúmeroPercentual do diferimento
perc_reducaonúmeroPercentual da redução
valor_pautanúmeroValor pauta
mvanúmeroMargem de valor agregado
ind_aux_mvanúmeroÍndice auxiliar de MVA
ind_aux_majoranúmeroÍndice auxiliar de majoração
cod_tab_cstcaractereTabela CST
val_base_originalnúmeroValor base original

Descrição das propriedades contidas em regras_escrituracao

AtributoTipoDescrição
id_cadastrocaractereId Cadastro
incidenciacaractereOpção de Incidência da regra de tributação
acao_tot_nfcaractereOpção para determinar a soma no total da nota fiscal
perc_diferimentonúmeroPercentual do diferimento
cstcaractereClassificação fiscal
cod_tab_cstcaractereTabela CST
inc_parc_reducaractereOpção que define a incidência da parcela reduzida de base de cálculo

Para mais informações sobre o conteúdo dos campos verificar a documentação:

CFGTRIB - Configurador de Tributos - 12.1.22.10#CadastrodeRegradeEscritura%C3%A7%C3%A3o

GetHeaderData()

O método GetHeaderData() retorna os dados de cabeçalho da operação em processamento, em estrutura Json com o tipo de dado caractere.

O método GetHeaderData() não retorna os dados por item, retornará os dados por tributo.

Exemplo de utilização GetHeaderData()

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	Local oDados := JsonObject():New()
	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
	cRetorno := oDados:GetHeaderData()

Return cRetorno

Exemplo de retorno GetHeaderData()

{
  "dados_cabecalho": {
    "TRIB01": {
      "cod_regra": "TRIB01",
      "base_trib": 500,
      "val_trib": 90,
      "regr_financ": "",
      "id_cadastro": "f935d6c2-658b-5527-795a-4366cff3686f",
      "cod_urf": "",
      "perc_urf": 0,
      "val_dep": 0,
      "cod_regr_guia": "",
      "val_majorado": 0,
      "id_trib": "000021"
    }
  }
}

Descrição das propriedades contidas em dados_cabecalho

PropriedadeTipoDescrição
cod_regracaractereCódigo da regra fiscal
base_tribnúmeroValor da base do tributo
val_tribnúmeroValor do tributo
regr_financcaractereCódigo da regra financeira
id_cadastrocaractereId Cadastro tributo
cod_urfcaractereCódigo da URF
perc_urfnúmeroPercentual da URF
val_depnúmeroValor dependente
cod_regr_guiacaractereCódigo Regra geração de guia
val_majoradonúmeroValor majorado
id_tribcaractereId de Tributos

GetSpreadSheetData()

O método GetSpreadSheetData() retornará os dados da planilha financeira da operação.

O método GetSpreadSheetData() não retorna os dados por item, retornará os dados por tributo.

Exemplo de utilização GetSpreadSheetData()

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	Local oDados := JsonObject():New()
	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
	cRetorno := oDados:GetSpreadSheetData()

Return cRetorno

Exemplo de retorno GetSpreadSheetData()

{
  "planilha_financeira": {
    "TRIB01": {
      "codigo": "TRIB01",
      "descricao": "REGRA ICMS CST 00 TRIBUTADO",
      "base": 500,
      "aliquota": 18,
      "valor": 90,
      "nome": "TG"
  }
}

Descrição das propriedades contidas em planilha_financeira

PropriedadeTipoDescrição
codigocaractereCódigo do tributo
descricaocaractereDescrição do tributo
basenúmeroValor base de cálculo tributo
aliquotanúmeroAlíquota do tributo
valornúmeroValor do tributo
nomecaractereNome de referencia

A requisição da planilha financeira pode trazer os dados de cálculos realizados pelo método legado (operações que levam em consideração os cadastros da TES - SF4) se houver composição da operação considerando "operadores legados", ou a operação envolvendo alguns tributos calculados exclusivamente pela TES (SF4).

GetTaxesSubjectToPayment()

O método GetTaxesSubjectToPayment() retornará os tributos passíveis de recolhimento.

O retorno do método GetTaxesSubjectToPayment() é realizado por tributo.

Exemplo de utilização GetTaxesSubjectToPayment()

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	Local oDados := JsonObject():New()
	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
	cRetorno := oDados:GetTaxesSubjectToPayment()

Return cRetorno

Exemplo de retorno GetTaxesSubjectToPayment()

{
  "tributos_passiveis_recolhimento": {
    "TRIB04": {
      "codigo_regra": "RF0002",
      "valor_tributo": 38,
      "numero_titulo": "TG0000001",
      "id_regra_fiscal": "297409ff-bfdf-3581-37f1-8b2de366f7d9",
      "histórico_titulo": "TRIB04 - NF: 000000001 / 004",
      "sigla_tributo": "TRIB04"
    }
  }
}

Descrição das propriedades contidas em tributos_passiveis_recolhimento

PropriedadeTipoDescrição
codigo_regracaractereCódigo da regra financeira
valor_tributonúmeroValor do tributo
numero_titulocaractereNúmero do título a ser gerado
id_regra_fiscalcaractereID da regra fiscal
histórico_titulocaractere

Histórico para gravar no título

sigla_tributocaractereSigla do Tributo

GetTaxesSubjectToWithholding()

O método GetTaxesSubjectToWithholding() retornará os dados de tributos passíveis de retenção, para isso é necessário informar a data da vigência através do método setDateTaxesToWithholding().

Exemplo de utilização GetTaxesSubjectToWithholding()

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	Local oDados := JsonObject():New()
 	Local cDate    := "20200101"
	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
 	oDados:setDateTaxesToWithholding(cDate)
	cRetorno := oDados:GetTaxesSujectToWithholding()

Return cRetorno

Exemplo de retorno GetTaxesSubjectToWithholding()

{
  "tributos_passiveis_retencao": {
    "TRIB03": {
      "sigla_tributo": "TRIB03",
      "base_tributo": 500,
      "valor_tributo": 8.25,
      "codigo_regra": "RF0001",
      "retem_integr_prim_parcela": false,
      "saldo_valor_tributo": 8.25,
      "codigo_base_tributos": 500,
      "id_regra": "663fcfca-7522-6e0f-7d70-7e6d64fe46eb",
      "codigo_urf": "",
      "percentual_urf": 0
    }
  }
}

Descrição das propriedades contidas em tributos_passiveis_retencao

PropriedadeTipoDescrição
sigla_tributocaractereSigla do tributo
base_tributonúmeroValor base de calculo Tributo
valor_tributonúmeroValor do tributo
codigo_regracaractereCodigo da regra financeira
retem_integr_prim_parcelacaractere

Indica se retém integralmente na primeira parcela

saldo_valor_tributonúmero

Saldo restante do tributo

saldo_base_tributosnúmero

Saldo restante da base de cálculo

id_regracaractere

ID da regra Fiscal

codigo_urfcaractere

Código da URF

percentual_urfnúmero

Percentual aplicável ao valor da URF

GetAllData()

O método GetAllData() retornará todas as propriedades disponíveis para o operação, dados_itens, dados_cabecalho, planilha_financeira, tributos_passiveis_retencao e tributos_passiveis_recolhimento.

Exemplo de utilização GetAllData()

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	Local oDados := JsonObject():New()
 	Local cDate    := "20200101"
	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
 	oDados:setDateTaxesToWithholding(cDate)
	oDados:setDataItens({"regras_base", "regras_aliquiota", "regras_escrituracao", "detalhes_livro"})
	cRetorno := oDados:GetAllData()

Return cRetorno

Exemplo de retorno GetAllData()

{
  "dados_itens": {
    "1": {
      "TRIB01": {
        "cod_regra": "TRIB01",
        "desc_regra": "REGRA ICMS CST 00 TRIBUTADO",
        "base_trib": 100,
        "aliq_trib": 18,
        "val_trib": 18,
        "regr_financ": "",
        "id_cadastro": "a893b8a4-b3fc-2536-455a-3cd44a5cd47a",
        "config_arred": true,
        "ident_trib": "000021",
        "formula_npi": "BAS:TRIB01 ALQ:TRIB01 *",
        "id_npi": "92a2f42e-e745-301b-183a-8f7d1af09b94",
        "cod_cabec_npi": "VAL:TRIB01",
        "margem_mva": 0,
        "mva": false,
        "mva_aux": 0,
        "val_pauta": 0,
        "pauta": false,
        "perc_majora": 0,
        "majorado": false,
        "ind_aux_majora": 0,
        "cod_trib_majora": "",
        "ded_dependentes": 0,
        "cod_regr_tab_progre": "",
        "cod_regr_ded_depen": "",
        "aliq_servico": 0,
        "aliq_servico_lei_comp": 0,
        "formula_calc_isento": "BAS:TRIB01",
        "formula_calc_outros": "BAS:TRIB01",
        "cod_regra_guia": "",
        "val_zero": false,
        "val_maximo": 0,
        "val_minimo": 0,
        "operador_maximo": "",
        "operador_minimo": "",
        "regras_base": {
          "cod_regr_base": "BAS002",
          "origem_valor": "01",
          "acao_desconto": "2",
          "acao_frete": "3",
          "acao_seguro": "3",
          "acao_despesa": "3",
          "acao_icms_deson": "1",
          "acao_icms_ret": "1",
          "perc_reducao": 0,
          "tipo_reducao": "",
          "um_base": "",
          "id_cadastro": "125c2940-17aa-ef29-f68d-b52a78217080",
          "formula_base": "B:BAS002",
          "id_formula": "b83ace11-2f6e-e316-2216-733f412d3f7d",
          "cod_formula": "BAS:TRIB01"
        },
        "regras_aliquota": {
          "cod_regr_aliquota": "ALQ001",
          "origem_aliquota": "04",
          "tipo_aliquota": "1",
          "aliquota": 18,
          "cod_urf": "",
          "perc_urf": 0,
          "valor_urf": 0,
          "id_cadastro": "A:ALQ001",
          "id_aliquota": "3200fd00-d30c-865a-169d-12c5b611d6a7",
          "cod_formula": "ALQ:TRIB01"
        },
        "detalhe_livro": {
          "cst": "00",
          "valor_tributado": 18,
          "valor_isento": 0,
          "valor_outros": 0,
          "valor_nao_tribut": 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,
          "cod_tab_cst": "000001",
          "val_base_original": 0
        },
        "regras_escrituracao": {
          "id_cadastro": "3ad6ff3e-48e9-5520-9c95-dc495a2db680",
          "incidencia": "1",
          "acao_tot_nf": "1",
          "perc_diferimento": 0,
          "cst": "00",
          "cod_tab_cst": "000001",
          "inc_parc_redu": ""
        }
      }
    }
  },
  "dados_cabecalho": {
    "TG_001": {
      "cod_regra": "TG_001",
      "base_trib": 500,
      "val_trib": 50,
      "regr_financ": "",
      "id_cadastro": "ff583f18-d972-1646-4985-f2b19e03e586",
      "cod_urf": "",
      "perc_urf": 0,
      "val_dep": 0,
      "cod_regr_guia": "",
      "val_majorado": 0,
      "id_trib": ""
  },
  "planilha_financeira": {
    "TRIB01": {
      "codigo": "TRIB01",
      "descricao": "REGRA ICMS CST 00 TRIBUTADO",
      "base": 500,
      "aliquota": 18,
      "valor": 90,
      "nome": "TG"
    }
  },
  "tributos_passiveis_retencao": {
    "TRIB03": {
        "sigla_tributo": "TRIB03",
        "base_tributo": 500,
        "valor_tributo": 8.25,
        "codigo_regra": "RF0001",
        "retem_integr_prim_parcela": false,
        "saldo_valor_tributo": 8.25,
        "codigo_base_tributos": 500,
        "id_regra": "663fcfca-7522-6e0f-7d70-7e6d64fe46eb",
        "codigo_urf": "",
        "percentual_urf": 0
      }
  },
  "tributos_passiveis_recolhimento": {
    "TRIB04": {
      "codigo_regra": "RF0002",
      "valor_tributo": 38,
      "numero_titulo": "TG0000001",
      "id_regra_fiscal": "297409ff-bfdf-3581-37f1-8b2de366f7d9",
      "histórico_titulo": "TRIB04 - NF: 000000001 / 004",
      "sigla_tributo": "TRIB04"
    }
  }
}

setItems()

O método setItems() permite especificar o número do item ou itens que desejar obter os dados em exclusivo através do método getDataItems() ou GetAllData().

Exemplo de utilização setItems()

using totvs.protheus.backoffice.fiscal.tciclass
Function Exemplo()
	Local oDados := JsonObject():New()
	Local aItems := {1, 3, 5}
 	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
 	oDados:setItems(aItems) 
	oDados:setDataItens({"regras_base", "regras_aliquiota", "regras_escrituracao", "detalhes_livro"})
	cRetorno := oDados:GetDataItems()

Return cRetorno

destroy()

O método destroy() encerra toda a operação da classe. 

Exemplo de utilização destroy()

Function Exemplo()
	Local oDados := JsonObject():New()
	Local aItems := {1, 3, 5}
 	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
 	oDados:setItems(aItems) 
	oDados:setDataItens({"regras_base", "regras_aliquiota", "regras_escrituracao", "detalhes_livro"})
	cRetorno := oDados:GetDataItems()

	oDados:destroy()

Return cRetorno
  • 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. 
  • A classe TCIProcessing foi desenvolvida visando a flexibilidade para que o desenvolvedor tenha a oportunidade de escolher qual a melhor forma de consumi-la, tendo em mente sempre a melhor performance.