4D v16.3

QR REPORT

Página Inicial

 
4D v16.3
QR REPORT

QR REPORT 


 

QR REPORT ( {tabela ;} documento {; hierarquico {; assistente {; pesquisa {; nomeMetodo {; *}}}} ) 
Parâmetro Tipo   Descrição
tabela  Tabela in Tabela a utilizar para o relatório ou tabela por padrão se for omitido
documento  String in Documento de Relatório Rápido a carregar
hierarquico  Booleano in True = Mostrar as tabelas Muitos relacionadas; se for omitido ou se for False= Não mostrar (por padrão)
assistente  Booleano in True = Mostrar o botão do assistente False ou se for omitido = Não mostrar (por padrão)
pesquisa  Booleano in True = Mostrar as ferramentas de pesquisa e a tabela principal False ou se for omitida = Não mostrar (por padrão)
nomeMetodo  String in Nome do mètodo a chamar
Operador in Eliminação das caixas de diálogo de impressão

QR REPORT imprime um relatório para tabela, criado com o editor de relatórios rápidos . O editor de relatórios rápidos permite aos usuários criar seus próprios relatórios. Para maior informação sobre a criação de relatórios rápidos com a ajuda do editor de relatórios rápidos, consulte Relatórios rápidos ou Relatórios rápidos (64 bits) no Manual de Desenho de 4D.

Notas:

  • O editor não aparece se a tabela tiver sido declarada “Invisível.”
  • Quando o editor se chama utilizando o comando QR REPORT, a opção Todas as relações automáticas, que permite modificar o estado automático/manual das relações é ocultada. Isso permite ao desenvolvedor administrar ele mesmo esse estado utilizando os comandos SET AUTOMATIC RELATIONS e SET FIELD RELATION
  • O editor é chamado em uma janela externa e não é possível utilizar o comando QR ON COMMAND neste contexto. No entanto, pode utilizar o parâmetro nomMetodo para  executar código personalizado quando um comando de interface se ativa (ver abaixo).
  • O parâmetro documento é um documento de relatório que foi criado com o editor de relatórios rápidos e guardado em disco. O documento guarda as especificações do relatório, não os registros a imprimir. Se uma cadeia vazia ("") se passa em documento, QR REPORT mostra uma caixa de diálogo de abertura de arquivos, na qual o usuário pode selecionar o relatório a imprimir.
  • Se o parâmetro documento especifica um documento que não existe (por exemplo, se passa Char(1) em documento), se mostra o editor de relatórios rápidos.
  • O parâmetro hierarquico indica se as tabelas Muitos relacionadas são mostradas na lista de seleção de campos. Por padrão, este valor é 0 (as tabelas Muitos não são mostradas).
  • O parâmetro assistente indica se o botão Abrir o assistente vai ser mostrado no editor de relatórios rápidos, permitindo ou não o aceso ao assistente. Por padrão, este valor é False (não há acesso ao assistente).
  • O parâmetro pesquisa indica se o botão Nova pesquisa e o menu suspenso Tabela principal aparecerão no editor de relatórios rápidos, portanto permitindo ou não a modificação da tabela atual e da tabela principal atual. Por padrão, este valor é False (não há acesso às ferramentas de pesquisa e a tabela principal).
  • O parâmetro nomMetodo designa um método de projeto 4D que é executado cada vez que um comando do editor de relatórios rápidos for chamado pela seleção de um elemento do menu ou clicar em um botão. Utilizar este parâmetro é equivalente a utilizar QR ON COMMAND no contexto da janela do editor de relatórios rápidos (QR ON COMMAND só funciona no contexto de uma área incluida). Mas em particular,  pode se utilizar este novo parâmetro para mudar o jogo de caracteres usado pelo relatório rápido.
    O método nomMetodo recebe dois parâmetros:
  • $1 contém a referência da área (inteiro longo).
  • $2 contém o número de comando selecionado (inteiro longo). Pode comparar este valor com as constantes de tema QR Comandos.
  • Nota: se desejar compilar seu banco de dados usando o compilador, deve declarar os parâmetros $1 e $2 explícitamente como inteiros longos, mesmo se não os utilizar.
  • Se deseja executar o comando inicial escolhido pelo usuário, utilize a seguinte instrução no método nomMetodo:

    Se o parâmetro nomMetodo for uma string vazia ( "") ou for omitido, nenhum método será chamado e se aplica a operação padrão de QR REPORT.

Uma vez selecionado um relatório, as caixas de diálogo de impressão são mostradas, a não ser que especifique o parâmetro *. Se for especificado este parâmetro, não são mostradas estas caixas de diálogo e se imprime o relatório.

Se não for mostrado o editor de relatórios rápidos, a variável sistema OK toma o valor 1 se for imprimir um relatório; do contrário, toma o valor 0 (zero) (por exemplo, se o usuário clicar em Cancelar nas caixas de diálogo de impressão).

4D Server: este comando pode ser executado no servidor 4D Server no marco de um procedimento armazenado. Neste contexto:

  • Tenha certeza de que não apareça nenhuma caixa de diálogo na máquina servidor (exceto para um requerimento especifico). Para fazer isso, é necessário chamar o comando com o parâmetro *.
  • A sintaxe que faz aparecer o editor Quick Report não funciona com 4D Server; neste caso, a variável sistema OK toma o valor 0.
  • No caso de um problema relacionado com a impressora (sem papel, impressora desconectada, etc.), não se gera um erro.

O exemplo a seguir permite ao usuário realizar uma pesquisa na tabela [Pessoas], e depois imprime automaticamente o relatório “Lista detalhada”:

 QUERY([Pessoas])
 If(OK=1)
    QR REPORT([Pessoas];"Detailed Listing";False;False;False;*)
 End if

O exemplo a seguir permite ao usuário realizar uma pesquisa na tabela [Pessoas], e depos selecionar o relatório a imprimir:

 QUERY([Pessoas])
 If(OK=1)
    QR REPORT([Pessoas];"";False;False;False)
 End if

O exemplo a seguir permite ao usuário realizar uma pesquisa na tabela [Pessoas], e depois mostra o editor de relatórios rápidos de maneira que o usuário possa desenhar, salvar, carregar e imprimir relatórios com ou sem o assistente:

 QUERY([Pessoas])
 If(OK=1)
    QR REPORT([Pessoas];Char(1);False;True)
 End if

Consulte o exemplo do comando SET FIELD RELATION.

Você deseja converter o conjunto de caracteres utilizado em um relatório rápido chamado utilizando QR REPORT em Mac Roman:

 QR REPORT([MyTable];Char(1);False;False;False;"myCallbackMeth")

O método myCallbackMeth converte o relatório quando é gerado:

 C_LONGINT($1;$2)
 If($2=qr cmd generate//Se geramos um relatório
    C_BLOB($myblob)
    C_TEXT($path;$text)
    QR EXECUTE COMMAND($1;$2//execução do comando
    QR GET DESTINATION($1;$type;$path//recuperação do destino
    DOCUMENT TO BLOB($path;$myblob)
  //conversão do texto utilizando UTF-8
    $text:=Convert to text($myblob;"UTF-8")
  //uso do conjunto MacRoman
    CONVERT FROM TEXT($text;"MacRoman";$myblob)
  //Reenvio do relatório convertido
    BLOB TO DOCUMENT($path;$myblob)
 Else //caso contrário, execução do comando
    QR EXECUTE COMMAND($1;$2)
 End if



Ver também 

PRINT LABEL
PRINT SELECTION
SET ALLOWED METHODS

 
PROPRIEDADES 

Produto: 4D
Tema: Quick Report
Número 197

Este comando modifica a variável sistema OKComportamento diferente em modo remoto

 
HISTÓRIA 

Modificado: 4D 2004
Modificado: 4D v14

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)