Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Informações

Método deverá ser utilizado no getSchema() da nova classe criada, exemplo completo estará no final da documentação.

Parâmetros:

Nome

TipoObrigatórioDefaultDescrição
cFieldCaracterX
Indica o campo que será setado a consulta
aStructArrayX

Indica a estrutura que será utilizada no Lookup

Exemplo da estrutura:

aStruct[1][1]:"ATF0510001"
aStruct[1][2]:"ATFA036 EMISSAO DE NOTA EM LOT"

aStruct[2][1]:"0003"
aStruct[2][2]:"PRODUTO PADRAO"

lIsRequiredLógico
.F.Indica que é obrigatório o preenchimento do campo
aDescriptorarray
Titulo do campo de acordo com SX3array com as descrições de cada campo, na ordem do dados passados (a partir da lib 20230515)
nFieldReturnnumérico
1numero da coluna que deverá retornar na consulta (a partir da lib 20230515)

Exemplo de uso:

Bloco de código
self:oSchema: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

TipoObrigatórioDefaultDescrição

cField

CaracterX
Campo que será setado a consulta
aFieldsArrayX

Indica os campos da estrutura da consulta (chave-descrição).

Exemplo:

aFields[1]:"ED_CODIGO"

aFields[2]:"ED

_DESCRIC"cQueryCaracterX

Indica a tabela da SX5 que será utilizada para buscar a estrutura do lookup

lIsRequiredLógico.F.Indica que é obrigatório o preenchimento do campo

_DESCRIC"

ou (a partir da lib 20230515)
aFields[1] := {"CAMPO","TIPO", SIZE, DECIMAL}
Caso seja passado um vetor simples apenas com o nome dos campos os dados adicionais serão procurados na SX3

cQueryCaracterX

Indica a tabela da SX5 que será utilizada para buscar a estrutura do lookup

lIsRequiredLógico
.F.Indica que é obrigatório o preenchimento do campo
aDescriptorarray
Titulo do campo de acordo com SX3array com as descrições de cada campo, na ordem do dados passados (a partir da lib 20230515)
cFieldReturnCaracter
Primeiro campo do aFieldscoluna que deverá retornar na consulta (a partir da lib 20230515)
cOrderCaracter
Primeiro campo do aFieldsclausula a ser utilizada no order by do select (a partir da lib 20230515)

Exemplo de uso:

Bloco de código
self:oSchema:setLookUpQuery(cField, aFields, cQuery, lIsRequired)

...

Bloco de código
titleExemplo 3 - padrão LookUp - Query
collapsetrue
#include "msobject.ch" 
#include "totvs.framework.treports.integratedprovider.th"

namespace custom.financeiro.naturezas.integratedprovider.lookup

@totvsFrameworkTReportsIntegratedProvider(active=.T.)
class SEDTReportsBusinessObject from totvs.framework.treports.integratedprovider.IntegratedProvider
    public method new() as object
    public method getDisplayName() as character
    public method getAreas() as array
    public method getData() as object
    public method getSchema() as object
endclass

method new() as object class SEDTReportsBusinessObject
_Super:new()
self:setDescription("Naturezas financeiras do Protheus")
self:setIsLookUp(.T.)
return self

method getDisplayName() as character class SEDTReportsBusinessObject
return "Naturezas"

method getAreas() as array class SEDTReportsBusinessObject
return {"Financeiro"}

method getData(nPage as numeric, oFilter as object) as object class SEDTReportsBusinessObject
self:oData:aliasToData("SED", oFilter)
return self:oData

method getSchema() as object class SEDTReportsBusinessObject
local cQuery as character
local aFields as array
Local aDescriptor as array
Local cReturn as character
Local cOrder as character

self:oSchema:aliasToSchema("SED")

cQuery := "SELECT * FROM "+ RetSQLName("SED") +" WHERE D_E_L_E_T_ = ' '"
//cQuery := "SELECT ED_CODIGO, ED_DESCRIC FROM "+ RetSQLName("SED") +" WHERE D_E_L_E_T_ = ' '"
aFields := {"ED_CODIGO", "ED_DESCRIC"}
aDescriptor := {"Codigo", "Descrição"}
cReturn := "ED_CODIGO"
cOrder := "ED_DESCRIC"
//Seta o lookup a partir da query
self:oSchema:setLookUpQuery("ED_CODIGO", aFields, cQuery, .F., aDescriptor, cReturn, cOrder)

return self:oSchema

Exemplo do padrão LookUp na interface:

...