CONTEÚDO

  1. Visão Geral
  2. API x Pontos UPC Relacionados
  3. JSON de metadata
  4. Especificidades de customização
    1. Tela - Listagem Parâmetros Estabelecimento x GNRE 
    2. Tela - Novo/Editar Parâmetros Estabelecimento x GNRE 
  5. Observações Gerais

01. Visão Geral 

Este documento tem como objetivo descrever o que poderá ser customizado na tela HTML do programa Parâmetros evento tributos (html.mcd.paramEventoTributos).
Aqui será descrito quais componentes e elementos podem ser customizados.

Esse documento somente cita itens de customização que diferem da customização padrão de uma tela HTML utilizando PO-UI, ou seja, somente as especificidades de customização do programa HTML em questão. As customizações nativas dos componentes dinâmicos do PO-UI podem ser verificadas aqui e não serão abordadas nesse documento.

02. API x Pontos UPC Relacionados

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 - cdp/api/v1/paramEventoTributos.p


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

list

Metadados

Estrutura metadados da listagem.

getMetaData

new

Metadados

Estrutura metadados da tela de inclusão.

getMetaData

edit

Metadados

Estrutura metadados da tela de edição.

getMetaData

detail

Metadados

Estrutura metadados da tela de detalhes.



Manipulação de Dados
EndpointEventoEntradaObservação
findById

findById

Dados do registro

Executado depois de buscar um registro específico.

findAll

findAll

Dados dos registros

Executado depois de buscar os registros.

create

beforeCreate

Payload

Executado antes de criar um registro.

create

afterCreate

Payload

Executado depois da criação de um registro.

update

beforeUpdate

Payload

Executado antes da alteração de um registro.

update

afterUpdate

Payload

Executado depois da alteração de um registro.

delete

beforeDelete

Payload

Executado antes da eliminação de um registro.

delete

afterDelete

Payload

Executado depois da eliminação de um registro.

03. JSON de metadata

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

TipoEndpointObservações
Listagem

https://<servidor>:<porta>/api/cdp/v1/paramEventoTributos/metadata/?type=list


Inclusão

https://<servidor>:<porta>/api/cdp/v1/paramEventoTributos/metadata/?type=new


Edição

https://<servidor>:<porta>/api/cdp/v1/paramEventoTributos/metadata/<cod estabelec + '|' + cod evento + '|' + tipo-documento>?type=edit

Utiliza o código do estabelecimento, código do evento e tipo do documento (1-NF-e, 2-CT-e, 3-NFS-e) como path param.

Copia

https://<servidor>:<porta>/api/cdp/v1/paramEventoTributos/metadata/<cod estabelec + '|' + cod evento + '|' + tipo-documento>?type=copy

Utiliza o código do estabelecimento, código do evento e tipo do documento (1-NF-e, 2-CT-e, 3-NFS-e) como path param.

04. Especificidades de Customização

a) Tela - Listagem Parâmetros Estabelecimento x GNRE 

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
columnsList

Lista das colunas da tabela. Deve vir um array de objetos que implementam a interface PoTableColumn.

"columnsList":[{
    "allowColumnsManager":true,
    "property":"estab",
    "label":"Estabelecimento",
    "type":"string",
    "key":true,
    "order":1
},{
    "allowColumnsManager":true,
    "booleanTrue":"Sim",
    "property":"integApb",
    "booleanFalse":"Não",
    "label":"Integra APB",
    "type":"boolean",
    "order":2
},{
    "allowColumnsManager":true,
    "booleanTrue":"Sim",
    "property":"updateApbAuto",
    "booleanFalse":"Não",
    "label":"Atualiza APB Automático",
    "type":"boolean",
    "order":3
}]

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 todos as propriedades do PoDynamicViewField podem ser utilizadas.

Caso o icmsStViewicmsUfDestView e o fcpView não sejam enviados a expansão da linha não será exibida, caso apenas um ou dois desses elementos não sejam enviados a expansão ainda é criada, exibindo os elementos enviados.

"icmsSTView":[{
    "gridColumns":6,
    "property":"espICMSST",
    "label":"Espécie",
    "type":"string", 
    "order":1
},{
    "gridColumns":6,
    "property":"tpDespICMSST",
    "label":"Tipo Despesa",
    "type":"string",
    "order":2
},{
    "gridColumns":6,
    "property":"ctICMSST",
    "label":"Conta Contábil",
    "type":"string",
    "order":3
},{
    "gridColumns":6,
    "property":"ccICMSST",
    "label":"Centro Custo",
    "type":"string",
    "order":4
}],

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 todos as propriedades do PoDynamicViewField podem ser utilizadas.

Caso o icmsStViewicmsUfDestView e o fcpView não sejam enviados a expansão da linha não será exibida, caso apenas um ou dois desses elementos não sejam enviados a expansão ainda é criada, exibindo os elementos enviados.

"icmsUfDestView":[{
    "gridColumns":6,
    "property":"espICMSUfDest"",
    "label":"Espécie",
    "type":"string", 
    "order":1
},{
    "gridColumns":6,
    "property":"tpDespICMSUfDest"",
    "label":"Tipo Despesa",
    "type":"string",
    "order":2
},{
    "gridColumns":6,
    "property":"ctICMSUfDest"",
    "label":"Conta Contábil",
    "type":"string",
    "order":3
},{
    "gridColumns":6,
    "property":"ccICMSUfDest""",
    "label":"Centro Custo",
    "type":"string",
    "order":4
}],

fcpView

Expansão da linha da tabela, dados sobre o ICMS Uf Dest. Neste componente é utilizado o po-dynamic-view e todos as propriedades do PoDynamicViewField podem ser utilizadas.

Caso o icmsStViewicmsUfDestView e o fcpView não sejam enviados a expansão da linha não será exibida, caso apenas um ou dois desses elementos não sejam enviados a expansão ainda é criada, exibindo os elementos enviados.

"icmsUfDestView":[{
    "gridColumns":6,
    "property":"espICMSUfDest"",
    "label":"Espécie",
    "type":"string", 
    "order":1
},{
    "gridColumns":6,
    "property":"tpDespICMSUfDest"",
    "label":"Tipo Despesa",
    "type":"string",
    "order":2
},{
    "gridColumns":6,
    "property":"ctICMSUfDest"",
    "label":"Conta Contábil",
    "type":"string",
    "order":3
},{
    "gridColumns":6,
    "property":"ccICMSUfDest""",
    "label":"Centro Custo",
    "type":"string",
    "order":4
}],

b) Tela - Novo/Editar Parâmetros Estabelecimento x GNRE 

A tela de novo/editar não foi desenvolvida utilizando o componente dinâmico completo, como o po-page-dynamic-edit 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.

a) Aba Geral

CampoDescrição
urlGnre

URL utilizada para buscar os dados da aba "Geral"

"urlGnre":"\/api\/ftp\/v1\/gnreParameters"
generalTab

formulário dinâmico da aba geral, deve vir um array de objetos que implementam a interface PoDynamicFormField.

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":"\/api\/fin\/v1\/documentType",
    "fieldLabel":"description",
    "property":"espICMSST",
    "disabled":true,
    "order":5
}]


b) Aba Fornecedor x UF

CampoDescrição
urlGnreUf
URL utilizada para buscar os dados da aba "Fornecedor x UF"


"urlGnreUf":"\/api\/ftp\/v1\/gnreParametersProviderUf"
fornecUfTabColumns

Lista das colunas da tabela de Fornecedor x UF, Deve vir um array de objetos que implementam a interface PoTableColumn

"fornecUfTabColumns":[{
     "allowColumnsManager":true,
     "property":"providerName",
     "label":"Fornecedor",
     "type":"string",
     "order":17
},
{
     "allowColumnsManager":true,
     "property":"ufName",
     "label":"Estado",
     "type":"string",
     "order":18
}]
tableCustomActions

Campo utilizado para exibir ou não a ação de delete da tabela de UF x Fornecedor, caso não venha o DELETE nesta propriedade o botão não é criado.

"tableCustomActions":[{
     "label":"Delete"
}]
assocFornecUfModal

Campos da modal de Relalação Forncedor x UF, a modal possui um po-dynamic-form e aceita todos as propriedades da interface PoDynamicFormField.

"assocFornecUfModal":[{
    "gridColumns":12,
    "searchService":"\/api\/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