Erro em relatório: não permite visualizar determinada página

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

O relatório SandraFIN_Bookingjournal.rpt estava a impedir a visualização de uma das páginas. Quando isto acontece deve-e abrir o relatório com o Crystal e fazer um refresh, colocando os mesmos parâmetros que deram origem ao "erro" no cliente. Andar página a página até encontrar uma em que surja um erro numa fórmula.

Neste caso, estava a ser feito um InStr a uma string que não continha o caracter a procurar.

Anteriormente a fórmula era: if InStr ({V_BT_REP_BOOKINGJOURNAL.PrintDescription},"[") + InStr ({V_BT_REP_BOOKINGJOURNAL.PrintDescription}, "]") > 0 then

    Mid ({V_BT_REP_BOOKINGJOURNAL.PrintDescription}, 
       InStr ({V_BT_REP_BOOKINGJOURNAL.PrintDescription},"[") , 
       Length ({V_BT_REP_BOOKINGJOURNAL.PrintDescription}))

else

    ""

Alterei para: stringVar strPrint := ; numberVar intStart := 0; numberVar intEnd := 0; numberVar intLen := 0;

strPrint := Trim({V_BT_REP_BOOKINGJOURNAL.PrintDescription}); intStart := InStr (strPrint, '['); intEnd := InStr (strPrint, ']'); intLen := intEnd - intStart;

stringVar strTalao := ;

if (intStart > 0) then

   strTalao := Mid (strPrint, intStart, intEnd);

strTalao

Desta forma, se a string de procura for nula ou estiver vazia não vai fazer o mid e não causa o erro.