Versões comparadas

Chave

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

Índice


01. 

...

Visión general

...

A classe La clase TCIWritten (Tax Configurator Integration Written) foi desenvolvida para viabilizar o acesso aos dados gravados nas tabelas  se desarrolló para hacer viable el acceso a los datos grabados en las tablas F2D (Tributos Genéricos Calculadosgenéricos calculados)e y CJ3 (Tabela Escrituracao Tabla Registro por itemítem) do del Configurador de Tributostributos (FISA170) de uma una forma dinâmica dinámica e intuitiva. 

Este documento tem o objetivo de demonstrar o funcionamento da classe TCIWritten e seus os tiene el objetivo de mostrar el funcionamiento de la clase TCIWritten y sus métodos.


Aviso
titleAtençãoAtención

Todos los ejemplos mostrados en esta documentación son ficticios, creados con el objetivo de orientar, cabiendo al desarrollador aplicar los conceptos mostrados de manera que atienda plenamente las necesidades de la operaciónTodos 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. 

02.

...

Introducción

A classe La clase TCIWritten facilita a recuperação la recuperación de dados específicos das tabelas F2D e datos específicos de las tablas F2D y CJ3 utilizando métodos que permitem o acesso aos permiten el acceso a los registros por meio medio de IDs. O retorno dos dados é estruturado no ID. La devolución de los datos se estructura en el formato JSON, tornando-o quedando fácil de manipular manejar e integrar com outras con otras partes de uma aplicaçãouna aplicación.

03.

...

Cómo identificar si una factura tiene cálculos realizados

...

por el configurador de tributos

Ao Al inicializar a MATXFIS usando a função MafisIni na rotina de inclusão MATXFIS utilizando la función MafisIni en la rutina de inclusión de documentos de entrada ou saída, é necessário o salida, es necesario informar que a rotina la rutina está apta a processar o para procesar el configurador de tributos. Essa informação deve ser passada no parâmetro Esta información debe pasarse al parámetro 33.

Por exemploejemplo:

Bloco de código
languagejava
themeMidnight
titleIniciando Mafisini com con el configurador de Tributostributos
// Valida ala utilizaçãoutilización dodel configurador de tributos
// lCalcTG: variávelvariable lógica que indica sesi ala funçãofunción ChkTrbGen foise encontradaencontró ey executadase comejecuta sucessocon éxito
lCalcTG  := IIf(FindFunction("ChkTrbGen"), ChkTrbGen("SD2","D2_IDTRIB"), .F.)

//Inicia oslos calculoscálculos dade Matxfis
MaFisIni(SA1->A1_COD, SA1->A1_LOJA, cTipoPar,cTipoNf, SA1->A1_TIPO , MaFisRelImp("MT100",{"SF2","SD2"}),,.T.,,,,,,,,,,,,,,,,,,,,,,,,,lCalcTG)

//...CorpoCuerpo de dala funçãofunción...

// GravaGraba oel campo responsávelresponsable por pelola relacionamentorelación dodel itemítem comcon oel configurador de tributos
If lTrbGen
	SD2->D2_IDTRIB	:= MaFisTG(1,"SD2",nY)
EndIf

...

Función ChkTrbGen

A função La función ChkTrbGen responsável por efetuar algumas validações para utilização dos responsable por efectuar algunas validaciones para utilización de los tributos genéricos.

ParâmetrosParámetros

      • cAlias - Alias da tabela no qual será gravado o ID de relacionamento com a de la tabla en la cual se grabará el ID de relación con la tabela F2D.
      • cCampo - Campo no qual será gravado o ID de relacionamento com a en el cual se grabará el ID de relación con la tabela F2D.

...

Función MaFisTG

A função MaFisTG é responsável pela gravação e exclusão dos tributos calculados pelo La función MaFisTG es responsable por la grabación y borrado de los tributos calculados por el configurador de tributos.

ParâmetrosParámetros

      • Tipo da operaçãode la operación ( 1- Gravação dos Grabación de los tributos genéricos ou o 2 - Exclusão dos Borrado de los tributos genéricos)
      • Alias da tabela Item da notade la tabla 
      • Ítem de la factura
      • Id do del tributo (Utilizado para exclusãoborrado)

04.

...

Cómo utilizar

Para utilizar a classe, instancie um objeto da classe la clase, debe instanciar un objeto de la clase TCIWritten, utilizando namespace totvs.protheus.backoffice.fiscal.tciclass e utilize os métodos disponíveis y utilice los métodos disponibles para informar o el ID (ou IDs) dos o los ID) de los registros que deseja obter. Os dados serão retornados no desea obtener. Los datos se devolverán en el formato JSON.

Dica
titleUso de Namespace

Para mais informações más información sobre o el uso de namespaces, consulte o manual el 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.

Clases en TLPP que heredan de clase con namespace deben utilizar namespace en la declaración de la clase o utilizar namespace en el programa que ejecuta la activación de la clase.

Para fuentes escritos en TLPP, puede incluir namespace al inicio del archivo fuente. Por ejemploPara fontes escritos em TLPP, pode adicionar o namespace no início do arquivo fonte. Por exemplo:

Bloco de código
languagejava
themeMidnight
titleTLPP
#include 'tlpp-core.th'  

using NameSpace totvs.protheus.backoffice.fiscal.tciclass

Function Teste() 

    Local  oDados as object 
    
    oDados := TCIWritten():New()

Return  

Para fontes fuentes escritos em ADVPL deve ser utilizado por extendo o en ADVPL debe utilizarse por completo namespace + classeclase.

Bloco de código
languagejava
themeMidnight
titleADVPL
#include "Protheus.CH"

Function Teste()

	Local  oDados as object
	
	//Verifica sesi ala classeclase existe
	If FindClass("totvs.protheus.backoffice.fiscal.tciclass.TCIWritten")
		oDados := totvs.protheus.backoffice.fiscal.tciclass.TCIWritten():New()
	Endif

Return

05. Métodos

New()

O construtor da classeEl constructor de la clase. Inicializa um novo objeto da classe un nuevo objeto de la clase TCIWritten.

UtilizaçãoUtilización

Bloco de código
languagejs
themeMidnight
titleExemplo implementação New()
	oDados := TCIWritten():New()	

SetId(aData as Array)

Define os IDs dos los ID de los registros que se deseja obter os dados. Pode ser um único ID ou uma lista de IDs.desea obtener los datos. Puede ser un único ID o una lista de estos.

ParámetrosParâmetros

  • aData (array): Lista de los ID de IDs dos los registros.

UtilizaçãoUtilización

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação implementación SetId()
// DefinindoDefiniendo umun único ID
	aData := {"369ca132-2b3b-ac96-6b78-3247afcc2219"}

	oDados := TCIWritten():New()
	oDados:SetId(aData)

// DefinindoDefiniendo múltiplosmúltiples IDsID
	aData1 := {"369ca132-2b3b-ac96-6b78-3247afcc2219","a5dcda40-d145-28d1-c57f-1047e15ce1fe"}
	
	oDados := TCIWritten():New()
	oDados:SetId(aData1)

GetDataId()

Recupera os dados dos los datos de los registros informados em en 𝚜𝚎𝚕𝚏:𝚊𝙸𝚍𝚁𝚎𝚚𝚞𝚎𝚜𝚝

Aviso
titleIMPORTANTE

Para o correto funcionamento do Para el correcto funcionamiento del método GetDataId() é imprescindível es imprescindible informar oel(slos) ID(s) que deseja os dados através do cuyos datos desea por medio del método SetId(), en caso contrário será retornado uma mensagemcontrario se devolverá un mensaje: "erro error - Necessita Necesita informar Id"

Quando um id inválido é informado em Cuando se informa un id no válido en SetId(aIds as Array),  GetDataId() retornará um devolverá un objeto JSON com a chave con la clave "Aviso" e o y el valor "Id não no calculado pelo por el configurador de tributos". ExemploEjemplo

Bloco de código
languagejava
themeMidnight
Local oDados := totvs.protheus.backoffice.fiscal.tciclass.TCIWritten():New()
Local aID := {"4201ee25-972f-5840-9feb-2df327f3982d"} // id no inválidoválido ouo inexistente
Local cRetorno := ""
Local oRetorno := JsonObject():New()

oDados:SetId(aId)
cRetorno := oDados:GetDataId()


A chamada acima retornará um La activación anterior devolverá un objeto como este:

{
	"dados_Id": {
		"4201ee25-972f-5840-9feb-2df327f3982d": {			
			"Aviso": "Id nãono calculado por peloel configurador de tributos"
  } } }

RetornoDevolución

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de retorno devolución GetDataId()
{
  "dados_Id": {
    "fd32a6d9-70fa-6b68-18b5-cc17375d15b3": {
       "TG_001": {
        "filial": "XIFIS26",
        "tributo": "TG0002",
        "codigo_tributo_relacionado": "",
        "descricao_tributo_relacionado": "",
        "base_tributo": 0,
        "aliquota_tributo": 10,
        "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,
	 	"id_cadastro_regra_tributo": "4201ee25-972f-5840-9feb-2df327f3982d"
        "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
        },
		"regras_base": {
			"codigo_regra": "BAS021",
			"descricao": "Base ICMS ST RED. 41,67%                                                                            ",
			"acao_origem": "11",
			"acao_desconto": "1",
			"acao_frete": "1",
			"acao_seguro": "1",
			"acao_despesa": "1",
			"acao_icms_desonerado": "1",
			"acao_icms_retido": "1",
			"perc_reducao": 41.67,
			"tipo_reducao": " ",
			"unidade_medida": "  ",
			"formula_base": "( ( O:VAL_MERCADORIA * I:PERC_REDUCAO_BASE ) * I:MVA )",
			"id_formula": "c706aeb1-3f33-c97c-71df-87b1edff2d88",
			"codigo_formula": "B:BAS021"
		},
		"regras_aliquota": {
			"codigo_regra": "ALQ023",
			"descricao": "ALIQUOTA PADRAO DE 20%                                                                              ",
			"acao_origem": "04",
			"acao_tipo": "1",
			"perc_aliquota": 20,
			"codigo_urf": "      ",
			"perc_urf": 0,
			"formula_aliquota": "20",
			"id_formula": "9d86e6bc-6a3c-9ea8-8053-57b2eb7eb045",
			"codigo_fomula": "A:ALQ023"
		},
		"regras_escrituracao": {
			"codigo_regra": "ESC013",
			"descricao": "ICMS Tributado Redução em Isento CST 70                                                             ",
			"acao_incidencia": "2",
			"acao_total_nf": "6",
			"perc_diferimento": 0,
			"incidencia_parc_red": " ",
			"tabela_cst": "000001",
			"cst": "70 ",
			"cst_devolucao": "70 "
		}

      },
      "TG_00N": { ... },
      
    },

Descrição das propriedades contidas no Descripción de las propiedades contenidas en el tributo

Propriedade

Propiedad

Tipo

Descrição

Descripción

filial

caractere

carácter

Sucursal de la operación

Filial da operação

tributo

caractere

carácter

Sigla

do

del tributo

codigo_tributo_relacionado

caractere

carácter

Código

do

del tributo relacionado

descricao_tributo_relacionado

caractere

carácter

Descripción de los tributos relacionados

Descrição do tributos relacionado

base_tributo

número

Valor

da

de la base

do

del tributo

aliquota_tributo

número

Alíquota do

Alícuota del tributo

valor_tributo

número

Valor

do

del tributo

valor_urf

número

Valor

da

de la URF

mva

número

Valor

do

de MVA

valor_pauta

número

Valor

pauta

de la tarifa

percentual_majora

número

Percentual
majorado

Porcentaje aumentado

indice_aux_majora

número

Índice auxiliar

majoração

de aumento

tributo_majora

caractere

carácter

Tributo

majorado

aumentado

aliquota_majora

número

Alíquota
majorada

Alícuota aumentada

valor_majora

número

Valor

majorado

aumentado

ded_dependentes

número

Dedução

Deducción por

dependentes

dependientes

id_cadastro_regra_tributo

caractere

carácter

Id

do cadastro do

del registro del tributo

dados_escriturados

json


regras_base

json


regras_aliquota

json


regras_escrituracao

json


Objeto dados_escriturados

Atributo

Tipo

Descrição

Descripción

filial

caractere

carácter

Sucursal de la operación

Filial da operação

valor_tributado

número

Valor tributado

cst

caractere

carácter

CST

valor_isento

número

Valor

isento

exento

valor_outros

número

Valor

outros

otros

valor_nao_tributado

número

Valor

não

no tributado

valor_deferido

número

Valor

deferido

concedido

valor_majorado

número

Valor

majorado

aumentado

perc_majorado

número

Percentual
majorado

Porcentaje aumentado

perc_diferido

número

Percentual diferimento

Porcentaje de aplazamiento

perc_redução

número

Percentual redução

Porcentaje de reducción

valor_pauta

número

Valor

pauta

de la tarifa

mva

número

MVA

ind_aux_mva

número

Índice auxiliar MVA

ind_aux_majora

número

Índice auxiliar

majorado

aumentado:

codigo_tab_cst

caractere

carácter

Cod

Cód.

Tabela

Tabla CST

valor_base_original

número

Valor base original


Objeto regras_base

Atributo

Tipo

Descrição

Descripción

codigo_regra

caractere

carácter

Código

da regra

de la regla

descricao

caractere

carácter

Descripción de la regla

Descrição da regra

acao_origem

caractere

carácter

Valor de

Origem

origen

acao_desconto

caractere

carácter

Acciones de descuento

Ações do Desconto

acao_frete

caractere

carácter

Ações do valor do frete

Acciones de valor de flete

acao_seguro

caractere

carácter

Ações do

Acciones de valor de

Seguro

seguro

acao_despesa

caractere

carácter

Acciones de los gastos

Ações das Despesas

acao_icms_desonerado

caractere

carácter

Ações

Acciones ICMS

Desonerado

exento

acao_icms_retido

caractere

carácter

Ações

Acciones ICMS

Retido

retenido

perc_reducao

número

Percentual

Porcentaje de

redução

reducción

tipo_reducao

caractere

carácter

Tipo

da redução

de reducción

unidade_medida

caractere

carácter

Unidade

Unidad de medida

formula_base

caractere

carácter

Fórmula

da

de la base

id_formula

caractere

carácter

Identificador

da

de la fórmula 

codigo_formula

caractere

carácter

Código

da

de la fórmula 

Informações
titleInformaçãoInformación

Para mais informações sobre o conteúdo dos campos verificar a documentaçãomás información sobre el contenido de los campos vea la documentación:

CFGTRIB - Configurador de Tributos tributos (Regras Reglas de base de cálculo)


Objeto regras_aliquota

Atributo

Tipo

Descrição

Descripción

codigo_regra

caractere

carácter

Código

da regra

de la regla

descricao

caractere

carácter

Descripción de la regla

Descrição da regra

acao_origem

caractere

carácter

Valor de

Origem

origen

acao_tipo

caractere

carácter

Tipo de

Alíquota

alícuota         

perc_aliquota

número

Alíquota

Alícuota                 

codigo_urf

caractere

carácter

Código

da

de la URF            

perc_urf

número

Percentual da

Porcentaje de la URF        

formula_aliquota

caractere

carácter

Fórmula

da alíquota

de la alícuota

id_formula

caractere

carácter

Identificador

da

de la fórmula

codigo_fomula

caractere

carácter

Código

da

de la fórmula 

Informações
titleInformaçãoInformación

Para mais informações sobre o conteúdo dos campos verificar a documentaçãomás información sobre el contenido de los campos vea la documentación:

CFGTRIB - Configurador de Tributos tributos (Regras Reglas de alíquotaalícuota)


Objeto regras_escrituracao

Atributo

Tipo

Descrição

Descripción

codigo_regra

caractere

carácter

Código

da regra

de la regla

descricao

caractere

carácter

Descripción de la regla

Descrição da regra

acao_incidencia

caractere

carácter

Opcao

Opción de

Incidência

incidencia      

acao_total_nf

caractere

carácter

Suma en el total de la factura

Soma no total da nota

   

perc_diferimento

número

Percentual do Diferimento

Porcentaje de aplazamiento

incidencia_parc_red

caractere

carácter

Indidencia Redução

Incidencia Reducción Base  

tabela_cst

número

Tabela

Tabla de CST            

cst

caractere

carácter

Classificação

Clasificación fiscal     

cst_devolucao

caractere

carácter

CST de

Devolução

Devolución

Informações
titleInformaçãoInformación

Para mais informações sobre o conteúdo dos campos verificar a documentaçãomás información sobre el contenido de los campos vea la documentación:

CFGTRIB - Configurador de Tributos tributos (Regras Reglas de escrituraçãoregistro)


UtilizaçãoUtilización

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação implementación GetDataId()
	aIds := {"fd32a6d9-70fa-6b68-18b5-cc17375d15b3"}
	cResponse := ""
	
	oDados := TCIWritten():New()
	oDados:SetId(aIds)
	cResponse := oDados:GetDataId()

SetDataItems(aContent as Array)

Permite adicionar ao retorno de incluir a la devolución de GetDataId() detalhes das configurações realizadas pelo usuário no Configurador de Tributos detalles de las configuraciones realizadas por el usuario en el Configurador de tributos (FISA170). 

ParâmetrosParámetros

  • aContent (array): as configurações que podem ser obtidas. Está restrito às seguintes opçõesconfiguraciones que pueden obtenerse. Está restringido a las siguientes opciones: "regras_base", "regras_aliquota" ou o "regras_escrituracao"


Aviso
titleIMPORTANTE

O uso do método El uso del método setDataItems() se faz necessário apenas quando há a necessidade obter dados de cadastros no Configurador de Tributos  solamente es necesario apenas cuando hay la necesidad de obtener datos de registros en el Configurador de tributos (FISA170), não sendo obrigatório para a obtenção dos tributos dos itens.no siendo obligatorio para la obtención de los tributos de los ítems.

Si fuera necesario, el Quando necessário, o método setDataItems() deve ser chamado debe activarse antes de GetDataId().

Se os Si los valores informados no parâmetro aContent divergirem dos en el parámetro aContent divergieran de los valores permitidos, será adicionado o se incluirá el objeto erro_propriedade descrevendo a propriedade inválida describiendo la propiedad no válida informada:


Bloco de código
languagejava
themeMidnight
Local oDados := totvs.protheus.backoffice.fiscal.tciclass.TCIWritten():New()
Local aID := {"4201ee25-972f-5840-9feb-2df327f3982d",  "69003b5a-c15f-4113-a4b0-e2883d809711"}
Local cRetorno := ""
Local oRetorno := JsonObject():New()

oDados:SetId(aId)
oDados:setDataItems({"regras_b4s3", "regras_al1quot4","regras_escr1tur4c40" })
cRetorno := oDados:GetDataId()


A chamada acima retornará um La activación anterior devolverá un objeto como este:

{
	"dados_Id": {
		"4201ee25-972f-5840-9feb-2df327f3982d": {
			"erro_propriedade": {
				"propriedade_1": "regras_b4s3",
				"propriedade_2": "regras_al1quot4",
				"propriedade_3": "regras_escr1tur4c40"
			},
			"TRIB05": {...},
			... //demaisotros tributos
		}
	}
}

UtilizaçãoUtilización

Bloco de código
languagejava
themeMidnight
titleIniciando Mafisini com con el configurador de Tributostributos
using totvs.protheus.backoffice.fiscal.tciclass
 
Function Exemplo()
    Local oDados as json
    Local cRetorno
     
    oDados := TCIWritten():New()
    oDados:setDataItems({"regras_base", "regras_aliquota", "regras_escrituracao"})
     
    cRetorno := oDados:GetDataId()
 
Return cRetorno

setReturnByTaxRule()

Altera o o retorno do Modifica la devolución de GetDataId(), para retornar um devolver un JSON indexado por regras reglas de cálculo (F2B_REGRA).

*Pode-se utilizar em conjunto com o Se puede utilizar en conjunto con el método setTaxRuleFilterList() para filtrar, passando por parâmetro quais regras pasando por el parámetro qué reglas de cálculo se deseja no retornodesea en la devolución.

**Pode-se utilizar em conjunto com o Se puede utilizar en conjunto con el método setAdditionalFieldsToReturn() para adicionar campos no retorno, passando por parâmetro quais atributos se deseja receber além do retorno padrão;incluir campos en la devolución, pasando por el parámetro qué atributos desea recibir además de la devolución estándar.

Aviso
titleAtençãoAtención

Os Los métodos setTaxRuleFilterList() e y setAdditionalFieldsToReturn() irão apenas funcionar no contexto dos retornos simplificadossolamente funcionarán en el contexto de las devoluciones simplificadas: setReturnByTaxRule() e y setReturnByIdTotvs(). Eles não tem efeito no retorno padrão do Estos no tienen efecto en la devolución estándar de GetDataId().

UtilizaçãoUtilización

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementaçãoimplementación:
	aData := {"DD227D08-AECE-4F11-BE55-AC5AFCAF013F","A7A15DCF-C1B8-4F11-9E54-AC5AFCAF013F","30DE92B8-C9B8-4F11-8E54-AC5AFCAF013F"}  
	aFieldsNeeded := {'dados_escriturados','mva','regras_escrituracao'}
 	aTribs := {'PISTG','COFTG'}  

    oDados := TCIWritten():New()
	oDados:SetId(aData)
	
	oDados:setReturnByTaxRule()  // AlteraModifica ola retornodevolución dodel método :GetDataId()

	oDados:setAdditionalFieldsToReturn( aFieldsNeeded ) // Opcional: AdicionarIncluir maismás campos en nola retornodevolución dodel objeto

    oDados:setTaxRuleFilterList( aTribs )  // Opcional: Filtra ola retornodevolución somentesolamente comcon aslas regrasreglas de cálculo que se desejadesea       

	CONOUT( oDados:GetDataId() )

	/*
 {
   "COFTG":{
      "items":{
         "DD227D08-AECE-4F11-BE55-AC5AFCAF013F":{
            "regra_trib":"COFTG",
            "filial":"XIFIS26",
            "codigo_tributo_relacionado":"000016",
            "tributo":"COF",
            "descricao_tributo_relacionado":"CONTRIBUICONTRIBUYE PARA OFINANCIACIÓN PARADE FINANCIAMENTOLA DA SEGURIDADESEGURIDAD SOCIAL",
            "base_tributo":1000,
            "aliquota_tributo":7.6,
            "valor_tributo":76,
            "dados_escriturados":{
},
            "mva":0,
            "regras_escrituracao":"regraregla naono vinculada"
         },
         "A7A15DCF-C1B8-4F11-9E54-AC5AFCAF013F":{
},
         "30DE92B8-C9B8-4F11-8E54-AC5AFCAF013F":{
}
      }
   },
   "PISTG":{
      "items":{
         "DD227D08-AECE-4F11-BE55-AC5AFCAF013F":{
},
         "A7A15DCF-C1B8-4F11-9E54-AC5AFCAF013F":{
},
         "30DE92B8-C9B8-4F11-8E54-AC5AFCAF013F":{
}
      }
   }
}
	*/

setReturnByIdTotvs()

Altera o o retorno do Modifica la devolución de GetDataId(), para retornar um devolver un JSON indexado por tributos com con ID Totvs (F2C_CODIGO).

*Pode-se utilizar em conjunto com o Se puede utilizar en conjunto con el método setIdTotvsFilterList() para filtrar, passando por parâmetro quais ID Totvs se deseja no pasando el por parámetro qué ID Totvs desea en la devolución retorno.

**Pode-se utilizar em conjunto com o Se puede utilizar en conjunto con el método setAdditionalFieldsToReturn() para adicionar campos no retorno, passando por parâmetro quais atributos se deseja receber além do retorno padrão;incluir campos en la devolución, pasando por el parámetro qué atributos desea recibir además de la devolución estándar.

Aviso
titleAtençãoAtención

Os Los métodos setIdTotvsFilterList() e y setAdditionalFieldsToReturn() irão apenas funcionar no contexto dos retornos simplificadossolamente funcionarán en el contexto de las devoluciones simplificadas: setReturnByTaxRule() e y setReturnByIdTotvs(). Eles não tem efeito no retorno padrão do Estos no tienen efecto en la devolución estándar de GetDataId().

UtilizaçãoUtilización

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementaçãoimplementación:
	aData  := {"DD227D08-AECE-4F11-BE55-AC5AFCAF013F","A7A15DCF-C1B8-4F11-9E54-AC5AFCAF013F","30DE92B8-C9B8-4F11-8E54-AC5AFCAF013F"}   
	aFieldsNeeded := {'mva','regras_escrituracao'}

	oDados := TCIWritten():New()
	oDados:SetId(aData)
	
	oDados:setReturnByIdTotvs() // AlteraModifica ola retornodevolución dodel método :GetDataId()  

  	oDados:setAdditionalFieldsToReturn( aFieldsNeeded ) // Opcional: AdicionarIncluir maismás campos en nola retornodevolución dodel objeto 

	aTotvsId := {'000021'} // 000021 = ICMS
	oDados:setIdTotvsFilterList( aTotvsId ) // Opcional: Filtra ola retornodevolución somentesolamente oel ID totvs que sedesea deseja   
	
        CONOUT CONOUT( oDados:GetDataId() )
	/*
 {
   "000021":{
      "items":{
         "DD227D08-AECE-4F11-BE55-AC5AFCAF013F":{
            "regra_trib":"ICMSTG",
            "filial":"XIFIS26",
            "codigo_tributo_relacionado":"000021",
            "tributo":"ICMS",
            "descricao_tributo_relacionado":"ICMS - ImpostoImpuesto sobre Circulacirculación  o de Mercadoriasmercaderías ey Servi osservicios",
            "base_tributo":1000,
            "aliquota_tributo":18,
            "valor_tributo":180,
            "mva":0,
            "regras_escrituracao":{
               "codigo_regra":"TESTEPRUEBA",
               "descricao":"REGRAREGLA DE ESCRITURACAOREGISTRO",
               "acao_incidencia":"1",
               "acao_total_nf":"5",
               "perc_diferimento":0,
               "incidencia_parc_red":" ",
               "tabela_cst":"000001",
               "cst":"00",
               "cst_devolucao":"00"
            }
         },
         "A7A15DCF-C1B8-4F11-9E54-AC5AFCAF013F":{
},
         "30DE92B8-C9B8-4F11-8E54-AC5AFCAF013F":{
}
      }
   }
}
	*/

getAgregTypeByTax()

O El método getAgregTypeByTax( cTipoIncidencia , cCodTribIdTotvs ) permite receber de forma simples qual foi o recibir de manera simple cuál fue el tipo de incidência incidencia sobre o total da NFel total de la factura (CJ2_STONF) para cada tributo, dentro de cada item ítem de um un documento.

ParâmetrosParámetros:

cTipoIncidencia: (String) (Opcional) - Busca e y filtra o retorno de acordo com um la devolución de acuerdo con un tipo válido de incidência incidencia sobre el total da NF (atualmente de la factura (actualmente de 1 à a 8).

cCodTribIdTotvs : (String) (Opcional) - Busca e y filtra o retorno de acordo com um la devolución de acuerdo con un tipo válido de código de tributo (ID Totvs = F2C_CODIGO na tabela en la tabla F2C).

*Caso não seja informado nenhum parâmetro, irá trazer todos os Si no se informara ningún parámetro, traerá todos los registros encontrados, independente de independientemente del tipo de incidência e incidencia y tributo Id Totvs.

*Obrigatório a chamada do Es obligatoria la activación del método  oDados:setDataItems({"regras_escrituracao"}) antes da chamada do de la activación del getAgregTypeByTax(), para os dados de escrituração estarem disponíveis.que los datos de registro estén disponibles.

Las opciones de incidencia actualmente sonAs opções de incidência atualmente são:

1

Sem
Ação

Sin acción

2

Subtrai
somente do total da nota

Sustrae solamente del total de la factura

3

Subtrai do total da nota e da duplicata
4Subtrai somente do total da duplicata
5Soma somente no total da nota
6Soma no total da nota e da duplicata

Sustrae del total de la factura y de la factura de crédito

4

Sustrae solamente del total de la factura de crédito

5

Suma solamente en el total de la factura

6

Suma en el total de la factura y de la factura de crédito

7

Suma solamente en el total de la factura de crédito

7Soma somente no total da duplicata

8

Gross up

no total da duplicata

en el total de la factura de crédito


Utilización sin pasar parámetrosUtilização sem passar parâmetros:

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação implementación getAgregTypeByTax
	oDados := TCIWritten():New()
    aData := {"6D76CB61-2AEE-4F11-9E56-AC5AFCAF013F","ADE403B0-D7F2-4F11-8E56-AC5AFCAF013F"}   
	oDados:SetId(aData)
	oDados:setDataItems({'regras_escrituracao'}) //obrigatorioobligatorio
	oDados:GetDataId() // opcional
	cResponse := oDados:getAgregTypeByTax()

...

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação Retornoimplementación devolución
 {
   "data":{
      "6D76CB61-2AEE-4F11-9E56-AC5AFCAF013F":{
         "COFTG":{
            "acao_tot_nf":"2",
            "id_totvs":"000016"
         },
         "PISTG":{
            "acao_tot_nf":"3",
            "id_totvs":"000015"
         },
         "ICMSTG":{
            "acao_tot_nf":"5",
            "id_totvs":"000021"
         }
      },
      "ADE403B0-D7F2-4F11-8E56-AC5AFCAF013F":{
         "COFTG":{
            "acao_tot_nf":"2",
            "id_totvs":"000016"
         },
         "PISTG":{
            "acao_tot_nf":"3",
            "id_totvs":"000015"
         },
         "ICMSTG":{
            "acao_tot_nf":"5",
            "id_totvs":"000021"
         }
      }
   }
}


Utilização com parâmetro de incidência sobre total da NFUtilización con parámetro de incidencia sobre total de la factura:

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação implementación getAgregTypeByTax
	oDados := TCIWritten():New()
    aData := {"6D76CB61-2AEE-4F11-9E56-AC5AFCAF013F","ADE403B0-D7F2-4F11-8E56-AC5AFCAF013F"}   
	oDados:SetId(aData)
	oDados:setDataItems({'regras_escrituracao'}) //obrigatorioobligatorio
	oDados:GetDataId() // opcional
	cResponse := oDados:getAgregTypeByTax("3")

Exemplo RetornoEjemplo devolución

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação implementación getAgregTypeByTax
{
   "data":{
      "6D76CB61-2AEE-4F11-9E56-AC5AFCAF013F":{
         "PISTG":{
            "acao_tot_nf":"3",
            "id_totvs":"000015"
         }
      },
      "ADE403B0-D7F2-4F11-8E56-AC5AFCAF013F":{
         "PISTG":{
            "acao_tot_nf":"3",
            "id_totvs":"000015"
         }
      }
   }
}


Utilização com parâmetro Utilización con parámetro de código de tributo (Id Totvs):

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação implementación getAgregTypeByTax
	oDados := TCIWritten():New()
    aData := {"6D76CB61-2AEE-4F11-9E56-AC5AFCAF013F","ADE403B0-D7F2-4F11-8E56-AC5AFCAF013F"}   
	oDados:SetId(aData)
	oDados:setDataItems({'regras_escrituracao'}) //obrigatorioobligatorio
	oDados:GetDataId() // opcional
	cResponse := oDados:getAgregTypeByTax( , "000021")

...

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação implementación getAgregTypeByTax
{
   "data":{
      "6D76CB61-2AEE-4F11-9E56-AC5AFCAF013F":{
         "ICMSTG":{
            "acao_tot_nf":"5",
            "id_totvs":"000021"
         }
      },
      "ADE403B0-D7F2-4F11-8E56-AC5AFCAF013F":{
         "ICMSTG":{
            "acao_tot_nf":"5",
            "id_totvs":"000021"
         }
      }
   }

Destroy()

Libera os los recursos utilizados pela instância da classe por la instancia de la clase TCIWritten.

UtilizaçãoUtilización

Bloco de código
languagejs
themeMidnight
titleExemplo Ejemplo de implementação implementación destroy()
	aIds := {"369ca132-2b3b-ac96-6b78-3247afcc2219","a5dcda40-d145-28d1-c57f-1047e15ce1fe"}
	cResponse := ""
	
	oDados := TCIWritten():New()
	oDados:SetId(aIds)
	cResponse := oDados:GetDataId()

	oDados:destroy()


06.

...

Ejemplo completo de

...

implementación


Bloco de código
languagejs
themeMidnight
titleExemplo Completo Ejemplo completo de Implementaçãoimplementación
 using NameSpace totvs.protheus.backoffice.fiscal.tciclass

  Function Exemplo()
	Local  aData as array
	Local  cResponse as character
    Local  oDados as object       


	aData := {"ec451397-7b97-8114-a231-74a1490e1417"}
    cResponse := ""
     
    oDados := TCIWritten():New()
    oDados:SetId( aData )
    oDados:setDataItems({"regras_base", "regras_aliquota", "regras_escrituracao"})
    cResponse := oDados:GetDataId()
 
Return cResponse

...