Histórico da Página
...
A classe TCIWritten facilita a recuperação de dados específicos das tabelas F2D e CJ3 utilizando métodos que permitem o acesso aos registros por meio de IDs. O retorno dos dados é estruturado no formato JSON, tornando-o fácil de manipular e integrar com outras partes de uma aplicação.
...
03.
...
Como identificar se uma nota possui cálculos realizados pelo configurador de tributos
Ao inicializar a MATXFIS usando a função MafisIni na rotina de inclusão de documentos de entrada ou saída, é necessário informar que a rotina está apta a processar o configurador de tributos. Essa informação deve ser passada no parâmetro 33.
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
// Valida a utilização do configurador de tributos // lCalcTG: variável lógica que indica se a função ChkTrbGen foi encontrada e executada com sucesso lCalcTG := IIf(FindFunction("ChkTrbGen"), ChkTrbGen("SD2","D2_IDTRIB"), .F.) //Inicia os calculos da Matxfis MaFisIni(SA1->A1_COD, SA1->A1_LOJA, cTipoPar,cTipoNf, SA1->A1_TIPO , MaFisRelImp("MT100",{"SF2","SD2"}),,.T.,,,,,,,,,,,,,,,,,,,,,,,,,lCalcTG) //...Corpo da função... // Grava o campo responsável pelo relacionamento do item com o configurador de tributos If lTrbGen SD2->D2_IDTRIB := MaFisTG(1,"SD2",nY) EndIf |
Função ChkTrbGen
A função ChkTrbGen responsável por efetuar algumas validações para utilização dos tributos genéricos.
Parâmetros
- cAlias - Alias da tabela no qual será gravado o ID de relacionamento com a tabela F2D.
- cCampo - Campo no qual será gravado o ID de relacionamento com a tabela F2D.
Função MaFisTG
A função MaFisTG é resposavel pela gravação e exclusão dos tributos calculados pelo configurador de tributos.
Parâmetros
- Tipo da operação ( 1- Gravação dos tributos genéricos ou 2 - Exclusão dos tributos genéricos)
- Alias da tabela
- Item da nota
- Id do tributo (Utilizado para exclusão)
...
04. Como Usar
Para utilizar a classe, instancie um objeto da classe TCIWritten, utilizando namespace totvs.protheus.backoffice.fiscal.tciclass e utilize os métodos disponíveis para informar o ID (ou IDs) dos registros que deseja obter. Os dados serão retornados no formato JSON.
Dica | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
Para mais informações sobre o uso de namespaces, consulte o manual Namespace. Classes em TLPP que herdam de classe com namespace precisam utilizar o namespace na declaração da classe ou utilizar o namespace no programa que executa a chamada da classe. Para fontes escritos em TLPP, pode adicionar o namespace no início do arquivo fonte. Por exemplo:
Para fontes escritos em ADVPL deve ser utilizado por extendo o namespace + classe.
|
...
05. Métodos
New()
Descrição
O construtor da classe. Inicializa um novo objeto da classe TCIWritten.
Exemplo de implementação
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
oDados := TCIWritten():New() |
SetId()
Descrição
Define os IDs dos registros que se deseja obter os dados. Pode ser um único ID ou uma lista de IDs.
Parâmetros
- ids (array): Lista de IDs dos registros.
Exemplo de implementação
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
// Definindo um único ID aIds := {"369ca132-2b3b-ac96-6b78-3247afcc2219"} oDados := TCIWritten():New() oDados:SetId(aIds) // Definindo múltiplos IDs aIds := {"369ca132-2b3b-ac96-6b78-3247afcc2219","a5dcda40-d145-28d1-c57f-1047e15ce1fe"} oDados := TCIWritten():New() oDados:SetId(aIds) |
GetDataId()
Descrição
Recupera os dados dos registros definidos pelos IDs.
Retorno
- json: Dados dos registros no formato JSON.
Exemplo de implementação
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
aIds := {"ec451397fd32a6d9-7b9770fa-81146b68-a23118b5-74a1490e1417cc17375d15b3"} cResponse := "" oDados := TCIWritten():New() oDados:SetId(aIds) cResponse := oDados:GetDataId() |
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "dados_Id": { "ec451397fd32a6d9-7b9770fa-81146b68-a23118b5-74a1490e1417cc17375d15b3": { "TRIB01-XIFIS26TG_002": { "filial": "XIFIS26", "tributo": "ICMSTG0002", "basecodigo_tributo _relacionado": 12130.8"", "aliquotadescricao_tributo_relacionado": 18"", "valorbase_tributo": 2183.540, "valoraliquota_urftributo": 010, "mva": valor_tributo": 80, "valor_urf": 10, "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": "", "codigo_tributo": "", "valor_tributado": 0, "cst": "", "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": "", "valor_base_original": 0 } }, "TG_003": { "filial": "XIFIS26", "tributo": "TG0002", "codigo_tributo_relacionado": "", "descricao_tributo_relacionado": "", "base_tributo": 0, "aliquota_tributo": 10, "valor_tributo": 80, "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": "", "codigo_tributo": "", "valor_tributado": 0, "cst": "", "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": "", "valor_base_original": 0 } }, "TRIB01": { "filial": "XIFIS26", "tributo": "ICMS", "codigo_tributo_relacionado": "000021", "descricao_tributo_relacionado": "ICMS - Imposto sobre Circulação de Mercadorias e Serviços", "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": { } }"filial": "XIFIS26", "TRIB02-XIFIS26tributo": {"IPI", "filialcodigo_tributo_relacionado": "XIFIS26000022", "descricao_tributo_relacionado": "IPI - Imposto sobre Produtos Industrializados", "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": { }"filial": "XIFIS26", "TRIB03-XIFIS26tributo": {"PIS", "filialcodigo_tributo_relacionado": "XIFIS26000015", "descricao_tributo_relacionado": "PISPROGRAMA DE INTEGRAÇÃO SOCIAL", "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": { "filial": "XIFIS26", "TRIB04-XIFIS26tributo": {"COF", "filialcodigo_tributo_relacionado": "XIFIS26000016", "descricao_tributo_relacionado": "COFCONTRIBUIÇÃO PARA FINANCIAMENTO DA SEGURIDADE SOCIAL", "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
Propriedade | Tipo | Descrição |
---|---|---|
filial | caractere | Filial da operação |
tributo | caractere | Sigla do tributo |
codigo_tributo_relacionado | caractere | Código do tributo relacionado |
descricao_tributo_relacionado | caractere | Descrição do tributos relacionado |
base_tributo | número | Valor da base do tributo |
aliquota_tributo | número | Alíquota do tributo |
valor_tributo | número | Valor do tributo |
valor_urf | número | Valor da URF |
mva | número | Valor do MVA |
valor_pauta | número | Valor pauta |
percentual_majora | número | Percentual majorado |
indice_aux_majora | número | Índice auxiliar majoração |
tributo_majora | caractere | Tributo majorado |
aliquota_majora | número | Alíquota majorada |
valor_majora | número | Valor majorado |
ded_dependentes | número | Dedução por dependentes |
...
Atributo | Tipo | Descrição |
---|---|---|
Filial | caractere | Filial da operação |
valor_tributado | número | Valor tributado |
cst | caractere | CST |
valor_isento | número | Valor isento |
valor_outros | número | Valor outros |
valor_nao_tributado | número | Valor não tributado |
valor_deferido | número | Valor deferido |
valor_majorado | número | Valor majorado |
perc_majorado | número | Percentual majorado |
perc_diferido | número | Percentual diferimento |
perc_redução | número | Percentual redução |
valor_pauta | número | Valor pauta |
mva | número | MVA |
ind_aux_mva | número | Índice auxiliar MVA |
ind_aux_majora | número | Índice auxiliar majorado |
codigo_tab_cst | caractere | Cod. Tabela CST |
valor_base_original | número | Valor base original |
Destroy()
Descrição
Libera os recursos utilizados pela instância da classe TCIWritten.
Exemplo de implementação
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
aIds := {"369ca132-2b3b-ac96-6b78-3247afcc2219","a5dcda40-d145-28d1-c57f-1047e15ce1fe"} cResponse := "" oDados := TCIWritten():New() oDados:SetId(aIds) cResponse := oDados:GetDataId() oDados:destroy() |
Aviso | ||
---|---|---|
| ||
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. |
...
06. Exemplo Completo de Implementação
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
using NameSpace totvs.protheus.backoffice.fiscal.tciclass Function Exemplo() Local aIds as array Local cResponse as character Local oDados as object aIds := {"ec451397-7b97-8114-a231-74a1490e1417"} cResponse := "" oDados := TCIWritten():New() oDados:SetId(aIds) cResponse := oDados:GetDataId() Return cResponse |
...