Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
maiconmello
Contributor III

Copiar Objeto

Boa tarde,

Existe alguma forma de como fazer uma cópia de objeto ao abrir um documento.qvw?

Exemplo : Existe uma tabela dinâmica no meu modelo, quando abrir esse documento, a minha tabela dinâmica seja duplicada.

Seria um copiar / Colar de forma automática de um determinado objeto.

OBS: Quando abrir o documento, validar se já existe o objeto clonado, se existir, não deve clonar, caso não exista ai sim clonar o mesmo.

Para que dessa forma não fique clonando toda vez que usuário abra o documento e logo o usuário possuir 10 ,20 tabelas dinâmicas clonadas.

Maicon Mello

1 Solution

Accepted Solutions

Re: Copiar Objeto

Maicon, a macro para clonar o gráfico é essa:

Sub CopiaGrafico

ActiveDocument.GetSheetObject("CH01").WriteXmlPropertiesFile("C:\Users\Yuri\AppData\Local\Temp\CH01.xml")

ActiveDocument.ActiveSheet.CreateObjectFromXmlPropertiesFile("C:\Users\Yuri\AppData\Local\Temp\CH01.xml")

End Sub

10 Replies

Re: Copiar Objeto

Maicon, talvez isso possa ser feito através de macros, mas qual seria o objetivo de ficar clonando os objetos?

maiconmello
Contributor III

Re: Copiar Objeto

Por que o usuário quer fazer algumas coisas em alguns objetos.

Ou seja ele quer mudar algumas propriedades !

Pode me ajudar ?

Re: Copiar Objeto

Maicon, mas o usuário já possui a possibilidade de desenvolver através do access point

maiconmello
Contributor III

Re: Copiar Objeto

Yuri, você viu minha primeira postagem ??

Você entendeu o que estou precisando ??

Problema que o usuário não tem acesso as propriedades de um objeto ! Ou seja ele entra na propriedade de uma tabela, porém as opções ficam desabilitadas.

Se eu copiar o objeto, ele tem acesso normal nas propriedades do objeto , e esse objeto fica salvo somente no perfil dele.

Re: Copiar Objeto

Qual a postagem?

Veja se você não bloqueou a edição do usuário:

Propriedades do Documento -> Aba Segurança -> Veja as opções de alteração, por exemplo: Incluir pastas.

Outras configurações de segurança: Propriedades da Pasta -> Segurança -> Habilite as opções dentro do quadro "Privilégios do usuário".

Habilite Aplicar a todas as pastas

Desabilite Apenas Leitura

Clique em aplicar.

maiconmello
Contributor III

Re: Copiar Objeto

Ok Yuri , ja fiz isso , porém ainda não faz o que quero.

as propriedades ficam desabilitadas.

Exemplo : Quero colocar um subtotal de um campo via WEB, não fica habilitada essa opção.

Preciso realmente copiar o objeto via macro, pelo motivo que gostaria de clonar ao abrir o modelo. Sem que o usuário perceba que foi clonado.

pablolabbe
Valued Contributor II

Re: Copiar Objeto

Maicon,

Quando você abre uma aplicação via web seja com interface ajax (sem plugin) ou com plugin, seus objetos ficam "protegidos" contra modificações pelo usuário final. Este é o comportamento padrão.

Para que um usuário modifique um objeto existente ele tem que clonar o objeto, Esta cópia ele pode modificar a vontade.

O novo objeto é privado, isto é, somente o usuário que criou pode vê-lo ou modificá-lo. Para que outros usuário vejam o objeto, o usuário que o criou pode compartilhar o objeto com todos ou com usuários específicos indicando os ids de rede de cada um.

O usuário também pode criar objetos a partir do zero se ele quiser.

Não vejo sentido um recurso para clonar objeto automaticamente ao abrir a aplicação. O melhor é treinar o usuário a utilizar os recursos da ferramenta de forma adequada.

Abraço,

Pablo

maiconmello
Contributor III

Re: Copiar Objeto

Bom dia Pablo, agradeço seu retorno, já tinha concluído que essa funcionalidade é exatamente isso que você esta me dizendo, bacana, agora confirmou mesmo a minha dedução !

Porém , o cliente quer uma solução em um objeto que ele clone automaticamente quando usuário abre a sua aplicação !

A questão não seria o treinar o usuário ou não, pois vejo que é um processo simples ! Porém o cliente quer que isso seja transparente para usuário, só isso !!!

Mas de qualquer forma agradeço mais uma vez pelo retorno !

Maicon

Re: Copiar Objeto

Maicon, a macro para clonar o gráfico é essa:

Sub CopiaGrafico

ActiveDocument.GetSheetObject("CH01").WriteXmlPropertiesFile("C:\Users\Yuri\AppData\Local\Temp\CH01.xml")

ActiveDocument.ActiveSheet.CreateObjectFromXmlPropertiesFile("C:\Users\Yuri\AppData\Local\Temp\CH01.xml")

End Sub