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  Itens de Obrigações Fiscais
  5. Observações Gerais

01. Visão Geral 

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.

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

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

new

Metadados

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

getMetaData

edit

Metadados

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

getMetaData

view

Metadados

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

Manipulação de Dados
EndpointEventoEntradaObservação

GetItemsParametersOF

beforeGetItemsParametersOF

Payload, PathParams, QueryParams

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

GetItemsParametersOF

afterGetItemsParametersOF

Payload, PathParams, QueryParams

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

QueryItemsParametersOF

beforeQueryItemsParametersOF

Payload, PathParams, QueryParams

Executado antes de buscar os parâmetros de itens.

QueryItemsParametersOF

afterQueryItemsParametersOF

Payload, PathParams, QueryParams

Executado depois de buscar os parâmetros de itens.

UpdateItemsParametersOF

beforeUpdateItemsParametersOF

Payload, PathParams, QueryParams

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

UpdateItemsParametersOF

afterUpdateItemsParametersOF

Payload, PathParams, QueryParams

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

03. JSON de metadata

É 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

a) Tela - Formulário de Parâmetros Itens de Obrigações Fiscais

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
scancFuelDistributorForm

Formulário dinâmico da aba SCANC Distribuidora de combustível, deve vir um array de objetos que implementam a interface PoDynamicFormField.

"scancFuelDistributorForm": [
         {
            "gridColumns": 6,
            "searchService": "/dts/datasul-rest/resources/prg/ofp/v1/itensObligations",
            "columns": [
                {
                    "property": "productCode",
                    "label": "Código",
                    "type": "string"
                },
                {
                    "property": "description",
                    "label": "Descrição",
                    "type": "string"
                },
                {
                    "property": "measureUnit",
                    "label": "Unidade medida",
                    "type": "string"
                }
            ],
            "fieldLabel": "measureUnit",
            "property": "productCode",
            "format": [
                "productCode",
                "description"
            ],
            "label": "Código produto",
            "placeholder": "Selecione o código do produto",
            "type": "string",
            "fieldValue": "productCode",
            "order": 1
        },
        {
            "gridColumns": 6,
            "searchService": "/dts/datasul-rest/resources/prg/ofp/v1/productStockVariation",
            "columns": [
                {
                    "property": "code",
                    "label": "Código",
                    "type": "string"
                },
                {
                    "property": "description",
                    "label": "Descrição",
                    "type": "string"
                },
                {
                    "property": "unity",
                    "label": "Unidade medida",
                    "type": "string"
                }
            ],
            "fieldLabel": "unity",
            "property": "productStockVariation",
            "format": [
                "code",
                "description"
            ],
            "label": "Produto variação estoque",
            "placeholder": "Selecione o código do produto",
            "type": "string",
            "fieldValue": "code",
            "order": 2
        },
        {
            "thousandMaxlength": 3,
            "gridColumns": 3,
            "property": "stateDivisionProducing",
            "label": "% Repartição UF do produtor",
            "placeholder": "Insira a % de repartição por UF do produtor",
            "type": "currency",
            "decimalsLength": 2,
            "order": 3
        },
        {
            "thousandMaxlength": 3,
            "gridColumns": 3,
            "property": "stateDivisionDestination",
            "label": "% Repartição UF de destino",
            "placeholder": "Insira a % de repartição por UF de destino",
            "type": "currency",
            "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.

"scancRefineryForm": [
        {
            "gridColumns": 6,
            "property": "refineryProduct",
            "label": "Produto refinaria",
            "placeholder": "Insira o produto refinaria",
            "type": "string",
            "maxLength": 10,
            "order": 5
        },
        {
            "gridColumns": 6,
            "searchService": "/dts/datasul-rest/resources/prg/ofp/v1/productStockVariation",
            "columns": [
                {
                    "property": "code",
                    "label": "Código",
                    "type": "string"
                },
                {
                    "property": "description",
                    "label": "Descrição",
                    "type": "string"
                },
                {
                    "property": "unity",
                    "label": "Unidade medida",
                    "type": "string"
                }
            ],
            "fieldLabel": "unity",
            "property": "productRegNF",
            "format": [
                "code",
                "description"
            ],
            "label": "Produto reg NF",
            "placeholder": "Selecione o código do produto",
            "type": "string",
            "fieldValue": "code",
            "order": 6
        }
    ]
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.

"spedForm": [
        {
            "gridColumns": 6,
            "property": "IPIFramework",
            "label": "Enquadramento IPI",
            "placeholder": "Insira o enquadramento IPI",
            "type": "string",
            "maxLength": 5,
            "order": 7
        },
        {
            "thousandMaxlength": 3,
            "gridColumns": 6,
            "property": "internalICMSRate",
            "label": "Alíquota ICMS interna",
            "placeholder": "Insira a alíquota de ICMS interna",
            "type": "currency",
            "decimalsLength": 2,
            "order": 8
        }
    ]
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:

{
    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