Árvore de páginas

MLAAPI021 - Configurações Visuais Aplicativo MLA

Produto:

Datasul

Ocorrência:

Documentação de API

Nome físico:

lap/mlaapi021.p


Objetivo

Esta API tem como objetivo realizar a apresentação de dados e realizar configurações visuais para o aplicativo do MLA.


Funcionamento

A API fornece uma série de métodos que podem ser executados individualmente para validações e configurações do MLA.

A sintaxe para a chamada da API, que deve ser de forma persistente:


run lap/mlaapi021.p persistent set h-handle.


A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.

Método Negócio


Quando a API estiver executada em modo persistente, os seguintes métodos estarão disponíveis para execução:


pi-get-approverUser-v1

Requisito

Nenhum.

Descrição

Retorna informações de um aprovador do MLA.

Parâmetros

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT

Parâmetros para a busca do aprovador:

queryParams →  fields: Campos que devem ser retornados na busca, separados por vírgula, verificar campos possíveis no oOutput.

queryParams →  expand: Utilizando este parâmetro com a informação "visualConfigurations", são retornadas também as configurações visuais do usuário.

pathParams:  Informar o código do aprovador que se deseja buscar as informações.

Exemplo
{
    "queryParams": {
        "fields" [
            "userCode",
            "userName"
        ],
        "expand": [
            "visualConfigurations"
        ],
    },
    "pathParams": [
        "super"
    ]
}
oOutputJsonObjectOUTPUT

Informações do aprovador.


Exemplo
{
  "status": 200,
  "payload": {
    "total": 1,
    "hasNext": false,
    "items": [
      {
        "userCode": "super",
        "userName": "Super Usuário",
        "eMail": "",
        "sendEmail": true,
        "receiveEmail": true,
        "masterUser": false,
        "currency": 0,
        "currencyAbbrev": "R$",
        "automaticApproval": true,
        "automaticApprovalApprover": true,
        "siteCode": "1",
        "allocationCode": "10702",
        "releaseAmount": false,
        "configuratorUser": true,
        "companyCode": "10",
        "language": "pt",
        "_expandables": [
          "visualConfigurations"
        ],
        "visualConfigurations": [
          {
            "ordination": 3,
            "allCompanies": false,
            "approveWithoutReason": true,
            "undoTime": 5,
            "rightSwipeAction": 1,
            "leftSwipeAction": 1,
            "initialView": 1,
            "pageRecordsNumber": 50
          }
        ]
      }
    ]
  }
}

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-aprovador: que contém as informações principais do aprovador
  • tt-config-visual (visualConfigurations): contém as informações de configuração visual do usuário.
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca dos aprovadores

Retorno

Aprovadores do MLA conforme filtros passados.



pi-get-layoutSetting-data

Requisito

Nenhum.

Descrição

Retorna layout de documento de um usuário

Parâmetros

Tipo

Input/Output

Descrição

pcUserCHARACTERINPUTCódigo do usuário que se deseja buscar o layout
piInterfaceINTEGERINPUTCódigo da interface (1 - Lista / 2 - Detalhe)
piDocumentTypeINTEGERINPUTCódigo do documento
plOnlyVisibleLOGICALINPUTIndica que deve retornar apenas campos visíveis
pcFieldsLONGCHARINPUTLista de campos a serem considerados na busca, separados por vírgula (verificar na temp-table tt-document-com-expand para saber os nomes a utilizar).
pcExpandLONGCHARINPUTLista de entidades filhas expansíveis. Para mostrar os campos do layout utilizar "fields"
tt-document-com-expandTEMP-TABLEOUTPUTInformações do documento 
tt-layoutTEMP-TABLEOUTPUTLista de campos do layout do documento
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca de layout

Retorno

Layout do documento para o usuário e interface solicitados.



pi-get-layoutSetting-v1

Requisito

Nenhum.

Descrição

Retorna layout de documento de um usuário

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para a busca do layout:

queryParams →  expand: Utilizando este parâmetro com a informação "fields", são retornadas também os campos do layout.

pathParams:  Informar na seguinte ordem: o código do aprovador, interface e número de documento.

Exemplo
{
    "queryParams": {
        "expand": [
          "fields"
        ]
     },
  "pathParams": [
    "super",
    "1",
    "2"
  ],
}
oOutputJsonObjectOUTPUT

Informações do layout:

Exemplo
{
  "status": 200,
  "payload": {
    "userCode": "super",
    "userName": "Super Usuário",
    "interface": 1,
    "documentCode": 2,
    "documentDescription": "Solicitação de Compra - Total",
    "_expandables": [
      "fields"
    ],
    "fields": [
      {
        "id": "doc-nr-requisicao",
        "componentType": 1,
        "label": "",
        "description": "Número da Solicitação de Compra",
        "visible": true,
        "size": 100
      },
      {
        "id": "pend-valor-doc",
        "componentType": 1,
        "label": "",
        "description": "Valor da Pendência de Aprovação",
        "visible": true,
        "size": 100
      }
   }     
}


Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação.: 

  • tt-document-com-expand: que contém as informações do documento.
  • tt-layout (fields): contém as informações de campos do layout.
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca de layout

Retorno

Layout do documento para o usuário e interface solicitados.



pi-get-users-with-layoutSetting-v1

Requisito

Nenhum.

Descrição

Retorna a lista de usuários que possuem layouts salvos para determinado documento

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para a busca dos usuários:

pathParams:  Informar na seguinte ordem: USERSWITHLAYOUT e número de documento.

Exemplo
{
  "pathParams": [
    "USERSWITHLAYOUT ",
    "1",
  ],
}
oOutputJsonObjectOUTPUT

Informações dos usuários:

Exemplo
{
  "status": 200,
  "payload": {
    "layoutUsers": [
        {
            "userCode": "super",
            "userName": "Super Usuário"
        },
        {
            "userCode": "super2",
            "userName": "Super Usuário 2"
        }
     ]
   }     
}

Sobre os campos retornados:

  • userCode: Código do usuário
  • userName: Nome do usuário
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de busca de usuários

Retorno

Usuários que possuem layout salvo para o documento solicitado.



pi-delete-layoutSetting

Requisito

Nenhum.

Descrição

Elimina o layout de documento de um usuário

Parâmetros

Tipo

Input/Output

Descrição

pcUserCHARACTERINPUTCódigo do usuário que se deseja eliminar o layout
piInterfaceINTEGERINPUTCódigo da interface (1 - Lista / 2 - Detalhe)
piDocumentTypeINTEGERINPUTCódigo do documento
oErrorProgress.Lang.AppErrorOUTPUTInformações sobre os erros ocorridos durante o processo de eliminação de layout
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de eliminação de layout

Retorno

Erros ocorridos no processo de eliminação.

pi-delete-layoutSetting-v1

Requisito

Nenhum.

Descrição

Elimina o layout de documento de um usuário

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para a busca dos usuários:

pathParams:  Informar na seguinte ordem: o código do aprovador, interface e número de documento.

Exemplo
{
  "pathParams": [
    "super",
    "1",
    "2"
  ],
}
oOutputJsonObjectOUTPUT

Informações do processamento:

Exemplo
{
  "status": 200,
  "payload": {
  }
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de eliminação de layout

Retorno

Erros ocorridos no processo de eliminação.



pi-delete-every-layoutSetting-v1

Requisito

Nenhum.

Descrição

Elimina todos os layout de documento de um usuário

Parâmetros

Tipo

Input/Output

Descrição

cUsuarioCHARACTERINPUTCódigo do usuário
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de eliminação de layouts

Retorno

Erros ocorridos no processo de eliminação.



pi-delete-batch-layoutSetting-v1

Requisito

Nenhum.

Descrição

Eliminação de layouts de documento de usuário em lote

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para a busca dos usuários:

pathParams:  Informar: BATCH

payload: Informar o objeto com layouts a serem eliminados 

  • userCode: Código do usuário
  • interface: Interface
  • documentCode: Documento


Exemplo
{
  "pathParams": [
    "BATCH"
  ],
  "payload": {
    "layouts": [
      {
          "userCode":"super",
          "interface":1,
          "documentCode":2
      },
      {
          "userCode":"super",
          "interface":2,
          "documentCode":2
      },
      {
          "userCode":"super",
          "interface":1,
          "documentCode":3
      },
      {
          "userCode":"super",
          "interface":2,
          "documentCode":3
      }
    ]
   }
}
oOutputJsonObjectOUTPUT
Informações do processamento (para cada layout):


Exemplo
{
  "batchReturn": [
    {
      "status": 200,
      "payload": {
      }
    },
    {
      "status": 200,
      "payload": {
      }
    },
    {
      "status": 200,
      "payload": {
      }
    },
    {
      "status": 200,
      "payload": {
      }
    }
  ]
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante o processo de eliminação de layouts

Retorno

Erros ocorridos no processo de eliminação.



pi-create-visualConfiguration-v1

Requisito

Nenhum.

Descrição

Cria as configurações visuais do usuário

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para criação das configurações visuis:

payload:  Informações das configurações visuais a serem criadas.

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-config-visual-upd


Exemplo
{
  "payload": {
    "userCode":"super",
    "interface":1,
    "ordination": 3,
    "allCompanies": true,
    "approveWithoutReason": true,
    "initialView": 3
  }
}
oOutputJsonObjectOUTPUT

Resultado da criação do registro:

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-config-visual-upd


Exemplo
{
  "userCode": "super",
  "interface": 1,
  "ordination": 3,
  "allCompanies": true,
  "approveWithoutReason": true,
  "undoTime": 5,
  "rightSwipeAction": 1,
  "leftSwipeAction": 2,
  "initialView": 3,
  "pageRecordsNumber": 50
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a criação das configurações visuais.

Retorno

Informações do registro salvo ou erros ocorridos no processo.



pi-upatch-visualConfiguration-v1

Requisito

Nenhum.

Descrição

Atualiza as configurações visuais do usuário. Obs.: Permite atualização parcial dos dados, ou seja, pode-se enviar apenas os campos que se deseja alterar.

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para alteração das configurações visuais:

pathParams:  Informar na seguinte ordem: o código do aprovador e interface.

payload:  Informações das configurações visuais a serem alteradas.

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-config-visual-upd


Exemplo
{
  "pathParams": [
    "super",
    "1"
  ],
  "payload": {
    "ordination": 3,
    "allCompanies": true,
    "approveWithoutReason": true,
    "initialView": 3
  }
}
oOutputJsonObjectOUTPUT

Resultado da alteração do registro:

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-config-visual-upd


Exemplo
{
  "userCode": "super",
  "interface": 1,
  "ordination": 3,
  "allCompanies": true,
  "approveWithoutReason": true,
  "undoTime": 5,
  "rightSwipeAction": 1,
  "leftSwipeAction": 2,
  "initialView": 3,
  "pageRecordsNumber": 50
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a alteração das configurações visuais.

Retorno

Informações do registro salvo ou erros ocorridos no processo.



pi-update-visualConfiguration-v1

Requisito

Nenhum.

Descrição

Atualiza as configurações visuais do usuário. Obs.: Realiza atualização total dos dados, ou seja, se algum campo não for enviado seu conteúdo será limpo.

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para alteração das configurações visuais:

pathParams:  Informar na seguinte ordem: o código do aprovador e interface.

payload:  Informações das configurações visuais a serem alteradas.

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-config-visual-upd


Exemplo
{
  "pathParams": [
    "super",
    "1"
  ],
  "payload": {
    "ordination": 3,
    "allCompanies": true,
    "approveWithoutReason": true,
    "initialView": 3
  }
}
oOutputJsonObjectOUTPUT

Resultado da alteração do registro:

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-config-visual-upd


Exemplo
{
  "userCode": "super",
  "interface": 1,
  "ordination": 3,
  "allCompanies": true,
  "approveWithoutReason": true,
  "undoTime": 5,
  "rightSwipeAction": 1,
  "leftSwipeAction": 2,
  "initialView": 3,
  "pageRecordsNumber": 50
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a alteração das configurações visuais.

Retorno

Informações do registro salvo ou erros ocorridos no processo.



pi-query-approverUser-v1

Requisito

Nenhum.

Descrição

Retorna informações de aprovadores conforme filtros informados.

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para a busca de aprovadores:

queryParams:

  • fields: Campos que devem ser retornados na busca, separados por vírgula, verificar campos possíveis na temp-table tt-aprovador no final desta documentação (utilizar o "Nome no objeto");
  • quickSearch: Filtro rápido por código ou nome do aprovador;
  • order: Ordenação (verificar campos possíveis na temp-table tt-aprovador no final desta documentação (utilizar o "Nome no objeto"). Para ordenação decrescente utilizar o sinal "-" antes do campo;
  • <Nome no objeto>: Filtro pelo campo informado;
  • userCodeIni: Filtra por aprovadores com código maior ou igual ao informado;
  • userCodeEnd: Filtra por aprovadores com código menor ou igual ao informado;
  • userNameIni: Filtra por aprovadores com nome maior ou igual ao informado;
  • userNameEnd: Filtra por aprovadores com nome menor ou igual ao informado;
  • pageSize: Tamanho da página (registros que serão retornados por vez);


Exemplo
{
  "queryParams": {
    "userCodeIni": [
      "ana"
    ],
    "userCodeEnd": [
      "super"
    ],
    "order": [
      "-userCode"
    ],
    "pageSize": [
      "10"
    ]
  },
}
aOutputJsonArrayOUTPUT

Lista de aprovadores retornados na busca.

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-aprovador


Exemplo
[
  {
    "userCode": "super",
    "userName": "Super Usuário",
    "eMail": "[email protected]",
    "sendEmail": true,
    "receiveEmail": true,
    "masterUser": true,
    "currency": 0,
    "automaticApproval": false,
    "automaticApprovalApprover": false,
    "siteCode": "1",
    "allocationCode": "10702",
    "releaseAmount": true,
    "configuratorUser": true,
    "companyCode": "10",
    "language": "pt"
  },
  {
    "userCode": "massao",
    "userName": "M.Massao Matsunaka-Ger.Suprim.",
    "eMail": "[email protected]",
    "sendEmail": true,
    "receiveEmail": true,
    "masterUser": false,
    "currency": 0,
    "automaticApproval": true,
    "automaticApprovalApprover": false,
    "siteCode": "1",
    "allocationCode": "",
    "releaseAmount": false,
    "configuratorUser": false,
    "companyCode": "10",
    "language": "pt"
  },
  {
    "userCode": "ana claudia",
    "userName": "Ana Cludia de Oliveira",
    "eMail": "[email protected]",
    "sendEmail": false,
    "receiveEmail": false,
    "masterUser": false,
    "currency": 0,
    "automaticApproval": true,
    "automaticApprovalApprover": false,
    "siteCode": "a1",
    "allocationCode": "",
    "releaseAmount": false,
    "configuratorUser": false,
    "companyCode": "",
    "language": "pt"
  }
]
lHasNextLOGICALOUTPUTIndica existência de mais registros para busca
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a busca de aprovadores.

Retorno

Informações de aprovadores ou erros ocorridos no processo de busca.



pi-query-layoutSetting-v1

Requisito

Nenhum.

Descrição

Retorna informações de documentos disponíveis para configuração de layout do aprovador conforme filtros informados.

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para a busca de documentos:

queryParams:

  • userCode: Código do aprovador que se deseja verificar os layouts;
  • interface: Interface para qual se deseja verificar os layouts;
  • fields: Campos que devem ser retornados na busca, separados por vírgula, verificar campos possíveis na temp-table tt-document no final desta documentação (utilizar o "Nome no objeto");
  • order: Ordenação (verificar campos possíveis na temp-table tt-document no final desta documentação (utilizar o "Nome no objeto"). Para ordenação decrescente utilizar o sinal "-" antes do campo;
  • <Nome no objeto>: Filtro pelo campo informado;
  • documentCodeIni: Filtra por documentos com código maior ou igual ao informado;
  • documentCodeEnd: Filtra por documentos com código menor ou igual ao informado;


Exemplo
{
  "queryParams": {
    "userCode": [
      "super"
    ],
    "interface": [
      "1"
    ],
    "order": [
      "shortName"
    ]
  }
}
aOutputJsonArrayOUTPUT

Lista de documentos retornados na busca.

Para verificar o que significa cada campo, conferir nas temp-tables no final desta documentação: 

  • tt-aprovador


Exemplo
[
  {
    "documentCode": 5,
    "documentDescription": "Cotação de Materiais",
    "defaultLayout": false,
    "shortName": "CO"
  },
  {
    "documentCode": 501,
    "documentDescription": "Documento Específico",
    "defaultLayout": true,
    "shortName": "D"
  },
  {
    "documentCode": 1,
    "documentDescription": "Solicitação de Compra - Item",
    "defaultLayout": false,
    "shortName": "SC"
  }
]
lHasNextLOGICALOUTPUTIndica existência de mais registros para busca
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a busca de documentos.

Retorno

Informações de documentos ou erros ocorridos no processo de busca.



pi-create-layoutSetting-v1

Requisito

Nenhum.

Descrição

Cria layout de documento do usuário

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para criação do layout do usuário para documento:

payload:  Informações do layout a ser criado:

  • userCode: Código do aprovador
  • interface: Interface (1 - Lista / 2 - Detalhe)
  • documentCode: Código do documento
  • fields: Componentes do layout:
    • id: Id do componente;
    • componentType: Tipo de componente (1 - Campo / 2 - Lista / 3 - Separador);
    • label: Rótulo do campo;
    • description: Descrição do campo;
    • visible: Visibilidade do campo;
    • size: Tamanho do componente;
    • fields: Campos do componente em questão
      • Mesma estrutura de campos acima


Exemplo
{
   "payload": {
      "userCode": "super",
      "interface": 1,
      "documentCode": 5,
      "fields": [
        {
           "id": "pend-chave-doc",
           "componentType": 1,
           "label": "Chave",
           "description": "Chave do Documento da Pendência de Aprovação",
           "visible": true,
           "size": 100
         },
         {
           "id": "pend-valor-doc",
           "componentType": 1,
           "label": "Valor",
           "description": "Valor da Pendência de Aprovação",
           "visible": true,
           "size": 100
         }
       ]
   }
}
oOutputJsonObjectOUTPUT

Resultado da criação do registro:

  • userCode: Código do aprovador
  • userName: Nome do aprovador
  • interface: Interface (1 - Lista / 2 - Detalhe)
  • documentCode: Código do documento
  • documentDescription: Descrição do documento
  • fields: Componentes do layout:
    • id: Id do componente;
    • componentType: Tipo de componente (1 - Campo / 2 - Lista / 3 - Separador);
    • label: Rótulo do campo;
    • description: Descrição do campo;
    • visible: Visibilidade do campo;
    • size: Tamanho do componente;
    • fields: Campos do componente em questão
      • Mesma estrutura de campos acima


Exemplo
{
  "userCode": "super",
  "userName": "Super Usuário",
  "interface": 1,
  "documentCode": 5,
  "documentDescription": "Cotação de Materiais",
  "_expandables": [
    "fields"
  ],
  "fields": [
    {
      "id": "pend-chave-doc",
      "componentType": 1,
      "label": "Chave",
      "description": "Chave do Documento da Pendência de Aprovação",
      "visible": true,
      "size": 100
    },
    {
      "id": "pend-valor-doc",
      "componentType": 1,
      "label": "Valor",
      "description": "Valor da Pendência de Aprovação",
      "visible": true,
      "size": 100
    }
  ]
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a criação do layout de documento do usuário.

Retorno

Informações do registro salvo ou erros ocorridos no processo.



pi-create-batch-layoutSetting-v1

Requisito

Nenhum.

Descrição

Criação de layout de documento do usuário em lote.

Obs: Pode ser usado para criar o layout da Listagem e Detalhe junto para o mesmo documento.

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para criação do layout do usuário para documento:

pathParams: Informar BATCH

payload:  Informações do layout a ser criado:

  • layouts: Layouts de documentos/usuários:
    • userCode: Código do aprovador
    • interface: Interface (1 - Lista / 2 - Detalhe)
    • documentCode: Código do documento
    • fields: Componentes do layout:
      • id: Id do componente;
      • componentType: Tipo de componente (1 - Campo / 2 - Lista / 3 - Separador);
      • label: Rótulo do campo;
      • description: Descrição do campo;
      • visible: Visibilidade do campo;
      • size: Tamanho do componente;
      • fields: Campos do componente em questão
        • Mesma estrutura de campos acima


Exemplo
{
   "pathParams": [
      "BATCH"
   ],
   "payload": {
      "layouts": [
      {
        "userCode": "super",
        "interface": 1,
        "documentCode": 5,
        "fields": [
          {
            "id": "pend-chave-doc",
            "componentType": 1,
            "label": "Chave",
            "description": "Chave do Documento da Pendência de Aprovação",
            "visible": true,
            "size": 100
          },
          {
            "id": "pend-valor-doc",
            "componentType": 1,
            "label": "Valor",
            "description": "Valor da Pendência de Aprovação",
            "visible": true,
            "size": 100
          }
        ]
      },
      {
        "userCode": "super",
        "interface": 2,
        "documentCode": 5,
        "fields": [
          {
            "id": "pend-chave-doc",
            "componentType": 1,
            "label": "Chave",
            "description": "Chave do Documento da Pendência de Aprovação",
            "visible": true,
            "size": 100
          },
          {
            "id": "pend-cod-usuar-doc",
            "componentType": 1,
            "label": "Usuário",
            "description": "Código do Usuário da Pendência de Aprovação",
            "visible": true,
            "size": 50
          },
          {
            "id": "pend-valor-doc",
            "componentType": 1,
            "label": "Valor",
            "description": "Valor da Pendência de Aprovação",
            "visible": true,
            "size": 50
          }
        ]
      }
    ]
   }
}
oOutputJsonObjectOUTPUT

Resultado da criação do registro:

  • layouts: Layouts de documentos/usuários:
    • userCode: Código do aprovador
    • userName: Nome do aprovador
    • interface: Interface (1 - Lista / 2 - Detalhe)
    • documentCode: Código do documento
    • documentDescription: Descrição do documento
    • fields: Componentes do layout:
      • id: Id do componente;
      • componentType: Tipo de componente (1 - Campo / 2 - Lista / 3 - Separador);
      • label: Rótulo do campo;
      • description: Descrição do campo;
      • visible: Visibilidade do campo;
      • size: Tamanho do componente;
      • fields: Campos do componente em questão
        • Mesma estrutura de campos acima


Exemplo
{
  "layouts": [
    {
      "userCode": "super",
      "userName": "Super Usuário",
      "interface": 1,
      "documentCode": 5,
      "documentDescription": "Cotação de Materiais",
      "_expandables": [
        "fields"
      ],
      "fields": [
        {
          "id": "pend-chave-doc",
          "componentType": 1,
          "label": "Chave",
          "description": "Chave do Documento da Pendência de Aprovação",
          "visible": true,
          "size": 100
        },
        {
          "id": "pend-valor-doc",
          "componentType": 1,
          "label": "Valor",
          "description": "Valor da Pendência de Aprovação",
          "visible": true,
          "size": 100
        }
      ]
    },
    {
      "userCode": "super",
      "userName": "Super Usuário",
      "interface": 2,
      "documentCode": 5,
      "documentDescription": "Cotação de Materiais",
      "_expandables": [
        "fields"
      ],
      "fields": [
        {
          "id": "pend-chave-doc",
          "componentType": 1,
          "label": "Chave",
          "description": "Chave do Documento da Pendência de Aprovação",
          "visible": true,
          "size": 100
        },
        {
          "id": "pend-cod-usuar-doc",
          "componentType": 1,
          "label": "Usuário",
          "description": "Código do Usuário da Pendência de Aprovação",
          "visible": true,
          "size": 50
        },
        {
          "id": "pend-valor-doc",
          "componentType": 1,
          "label": "Valor",
          "description": "Valor da Pendência de Aprovação",
          "visible": true,
          "size": 50
        }
      ]
    }
  ]
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a criação dos layouts de documentos/usuários.

Retorno

Informações do registro salvo ou erros ocorridos no processo.



pi-update-layoutSetting-v1

Requisito

Nenhum.

Descrição

Alteração de layout de documento do usuário

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para alteração do layout do usuário para documento:

pathParams: Informar na seguinte ordem: o código do aprovador, interface e código do documento

payload:  Informações do layout a ser alterado:

  • userCode: Código do aprovador
  • interface: Interface (1 - Lista / 2 - Detalhe)
  • documentCode: Código do documento
  • fields: Componentes do layout:
    • id: Id do componente;
    • componentType: Tipo de componente (1 - Campo / 2 - Lista / 3 - Separador);
    • label: Rótulo do campo;
    • description: Descrição do campo;
    • visible: Visibilidade do campo;
    • size: Tamanho do componente;
    • fields: Campos do componente em questão
      • Mesma estrutura de campos acima


Exemplo
{
   "pathParams": [
    "super",
    "1",
    "5"
   ],
   "payload": {
      "userCode": "super",
      "interface": 1,
      "documentCode": 5,
      "fields": [
        {
           "id": "pend-chave-doc",
           "componentType": 1,
           "label": "Chave",
           "description": "Chave do Documento da Pendência de Aprovação",
           "visible": true,
           "size": 50
         },
         {
           "id": "pend-valor-doc",
           "componentType": 1,
           "label": "Valor",
           "description": "Valor da Pendência de Aprovação",
           "visible": true,
           "size": 50
         }
       ]
   }
}
oOutputJsonObjectOUTPUT

Resultado da criação do registro:

  • userCode: Código do aprovador
  • userName: Nome do aprovador
  • interface: Interface (1 - Lista / 2 - Detalhe)
  • documentCode: Código do documento
  • documentDescription: Descrição do documento
  • fields: Componentes do layout:
    • id: Id do componente;
    • componentType: Tipo de componente (1 - Campo / 2 - Lista / 3 - Separador);
    • label: Rótulo do campo;
    • description: Descrição do campo;
    • visible: Visibilidade do campo;
    • size: Tamanho do componente;
    • fields: Campos do componente em questão
      • Mesma estrutura de campos acima


Exemplo
{
  "userCode": "super",
  "userName": "Super Usuário",
  "interface": 1,
  "documentCode": 5,
  "documentDescription": "Cotação de Materiais",
  "_expandables": [
    "fields"
  ],
  "fields": [
    {
      "id": "pend-chave-doc",
      "componentType": 1,
      "label": "Chave",
      "description": "Chave do Documento da Pendência de Aprovação",
      "visible": true,
      "size": 50
    },
    {
      "id": "pend-valor-doc",
      "componentType": 1,
      "label": "Valor",
      "description": "Valor da Pendência de Aprovação",
      "visible": true,
      "size": 50
    }
  ]
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a alteração do layout de documento do usuário.

Retorno

Informações do registro salvo ou erros ocorridos no processo.



pi-update-batch-layoutSetting-v1

Requisito

Nenhum.

Descrição

Alteração de layout de documento do usuário em lote.

Obs: Pode ser usado para alteração do layout da Listagem e Detalhe junto para o mesmo documento.

Parâmetros

Tipo

Input/Output

Descrição

oInputJsonObjectINPUT

Parâmetros para alteração do layout do usuário para documento:

pathParams: Informar BATCH.

payload:  Informações do layout a ser criado:

  • layouts: Layouts de documentos/usuários:
    • userCode: Código do aprovador
    • interface: Interface (1 - Lista / 2 - Detalhe)
    • documentCode: Código do documento
    • fields: Componentes do layout:
      • id: Id do componente;
      • componentType: Tipo de componente (1 - Campo / 2 - Lista / 3 - Separador);
      • label: Rótulo do campo;
      • description: Descrição do campo;
      • visible: Visibilidade do campo;
      • size: Tamanho do componente;
      • fields: Campos do componente em questão
        • Mesma estrutura de campos acima


Exemplo
{
   "pathParams": [
      "BATCH"
   ],
   "payload": {
      "layouts": [
      {
        "userCode": "super",
        "interface": 1,
        "documentCode": 5,
        "fields": [
          {
            "id": "pend-chave-doc",
            "componentType": 1,
            "label": "Chave",
            "description": "Chave do Documento da Pendência de Aprovação",
            "visible": true,
            "size": 100
          },
          {
            "id": "pend-valor-doc",
            "componentType": 1,
            "label": "Valor",
            "description": "Valor da Pendência de Aprovação",
            "visible": true,
            "size": 100
          }
        ]
      },
      {
        "userCode": "super",
        "interface": 2,
        "documentCode": 5,
        "fields": [
          {
            "id": "pend-chave-doc",
            "componentType": 1,
            "label": "Chave",
            "description": "Chave do Documento da Pendência de Aprovação",
            "visible": true,
            "size": 100
          },
          {
            "id": "pend-cod-usuar-doc",
            "componentType": 1,
            "label": "Usuário",
            "description": "Código do Usuário da Pendência de Aprovação",
            "visible": true,
            "size": 50
          },
          {
            "id": "pend-valor-doc",
            "componentType": 1,
            "label": "Valor",
            "description": "Valor da Pendência de Aprovação",
            "visible": true,
            "size": 50
          }
        ]
      }
    ]
   }
}
oOutputJsonObjectOUTPUT

Resultado da criação do registro:

  • layouts: Layouts de documentos/usuários:
    • userCode: Código do aprovador
    • userName: Nome do aprovador
    • interface: Interface (1 - Lista / 2 - Detalhe)
    • documentCode: Código do documento
    • documentDescription: Descrição do documento
    • fields: Componentes do layout:
      • id: Id do componente;
      • componentType: Tipo de componente (1 - Campo / 2 - Lista / 3 - Separador);
      • label: Rótulo do campo;
      • description: Descrição do campo;
      • visible: Visibilidade do campo;
      • size: Tamanho do componente;
      • fields: Campos do componente em questão
        • Mesma estrutura de campos acima


Exemplo
{
  "layouts": [
    {
      "userCode": "super",
      "userName": "Super Usuário",
      "interface": 1,
      "documentCode": 5,
      "documentDescription": "Cotação de Materiais",
      "_expandables": [
        "fields"
      ],
      "fields": [
        {
          "id": "pend-chave-doc",
          "componentType": 1,
          "label": "Chave",
          "description": "Chave do Documento da Pendência de Aprovação",
          "visible": true,
          "size": 100
        },
        {
          "id": "pend-valor-doc",
          "componentType": 1,
          "label": "Valor",
          "description": "Valor da Pendência de Aprovação",
          "visible": true,
          "size": 100
        }
      ]
    },
    {
      "userCode": "super",
      "userName": "Super Usuário",
      "interface": 2,
      "documentCode": 5,
      "documentDescription": "Cotação de Materiais",
      "_expandables": [
        "fields"
      ],
      "fields": [
        {
          "id": "pend-chave-doc",
          "componentType": 1,
          "label": "Chave",
          "description": "Chave do Documento da Pendência de Aprovação",
          "visible": true,
          "size": 100
        },
        {
          "id": "pend-cod-usuar-doc",
          "componentType": 1,
          "label": "Usuário",
          "description": "Código do Usuário da Pendência de Aprovação",
          "visible": true,
          "size": 50
        },
        {
          "id": "pend-valor-doc",
          "componentType": 1,
          "label": "Valor",
          "description": "Valor da Pendência de Aprovação",
          "visible": true,
          "size": 50
        }
      ]
    }
  ]
}
RowErrorsTemp-tableOUTPUTInformações sobre os erros ocorridos durante a alteração dos layouts de documentos/usuários.

Retorno

Informações do registro salvo ou erros ocorridos no processo.



Definição de temp-tables:


RowErrors

Entrada/Saída

Temp-table com dados dos erros ocorridos durante o processo

Saída

Atributo

Tipo

Descrição

Obrigatório

Evolução

ErrorSequence

 INTEGER

Número da sequência do erro

Sim

Não se aplica

ErrorNumber

INTEGER Código do erro 

Sim

Não se aplica

ErrorDescriptionCHARACTER Descrição do erro SimNão se aplica
ErrorParametersCHARACTER Parâmentros da mensagem de erro SimNão se aplica
ErrorTypeCHARACTER Tipo do erro SimNão se aplica
ErrorHelpCHARACTER Texto de ajuda da mensagem de erro SimNão se aplica
ErrorSubTypeCHARACTERSubtipo do erroSimNão se aplica



tt-aprovador

Entrada/Saída

Temp-table com dados dos aprovadores

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar

userCode

CHARACTER 

Código do aprovador

Não

Não se aplica

nome-usuar

userNameCHARACTER Nome do aprovador

Não

Não se aplica

e-maileMailCHARACTER E-mail do aprovadorNãoNão se aplica
envia-emailsendEmailLOGICALIndica se envia e-mailNãoNão se aplica
recebe-emailreceiveEmailLOGICALIndica se recebe e-mailNãoNão se aplica
usuar-mestremasterUserLOGICALIndica se o usuário é mestreNãoNão se aplica
mo-codigocurrencyINTEGERMoeda do aprovadorNãoNão se aplica
sigla-moedacurrencyAbbrevCHARACTER Sigla da moeda do usuárioNãoNão se aplica
aprova-autoautomacticApprovalLOGICALIndica se o aprovador aprova automaticamenteNãoNão se aplica
aprova-auto-aprovautomacticApprovalApproverLOGICALIndica se o aprovador aprova automaticamente pendências do aprovadorNãoNão se aplica
cod-estabelsiteCodeCHARACTER Estabelecimento do aprovadorNãoNão se aplica
cod-lotacaoallocationCodeCHARACTER Lotação do aprovadorNãoNão se aplica
libera-verbareleaseAmountLOGICALIndica se o aprovador libera verbaNãoNão se aplica
log-usuar-configconfiguratorUserLOGICALIndice se o aprovador é configurador visualNãoNão se aplica
empresacompanyCodeCHARACTER Empresa do aprovadorNãoNão se aplica
idiomalanguageCHARACTER Idioma do aprovadorNãoNão se aplica



tt-config-visual

Entrada/Saída

Temp-table com dados de configurações visuais de aprovadores

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar


CHARACTER 

Código do aprovador

Não

Não se aplica

idi-ordenacao

ordinationINTEGER

Ordenação padrão:

(1 - Mais recentes / 2 - Mais antigas / 3 - Maior valor / 4 - Menor valor / 5 - Tipo de documento / 6 - Empresa / 7 - Estabelecimento)

Não

Não se aplica

log-mostra-todas-empresasallCompaniesLOGICALIndica apresentação de pendências de todas as empresasNãoNão se aplica
log-aprova-sem-motivapproveWithoutReasonLOGICALIndica aprovação sem informar motivoNãoNão se aplica
cdn-tempo-desfundoTimeINTEGERTempo de desfazerNãoNão se aplica
idi-acao-swip-direrightSwipeActionINTEGER

Ação do swipe (Direito)

(1 - Aprovar / 2 - Rejeitar / 3 - Nenhum)


Não se aplica
idi-acao-swip-esqleftSwipeActionINTEGER

Ação do swipe (Esquerdo)

(1 - Aprovar / 2 - Rejeitar / 3 - Nenhum)

NãoNão se aplica
idi-visualiz-inicialinitialViewINTEGER

Visualização inicial

(1 - Todas as pendências / 2 - Pendências principais / 3 - Pendências alternativas / 4 - Pendências como mestre)

NãoNão se aplica
num-registro-paginacpageRecordsNumberINTEGERNúmero de registros por páginaNãoNão se aplica



tt-config-visual-upd

Entrada/Saída

Temp-table com dados de configurações visuais de aprovadores

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar

userCode

CHARACTER 

Código do aprovador

Sim

Não se aplica

idi-interfacidi-interfacINTEGERInterfaceSimNão se aplica

idi-ordenacao

ordinationINTEGER

Ordenação padrão:

(1 - Mais recentes / 2 - Mais antigas / 3 - Maior valor / 4 - Menor valor / 5 - Tipo de documento / 6 - Empresa / 7 - Estabelecimento)

Não

Não se aplica

log-mostra-todas-empresasallCompaniesLOGICALIndica apresentação de pendências de todas as empresasNãoNão se aplica
log-aprova-sem-motivapproveWithoutReasonLOGICALIndica aprovação sem informar motivoNãoNão se aplica
cdn-tempo-desfundoTimeINTEGERTempo de desfazerNãoNão se aplica
idi-acao-swip-direrightSwipeActionINTEGER

Ação do swipe (Direito)

(1 - Aprovar / 2 - Rejeitar / 3 - Nenhum)


Não se aplica
idi-acao-swip-esqleftSwipeActionINTEGER

Ação do swipe (Esquerdo)

(1 - Aprovar / 2 - Rejeitar / 3 - Nenhum)

NãoNão se aplica
idi-visualiz-inicialinitialViewINTEGER

Visualização inicial

(1 - Todas as pendências / 2 - Pendências principais / 3 - Pendências alternativas / 4 - Pendências como mestre)

NãoNão se aplica
num-registro-paginacpageRecordsNumberINTEGERNúmero de registros por páginaNãoNão se aplica



tt-document

Entrada/Saída

Temp-table com dados de documentos

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar

userCode

CHARACTER 

Código do aprovador

Sim

Não se aplica

idi-interfacinterfaceINTEGERInterface (1 - Lista / 2 - Detalhe)SimNão se aplica
cod-tip-docdocumentCodeINTEGERCódigo do documentoSimNão se aplica
desc-tip-docdocumentDescriptionCHARACTER Descrição do documentoNãoNão se aplica
layout-padraodefaultLayoutLOGICALLayout padrãoNãoNão se aplica
siglashortNameCHARACTERSigla do documentoNãoNão se aplica



tt-document-com-expand

Entrada/Saída

Temp-table com dados de documentos

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar

userCode

CHARACTER 

Código do aprovador

Sim

Não se aplica

nome-usuar

userNameCHARACTER 

Nome do aprovador

Não

Não se aplica

idi-interfacinterfaceINTEGERInterface (1 - Lista / 2 - Detalhe)SimNão se aplica
cod-tip-docdocumentCodeINTEGERCódigo do documentoSimNão se aplica
desc-tip-docdocumentDescriptionCHARACTER Descrição do documentoNãoNão se aplica
expandables_expandablesCHARACTER (Extent 1)Lista de entidades filhas expansíveisNãoNão se aplica



tt-layout

Entrada/Saída

Temp-table com campos de layout

Saída

Atributo

Nome no objeto

Tipo

Descrição

Obrigatório

Evolução

cdn-docto
INTEGERCódigo do documentoSimNão se aplica

cod-usuar


CHARACTER 

Código do aprovador

Sim

Não se aplica

idi-interfac
INTEGERInterface (1 - Lista / 2 - Detalhe)SimNão se aplica
cod-id-campoidCHARACTER Identificador do campoSimNão se aplica
idi-componcomponentTypeINTEGERTipo de componente (1 - Campo / 2 - Lista / 3 - Separador)SimNão se aplica
nom-rotu-campolabelCHARACTER Rótulo do campoNãoNão se aplica
des-campodescriptionCHARACTER Descrição do campoSimNão se aplica
log-visivelvisibleLOGICALVisibilidade do campoSimNão se aplica
cdn-tamanhosizeINTEGERTamanho do campoSimNão se aplica
cdn-ord
INTEGEROrdem do campoSimNão se aplica
cod-entid-pai
CHARACTER Identificação da entidade paiNãoNão se aplica
Índice: visivel-ordem, log-visivel, cdn-ord