Histórico da Página
...
Bloco de código |
---|
method new() as object class SRA2TReportsBusinessObject _Super:new() self:setDisplayName("Funcionários") if !self:setPergunte("GPER140") //Indica o pergunte que será utilizado no relatório FwLogMsg("WARN",, "SmartView",,, , "Grupo de perguntas nao encontrado", , ,) endif return self |
Sintaxe:setPergunte(<cPergunte>) → nillogical
Informações | ||
---|---|---|
| ||
Todos os MV_PAR virão maiúsculos no retorno. Ex: MV_PAR01, MV_PAR02 |
...
SetErrorStatus()
Indica se o campo pode ser filtrado.
...
o código de erro e as mensagens que serão exibidas no relatório
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|
nCodError |
Numérico | X |
Id da propriedade
Obs.: Se foi utilizado o método aliasToSchema o Id da propriedade é o nome do campo na tabela, ex. A1_NOME
Códigos de erro 4xx. | ||||
cMessage | Caractere | X | Mensagem de erro que será exibida. | |
cDetailedMsg | Caractere | X | Mensagem detalhada do erro que será exibida. |
Exemplo de Exemplo de uso:
Bloco de código |
---|
method getSchemanew() as object class BA3TReportsBusinessObject self:aliasToSchema("BA3" , {"BA3_DATBLO", "BA3_CODINT", "BA3_MATRIC"}) self:setCanFilter("BA3_MATRIC", .F.) //Setando o campo enviado pelo aliasToSchema como não filtrável return self |
Sintaxe: setCanFilter(<cId>, <lCanFilter>) → nil
SetPropDisplayName()
SRA2TReportsBusinessObject
_Super:new()
self:setDisplayName("Funcionários")
if !self:setPergunte("GPER140") //Indica o pergunte que será utilizado no relatório GPER140
if !self:setErrorStatus(400,"Sem Pergunte","Verifique o grupo de perguntas informado!")
FwLogMsg("WARN",, "SmartView",,, , "Codigo de erro invalido, aceito somente codigos de erro 4xx", , ,)
endif
FwLogMsg("WARN",, "SmartView",,, , "Grupo de perguntas nao encontrado", , ,)
endif
return self |
Sintaxe:setErrorStatus(<nCodError>, <cMessage>, <DetailedMsg>) → logical
Informações |
---|
Método disponível a partir da LIB Label 20230918 |
...
SetCanFilter()
Indica se o campo pode ser filtrado.
Informações |
---|
Método disponível a partir da LIB Label 20230626 |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cId | Caractere | X | Id da propriedade Obs.: Se foi utilizado o método aliasToSchema o Id da propriedade é o nome do campo na tabela, ex. A1_NOME | |
lCanFilter | Lógico | X | Indica se o campo pode ser filtrado |
Exemplo de uso:
Bloco de código |
---|
method getSchema() as object class BA3TReportsBusinessObject
self:aliasToSchema("BA3" , {"BA3_DATBLO", "BA3_CODINT", "BA3_MATRIC"})
self:setCanFilter("BA3_MATRIC", .F.) //Setando o campo enviado pelo aliasToSchema como não filtrável
return self |
Sintaxe: setCanFilter(<cId>, <lCanFilter>) → nil
...
SetPropDisplayName()
Seta o Seta o displayName da propriedade.
Informações |
---|
Método disponível a partir da LIB Label 20230626 |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cId | Caractere | X | Id da propriedade Obs.: Se foi utilizado o método aliasToSchema o Id da propriedade é o nome do campo na tabela, ex. A1_NOME | |
cDisplayName | Caractere | X | Nome de exibição |
Exemplo de uso:
Bloco de código |
---|
method getSchema() as object class BA3TReportsBusinessObject self:aliasToSchema("BA3" , {"BA3_DATBLO", "BA3_CODINT", "BA3_MATRIC", "BA3_VERCON"}) self:setPropDisplayName("BA3_VERCON", "Versão (BA3)") //Mudando o displayName da propriedade de BA3_VERCON para Versão (BA3) return self |
...
Informações |
---|
Método deverá ser utilizado no new() da nova classe criada, exemplo completo estará no final da documentação. |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
lKeyLabel | Lógico | X | .F. | Indica que o filtro lookup será do tipo key-label |
lX3 | Lógico | .F. | Indica que utilizará o SX3 para recuperar os valores do key-label dos campos |
Exemplo de uso:
Bloco de código |
---|
self:setIsCBoxLookup(.T., .T.) |
...
Informações |
---|
Método deverá ser utilizado no getSchema() após a criação dos campos da nova classe, exemplo completo estará no final da documentação. |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cField | Caracter | X | Campo que receberá o LookUp Key-Label | |
cComboValues | Caracter | X | Valores do key-label (Formato igual ao combobox da SX3, ex.: "D MG 01=Filial BH" separado por ; caso tenha mais de uma opção) | |
lIsRequired | Lógico | .F. | Indica que é obrigatório o preenchimento do campo. |
Utilização com o método addProperty() documentado acima
Exemplo de uso:
Bloco de código |
---|
self:oSchema:addProperty("Filial", "Filial", "string", "Filial", "B1_FILIAL", "D MG 01=Filial BH; D MG 02=Filial Uberaba", .F.) |
...
Informações |
---|
Método deverá ser utilizado no new() da nova classe criada, exemplo completo estará no final da documentação. |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
lIsLookUp | Lógico | X | .F. | Indica que o filtro será do tipo padrão lookup |
Exemplo de uso:
Bloco de código |
---|
self:setIsLookup(.T.) |
...
Informações |
---|
Método deverá ser utilizado no getSchema() da nova classe criada, exemplo completo estará no final da documentação. |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cId | Caracter | ID | Indica o cabeçalho de exibição da chave do lookup | |
cProd | Caracter | Código | Indica o cabeçalho de exibição do código do lookup (Mesmo conteúdo do ID) | |
cDesc | Caracter | Descrição | Indica o cabeçalho de exibição da descrição do lookup |
Exemplo de uso:
Bloco de código |
---|
self:setDescriptor("Código","Código do Produto", "Descrição do Produto") |
...
Informações |
---|
Método deverá ser utilizado no getSchema() da nova classe criada, exemplo completo estará no final da documentação. |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cField | Caracter | X | Indica o campo que será setado a consulta | |
aStruct | Array | X | Indica a estrutura que será utilizada no Lookup Exemplo da estrutura: aStruct[1][1]:"ATF0510001" aStruct[2][1]:"0003" | |
lIsRequired | Lógico | .F. | Indica que é obrigatório o preenchimento do campo | |
aDescriptor | array | Titulo do campo de acordo com SX3 | array com as descrições de cada campo, na ordem do dados passados (a partir da lib 20230515) | |
nFieldReturn | numérico | 1 | numero da coluna que deverá retornar na consulta (a partir da lib 20230515) |
Exemplo de uso:
Bloco de código |
---|
self:setLookUpVal(cField, aStruct, lIsRequired) |
...
Informações |
---|
Método deverá ser utilizado no getSchema() da nova classe criada, exemplo completo estará no final da documentação. |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cField | Caracter | X | Indica o campo que será setado a consulta | |
cTable | Caracter | X | Indica a tabela da SX5 que será utilizada para buscar a estrutura do lookup | |
lIsRequired | Lógico | .F. | Indica que é obrigatório o preenchimento do campo |
Exemplo de uso:
Bloco de código |
---|
self:setX5Struct(cField, cTable, lIsRequired) |
...
Informações |
---|
Método deverá ser utilizado no getSchema() da nova classe criada, exemplo completo estará no final da documentação. |
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cField | Caracter | X | Campo que será setado a consulta | |
aFields | Array | X | Indica os campos da estrutura da consulta (chave-descrição). Exemplo: aFields[1]:"ED_CODIGO" aFields[2]:"ED_DESCRIC" ou (a partir da lib 20230515) | |
cQuery | Caracter | X | Indica a tabela da SX5 que será utilizada para buscar a estrutura do lookup | |
lIsRequired | Lógico | .F. | Indica que é obrigatório o preenchimento do campo | |
aDescriptor | array | Titulo do campo de acordo com SX3 | array com as descrições de cada campo, na ordem do dados passados (a partir da lib 20230515) | |
cFieldReturn | Caracter | Primeiro campo do aFields | coluna que deverá retornar na consulta (a partir da lib 20230515) | |
cOrder | Caracter | Primeiro campo do aFields | clausula a ser utilizada no order by do select (a partir da lib 20230515) |
Exemplo de uso:
Bloco de código |
---|
self:setLookUpQuery(cField, aFields, cQuery, lIsRequired) |
...
Seta a quantidade de itens por página.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
nPageSize | Númerico | X | 100 | Indica a quantidade de itens por requisição |
Exemplo de uso:
Bloco de código |
---|
self:setPagesize(nPageSize) |
...
Retorna a quantidade de itens por requisição.
Exemplo de uso:
Bloco de código |
---|
self:getPagesize() |
...
Seta a query do objeto de negócio.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cQuery | Caracter | X | Indica a query do objeto de negócio |
...
- Se não forem enviados todos os campos (Exemplo: SELECT * FROM) deverá ser usado o ID #QueryFields# e os campos setados serão aqueles recuperados do método getSchema().
- É possível escrever a query e setar o where dela posteriormente com o método self:setWhere(), para isso deverá ser utilizado o ID #QueryWhere# após o Where da query.
Exemplo de uso:
Bloco de código |
---|
cQuery := "SELECT * FROM " + RetSQLName("SB1") + " WHERE B1_FILIAL = '"+ FWxFilial('SB1') +"' AND D_E_L_E_T_ = ' ' self:setQuery(cQuery) |
...
Método self:setWhere()
Seta o where da query.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cWhere | Caracter | X | Indica o where da query |
Exemplo de uso:
Bloco de código |
---|
self:setWhere("B1_FILIAL = '"+ FWxFilial('SB1') +"' AND D_E_L_E_T_ = ' '") |
...
Seta o campo de ordenação da query.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cOrder | Caracter | X | Primeiro campo indicado no método getSchema() | Indica o campo de ordenação |
Exemplo de uso:
Bloco de código |
---|
self:setOrder("B1_COD") |
...
Seta se terá próxima página.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
lHasNext | Lógico | X | .F. | Indica se terá próxima página |
Exemplo de uso:
Bloco de código |
---|
self:setHasNext(.T.) |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include "msobject.ch" #include "totvs.framework.treports.integratedprovider.th" #include "tlpp-core.th" #include "tlpp-rest.th" namespace totvs.protheus.rh.treportsintegratedprovider @totvsFrameworkTReportsIntegratedProvider(active=.T.) class SRA2TReportsBusinessObject from totvs.framework.treports.integratedprovider.IntegratedProvider.treportsintegratedprovider @totvsFrameworkTReportsIntegratedProvider(active=.T.) class SRA2TReportsBusinessObject from totvs.framework.treports.integratedprovider.IntegratedProvider public method new() as object public method getAreas() as array public method getDescription() as character public method getData() as object public method getSchema() as object endclass method new() as object class SRA2TReportsBusinessObject _Super:new() self:setDisplayName("Funcionários") public method new() as objectif !self:setPergunte("GPER140") //Indica o pergunte que será utilizado no relatório GPER140 public method getAreas() as array if !self:setErrorStatus(400,"Sem Pergunte","Verifique o grupo de perguntas informado!") public method getDescription() as character public method getData() as object public method getSchema() as object endclass method new() as object class SRA2TReportsBusinessObject _Super:new() self:setDisplayName("Funcionários") self:setPergunte("GPER140") //Indica o pergunte que será utilizado no relatório FwLogMsg("WARN",, "SmartView",,, , "Codigo de erro invalido, aceito somente codigos de erro 4xx", , ,) endif FwLogMsg("WARN",, "SmartView",,, , "Grupo de perguntas nao encontrado", , ,) endif return self method getDescription() as character class SRA2TReportsBusinessObject return "Funcionários" method getAreas() as array class SRA2TReportsBusinessObject return {"RH"} method getData(nPage as numeric, oFilter as object) as object class SRA2TReportsBusinessObject local cQuery as character local jParams as json local cWhere as character if !self:lExistPergunte //retorno do método SetPergunte() return self:oData else jParams := oFilter:getParameters() //metodo para retorno do json dos parâmetros cWhere := " D_E_L_E_T_ = ' '" //MV_PAR04 é multivalue if Len(jParams['MV_PAR04']) > 0 cWhere += " AND RA_MAT IN ('" + ArrTokStr(jParams['MV_PAR04'], "','") + "')" endif cQuery := "SELECT #QueryFields# FROM " + RetSQLName("SRA") + " WHERE #QueryWhere#" //Define a quantidade máxima por página (Default 100) self:setPageSize(500) //Define a query do Objeto de Negócio self:setQuery(cQuery) //Define o campo de ordenação da query self:setOrder("RA_MAT") //Define o where da query self:setWhere(cWhere) endif return self:oData method getSchema() as object class SRA2TReportsBusinessObject self:aliasToSchema("SRA" , {"RA_NOME", "RA_FILIAL", "RA_MAT", "RA_EMAIL", "RA_ADMISSA"}) return self:oSchema |
...