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 Estabelecimento
  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 Estabelecimento Obrigações Fiscais (html.mof.ParamEstabTaxObligations). 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/establishmentParameters.p

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

new

Metadados

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

getMetaData

edit

Metadados

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

getMetaData

view

Metadados

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

Manipulação de Dados
EndpointEventoEntradaObservação

GetEstablishmentParameters

beforeGetEstablishmentParameters

Payload, PathParams, QueryParams

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

GetEstablishmentParameters

afterGetEstablishmentParameters

Payload, PathParams, QueryParams

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

QueryEstablishmentParameters

beforeQueryEstablishmentParameters

Payload, PathParams, QueryParams

Executado antes de buscar os parâmetros dos estabelecimentos.

QueryEstablishmentParameters

afterQueryEstablishmentParameters

Payload, PathParams, QueryParams

Executado depois de buscar os parâmetros dos estabelecimentos.

CreateEstablishmentParameters

beforeCreateEstablishmentParameters

Payload

Executado antes de criar um parâmetro do estabelecimento.

CreateEstablishmentParameters

afterCreateEstablishmentParameters

Payload

Executado depois da criação de um parâmetro do estabelecimento.

UpdateEstablishmentParameters

beforeUpdateEstablishmentParameters

Payload

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

UpdateEstablishmentParameters

afterUpdateEstablishmentParameters

Payload

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

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
Inclusão de Parâmetros

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

Utiliza o código do estabelecimento como Query Param

Edição de Parâmetros

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

Utiliza o código do estabelecimento como Query Param

Visualização de Parâmetros

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

Utiliza o código do estabelecimento como Query Param

04. Especificidades de Customização

a) Tela - Formulário de Parâmetros do Estabelecimento

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

Formulário dinâmico da seção Processos Operacionais da aba Geral, deve vir um array de objetos que implementam a interface PoDynamicFormField.

Obs: Este exemplo contém apenas alguns campos do formulário, pois o JSON completo desta aba é longo.
"generalTabForm": [
        {
            "gridColumns": 3,
            "property": "standstillDate",
            "label": "Data Congelamento",
            "placeholder": "DD\/MM\/AAAA",
            "type": "date",
            "order": 1
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "IPIContributor",
            "booleanFalse": "Desativado",
            "label": "Contribuinte IPI",
            "type": "boolean",
            "order": 2
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "controlReturns",
            "booleanFalse": "Desativado",
            "label": "Controlar devolução simbólica de consignação",
            "type": "boolean",
            "order": 3
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "recordShippingInvoiceOperTriang",
            "booleanFalse": "Desativado",
            "label": "Escriturar NF remessa oper triang",
            "type": "boolean",
            "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.

Obs: Este exemplo contém apenas alguns campos do formulário, pois o JSON completo desta aba é longo.
"configurationTabForm": [
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "assumeSameDenomination",
            "booleanFalse": "Desativado",
            "label": "Assumir mesma denominação do item enviada no XML da NFe",
            "type": "boolean",
            "order": 11
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "assumeICMSSNValuesOnC100",
            "booleanFalse": "Desativado",
            "label": "Assumir valores ICMS do Simples Nacional no C100 e filhos",
            "type": "boolean",
            "order": 12
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "considerIPIAndICMSSTOnGoodsValue",
            "booleanFalse": "Desativado",
            "label": "Considerar no Valor da Mercadoria, IPI e ICMS-ST destacados sem direito a crédito (Registro C170 SPED Fiscal)",
            "type": "boolean",
            "order": 13
        },
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "considerServicesCFOP",
            "booleanFalse": "Desativado",
            "label": "Considerar CFOPs Serviço (CFOPs 1933\/2933\/5933\/6933)",
            "type": "boolean",
            "order": 14
        },
]



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.

Obs: Este exemplo contém apenas alguns campos do formulário, pois o JSON completo desta aba é longo.
"repaymentSPEDForm": [
        {
            "forceBooleanComponentType": "checkbox",
            "gridColumns": 12,
            "booleanTrue": "Ativado",
            "property": "generateRepaymentICMSST",
            "booleanFalse": "Desativado",
            "label": "Gerar registros ressarcimento ICMS ST no SPED Fiscal",
            "type": "boolean",
            "order": 27
        },
        {
            "gridColumns": 4,
            "columns": [
                {
                    "property": "code",
                    "label": "Código",
                    "type": "string"
                },
                {
                    "property": "description",
                    "label": "Descrição",
                    "type": "string"
                }
            ],
            "format": [
                "code",
                "description"
            ],
            "label": "Outros débitos",
            "params": {
                "assessmentType": 1,
                "state": "SP"
            },
            "type": "string",
            "fieldValue": "code",
            "divider": "CÓDIGO AJUSTE COMPLEMENTO",
            "searchService": "\/dts\/datasul-rest\/resources\/prg\/cdp\/v1\/adjustmentCode",
            "fieldLabel": "description",
            "property": "otherDebts",
            "placeholder": "Selecione ajuste outros débitos",
            "order": 28
        },
        {
            "gridColumns": 4,
            "searchService": "\/dts\/datasul-rest\/resources\/prg\/cdp\/v1\/adjustmentCode",
            "columns": [
                {
                    "property": "code",
                    "label": "Código",
                    "type": "string"
                },
                {
                    "property": "description",
                    "label": "Descrição",
                    "type": "string"
                }
            ],
            "fieldLabel": "description",
            "property": "otherCredits",
            "format": [
                "code",
                "description"
            ],
            "label": "Outros créditos",
            "placeholder": "Selecione ajuste outros créditos",
            "params": {
                "assessmentType": 1,
                "state": "SP"
            },
            "type": "string",
            "fieldValue": "code",
            "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.

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.


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

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

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