Á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&i=<codigo estabelecimento>

Utiliza o código do estabelecimento item como Query Param

Visualização de Parâmetros

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

Utiliza Utiliza o código do estabelecimento 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

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",
            "
booleanFalse
property": "
Desativado
description",
                    "label": "
Contribuinte IPI
Descrição",
                    "type": "
boolean
string"
,

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

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

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

Image Removed

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
       "label": "
Desativado
Código",
            
"label":
 
"Assumir
 
mesma
 
denominação
 
do
 
item
 
enviada
 
no
 
XML da NFe",
"type": "string"
            
"type":
 
"boolean",
   },
         
"order":
 
11
      
},
{
        
{
            "
forceBooleanComponentType
property": "
checkbox
description",
       
"gridColumns":
 
12,
            "
booleanTrue
label": "
Ativado
Descrição",
            
"property":
 
"assumeICMSSNValuesOnC100",
       
"booleanFalse
"type": "
Desativado
string"
,

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

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

Image Removed

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": [ {
    "label": "% Repartição UF do produtor",
            "placeholder": "Insira a % de repartição por UF do produtor",
            "
forceBooleanComponentType
type": "
checkbox
currency",
            "
gridColumns
decimalsLength": 
12
2,
            "
booleanTrue
order": 
"Ativado",
3
        },
    
"property": "generateRepaymentICMSST",
    {
            "
booleanFalse
thousandMaxlength": 
"Desativado"
3,
            "
label
gridColumns": 
"Gerar registros ressarcimento ICMS ST no SPED Fiscal"
3,
            "
type
property": "
boolean
stateDivisionDestination",
            "
order
label": 
27
"% Repartição UF 
}
de destino",
        
{
    "placeholder": "Insira a % de repartição por UF de 
"gridColumns
destino"
: 4
,
            "
columns
type": 
[
"currency",
            
{
"decimalsLength": 2,
            
"
property
order": 
"code",
4
        
"label": "Código",
}]
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": [
        {
            "
type
gridColumns": 
"string"
6,
            "property": "refineryProduct",
     
},
       "label": "Produto refinaria",
        
{
    "placeholder": "Insira o produto refinaria",
            "
property
type": "
description
string",
            
"
label
maxLength": 
"Descrição"
10,
            "order": 5
       
"type": "string"
 },
        {
       
}
     "gridColumns": 6,
           
]
 "searchService": "/dts/datasul-rest/resources/prg/ofp/v1/productStockVariation",
            "
format
columns": [
                
"code",
{
                 
"description"
   "property": "code",
        
],
            "label": "
Outros débitos
Código",
            
"params":
 
{
       "type": "string"
          
"assessmentType":
 
1,
     },
           
"state":
 
"SP"
    {
        
},
            "
type
property": "
string
description",
             
"fieldValue
       "label": "
code
Descrição",
                    "
divider
type": "
CÓDIGO
string"
 
AJUSTE
 
COMPLEMENTO",
            
"searchService": "\/dts\/datasul-rest\/resources\/prg\/cdp\/v1\/adjustmentCode",
  },
              
"fieldLabel": "description",
  {
                    "property": "
otherDebts
unity",
                    "
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 }, ]

Image Removed

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
        },
]

Image Removed

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.