Histórico da Página
...
- Visão Geral clique no conteúdo para acesso rápido à informação desejada ↓
- API x Pontos UPC Relacionados
- JSON de metadata
- Especificidades de Customização
- Observações Gerais
01. Visão Geral Âncora 1 1
| 1 | |
| 1 |
Este documento tem como objetivo descrever o que poderá ser customizado na tela HTML do programa Guias GNRE Relacionamento x Tributo item de menu Parâmetros Estabelecimento Relacionamento x GNRETributo (html-mft.guiasGnrerelationshipTribute), aqui será descrito quais componentes e elementos podem ser customizados.
...
02. API x Pontos UPC Relacionados Âncora 2 2
| 2 | |
| 2 |
Segue a lista de APIs e Pontos de UPC responsáveis pelo processamento da interface dinâmica e dos dados do programa.
Para maiores detalhes de como cadastrar uma UPC para essa API podem ser visualizados aqui.
API REST:
ftp/api/v1/
gnreParametersrefRelationshipTribute.p.
URL base para requisições: https://<servidor>:<porta>/api/ftp/v1/
gnreParametersrefRelationshipTribute.p.
| Manipulação de Objetos da Interface (Metadata) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Método (API) | Endpoint (API) | Endpoint (UPC) | Evento (UPC) | Entrada (UPC) | Observação | |||||
| GET | URL_Base/metadata/?type=list | getMetaData | list | Metadados | Estrutura metadados da listagem. | |||||
| GET | URL_Base/metadata/?type=new | getMetaData | new | Metadados | Estrutura metadados da tela de inclusão. | |||||
| GET | URL_Base/metadata/<código estabelecimento><ROWID do registro>?type=edit | getMetaData | edit | Metadados | Estrutura metadados da tela de edição. | URL_Base/metadata/<código estabelecimento>?type=copy | getMetaData | detail | Metadados | Estrutura metadados da tela de detalhes. |
| Manipulação de Dados | |||||
|---|---|---|---|---|---|
| Método (API) | Endpoint (API) | Endpoint (UPC) | Evento (UPC) | Entrada (UPC) | Observação |
| GET | URL_Base/<codigo estabelecimento><ROWID do registro> | findById | findById | Dados do registro | Executado depois de buscar um registro específico. |
| GET | URL_Base?pageSize=10&page=1 | findAll | findAll | Dados dos registros | Executado depois de buscar os registros. |
| POST | URL_Base | create | beforeCreate | Payload* | Executado antes de criar um registro. |
| POST | URL_Base | create | afterCreate | Payload* | Executado depois da criação de um registro. |
| POST | URL_base/VALIDATE | validateForm | validateForm | Payload* e Campo alterado | Executado ao chamar a rota de Validate. |
| PUT | URL_Base | update | beforeUpdate | Payload* | Executado antes da alteração de um registro. |
| PUT | URL_Base | update | afterUpdate | Payload* | Executado depois da alteração de um registro. |
| DELETE | URL_Base/<código estabelecimento><ROWID do registro> | delete | beforeDelete | Vazio | Executado antes da eliminação de um registro. |
| DELETE | URL_Base/<código estabelecimento><ROWID do registro> | delete | afterDelete | Vazio | Executado depois da eliminação de um registro. |
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
{
"descTpDespICMSUfDestdateValidIni": "INVESTIMENTO ETE2025-03-21",
"descTpDespFCPcodEstab": "INVESTIMENTO ETE*",
"estabcodNaturOperac": "1*",
"ccICMSSTdeferralPercent": ""0,
"espICMSSTaliquot": "dp"0,
"descEspFCPdocumentType": "duplicata"1,
"espICMSUfDestcity": "dpJoinville",
"updateInfAdicAuto": false,
"descEspICMSUfDestcodCfop": "duplicata*",
"ctFCPcodClientGroup": "11361198"0,
"updateApbAutopresumCredPercent": true0,
"tpDespICMSSTtaxExemptionRate": 210,
"espFCPuf": "dpSanta Catarina",
"ccFCPspeciAliquotPerApproUniMedIs": ""0,
"descEspICMSSTtributeType": "duplicata"2,
"ctICMSUfDestcodIssuer": "11361198"0,
"ccICMSUfDestcodService": ""0,
"descTpDespICMSSTcodNcm": "INVESTIMENTO ETE*",
"tpDespFCPcodItem": 21"*",
"integApbtaxableUnitMeasureIs": true0,
"estabNamereductionPercent": "Estabelecimento Automação - TOTVS",
"tpDespICMSUfDest": 21,
"ctICMSST": "00001116"
}0
} |
03. JSON de metadataÂncora 3 3
| 3 | |
| 3 |
...
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><chave do registro>?type=edit | Utiliza o código a chave do estabelecimento registro como path param. |
| Copia | GET | URL_Base/metadata/<código estabelecimento><chave do registro>?type=copy | Utiliza o código a chave do estabelecimento registro como path param. |
04. Especificidades de Customização Âncora 4 4
| 4 | |
| 4 |
a) Tela - Listagem Parâmetros Estabelecimento Relacionamento x GNRE Tributo Âncora 4a 4a
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.
| Propriedade | DescriptionDescrição | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| title | Título da página.
| pageCustomActions | |||||||||||||||||||||||||
| keepfilters | Indica se deseja salvar no cache do navegador as informações do filtro de busca avançada e as preferencias das colunas (colunas visíveis e posição), recebe true ou false | 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":"\/gnre\/gnreParameters\/new"
}]
| |||||||||||||||||||||||
| hideColumnsManager | Indica se deseja exibir o gerenciador de coluna da tabela, recebe true ou false | 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, Copy e Delete, caso necessário criar ou ação diferente ela deve possuir tanto label quanto url.
| tableCustomActions
| |||||||||||||||||||||||
| 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.
| [{
"label":"Edit"
},{
| Copy
|
}
| {
"label":"Delete"
}]columnsList |
| |||||||||||||||||||||
| 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. | 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
| "allowColumnsManager":true,
"property":"estab",
| Estabelecimento
| ,
| "type":"string",
"key":true,
"order":1
},{
"allowColumnsManager":true,
"booleanTrue":"Sim",
"property":"integApb",
"booleanFalse":"Não",
| Integra APB
| ,
| ||||||||||||||||||
| icmsStView | Elemento que se encontra dentro da expansão da linha da tabela, dados sobre o ICMS ST. Neste componente é utilizado o po-dynamic-view e todas as propriedades do PoDynamicViewField podem ser utilizadas.
| ||||||||||||||||||||||||||
| icmsUfDestView | Elemento que se encontra dentro da expansão da linha da tabela, dados sobre o ICMS Uf Dest. Neste componente é utilizado o po-dynamic-view e todas as propriedades do PoDynamicViewField podem ser utilizadas.
| ||||||||||||||||||||||||||
| fcpView | Expansão da linha da tabela, dados sobre o ICMS Uf Dest. Neste componente é utilizado o po-dynamic-view e todas as propriedades do PoDynamicViewField podem ser utilizadas.
|
...
A tela de novo/editar não foi desenvolvida utilizando o componente dinâmico completo, como o po-page-dynamic-table por exemplo, e sim utilizando o po-page-default, po-lookup, po-dynamic-form, po-tabs e 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.
...
Título da página, essa informação pode ser:
- novo;
- editando;
- copiando.
dependendo do type enviado na requisição que busca o metadata.
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
"title":"Novo Parâmetro Estabelecimento X GNRE" |
...
O caminho de migalhas da página, mostrando a página atual e a pagina anterior com o link para voltar
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
"items":[{
"link":"\/gnre\/gnreParameters",
"label":"Lista Parâmetros Estabelecimento x GNRE"
},
{
"link":"\/gnre\/gnreParameters",
"label":"Novo Parâmetro"
}
] |
...
URL utilizada para buscar os dados da aba "Geral"
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
"urlGnre":"\/dts\/datasul-rest\/resources\/prg\/ftp\/v1\/gnreParameters" |
...
formulário dinâmico da aba geral, deve vir um array de objetos que implementam a interface PoDynamicFormField. Para mais informações do que é possível inserir acessar a documentação do Portinari: po-dynamic-form
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
Obs: O exemplo aqui contem apenas 1 dos switches e 1 dos lookups como exemplo, pois o json completo para essa aba é longo.
"generalTab":[{
"gridColumns":6,
"booleanTrue":"Sim",
"property":"integApb",
"booleanFalse":"Não",
"optional":true,
"label":"Integrar com o Contas a pagar",
"type":"boolean",
"order":2
},{
"gridColumns":6,
"columns":[{
"visible":true,
"property":"code",
"width":"25%",
"label":"Código",
"type":"string"
},
{
"visible":true,
"property":"description",
"width":"50%",
"label":"Descrição",
"type":"string"
},
{
"property":"documentTypeDescription",
"width":"25%",
"label":"Tipo",
"type":"string"
}],
"format":[
"code",
"description"
],
"optional":true,
"label":"Espécie Padrão",
"params":{
"module":"apb",
"order":"module"
},
"fieldValue":"code",
"required":false,
"divider":"ICMS ST",
"searchService":"\/dts\/datasul-rest\/resources\/prg\/fin\/v1\/documentType",
"fieldLabel":"description",
"property":"espICMSST",
"disabled":true,
"order":5
}] |
...
Campos do formulário que terão validações quando forem preenchidos, corresponde a propriedade p-validate-fields do componente dinâmico po-dynamic-form.
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
"validateFields":[
"estab",
"integApb",
"ctICMSST",
"ctICMSUfDest",
"ctFCP"
] |
...
| ||||||||||
| 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
| |||||||||
| 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.
| |||||||||
| 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.
|
b) Tela - Edição/Novo Relacionamento x Tributo Âncora 4b 4b
| Propriedade | Descrição | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| title | Título da página.
| |||||||||||
| breadcrumb | O caminho de migalhas da página, recebe a página o link para a página de listagem com label assim como também o link e label da página atual, o link de listagem deve ser "/relationshipTribute" para que ao ser clicado a pagina seja redirecionada para a tela de listagem.
| |||||||||||
| getDefault | Indica se ao abrir a página de criação de um novo registro deve busca os valores padrões ou não, recebe true ou false. OBS: Valores padrões (pode ser customizado): IBS UF, nota de entrada, "* - todos *" para as informações principais e 0 para as alíquotas e percentuas.
| |||||||||||
| pageCustomActions | Indica quais ações a tela terá, por padrão irá criar "Salvar, Salvar e Continuar e Voltar", para remover a ação basta remover o label da ação que deseja que não apareça, pode ser retornar "URL" junto com o label para indicar para onde deve ser redirecionado ao clicar, a url da tela de listagem é "/relationshipTribute".
| |||||||||||
| validateFields | Indica quais campos do po-dynamic-form ira executar a validação ao sair do campo, a validação em sí é feita na API de dados "/dts/datasul-rest/resources/prg/ftp/v1/refRelationshipTribute/validate", enviando para a API qual campo foi modificado e o registro completo. Para saber mais sobre o que pode ser feito com este campo, consulte a documentação do PO-UI: PoDynamicFormValidation
| |||||||||||
| createDynamicFormFields | formulário dinâmico do cadastro de Relacionamento x Tributo, deve vir um array de objetos que implementam a interface PoDynamicFormField. Para mais informações do que é possível inserir acessar a documentação do Portinari: po-dynamic-form
|
...
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
"urlGnreUf":"\/dts\/datasul-rest\/resources\/prg\/ftp\/v1\/gnreParametersProviderUf" |
Lista das colunas da tabela de Fornecedor x UF, Deve vir um array de objetos que implementam a interface PoTableColumn. Para mais informações do que é possível inserir acessar a documentação do Portinari: po-table
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
"fornecUfTabColumns":[{
"allowColumnsManager":true,
"property":"providerName",
"label":"Fornecedor",
"type":"string",
"order":17
},
{
"allowColumnsManager":true,
"property":"ufName",
"label":"Estado",
"type":"string",
"order":18
}] |
Campo utilizado para exibir ou não a ação de delete da tebela de UF x Fornecedor, caso não venha o DELETE nesta propriedade o botão não é criado.
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
"tableCustomActions":[{
"label":"Delete"
}] |
Campos da modal de Relalação Forncedor x UF, a modal possui um po-dynamic-form e aceita todas as propriedades da interface PoDynamicFormField. Para mais informações do que é possível inserir acessar a documentação do Portinari: po-dynamic-form
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
"assocFornecUfModal":[{
"gridColumns":12,
"searchService":"\/dts\/datasul-rest\/resources\/prg\/cdp\/v1\/customerPublic",
"columns":[{
...
}],
"fieldLabel":"customerName",
"property":"provider",
"format":[
"customerCode",
"customerName"
],
"label":"Fornecedor",
"params":{
"order":"customerCode"
},
"fieldValue":"customerCode",
"required":true,
"order":19
},
{
"gridColumns":12,
"optionsMulti":true,
"property":"uf",
"options":[{
"label":"AC - Acre",
"value":"AC"
},
{ ...
}],
"label":"Estado",
"type":"label",
"required":true,
"order":20
}] |
05. Observações Gerais
| Âncora | ||||
|---|---|---|---|---|
|
...
















