{
        "dateValidIni": "2025-03-21",
        "codEstab": "*",
        "codNaturOperac": "*",
        "deferralPercent": 0,
        "aliquot": 0,
        "documentType": 1,
        "city": "Joinville",
        "codCfop": "*",
        "codClientGroup": 0,
        "presumCredPercent": 0,
        "taxExemptionRate": 0,
        "uf": "Santa Catarina",
        "speciAliquotPerApproUniMedIs": 0,
        "tributeType": 2,
        "codIssuer": 0,
        "codService": 0,
        "codNcm": "*",
        "codItem": "*",
        "taxableUnitMeasureIs": 0,
        "reductionPercent": 0
    }

03. JSON de metadata

É possível retornar o metadata das telas para fazer a análise da estrutura do JSON, executando as requests abaixo (depois de logado no produto Datasul):

Tipo

Método (API)

Endpoint (API)

Observações

Listagem

GET

URL_Base/metadata/?type=list


Inclusão

GET

URL_Base/metadata/?type=new


Edição

GET

URL_Base/metadata/<código estabelecimento>?type=edit

Utiliza o código do estabelecimento como path param.

Copia

GET

URL_Base/metadata/<código estabelecimento>?type=copy

Utiliza o código do estabelecimento como path param.

04. Especificidades de Customização

a) Tela - Listagem Relacionamento x Tributo

A tela de listar não foi desenvolvida utilizando o componente dinâmico completo, como o po-page-dynamic-table por exemplo, e sim usando po-page com uma po-table, por conta disso alguns elementos da tela não podem ser customizados e algumas propriedades do metadata são utilizados de forma um pouco diferente, a seguir a descrição de cada customização possível.

PropriedadeDescription
title

Título da página.

"title":"Relacionamento x Tributo"

pageCustomActions

Utilizado para remover o botão de novo parâmetros ou para inserir novos botões, o botão inserido aqui deve conter label e url.

"pageCustomActions": [
        {
            "label": "Novo Parâmetro",
            "url": "/relationshipTribute/new"
        }
]

tableCustomActions

Utilizado para remover os botões de editar, copiar e deletar das ações da tabela ou para inserir novos. Para que uma ação padrão não seja criada basta que o metadata não contenha os labels de edit, duplicate e Delete, caso necessário criar ou ação diferente ela deve possuir tanto label quanto url.

"tableCustomActions": [
        {
            "label": "edit"
        },
        {
            "label": "duplicate"
        },
        {
            "label": "delete"
        }
]

columnsList

Lista das colunas da tabela, contém um array de objetos que implementam a interface PoTableColumn. Para mais informações do que é possível acessar a documentação do Portinari: po-table

"columnsList": [
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "tributeType",
            "options": [
                {
                    "label": "Aberto",
                    "value": 1
                },
                {
                    "label": "Alocado",
                    "value": 2
                },
                {
                    "label": "Calculado",
                    "value": 3
                },
                {
                    "label": "Confirmado",
                    "value": 4
                }
            ],
            "label": "Tributo",
            "type": "label",
            "labels": [
                {
                    "color": "color-10",
                    "tooltip": "Contribuição sobre bens e serviço",
                    "label": "CBS",
                    "value": 1
                },
                {
                    "color": "color-01",
                    "tooltip": "Imposto sobre Bens e serviço (Município)",
                    "label": "IBS MUN",
                    "value": 2
                },
                {
                    "color": "color-05",
                    "tooltip": "Imposto sobre Bens e serviço (Estadual)",
                    "label": "IBS UF",
                    "value": 3
                },
                {
                    "color": "color-08",
                    "tooltip": "Imposto Seletivo",
                    "label": "IS",
                    "value": 4
                }
            ]
        },
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "aliquot",
            "format": "0.3-4",
            "label": "Alíquota",
            "type": "number"
        },
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "dateValidIni",
            "label": "Dt Inicio validade",
            "type": "date"
        },
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "codEstab",
            "label": "Estabelecimento",
            "type": "string"
        },
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "codNaturOperac",
            "label": "Natureza de Operação",
            "type": "string"
        },
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "codNcm",
            "label": "Classificação Fiscal",
            "type": "string"
        },
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "codClientGroup",
            "label": "Grupo Cliente/Fornecedor",
            "type": "number"
        },
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "codIssuer",
            "label": "Emitente",
            "type": "number"
        },
        {
            "visible": true,
            "allowColumnsManager": true,
            "property": "codItem",
            "label": "Item",
            "type": "string"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "documentType",
            "label": "Tipo Documento",
            "type": "string"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "codService",
            "label": "Serviço",
            "type": "number"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "codCfop",
            "label": "CFOP",
            "type": "string"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "uf",
            "label": "UF",
            "type": "string"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "city",
            "label": "Cidade",
            "type": "string"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "deferralPercent",
            "label": "Perc Diferido",
            "type": "number"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "reductionPercent",
            "label": "Perc Redução",
            "type": "number"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "presumCredPercent",
            "label": "Perc Créd Presumido",
            "type": "number"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "taxExemptionRate",
            "label": "Aliq Desoneração",
            "type": "number"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "taxableUnitMeasureIs",
            "label": "Unid Med Tributável IS",
            "type": "string"
        },
        {
            "visible": false,
            "allowColumnsManager": true,
            "property": "taxExemptionRate",
            "label": "Aliq Espec Unid Med Aprop IS ",
            "type": "number"
        }
]

detailedInfoDynamicViewFields

Expansão da linha da tabela, dados completos da tabela. Neste componente é utilizado o po-dynamic-view e todas as propriedades do PoDynamicViewField podem ser utilizadas.


"detailedInfoDynamicViewFields": [
        {
            "gridColumns": 4,
            "property": "tributeType",
            "options": [
                {
                    "label": "CBS",
                    "value": 1
                },
                {
                    "label": "IBS Mun",
                    "value": 2
                },
                {
                    "label": "IBS UF",
                    "value": 3
                },
                {
                    "label": "IS",
                    "value": 4
                }
            ],
            "label": "Tributo",
            "placeholder": "Situação",
            "type": "label",
            "labels": [
                {
                    "color": "color-10",
                    "tooltip": "Contribuição sobre bens e serviço",
                    "label": "CBS",
                    "value": 1
                },
                {
                    "color": "color-01",
                    "tooltip": "Imposto sobre Bens e serviço (Município)",
                    "label": "IBS MUN",
                    "value": 2
                },
                {
                    "color": "color-05",
                    "tooltip": "Imposto sobre Bens e serviço (Estadual)",
                    "label": "IBS UF",
                    "value": 3
                },
                {
                    "color": "color-08",
                    "tooltip": "Imposto Seletivo",
                    "label": "IS",
                    "value": 4
                }
            ]
        },
        {
            "gridColumns": 4,
            "property": "aliquot",
            "format": "0.3-4",
            "label": "Alíquota",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "dateValidIni",
            "label": "Dt Inicio validade",
            "type": "date"
        },
        {
            "gridColumns": 4,
            "property": "codEstab",
            "label": "Estabelecimento",
            "type": "string"
        },
        {
            "gridColumns": 4,
            "property": "codNaturOperac",
            "label": "Natureza de Operação",
            "type": "string"
        },
        {
            "gridColumns": 4,
            "property": "codNcm",
            "label": "Classificação Fiscal",
            "type": "string"
        },
        {
            "gridColumns": 4,
            "property": "codClientGroup",
            "label": "Grupo",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "codIssuer",
            "label": "Emitente",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "codItem",
            "label": "Item",
            "type": "string"
        },
        {
            "gridColumns": 4,
            "property": "documentType",
            "label": "Tipo Documento",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "codService",
            "label": "Serviço",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "codCfop",
            "label": "CFOP",
            "type": "string"
        },
        {
            "gridColumns": 4,
            "property": "uf",
            "label": "UF",
            "type": "string"
        },
        {
            "gridColumns": 4,
            "property": "city",
            "label": "Cidade",
            "type": "string"
        },
        {
            "gridColumns": 4,
            "divider": "Alíquotas e percentuais",
            "property": "deferralPercent",
            "label": "Perc Diferido",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "reductionPercent",
            "label": "Perc Redução",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "presumCredPercent",
            "label": "Perc Créd Presumido",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "taxExemptionRate",
            "label": "Aliq Desoneração",
            "type": "number"
        },
        {
            "gridColumns": 4,
            "property": "taxableUnitMeasureIs",
            "label": "Unid Med Tributável IS",
            "type": "string"
        },
        {
            "gridColumns": 4,
            "property": "taxExemptionRate",
            "label": "Aliq Espec Unid Med Aprop IS ",
            "type": "number"
        }
]
advancedFilters

Busca avançada da tela, permite o filtro pelos valores preenchidos. Neste componente é utilizado o po-dynamic-form e todas as propriedades do PoDynamicFormField podem ser utilizadas.

"advancedFilters": [
        {
            "gridColumns": 12,
            "optionsMulti": true,
            "property": "tributeType",
            "options": [
                {
                    "label": "CBS",
                    "value": 1
                },
                {
                    "label": "IBS Mun",
                    "value": 2
                },
                {
                    "label": "IBS UF",
                    "value": 3
                },
                {
                    "label": "IS",
                    "value": 4
                }
            ],
            "label": "Tributo",
            "placeholder": "Tributo",
            "type": "label",
            "labels": [
                {
                    "color": "color-10",
                    "tooltip": "Contribuição sobre bens e serviço",
                    "label": "CBS",
                    "value": 1
                },
                {
                    "color": "color-01",
                    "tooltip": "Imposto sobre Bens e serviço (Município)",
                    "label": "IBS MUN",
                    "value": 2
                },
                {
                    "color": "color-05",
                    "tooltip": "Imposto sobre Bens e serviço (Estadual)",
                    "label": "IBS UF",
                    "value": 3
                },
                {
                    "color": "color-08",
                    "tooltip": "Imposto Seletivo",
                    "label": "IS",
                    "value": 4
                }
            ]
        },
        {
            "gridColumns": 6,
            "property": "dateValidIni",
            "label": "Data Validade inicial",
            "placeholder": "Data Inicial",
            "type": "date",
            "fieldValue": "1990-01-01"
        },
        {
            "gridColumns": 6,
            "property": "dateValidFim",
            "label": "Data Validade final",
            "placeholder": "Data Final",
            "type": "date",
            "fieldValue": "9999-12-31"
        },
        {
            "gridColumns": 6,
            "property": "codEstabIni",
            "label": "Estabelecimento inicial",
            "placeholder": "Estabelecimento Inicial",
            "type": "string",
            "fieldValue": "",
            "maxLength": 5
        },
        {
            "gridColumns": 6,
            "property": "codEstabFim",
            "label": "Estabelecimento final",
            "placeholder": "Estabelecimento Final",
            "type": "string",
            "fieldValue": "ZZZZZ",
            "maxLength": 5
        },
        {
            "gridColumns": 6,
            "property": "codNaturOperacIni",
            "label": "Natureza de Operação inicial",
            "placeholder": "Natureza de Operação inicial",
            "type": "string",
            "fieldValue": "",
            "maxLength": 6
        },
        {
            "gridColumns": 6,
            "property": "codNaturOperacFim",
            "label": "Natureza de Operação final",
            "placeholder": "Natureza de Operação final",
            "type": "string",
            "fieldValue": "ZZZZZZ",
            "maxLength": 6
        },
        {
            "gridColumns": 6,
            "property": "codCfopIni",
            "label": "CFOP inicial",
            "placeholder": "CFOP inicial",
            "type": "string",
            "fieldValue": "",
            "maxLength": 10
        },
        {
            "gridColumns": 6,
            "property": "codCfopFim",
            "label": "CFOP final",
            "placeholder": "CFOP final",
            "type": "string",
            "fieldValue": "ZZZZZZZZZZ",
            "maxLength": 10
        },
        {
            "gridColumns": 6,
            "property": "codServiceIni",
            "label": "Código Serviço inicial",
            "placeholder": "Código Serviço inicial",
            "type": "number",
            "fieldValue": "",
            "mask": "99.999"
        },
        {
            "gridColumns": 6,
            "property": "codServiceFim",
            "label": "Código Serviço final",
            "placeholder": "Código Serviço final",
            "type": "number",
            "fieldValue": "99999",
            "mask": "99.999"
        },
        {
            "gridColumns": 6,
            "property": "codClientGroupIni",
            "label": "Código Grupo Cliente inicial",
            "placeholder": "Código Grupo Cliente inicial",
            "type": "string",
            "fieldValue": "",
            "maxLength": 5
        },
        {
            "gridColumns": 6,
            "property": "codClientGroupFim",
            "label": "Código Grupo Cliente final",
            "placeholder": "Código Grupo Cliente final",
            "type": "string",
            "fieldValue": "ZZZZZ",
            "maxLength": 5
        },
        {
            "gridColumns": 6,
            "property": "codIssuerIni",
            "label": "Emitente inicial",
            "placeholder": "Emitente inicial",
            "type": "number",
            "fieldValue": "",
            "mask": "999999999"
        },
        {
            "gridColumns": 6,
            "property": "codIssuerFim",
            "label": "Emitente final",
            "placeholder": "Emitente final",
            "type": "number",
            "fieldValue": "999999999",
            "mask": "999999999"
        },
        {
            "gridColumns": 6,
            "property": "codItemIni",
            "label": "Item inicial",
            "placeholder": "Item inicial",
            "type": "string",
            "fieldValue": "",
            "maxLength": 16
        },
        {
            "gridColumns": 6,
            "property": "codItemFim",
            "label": "Item final",
            "placeholder": "Item final",
            "type": "string",
            "fieldValue": "ZZZZZZZZZZZZZZZZ",
            "maxLength": 16
        },
        {
            "gridColumns": 6,
            "property": "codNcmIni",
            "label": "Classificação Fiscal inicial",
            "placeholder": "Classificação Fiscal inicial",
            "type": "string",
            "fieldValue": "",
            "maxLength": 8
        },
        {
            "gridColumns": 6,
            "property": "codNcmFim",
            "label": "Classificação Fiscal final",
            "placeholder": "Classificação Fiscal final",
            "type": "string",
            "fieldValue": "ZZZZZZZZ",
            "maxLength": 8
        },
        {
            "gridColumns": 6,
            "property": "ufIni",
            "label": "UF inicial",
            "placeholder": "Unidade Federativa inicial",
            "type": "string",
            "fieldValue": "",
            "maxLength": 2
        },
        {
            "gridColumns": 6,
            "property": "ufFim",
            "label": "UF final",
            "placeholder": "Unidade Federativa final",
            "type": "string",
            "fieldValue": "ZZ",
            "maxLength": 2
        },
        {
            "gridColumns": 6,
            "property": "cityIni",
            "label": "Cidade inicial",
            "placeholder": "Cidade inicial",
            "type": "string",
            "fieldValue": "",
            "maxLength": 50
        },
        {
            "gridColumns": 6,
            "property": "cityFim",
            "label": "Cidade final",
            "placeholder": "Cidade final",
            "type": "string",
            "fieldValue": "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ",
            "maxLength": 50
        },
        {
            "gridColumns": 6,
            "property": "pageSize",
            "label": "Número de registros",
            "placeholder": "Numero de registros",
            "type": "string",
            "fieldValue": "20",
            "maxLength": 2
        }
]

 

05. Observações Gerais