Árvore de páginas

Versões comparadas

Chave

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

CONTEÚDO

  1. Visão Geral
  2. API x Pontos UPC Relacionados
  3. JSON de metadata
  4. Especificidades de customização
    1. Tela - Formulário de Parâmetros do EstabelecimentoParâmetros  Itens de Obrigações Fiscais
  5. Observações Gerais

01. Visão Geral 
Âncora
1
1

Este documento tem como objetivo detalhar as possibilidades de personalização na tela HTML do programa Parâmetros Itens Obrigações Fiscais (html.mof.ParamItemsTaxObligations). Serão descritos os componentes e elementos passíveis de customização.

Aviso
titleImportante

As customizações nativas dos componentes dinâmicos do PO-UI estão detalhadas na documentação Manual de personalização e customização PO-UI e não serão abordadas neste documento.

02. API x Pontos UPC Relacionados
Âncora
2
2

Abaixo estão listadas as APIs e Pontos de UPC responsáveis pelo processamento da interface dinâmica e dos dados do programa. Para mais detalhes sobre como cadastrar uma UPC para essa API, consulte o tópico 5 da documentação  Customização PO-UI.

API REST - ofp/api/v1/

...

itemsParametersOF.p

Manipulação de Objetos da Interface (Metadata)
EndpointEventoEntradaObservação
getMetaData

newedit

Metadados

Estrutura metadados da tela de inclusão edição de parâmetros do estabelecimento.

getMetaData

edit

Metadados

Estrutura metadados da tela de inclusão de parâmetros do estabelecimentodos itens de obrigações fiscais.

getMetaData

view

Metadados

Estrutura metadados da tela de visualização de parâmetros do estabelecimentodos itens de obrigações fiscais.

Manipulação de Dados
EndpointEventoEntradaObservação

GetItemsParametersOF

beforeGetEstablishmentParametersGetItemsParametersOF

Payload, PathParams, QueryParams

Executado antes de buscar um documento parâmetro de item específico.

GetItemsParametersOF

afterGetEstablishmentParametersGetItemsParametersOF

Payload, PathParams, QueryParams

Executado depois de buscar um documento parâmetro de item específico.

QueryQueryItemsParametersOF

beforeQueryEstablishmentParametersbeforeQueryItemsParametersOF

Payload, PathParams, QueryParams

Executado antes de buscar os documentosparâmetros de itens.

QueryQueryItemsParametersOF

afterQueryEstablishmentParametersafterQueryItemsParametersOF

Payload, PathParams, QueryParams

Executado depois de buscar os documentos.

CreatetemsParametersOF

beforeCreateEstablishmentParameters

Payload

Executado antes de criar um documento.

CreatetemsParametersOF

afterCreateEstablishmentParameters

Payload

Executado depois da criação de um documento.

parâmetros de itens.

UpdateItemsParametersOF

beforeUpdateItemsParametersOF

Payload, PathParams, QueryParams

UpdatetemsParametersOF

beforeUpdateEstablishmentParameters

Payload

Executado antes da alteração de um documentoparâmetro de item.

UpdateUpdateItemsParametersOF

afterUpdateEstablishmentParametersafterUpdateItemsParametersOF

Payload, PathParams, QueryParams

Executado depois da alteração de um documentoparâmetro de item.

03. JSON de metadata
Âncora
3
3

É possível retornar os metadados das telas para analisar a estrutura do JSON, executando as requests abaixo (após realizar o login no produto Datasul):

TipoEndpointObservações
Edição de Parâmetros

https://<servidor>:<porta>/api/ofp/v1/itemsParametersOF/metadata?type=edit

Utiliza o código do item como Query Param

Visualização de Parâmetros

https://<servidor>:<porta>/api/ofp/v1/itemsParametersOF/metadata?type=view

Utiliza o código do item como Query Param

04. Especificidades de Customização
Âncora
4
4

a) Tela - Formulário de Parâmetros

...

Itens de Obrigações Fiscais
Âncora
4a
4a

A tela não utiliza o componente dinâmico completo (po-page-dynamic-edit), mas sim po-page com componentes como po-input, po-decimal, entre outros. Portanto, alguns elementos não podem ser customizados.

PropriedadeDescrição
generalTabForm
scancFuelDistributorForm

Formulário dinâmico da

seção Processos Operacionais da aba Geral

aba SCANC Distribuidora de combustível, deve vir um array de objetos que implementam a interface PoDynamicFormField.

Bloco de código
titleExemplo
collapsetrue
Obs: Este exemplo contém apenas alguns campos do formulário, pois o JSON completo desta aba é longo. "generalTabForm
"scancFuelDistributorForm": [
         {
            "gridColumns": 
3
6,
            "
property
searchService": "
standstillDate
/dts/datasul-rest/resources/prg/ofp/v1/itensObligations",
            "
label
columns": 
"Data Congelamento",
[
               
"placeholder": "DD\/MM\/AAAA",
 {
                    "
type
property": "
date
productCode",
            
"order":
 
1
       
}
"label": "Código",
        
{
            "
forceBooleanComponentType
type": "
checkbox
string"
,

            
"gridColumns": 12
    },
            
"booleanTrue": "Ativado",
    {
                    "property": "
IPIContributor
description",
        
"booleanFalse": "Desativado",
            "label": "
Contribuinte IPI
Descrição",
                    "type": "
boolean
string"
,

             
"order": 2
   },
        
},
        {
                    "
forceBooleanComponentType
property": "
checkbox
measureUnit",
             
"gridColumns
       "label": 
12
"Unidade medida",
                    "
booleanTrue
type": "
Ativado
string"
,

            
"property": "controlReturns",
    }
            
"booleanFalse": "Desativado"
],
            "
label
fieldLabel": "
Controlar devolução simbólica de consignação
measureUnit",
            "
type
property": "
boolean
productCode",
            "
order
format": 
3
[
         
},
       "productCode",
   
{
            
"forceBooleanComponentType":
 "
checkbox
description"
,

            
"gridColumns": 12
],
            "
booleanTrue
label": "
Ativado
Código produto",
            "
property
placeholder": "
recordShippingInvoiceOperTriang
Selecione o código do produto",
            "
booleanFalse
type": "
Desativado
string",
            "
label
fieldValue": "
Escriturar NF remessa oper triang
productCode",
            "
type
order": 
"boolean",
1
        },
      
"order": 4
  {
            
}, ]configurationTabForm

Formulário dinâmico da seção Configuração da aba Fiscal do parâmetro do estabelecimento, deve vir um array de objetos que implementam a interface PoDynamicFormField.

Bloco de código
titleExemplo
collapsetrue
Obs: Este exemplo contém apenas alguns campos do formulário, pois o JSON completo desta aba é longo. "configurationTabForm": [ {
"gridColumns": 6,
            "searchService": "/dts/datasul-rest/resources/prg/ofp/v1/productStockVariation",
            "
forceBooleanComponentType
columns": 
"checkbox",
[
          
"gridColumns":
 
12,
     {
       
"booleanTrue":
 
"Ativado",
            "property": "
assumeSameDenomination
code",
            
"booleanFalse": "Desativado",
        
"label": "
Assumir
Código",
 
mesma
 
denominação
 
do
 
item
 
enviada no
 
XML
 
da
 
NFe",
            "type": "
boolean
string"
,

              
"order": 11
  },
        
},
        {
                    "
forceBooleanComponentType
property": "
checkbox
description",
           
"gridColumns":
 
12,
        "label": "Descrição",
       
"booleanTrue":
 
"Ativado",
            "
property
type": "
assumeICMSSNValuesOnC100
string"
,

            
"booleanFalse": "Desativado"
    },
              
"label":
 
"Assumir
 
valores
{
 
ICMS
 
do
 
Simples
 
Nacional
 
no
 
C100
 
e
 
filhos",
            "
type
property": "
boolean
unity",
            
"order":
 
12
       
}
"label": "Unidade medida",
        
{
            "
forceBooleanComponentType
type": "
checkbox
string"
,

            
"gridColumns": 12,
    }
            
"booleanTrue": "Ativado"
],
            "
property
fieldLabel": "
considerIPIAndICMSSTOnGoodsValue
unity",
            "
booleanFalse
property": "
Desativado
productStockVariation",
            "
label
format": 
"Considerar
[
 
no
 
Valor
 
da
 
Mercadoria,
 
IPI
 
e
 
ICMS-ST
 
destacados
 
sem
 
direito
 
a
 
crédito
 
(Registro
 
C170
 
SPED
 
Fiscal)
"code",
                "
type": "boolean",
description"
            
"order": 13
],
       
},
     "label": "Produto variação 
{
estoque",
            "
forceBooleanComponentType
placeholder": "
checkbox
Selecione o código do produto",
            "
gridColumns
type": 
12
"string",
            "
booleanTrue
fieldValue": "
Ativado
code",
            "
property
order": 
"considerServicesCFOP",
2
        
"booleanFalse": "Desativado"
},
        {
            "
label
thousandMaxlength":
"Considerar CFOPs Serviço (CFOPs 1933\/2933\/5933\/6933)"
 3,
            "gridColumns": 3,
            "
type
property": "
boolean
stateDivisionProducing",
            "
order
label":
14
 "% Repartição UF do produtor",
        
}, ]repaymentSPEDForm

Formulário dinâmico da seção Ressarcimento SPED Fiscal da aba Fiscal do parâmetro do estabelecimento, deve vir um array de objetos que implementam a interface PoDynamicFormField.

Bloco de código
titleExemplo
collapsetrue
Obs: Este exemplo contém apenas alguns campos do formulário, pois o JSON completo desta aba é longo. "repaymentSPEDForm": [
    "placeholder": "Insira a % de repartição por UF do produtor",
            "type": "currency",
            
{
"decimalsLength": 2,
            "
forceBooleanComponentType
order": 
"checkbox",
3
        },
       
"gridColumns": 12,
 {
            "
booleanTrue
thousandMaxlength": 
"Ativado"
3,
            "
property
gridColumns": 
"generateRepaymentICMSST"
3,
            "
booleanFalse
property": "
Desativado
stateDivisionDestination",
            "label": "
Gerar
% 
registros
Repartição 
ressarcimento
UF 
ICMS ST no SPED Fiscal
de destino",
            "
type
placeholder": "
boolean",
Insira a % de repartição por UF 
"order": 27 }, {
de destino",
            "
gridColumns
type": 
4
"currency",
            "
columns
decimalsLength": 
[
2,
            
{
"order": 4
        
}]
scancRefineryForm

Formulário dinâmico da aba SCANC Refinaria dos parâmetros dos itens de obrigações fiscais, deve vir um array de objetos que implementam a interface PoDynamicFormField.

Bloco de código
titleExemplo
collapsetrue
"scancRefineryForm": [
        {
  
"property": "code",
          "gridColumns": 6,
            "
label
property": "
Código
refineryProduct",
            "label": "Produto refinaria",
            "
type
placeholder": "
string"
Insira o produto refinaria",
            
}
"type": "string",
            
{
"maxLength": 10,
            "order": 5
       
"property": "description"
 },
        {
            "
label
gridColumns": 
"Descrição"
6,
            "searchService": "/dts/datasul-rest/resources/prg/ofp/v1/productStockVariation",
            "
type
columns": 
"string"
[
                
}
{
             
],
       "property": "code",
    
"format":
 
[
               "label": "
code
Código",
                    "type": "
description
string"
            
],
    },
     
"label":
 
"Outros
 
débitos",
         {
   
"params":
 
{
                "
assessmentType
property": 
1
"description",
                    "
state
label": "
SP
Descrição",
        
},
            "type": "string"
,

            
"fieldValue": "code"
    },
            
"divider": "CÓDIGO AJUSTE COMPLEMENTO",
    {
             
"searchService": "\/dts\/datasul-rest\/resources\/prg\/cdp\/v1\/adjustmentCode",
       "
fieldLabel
property": "
description
unity",
       
"property":
 
"otherDebts",
            "
placeholder
label": "
Selecione ajuste outros débitos
Unidade medida",
            
"order":
 
28
       
},
"type": "string"
                }
           
{
 ],
            "
gridColumns
fieldLabel": 
4
"unity",
            "
searchService
property": "
\/dts\/datasul-rest\/resources\/prg\/cdp\/v1\/adjustmentCode
productRegNF",
            "
columns
format": [
                
{
"code",
                "description"
    
"property": "code",
        ],
            "label": "
Código
Produto reg NF",
            
"
type
placeholder": "
string"
Selecione o código do produto",
            
}
"type": "string",
            "fieldValue": "code",
    
{
        "order": 6
        }
   
"property": "description",
 ]
spedForm

Formulário dinâmico da aba Campos SPED dos parâmetros dos itens de obrigações fiscais, deve vir um array de objetos que implementam a interface PoDynamicFormField.

Bloco de código
titleExemplo
collapsetrue
"spedForm": [
        {
            "
label
gridColumns": 
"Descrição"
6,
            
"
type
property": "
string
IPIFramework",
            "label": "Enquadramento IPI",
    
}
        "placeholder": "Insira o enquadramento 
]
IPI",
            "
fieldLabel
type": "
description
string",
            "
property
maxLength": 
"otherCredits"
5,
            "
format
order": 
[
7
        },
        
"code",
{
            
"
description
thousandMaxlength": 3,
            
]
"gridColumns": 6,
            "
label
property": "
Outros créditos
internalICMSRate",
            "
placeholder
label": "
Selecione
Alíquota 
ajuste
ICMS 
outros créditos
interna",
            "
params
placeholder": 
{
"Insira a alíquota de 
"assessmentType": 1,
ICMS interna",
            
"
state
type": "
SP" }
currency",
            "
type
decimalsLength": 
"string"
2,
            "
fieldValue
order": 
"code",
8
        }
    
"order": 29 }, ]blockKSPEDForm

Formulário dinâmico da seção Bloco K SPED Fiscal da aba Fiscal do parâmetro do estabelecimento, deve vir um array de objetos que implementam a interface PoDynamicFormField.

Bloco de código
titleExemplo
collapsetrue
Obs: Este exemplo contém apenas alguns campos do formulário, pois o JSON completo desta aba é longo.
"blockKSPEDForm": [
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "useEngineeringModule",
            "booleanFalse": "Desativado",
            "label": "Utilizar o módulo de Engenharia\/Produção da TOTVS",
            "type": "boolean",
            "order": 32
        },
        {
            "gridColumns": 8,
            "property": "structureGeneration",
            "options": [
                {
                    "label": "Engenharia do produto",
                    "value": "1"
                },
                {
                    "label": "Movimentação da ordem de produção",
                    "value": "0"
                }
            ],
            "label": "Geração da estrutura",
            "type": "string",
            "order": 33
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "divider": "PARÂMETROS GERAIS BLOCO K",
            "booleanTrue": "Ativado",
            "property": "considerThirdPartyBalance",
            "booleanFalse": "Desativado",
            "label": "Considerar apenas saldo de terceiros para consignado",
            "type": "boolean",
            "order": 34
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "generateFictitiousItem",
            "booleanFalse": "Desativado",
            "label": "Gerar item fictício",
            "type": "boolean",
            "order": 35
        },
]
adrcSTPRForm

Formulário dinâmico da seção ADRC-ST-PR da aba Fiscal do parâmetro do estabelecimento, deve vir um array de objetos que implementam a interface PoDynamicFormField.

Nota
titleImportante

Este objeto só estará presente no JSON quando a UF do estabelecimento selecionado for PR (Paraná).

Bloco de código
titleExemplo
collapsetrue
Obs: Este exemplo contém apenas alguns campos do formulário, pois o JSON completo desta aba é longo.
{
            "gridColumns": 4,
            "property": "specialRegimeNumber",
            "label": "Número regime especial",
            "placeholder": "Insira o número do regime especial",
            "type": "string",
            "order": 40
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "distributionCenter",
            "booleanFalse": "Desativado",
            "label": "Centro de distribuição",
            "type": "boolean",
            "order": 41
        },
        {
            "gridColumns": 6,
            "divider": "RECUPERAÇÃO, RESSARCIMENTO OU COMPLEMENTO",
            "property": "recoverTaxFinalConsumer",
            "options": [
                {
                    "label": "",
                    "value": "9"
                },
                {
                    "label": "Recuperação em conta gráfica",
                    "value": "0"
                },
                {
                    "label": "Ressarcimento para fornecedor",
                    "value": "1"
                },
                {
                    "label": "Complementação do Imposto",
                    "value": "2"
                }
            ],
            "label": "Opção para reaver ou recolher o imposto nas saídas para o consumidor final (1200)",
            "placeholder": "Selecione a opção",
            "type": "string",
            "order": 42
        },
]
Image Removed
]
pageCustomActions

Este objeto permite customizar as ações da página, sendo adicionado ao lado de ações como "Salvar", "Voltar", "Cancelar" e "Salvar e Novo" dentro da página do formulário. Para adicionar uma ação customizada, é necessário criar um novo objeto e adicionar à lista pageCustomActions. Este objeto deve conter os seguintes atributos: action e label. O atributo action, deve receber o endereço de um endpoint do tipo POST de uma API do Datasul, enquanto o atributo label deve receber o título do botão em tela. Segue exemplo de JSON de retorno com o objeto pageCustomActions customizado:

Bloco de código
titleExemplo
collapsetrue
{
    pageCustomActions: [
	 {
		"action": "/dts/datasul-rest/resources/prg/ofp/v1/fiscalDocument/validateFormItem",
		"label": "Meu botão customizado"
	 }
   ]       
}

Esta documentação disponibiliza um exemplo de UPC que permite customizar as ações da página desta tela.

05. Observações Gerais 
Âncora
5
5

  • Objetos não mencionados neste documento não podem ser customizados por padrão.

  • Caso seja necessário customizar outros componentes, além dos descritos aqui e na documentação padrão de customização do PO-UI, deve-se abrir um ticket de solicitação, justificando a necessidade.

  • Clique aqui para baixar um exemplo de código fonte de UPC para este programa.