Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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
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
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".

...

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:

...

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:

...

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:

...

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.

...

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
Informações
titleInformação

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()

...

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()

...

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.

...

Bloco de código
languagejs
themeMidnight
titleExemplo 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 setItenssetItems() permite especificar o número do item ou itens que desejar obter os dados em exclusivo através do método getDataItems() ou GetAllData().

//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------//

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

Exemplo do retorno da requisição do atributo dados_itens contendo os atributos de regras e detalhe do livro
Bloco de código
languagejs
themeMidnight
titleExemplo de retorno dados_itens com detalhes
{
    "dados_itens": [
        {
            "cod_regra": "TRIB01",
            "desc_regra": "REGRA ICMS CST 40 ISENTO",
            "base_trib": 100,
            "aliq_trib": 7,
            "val_trib": 7,
			"retencao":false,
            "regr_financ": "",
            "id_cadastro": "1563de01-0c33-87af-5437-01401e2f4532",
            "conf_arred": true,
            "ident_trib": "000021",
            "formula_npi": "BAS:TRIB01 ALQ:TRIB01 *",
            "id_npi": "96b65263-8caf-bbef-dc01-758e1d5701dd",
            "cod_cabec_npi": "VAL:TRIB01",
            "mva": 0,
            "mva_aux": 0,
            "val_pauta": 0,
            "perc_majora": 0,
            "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": "BAS001",
                "origem_valor": "01",
                "acao_desconto": "1",
                "acao_frete": "1",
                "acao_seguro": "1",
                "acao_despesa": "1",
                "acao_icms_deson": "1",
                "acao_icms_ret": "1",
                "perc_reducao": 0,
                "tipo_reducao": "",
                "um_base": "",
                "id_cadastro": "5ce3cd32-1d87-2a5c-5ad4-8525ab17ee1e",
                "formula_base": "B:BAS001",
                "id_formula": "fcd4411a-b439-9318-7eea-c4dba6299db5",
                "cod_formula": "BAS:TRIB01"
            },
            "regras_aliquota": {
                "cod_regr_aliquota": "ALQ005",
                "origem_aliquota": "04",
                "tipo_aliquota": "1",
                "aliquota": 7,
                "cod_urf": "",
                "perc_urf": 0,
                "valor_urf": 0,
                "id_cadastro": "80f93a77-3fdb-ed19-ac8d-b6b4be022372",
                "formula_aliquota": "A:ALQ005",
                "id_aliquota": "6c0d2b4e-5166-753e-61ab-918cf3a336d4",
                "cod_formula": "ALQ:TRIB01"
            },
            "detalhe_livro": {
                "cst": "40",
                "valor_tributado": 0,
                "valor_isento": 100,
                "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": "d62db7e9-419f-43a9-cc69-9cafe5805f5b",
                "incidencia": "2",
                "acao_tot_nf": "1",
                "perc_diferimento": 0,
                "cst": "40",
                "cod_tab_cst": "000001",
                "inc_parc_redu": "2"
            }
        }
    ]
}

planilha_financeira

Com esta atributo é possível obter os das referencias da planilha de cálculo da operação (planilha financeira), retornará o compilado total da operação. Deverá ser preenchido com um "sim" para obtenção dos dados por tributos.

Exemplo de requisição planilha_financeira:
Bloco de código
languagejs
themeMidnight
titleExemplo de requisição planilha_financeira
{
            "itens": "all",
            "planilha_financeira": "sim"
}
Descrição dos atributos contidos em planilha_financeira

...

Exemplo de utilização setItems()

Bloco de código
languagejs
themeMidnight
titleExemplo de utilização setItems()
Function Exemplo()
	Local oDados := JsonObject():New()
	Local aItems := {1, 3, 5}
 	Local cRetorno := ""
	
	oDados := TCIPrecessing():New()
 	oDados:setItems(aItems) 
	oDados:setDataItens(
Exemplo do retorno planilha_financeira
Bloco de código
languagejs
themeMidnight
titleExemplo requisição planilha_financeira
{
    "planilha_financeira": {
        "codigo_tributo": "TRIB01",
        "descricao_tributo": "REGRA ICMS CST 40 ISENTO",
        "base_tributo": 5000,
        "aliquota_tributo": 7,
        "valor_tributo": 350,
        "nome_ref": "TG"
    }
}
Informações
titleInformação

A requisição da planilha financeira pode trazer os dados de cálculos realizados 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).

Exemplo de retorno geral

Abaixo é apresentado um exemplo de um retorno de uma requisição que continha apenas um item, sendo assim, o retorno será o Json estruturado da seguinte forma:

Bloco de código
languagejs
themeMidnight
titleExemplo de Json de retorno geral
{
    "item": [
        1,
        {
            "dados_cabecalho": {
                "cod_regra": "TRIB01",
                "base_trib": 5000,
                "val_trib": 350,
                "regr_fin": "",
                "id_cadastro": "1563de01-0c33-87af-5437-01401e2f4532",
                "cod_urf": "",
                "perc_urf": 0,
                "val_dep": 0,
                "cod_regr_guia": "",
                "val_majorado": 0,
                "id_trib": "000021"
            },
            "dados_itens": {
                "cod_regra": "TRIB01",
                "desc_regra": "REGRA ICMS CST 40 ISENTO",
                "base_trib": 100,
                "aliq_trib": 7,
                "val_trib": 7,
                "regr_financ": "",
                "id_cadastro": "1563de01-0c33-87af-5437-01401e2f4532",
                "conf_arred": true,
                "ident_trib": "000021",
                "formula_npi": "BAS:TRIB01 ALQ:TRIB01 *",
                "id_npi": "96b65263-8caf-bbef-dc01-758e1d5701dd",
                "cod_cabec_npi": "VAL:TRIB01",
                "mva": 0,
                "mva_aux": 0,
                "val_pauta": 0,
                "perc_majora": 0,
                "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": "BAS001",
                    "origem_valor": "01",
                    "acao_desconto": "1",
                    "acao_frete": "1",
                    "acao_seguro": "1",
                    "acao_despesa": "1",
                    "acao_icms_deson": "1",
                    "acao_icms_ret": "1",
                    "perc_reducao": 0,
                    "tipo_reducao": "",
                    "um_base": "",
                    "id_cadastro": "5ce3cd32-1d87-2a5c-5ad4-8525ab17ee1e",
                    "formula_base": "B:BAS001",
                    "id_formula": "fcd4411a-b439-9318-7eea-c4dba6299db5",
                    "cod_formula": "BAS:TRIB01"
                },
                "regras_aliquota": {
                    "cod_regr_aliquota": "ALQ005",
                    "origem_aliquota": "04",
                    "tipo_aliquota": "1",
                    "aliquota": 7,
                    "cod_urf": "",
                    "perc_urf": 0,
                    "valor_urf": 0,
                    "id_cadastro": "80f93a77-3fdb-ed19-ac8d-b6b4be022372",
                    "formula_aliquota": "A:ALQ005",
                    "id_aliquota": "6c0d2b4e-5166-753e-61ab-918cf3a336d4",
                    "cod_formula": "ALQ:TRIB01"
                },
                "detalhe_livro": {
                    "cst": "40",
                    "valor_tributado": 0,
                    "valor_isento": 100,
                    "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": "d62db7e9-419f-43a9-cc69-9cafe5805f5b",
                    "incidencia": "2",
                    "acao_tot_nf": "1",
                    "perc_diferimento": 0,
                    "cst": "40",
                    "cod_tab_cst": "000001",
                    "inc_parc_redu": "2"
                }
            },
            "planilha_financeira": {
                "codigo_tributo": "TRIB01",
                "descricao_tributo": "REGRA ICMS CST 40 ISENTO",
                "base_tributo": 5000,
                "aliquota_tributo": 7,
                "valor_tributo": 350,
                "nome_ref": "TG"
            }
        }
    ]
}

Como demonstrado a estrutura será composta pelo número do item, e em seguida seus dados (válido para dados_cabecalho, dados_itens e suas regras e detalhes de livro e regras_escrituracao, dados de planilha_financeira apresentam os dados compilados de toda operação).

Notificação de erro

Caso haja a requisição de algum item que não exista Item not exist.

Exemplo
Bloco de código
languagejs
themeMidnight
titleRequisição
{
    "itens": [
        1,
        5,
        10
    ],
    "dados_itens": [
        "regras_base",
        "regras_aliquota",
        "detalhe_livro",
        "regras_escrituracao"
    ]
}
Bloco de código
languagejs
themeMidnight
titleRetorno
{
    "id": [
        "369ca132-2b3b-ac96-6b78-3247afcc2219",
        {
            "dados_cabecalho": {
                "cod_regra": "TRIB01",
                "base_trib": 5000,
                "val_trib": 350,
                "regr_fin": "",
                "id_cadastro": "1563de01-0c33-87af-5437-01401e2f4532",
                "cod_urf": "",
                "perc_urf": 0,
                "val_dep": 0,
                "cod_regr_guia": "",
                "val_majorado": 0,
                "id_trib": "000021"
            },
            "dados_itens": {
                "cod_regra": "TRIB01",
                "desc_regra": "REGRA ICMS CST 40 ISENTO",
                "base_trib": 100,
                "aliq_trib": 7,
                "val_trib": 7,
                "retencao": false,
                "regr_financ": "",
                "id_cadastro": "1563de01-0c33-87af-5437-01401e2f4532",
                "conf_arred": true,
                "ident_trib": "000021",
                "formula_npi": "BAS:TRIB01 ALQ:TRIB01 *",
                "id_npi": "96b65263-8caf-bbef-dc01-758e1d5701dd",
                "cod_cabec_npi": "VAL:TRIB01",
                "mva": 0,
                "mva_aux": 0,
                "val_pauta": 0,
                "perc_majora": 0,
                "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": "BAS001",
                    "origem_valor": "01",
                    "acao_desconto": "1",
                    "acao_frete": "1",
                    "acao_seguro": "1",
                    "acao_despesa": "1",
                    "acao_icms_deson": "1",
                    "acao_icms_ret": "1",
                    "perc_reducao": 0,
                    "tipo_reducao": "",
                    "um_base": "",
                    "id_cadastro": "5ce3cd32-1d87-2a5c-5ad4-8525ab17ee1e",
                    "formula_base": "B:BAS001",
                    "id_formula": "fcd4411a-b439-9318-7eea-c4dba6299db5",
                    "cod_formula": "BAS:TRIB01"
                },
                "regras_aliquota": {
                    "cod_regr_aliquota": "ALQ005",
                    "origem_aliquota": "04",
                    "tipo_aliquota": "1",
                    "aliquota": 7,
                    "cod_urf": "",
                    "perc_urf": 0,
                    "valor_urf": 0,
                    "id_cadastro": "80f93a77-3fdb-ed19-ac8d-b6b4be022372",
                    "formula_aliquota": "A:ALQ005",
                    "id_aliquota": "6c0d2b4e-5166-753e-61ab-918cf3a336d4",
                    "cod_formula": "ALQ:TRIB01"
                },
                "detalhe_livro": {
                    "cst": "40",
                    "valor_tributado": 0,
                    "valor_isento": 100,
                    "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": "d62db7e9-419f-43a9-cc69-9cafe5805f5b",
                    "incidencia": "2",
                    "acao_tot_nf": "1",
                    "perc_diferimento": 0,
                    "cst": "40",
                    "cod_tab_cst": "000001",
                    "inc_parc_redu": "2"
                }
            },
            "planilha_financeira": {
                "codigo_tributo": "TRIB01",
                "descricao_tributo": "REGRA ICMS CST 40 ISENTO",
                "base_tributo": 5000,
                "aliquota_tributo": 7,
                "valor_tributo": 350,
                "nome_ref": "TG"
            }
        }
    ],
    "Item not exist": 10
}

03. EXEMPLO DE IMPLEMENTAÇÃO

Abaixo é demontrado como pode ser feita a implementação:

Implementação de Json simplificado - Contém a forma de requisição completa. No exemplo está demonstrado como compor o objeto da forma não nativa (ADVPL) e da forma nativa (TL++), ficando a cargo do desenvolvedor escolher a melhor alternativa.

Bloco de código
languagejs
themeMidnight
titleExemplo implementação 1
Function MontaObjetoRequisicao()

  Local oRequisicao as json
  Local jRequisicao as json

  //Exemplo composição Json não nativo
  oRequisicao                                      := JsonObject():New()
  oRequisicao["itens"]                             := "all"
  oRequisicao["dados_cabecalho"]                   := "sim"
  oRequisicao["dados_itens"]                       := "sim"
  oRequisicao["planilha_financeira"]               := "sim"

  //Exemplo composição Json nativo (TL++)
  jRequisicao := {"itens": "ALL", "dados_cabecalho": "sim", "dados_itens": "sim", "planilha_financeira": "sim"}


  Conout(oRequisicao:ToJson())
  Conout(jRequisicao:ToJson())

  FreeObj(oRequisicao)
  FreeObj(jRequisicao)


Return nil

O Json ficará estruturado da seguinte forma:

Bloco de código
languagejs
themeMidnight
titleExemplo Json estruturado 1
{
    "itens": "ALL",
    "dados_cabecalho": "sim",
    "dados_itens": "sim",
    "planilha_financeira": "sim"
}

Implementação de Json especificando detalhes - Contém a forma de requisição especificando referencias. No exemplo está demonstrado como compor o objeto da forma não nativa (ADVPL) e da forma nativa (TL++), ficando a cargo do desenvolvedor escolher a melhor alternativa.

Bloco de código
languagejs
themeMidnight
titleExemplo implementação
Function MontaObjetoRequisicaoEspecifico()
  Local oRequisicao      as Json
  Local jComponente      as json

//Exemplo composição Json não nativo
  oRequisicao                    := JsonObject():New()
  oRequisicao["itens"]            := {1, 5, 10}
  oRequisicao["dados_cabecalho"] := "sim"
  oRequisicao["dados_itens"]      := {"regras_base", "detalhe_livro", "detalhe_livro" , "regras_escrituracao"}
  oRequisicao["planilha_financeira"]   := "sim"

//Exemplo composição Json nativo (TL++)
  jComponente := {"itens": {1, 5, 10}, "dados_planilha": "sim", "dados_itens": {"regras_base", "detalhe_livro", "detalhe_livro" regras_aliquiota", "regras_escrituracao"}, "planilha_financeira": "sim"}


  Conout(oRequisicao:ToJson())
  Conout(jComponente:ToJson())

  FreeObj(oRequisicao)
  FreeObj(jComponente)

Return nildetalhes_livro"})
	cRetorno := oDados:GetDataItems()

Return cRetorno

destroy()

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

Exemplo de utilização destroy()

Bloco de código
languagejs
themeMidnight
titleExemplo Json estruturado 2de utilização método 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{
    "id": [
        1,
        5,
       10
    ],
    "dados_cabecalho": "sim",
    "dados_itens": [
        "regras_base",
        "regras_aliquota",
        "detalhe_livro",
        "regras_escrituracao"
    ],
    "planilha_financeira": "sim"
}
Aviso
titleAtenção

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. 

...