Tempo aproximado para leitura: 00:02:00 min
Ocorrência
Ao executar um relatório customizado , utilizando a Classe TReport ocorre o erro
type mismatch on + on TRSECTION:SETQUERY(REPORT02.PRW)
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 12.1.17
Causa
Erro ocorre devido a instrução errada no parâmetro do método ENDQUERY
Forma errada
oreport:EndQuery({{"QRY"},cQuery})
Solução
O parâmetro é utilizado para tratar opções de perguntas (SX1) que possuem o tipo RANGE.
O formato esperado para o parâmetro é { "condição sql 1", "condição sql 2", ... } e cada uma dessas condições depois é adicionada na cláusula where da query.
Forma Correta
oSection:BeginQuery()
BEGINSQL ALIAS cTable
SELECT B1_FILIAL, B1_COD, B1_DESC, B1_TIPO, B1_UM
FROM %TABLE:SB1% SB1
WHERE SB1.%NOTDEL%
ENDSQL
MakeSQLExpr("PRODUCTS") // Pergunta com o parâmetro do Tipo Range
oSection:EndQuery({MV_PAR01})
2 Comentários