KB-33387: Erro ao gerar o relatório do E3Chart em tela modal.

Descrição:

Quando tento gerar um relatório de um E3Chart que está em uma tela modal que foi aberta a partir de outra tela modal, ocorre um erro no script do método CopyConfig no relatório. Por que isto acontece?

Solução:

As janelas que são abertas recebem (por padrão) o nome do quadro de Divisor1. Nessa situação, quando são abertas duas telas modais, temos as seguintes janelas:

  • Viewer
  • TelaModal1 (FrameName = Divisor1)
  • TelaModal2 (FrameName = Divisor1)

A TelaModal2 é a que possui o E3Chart para impressão, mas o relatório executa a seguinte linha quando o usuário aciona o comando para impressão:

Set ChartTela = Application.GetFrame(“Divisor1”).Screen.Item(“E3Chart1”)

O método GetFrame vai encontrar primeiro a janela TelaModal1 (que possui FrameName = Divisor1), e consequentemente procurar pelo objeto E3Chart1, que ela não possui, o que causa o erro.

Usando o pick Abrir Tela, é possível informar o nome do quadro que será aberto, mas o pick Abrir Tela Modal não possui essa opção. Dessa forma, todas as janelas modais terão o mesmo FrameName.

Para que não ocorra esse conflito de nomes no método GetFrame(), algumas alternativas são:

  • inserir o E3Chart na primeira tela modal;
  • abrir todas as telas como “não modais”;
  • criar apenas a última tela como modal.
Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Leave a Reply

Your email address will not be published.Required fields are marked *