Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Informações
titleImportante

Essa funcionalidade será expedida na versão Totvs 12.1.2603 e também será  liberada via console nos patches 12.1.2507.6, 12.1.2503.12 e 12.1.2411.17.

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 
Âncora
1
1

...

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.

getMetaData

copy

Metadados

Estrutura metadados da tela de cópia/duplicação de registro.



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.

deleteList

beforeDeleteList

Payload

Executado antes da eliminação de um lote de registros.

deleteList

afterDeleteList

Payload

Executado depois da eliminação de um lote de registros.


API REST - cdp/api/v1/planilha.p

Pode ser implementada uma UPC para captar os eventos de geração de planilha.

Detalhes dos endpoints que permitem customização estão nessa documentação.


03. JSON de metadata
Âncora
3
3

É 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
Duplicar/Cópia

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.

...

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

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"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
}]

Image Removed

...

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.

Informações

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.

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"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
}],

Image Removed

...

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.

Informações

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.

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"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
}],

Image Removed

...

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.

Informações

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.

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"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
}],

...

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

...

URL utilizada para buscar os dados da aba "Geral"

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"urlGnre":"\/api\/ftp\/v1\/gnreParameters"

...

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

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
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
}]

Image Removed

b) Aba Fornecedor x UF

...

Visualização

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

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
Âncora
4
4

Não há especificidades nessa tela, está sendo utilizado na listagem o componente dinâmico completo (po-page-dynamic-table). Na edição há um formulário dinâmico padrão recebendo os fields que podem ser alterados por meio de UPC.

...

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"urlGnreUf":"\/api\/ftp\/v1\/gnreParametersProviderUf"

...

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

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"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 tabela de UF x Fornecedor, caso não venha o DELETE nesta propriedade o botão não é criado.

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"tableCustomActions":[{
     "label":"Delete"
}]

...

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

Bloco de código
titleExemplo
linenumberstrue
collapsetrue
"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
}]

Image Removed

05. Observações Gerais 
Âncora
5
5