{"id":331,"date":"2019-03-25T17:30:20","date_gmt":"2019-03-25T20:30:20","guid":{"rendered":"http:\/\/xexeu.elipse.com.br\/pt\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/"},"modified":"2020-09-01T12:19:18","modified_gmt":"2020-09-01T15:19:18","slug":"criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio","status":"publish","type":"post","link":"https:\/\/kb.elipse.com.br\/en\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/","title":{"rendered":"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do E3Studio."},"content":{"rendered":"<div align=\"justify\">\n<p><u><b><span style=\"font-size: large;\">1. INTRODU\u00c7\u00c3O<\/span><\/b><\/u><\/p>\n<p>A ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do E3 Studio permite gravar um arquivo do tipo .CSV que cont\u00e9m informa\u00e7\u00f5es sobre objetos do Elipse E3 e posteriormente utiliz\u00e1-lo para criar novos objetos. As informa\u00e7\u00f5es do arquivo incluem propriedades, associa\u00e7\u00f5es e cole\u00e7\u00f5es dos objetos.<\/p>\n<p>O processo de importa\u00e7\u00e3o e exporta\u00e7\u00e3o foi reformulado a partir da vers\u00e3o 2.5 do E3, sendo agora baseado na utiliza\u00e7\u00e3o de modelos. Modelos s\u00e3o arquivos com extens\u00e3o .INI (arquivos de inicializa\u00e7\u00e3o do Windows) utilizados para configurar a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o. Atrav\u00e9s deles, \u00e9 poss\u00edvel especificar o separador de colunas que ser\u00e1 utilizado no arquivo .CSV, suas colunas, etc. Alguns modelos s\u00e3o fornecidos pela Elipse Software juntamente com a instala\u00e7\u00e3o da nova vers\u00e3o do E3, mas \u00e9 poss\u00edvel criar modelos espec\u00edficos para cada necessidade do usu\u00e1rio.<\/p>\n<p>Neste\u00a0 artigo, mostraremos como criar modelos adequados a cada situa\u00e7\u00e3o, al\u00e9m de dicas para melhor usufruir as funcionalidades dessa nova ferramenta.<\/p>\n<p><u><b><span style=\"font-size: large;\">2. ENTENDENDO A ESTRUTURA DOS MODELOS <\/span><\/b><\/u><\/p>\n<p>Embora sejam arquivos de texto, os modelos devem respeitar uma determinada estrutura para que possam ser compreendidos pela ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o. Essa estrutura \u00e9 a mesma dos arquivos de inicializa\u00e7\u00e3o do Windows, com extens\u00e3o .INI. Estes arquivos s\u00e3o organizados em se\u00e7\u00f5es e, em cada uma delas, \u00e9 poss\u00edvel definir vari\u00e1veis para o que se deseja configurar. Por exemplo, na se\u00e7\u00e3o <b>Configuration<\/b>, encontra-se a vari\u00e1vel <b>Separator<\/b>, que define qual o separador de colunas a ser utilizado.<\/p>\n<p>O trecho abaixo<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Configuration]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Separator=&#8217;,&#8217; <\/span><\/div>\n<p>significa que ser\u00e1 utilizada a v\u00edrgula como separador de colunas do arquivo .CSV.<\/p>\n<p>Os arquivos .INI, de um modo geral, seguem este formato:<\/p>\n<ul>\n<li>O arquivo \u00e9 organizado em se\u00e7\u00f5es, e cada se\u00e7\u00e3o cont\u00e9m uma ou mais vari\u00e1veis. As se\u00e7\u00f5es s\u00e3o identificadas por nomes entre colchetes.<\/li>\n<li>As vari\u00e1veis s\u00e3o as palavras antes do s\u00edmbolo &#8220;=&#8221;. Uma se\u00e7\u00e3o <b>n\u00e3o <\/b>pode conter duas vari\u00e1veis com o mesmo nome.<\/li>\n<li>Linhas em branco s\u00e3o ignoradas.<\/li>\n<li>O texto a partir de um caractere &#8220;;&#8221; \u00e9 considerado coment\u00e1rio, sendo desconsiderado na interpreta\u00e7\u00e3o do arquivo.<\/li>\n<\/ul>\n<p>Seu formato \u00e9 user-friendly e facilmente alter\u00e1vel pelo usu\u00e1rio. Um novo modelo pode ser gerado com um editor de textos comuns, baseado em um modelo antigo ou come\u00e7ando do zero.<\/p>\n<p>Os modelos utilizados no E3 permitem a redefini\u00e7\u00e3o de valores para os nomes das colunas do arquivo .CSV, bem como para os outros tipos de objetos. Al\u00e9m disso, tamb\u00e9m permitem o agrupamento de mais de uma propriedade em uma mesma coluna. Isto tudo \u00e9 feito atrav\u00e9s da defini\u00e7\u00e3o de identificadores, que s\u00e3o palavras-chave utilizadas no arquivo .CSV e associadas a propriedades ou classes de objetos no arquivo .INI.<\/p>\n<p>No Elipse E3, os modelos da ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o devem ser definidos com as se\u00e7\u00f5es e vari\u00e1veis apresentadas a seguir. Algumas s\u00e3o obrigat\u00f3rias para a exporta\u00e7\u00e3o e ser\u00e3o indicadas no decorrer do texto, mas para a importa\u00e7\u00e3o, s\u00e3o todas opcionais. Caso sejam omitidas, o E3 assume um comportamento padr\u00e3o.<\/p>\n<p><span style=\"color: #ff0000;\"><b>[Header]<\/b><\/span><\/p>\n<p>Nesta se\u00e7\u00e3o, s\u00e3o definidos os identificadores permitidos para os nomes de colunas e tipos de objetos; tamb\u00e9m \u00e9 definida a ordem das colunas no arquivo .CSV na exporta\u00e7\u00e3o. Essa se\u00e7\u00e3o \u00e9 obrigat\u00f3ria para a exporta\u00e7\u00e3o, e as vari\u00e1veis definidas s\u00e3o:<\/p>\n<p><b>header<\/b>: Nesta vari\u00e1vel devem ser listadas todas as colunas, separadas por v\u00edrgula e na ordem em que devem ser exibidas no arquivo .CSV. Se o nome da coluna n\u00e3o \u00e9 igual ao nome de uma propriedade, utilize o identificador na vari\u00e1vel header e relacione-o com o nome real da propriedade atrav\u00e9s de uma vari\u00e1vel na se\u00e7\u00e3o [Columns]. A vari\u00e1vel header \u00e9 obrigat\u00f3ria no processo de exporta\u00e7\u00e3o.<\/p>\n<p><b>types<\/b>: Define os identificadores para os tipos de objetos permitidos no arquivo .CSV. Os identificadores dever\u00e3o ser listados nesta vari\u00e1vel separados por v\u00edrgulas. Esta vari\u00e1vel deve ser definida caso algum identificador seja diferente do nome da classe do objeto. Neste caso, deve haver tamb\u00e9m uma vari\u00e1vel para cada identificador na se\u00e7\u00e3o [Types].<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Header]<\/span><br \/>\n<span style=\"font-family: Courier New;\">header=ObjectType,Name,DocString,N1\/B1,N2\/B2,N3\/B3,N4\/B4,Scan,AllowRead<\/span><br \/>\n<span style=\"font-family: Courier New;\">types=Tag,Bloco,Elemento <\/span><\/div>\n<p><b><span style=\"color: #ff0000;\">[Configuration]<\/span><\/b><\/p>\n<p>Nesta se\u00e7\u00e3o, s\u00e3o definidas as configura\u00e7\u00f5es gerais da ferramenta. As vari\u00e1veis definidas s\u00e3o:<\/p>\n<p><b>separator<\/b>: Define o separador que ser\u00e1 utilizado para delimitar as colunas no arquivo .CSV.<\/p>\n<p><b>root<\/b>: Define se o objeto raiz (objeto de onde a op\u00e7\u00e3o de importa\u00e7\u00e3o ou exporta\u00e7\u00e3o foi chamada) ser\u00e1 importado\/exportado juntamente com os objetos filhos. Essa op\u00e7\u00e3o \u00e9 exclusiva desta vers\u00e3o ou posteriores; na vers\u00e3o anterior desta ferramenta, o objeto raiz (Driver de Comunica\u00e7\u00e3o ou \u00c1rea de Alarmes) n\u00e3o podia ser exportado. No caso da importa\u00e7\u00e3o, o objeto raiz n\u00e3o ser\u00e1 criado, apenas ter\u00e1 suas propriedades atualizadas.<\/p>\n<p><b>link<\/b>: Define se as associa\u00e7\u00f5es dos objetos ser\u00e3o importadas\/exportadas. A vers\u00e3o mais recente da ferramenta permite que as associa\u00e7\u00f5es definidas nos objetos sejam exportadas para o arquivo .CSV e posteriormente importadas para novos objetos do E3. Na exporta\u00e7\u00e3o, uma nova linha \u00e9 adicionada ao arquivo .CSV a cada nova associa\u00e7\u00e3o, identificando seu tipo; e para cada propriedade da associa\u00e7\u00e3o \u00e9 criada uma coluna extra no arquivo. Na importa\u00e7\u00e3o, para cada linha identificada, \u00e9 gerada uma associa\u00e7\u00e3o na propriedade correspondente.<\/p>\n<p><b>collection<\/b>: Define se as cole\u00e7\u00f5es dos objetos ser\u00e3o importadas\/exportadas. Na exporta\u00e7\u00e3o, uma nova linha \u00e9 adicionado ao arquivo .CSV a cada nova cole\u00e7\u00e3o; da mesma forma, as propriedades das cole\u00e7\u00f5es geram novas colunas no arquivo. Na importa\u00e7\u00e3o, n\u00e3o \u00e9 poss\u00edvel criar uma cole\u00e7\u00e3o, apenas alterar os valores das propriedades. Logo, \u00e9 preciso que a cole\u00e7\u00e3o esteja previamente criada no objeto para que s\u00f3 ent\u00e3o seja realizada a opera\u00e7\u00e3o de importa\u00e7\u00e3o.<\/p>\n<p><b>objectduplicated<\/b>: Define o comportamento a ser adotado quando um objeto com o mesmo nome de um outro j\u00e1 existente for importado: sobrescrever o objeto antigo, criar um novo objeto com um novo nome, ou manter o objeto existente.<\/p>\n<p><b>bindduplicated<\/b>: Define se uma associa\u00e7\u00e3o antiga deve ser substitu\u00edda por uma nova quando importada em uma propriedade que j\u00e1 a possui.<br \/>\n<span style=\"font-family: Courier New;\"><br \/>\n<\/span><\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Configuration]<\/span><br \/>\n<span style=\"font-family: Courier New;\">separator=&#8217;,&#8217;<\/span><br \/>\n<span style=\"font-family: Courier New;\">root=true<\/span><br \/>\n<span style=\"font-family: Courier New;\">link=true<\/span><br \/>\n<span style=\"font-family: Courier New;\">collection=true<\/span><br \/>\n<span style=\"font-family: Courier New;\">objectduplicated=askalways<\/span><br \/>\n<span style=\"font-family: Courier New;\">bindduplicated=askalways<\/span><\/div>\n<p><b><span style=\"color: #ff0000;\">[Types]<\/span><\/b><\/p>\n<p>Nesta se\u00e7\u00e3o, os identificadores de tipos de objetos s\u00e3o relacionados \u00e0s classes reais. Todo identificador listado na vari\u00e1vel types da se\u00e7\u00e3o [Header] que n\u00e3o seja igual a um nome de classe de objeto do E3 deve ser documentado nesta se\u00e7\u00e3o. Ser\u00e1 criada uma vari\u00e1vel para cada um dos identificadores, no formato = .<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Types] <\/span><br \/>\n<span style=\"font-family: Courier New;\">Tag=IOTag<\/span><br \/>\n<span style=\"font-family: Courier New;\">Bloco=IOBlock<\/span><br \/>\n<span style=\"font-family: Courier New;\">Elemento=IOBlockElement<\/span><\/div>\n<p><span style=\"color: #ff0000;\"><b>[Columns]<\/b><\/span><\/p>\n<p>Nesta se\u00e7\u00e3o, os identificadores de nomes de colunas s\u00e3o relacionados aos nomes de propriedades. Todo identificador listado na vari\u00e1vel header da se\u00e7\u00e3o [Header] que n\u00e3o seja igual a um nome de propriedade deve ser documentado nesta se\u00e7\u00e3o. Ser\u00e1 criada uma vari\u00e1vel para cada um dos identificadores, no formato = .<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Columns] <\/span><br \/>\n<span style=\"font-family: Courier New;\">N1\/B1=N1,B1<\/span><br \/>\n<span style=\"font-family: Courier New;\">N2\/B2=N2,B2<\/span><br \/>\n<span style=\"font-family: Courier New;\">N3\/B3=N3,B3<\/span><br \/>\n<span style=\"font-family: Courier New;\">N4\/B4=N4,B4<\/span><\/div>\n<p><span style=\"color: #ff0000;\"><b>[Filter]<\/b><\/span><\/p>\n<p>Nesta se\u00e7\u00e3o, s\u00e3o definidas as classes de objetos a ser importadas ou exportadas. Apenas uma das vari\u00e1veis a seguir pode ser definida de cada vez.<\/p>\n<p><b>include<\/b>: S\u00e3o listadas as classes de objetos do E3 que podem ser importadas ou exportadas. Quando esta vari\u00e1vel for definida, apenas as classes aqui listadas ser\u00e3o importadas ou exportadas.<\/p>\n<p><b>exclude<\/b>: S\u00e3o listadas as classes de objetos do E3 que n\u00e3o podem ser importadas ou exportadas. Quando esta vari\u00e1vel for definida, todas classes encontradas exceto as listadas ser\u00e3o importadas ou exportadas.<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Filter]<\/span><br \/>\n<span style=\"font-family: Courier New;\">exclude=IOFolder ; importa\/exporta tudo, exceto IOFolders<\/span><\/div>\n<p><b>EXEMPLO DE MODELO:<\/b><br \/>\n<span style=\"font-family: Courier New;\"><br \/>\n<\/span><\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Header]<\/span><br \/>\n<span style=\"font-family: Courier New;\">header=ObjectType,Name,DocString,N1\/B1,N2\/B2,N3\/B3,N4\/B4,Scan,AllowRead<\/span><br \/>\n<span style=\"font-family: Courier New;\">types=Tag,Bloco,Elemento<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">[Configuration]<\/span><br \/>\n<span style=\"font-family: Courier New;\">separator=&#8217;,&#8217; ; utiliza a v\u00edrgula como separador de colunas no CSV<\/span><br \/>\n<span style=\"font-family: Courier New;\">root=true ; exporta\/importa o objeto-raiz<\/span><br \/>\n<span style=\"font-family: Courier New;\">link=true ; exporta\/importa as associa\u00e7\u00f5es<\/span><br \/>\n<span style=\"font-family: Courier New;\">collection=true ; exporta\/importa as cole\u00e7\u00f5es<\/span><br \/>\n<span style=\"font-family: Courier New;\">; sempre pergunta o que fazer quando encontrar um objeto duplicado objectduplicated=askalways<\/span><br \/>\n<span style=\"font-family: Courier New;\">; sempre pergunta o que fazer quando encontrar uma associa\u00e7\u00e3o duplicada bindduplicated=askalways<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">[Types]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Tag=IOTag ; Tag na coluna ObjectType significa objeto da classe IOTag<\/span><br \/>\n<span style=\"font-family: Courier New;\">Bloco=IOBlock<\/span><br \/>\n<span style=\"font-family: Courier New;\">Elemento=IOBlockElement<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">[Columns]<\/span><br \/>\n<span style=\"font-family: Courier New;\">; N1\/B1 como nome de coluna significa uma das duas propriedades: N1 ou B1<\/span><br \/>\n<span style=\"font-family: Courier New;\">N1\/B1=N1,B1<\/span><br \/>\n<span style=\"font-family: Courier New;\">N2\/B2=N2,B2<\/span><br \/>\n<span style=\"font-family: Courier New;\">N3\/B3=N3,B3<\/span><br \/>\n<span style=\"font-family: Courier New;\">N4\/B4=N4,B4<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">[Filter]<\/span><br \/>\n<span style=\"font-family: Courier New;\">exclude=IOFolder ; importa\/exporta tudo, exceto IOFolders<\/span><\/div>\n<p><u><b><span style=\"font-size: large;\">3. CRIANDO UM MODELO<\/span><\/b><\/u><\/p>\n<p>Um modelo pode ser criado tanto atrav\u00e9s de um editor de texto como atrav\u00e9s do Gerenciador de Modelos do E3. A primeira op\u00e7\u00e3o requer conhecimentos sobre a estrutura dos modelos (vista no cap\u00edtulo anterior); j\u00e1 o Gerenciador apresenta uma interface que facilita a configura\u00e7\u00e3o das op\u00e7\u00f5es desejadas.<\/p>\n<p><b>3.1. Criando um modelo simples via editor de texto<\/b><\/p>\n<p>Neste caso, \u00e9 preciso seguir algumas regras:<\/p>\n<ul>\n<li>Nomes de se\u00e7\u00f5es devem necessariamente estar entre colchetes e isolados na pr\u00f3pria linha.<\/li>\n<li>N\u00e3o h\u00e1 diferen\u00e7a entre mai\u00fasculas e min\u00fasculas tanto para nomes de se\u00e7\u00f5es e vari\u00e1veis como para valores. Como n\u00e3o s\u00e3o permitidas duas vari\u00e1veis com o mesmo nome em uma mesma se\u00e7\u00e3o, n\u00e3o \u00e9 poss\u00edvel diferenci\u00e1-las deste modo.<\/li>\n<li>Espa\u00e7os em branco s\u00e3o ignorados ao redor do sinal =, mas s\u00e3o considerados ao redor de v\u00edrgulas que separam os valores de uma mesma vari\u00e1vel.<\/li>\n<\/ul>\n<p>Por exemplo, o seguinte trecho<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Header]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Header=ObjectType, Name<\/span><\/div>\n<p>significa que o nome da coluna \u00e9\u00a0 Name, com um espa\u00e7o no in\u00edcio. J\u00e1 que isto n\u00e3o \u00e9 considerado um nome de propriedade, ele ser\u00e1 tratado como um identificador. Caso esta vari\u00e1vel n\u00e3o seja relacionada \u00e0 propriedade correta, a coluna ser\u00e1 desconsiderada. Para que isto n\u00e3o aconte\u00e7a, o trecho correto deve ser<br \/>\n<span style=\"font-family: Courier New;\"><br \/>\n<\/span><\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Header]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Header=ObjectType, Name<\/span><br \/>\n<span style=\"font-family: Courier New;\">[Columns]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Name = Name<\/span><\/div>\n<p>(com o espa\u00e7o em branco antes da vari\u00e1vel) ou<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Header]<br \/>\nHeader=ObjectType,Name<\/span><\/div>\n<p>(sem espa\u00e7o em torno da v\u00edrgula).<\/p>\n<ul>\n<li>O caractere ; n\u00e3o pode ser utilizado como parte do nome de um identificador, pois em modelos este caractere significa in\u00edcio de coment\u00e1rio. Portanto, a interpreta\u00e7\u00e3o do arquivo se dar\u00e1 apenas at\u00e9 este caractere, e tudo o que estiver depois dele ser\u00e1 desconsiderado.<\/li>\n<\/ul>\n<p>Por exemplo, o seguinte trecho<br \/>\n<span style=\"font-family: Courier New;\"><br \/>\n<\/span><\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[Header]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Header=ObjectType,Na;me,DocString,Value<\/span><\/div>\n<p>ser\u00e1 lido apenas at\u00e9 a metade da vari\u00e1vel Name e desconsiderar\u00e1 as colunas posteriores, ou seja: o valor efetivamente lido para a vari\u00e1vel header ser\u00e1 &#8220;ObjectType,Na&#8221;.<\/p>\n<ul>\n<li>Linhas em branco s\u00e3o ignoradas na interpreta\u00e7\u00e3o do arquivo, portanto estas podem ser utilizadas livremente para a organiza\u00e7\u00e3o visual do modelo.<\/li>\n<li>As opera\u00e7\u00f5es de importa\u00e7\u00e3o e exporta\u00e7\u00e3o n\u00e3o falham mesmo se alguma se\u00e7\u00e3o ou vari\u00e1vel tenha sido escrita de maneira incorreta (exce\u00e7\u00e3o: se\u00e7\u00e3o [Header] ou vari\u00e1vel header na exporta\u00e7\u00e3o), pois as vari\u00e1veis possuem valores padr\u00e3o que s\u00e3o assumidos quando elas n\u00e3o s\u00e3o definidas. Portanto, caso a opera\u00e7\u00e3o n\u00e3o tenha sido executada de acordo com o esperado, recomendamos verificar o modo como as vari\u00e1veis foram escritas no modelo.<\/li>\n<\/ul>\n<p><b>3.2. Criando um modelo via Gerenciador de Modelos do E3Studio<\/b><\/p>\n<p>Para utilizar o Gerenciador de Modelos do E3, basta clicar na op\u00e7\u00e3o <b>Importar\/Exportar<\/b> e, uma vez aberta a janela da op\u00e7\u00e3o, clicar no bot\u00e3o <b>Configurar<\/b>. Defina as o\u00e7\u00f5es dispon\u00edveis nas abas descritas abaixo, e para finalizar a opera\u00e7\u00e3o clique em <b>OK<\/b>.<\/p>\n<p>a) aba <b>Configura\u00e7\u00e3o<\/b><\/p>\n<p>Nesta aba, s\u00e3o definidas as op\u00e7\u00f5es v\u00e1lidas para exporta\u00e7\u00e3o\/importa\u00e7\u00e3o, tais como o separador de colunas, nome do modelo, etc.<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura1.PNG\" alt=\"\" width=\"397\" height=\"535\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 1<\/b>: Aba Configura\u00e7\u00f5es<\/span><\/div>\n<p>b) aba <b>Importa\u00e7\u00e3o<\/b><\/p>\n<p>Nesta aba, s\u00e3o definidas as op\u00e7\u00f5es v\u00e1lidas apenas para a importa\u00e7\u00e3o, tal como o comportamento durante a importa\u00e7\u00e3o de uma associa\u00e7\u00e3o ou objeto duplicado.<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura2.PNG\" alt=\"\" width=\"397\" height=\"534\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 2<\/b>: Aba Importa\u00e7\u00e3o<\/span><\/div>\n<p>c) aba <b>Filtros<\/b><\/p>\n<p>Nesta aba, s\u00e3o definidas as classes a serem importadas ou n\u00e3o, atrav\u00e9s do bot\u00e3o <b>Alterar<\/b>.<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura3.PNG\" alt=\"\" width=\"397\" height=\"507\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 3<\/b>: Aba Filtros<br \/>\n<\/span><\/div>\n<p>d) aba <b>Identificadores<\/b><\/p>\n<p>Nesta aba, s\u00e3o definidos os identificadores para as classes de objetos. Seu preenchimento \u00e9 facultativo, sendo necess\u00e1ria apenas caso alguma classe seja importada\/exportada com um identificador no lugar do nome.<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura4.PNG\" alt=\"\" width=\"397\" height=\"507\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 4<\/b>: Aba Identificadores<br \/>\n<\/span><\/div>\n<p>e) aba <b>Propriedades<\/b><\/p>\n<p>Nesta aba, s\u00e3o listadas as propriedades a ser importadas\/exportadas. No caso de <u>exporta\u00e7\u00e3o<\/u>, a lista dever\u00e1 estar na ordem correta e seu preenchimento \u00e9 obrigat\u00f3rio.<\/p>\n<p>No caso de <u>importa\u00e7\u00e3o<\/u>, a ordem \u00e9 definida pelo pr\u00f3prio arquivo .CSV e n\u00e3o pelo modelo. Esta lista s\u00f3 precisar\u00e1 ser preenchida caso alguma coluna esteja utilizando um identificador no lugar do nome da propriedade. Tamb\u00e9m \u00e9 poss\u00edvel definir o agrupamento de duas ou mais propriedades em uma mesma coluna.<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><b><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura5.PNG\" alt=\"\" width=\"397\" height=\"507\" align=\"Baseline\" border=\"0\" \/><\/b><br \/>\n<b>Figura 5<\/b>: Aba Propriedades<\/span><\/div>\n<p><u><b><span style=\"font-size: large;\"><br \/>\n4. DICAS DE UTILIZA\u00c7\u00c3O <\/span><\/b><\/u><\/p>\n<p><b>4.1. Separador de colunas<\/b><\/p>\n<p>A base da estrutura de um aquivo CSV s\u00e3o suas colunas. Para identific\u00e1-las corretamente, \u00e9 preciso que o separador de colunas seja o mesmo tanto na importa\u00e7\u00e3o quanto na exporta\u00e7\u00e3o. Para isto, uma op\u00e7\u00e3o \u00e9 utilizar o separador de listas configurado no Windows. Essa configura\u00e7\u00e3o \u00e9 feita atrav\u00e9s do menu Iniciar &#8211; Configura\u00e7\u00f5es &#8211; Painel de Controle &#8211; Op\u00e7\u00f5es Regionais e de Idioma.<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura6.PNG\" alt=\"\" width=\"443\" height=\"529\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 6<\/b>: Configura\u00e7\u00f5es regionais do Windows<\/span><\/div>\n<p>Como esta configura\u00e7\u00e3o varia de computador para computador, \u00e9 importante conferir se o separador utilizado no momento da gera\u00e7\u00e3o do arquivo CSV \u00e9 o mesmo configurado para a importa\u00e7\u00e3o.<\/p>\n<p>Outra op\u00e7\u00e3o \u00e9 configurar o separador de colunas manualmente atrav\u00e9s da vari\u00e1vel Separator, na se\u00e7\u00e3o [Configuration] do modelo. Neste caso, a configura\u00e7\u00e3o est\u00e1 no modelo, e basta utilizar o mesmo modelo na exporta\u00e7\u00e3o e na importa\u00e7\u00e3o para garantir que o separador ser\u00e1 configurado corretamente.<br \/>\n<b><br \/>\n4.2. Agrupando colunas para um arquivo mais vers\u00e1til<\/b><\/p>\n<p>\u00c0s vezes, objetos diferentes e sem propriedades em comum s\u00e3o exportados em um mesmo arquivo CSV, o que gera um n\u00famero excessivo de colunas em branco. Por exemplo, tags de comunica\u00e7\u00e3o possuem as propriedades N1 a N4, mas n\u00e3o B1 a B4; j\u00e1 blocos de comunica\u00e7\u00e3o possuem B1 a B4, mas n\u00e3o N1 a N4. Um arquivo CSV com tags e blocos de comunica\u00e7\u00e3o a princ\u00edpio seria assim:<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">ObjectType;Name ;N1;N2;N3;N4;B1;B2;B3;B4<\/span><br \/>\n<span style=\"font-family: Courier New;\">IOTag ;Tag1 ;1 ;1 ;1 ;1 ; ; ; ;<\/span><br \/>\n<span style=\"font-family: Courier New;\">IOBlock ;Bloco1; ; ; ; ;1 ;1 ;1 ;1<\/span><\/div>\n<p>Por\u00e9m, \u00e9 poss\u00edvel reduzir este arquivo a apenas seis colunas se as propriedades N1 a N4 forem agrupadas com B1 a B4. Isto \u00e9 poss\u00edvel porque objetos que possuem um destes dois tipos de propriedades n\u00e3o possuem o outro tipo. Mas note: caso as propriedades combinadas sejam comuns a mais de um tipo de objeto importado ou exportado, haver\u00e1 perda de informa\u00e7\u00e3o pois o valor de uma propriedade ir\u00e1 sobrescrever a outra.<\/p>\n<p>Para agrupar estas propriedades, basta selecion\u00e1-las, clicar no bot\u00e3o <b>Agrupar propriedades<\/b>, e editar o nome da coluna.<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura7.PNG\" alt=\"\" width=\"458\" height=\"506\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 7<\/b>: Agrupar propriedades<\/span><\/div>\n<p>O modelo gerado neste caso ser\u00e1 semelhante a este:<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">ObjectType;Name ;N1\/B1;N2\/B2;N3\/B3;N4\/B4<\/span><br \/>\n<span style=\"font-family: Courier New;\">IOTag ;Tag1 ;1 ;1 ;1 ;1<\/span><br \/>\n<span style=\"font-family: Courier New;\">IOBlock ;Bloco1;1 ;1 ;1 ;1<\/span><\/div>\n<p><b>4.3. Importando arquivos gerados pelo Elipse SCADA<\/b><\/p>\n<p>O Elipse SCADA pode exportar seus tags, telas e alarmes para arquivos .E2F, que s\u00e3o facilmente importados pelo E3 sem que seja necess\u00e1ria a utiliza\u00e7\u00e3o um modelo. Alguns detalhes devem ser observados:<\/p>\n<ul>\n<li>Tags de comunica\u00e7\u00e3o ou tags OPC devem ser importados a partir de um driver de comunica\u00e7\u00e3o ou driver OPC, respectivamente, com o mesmo nome dos drivers do Elipse SCADA, para que as refer\u00eancias para os tags sejam importadas corretamente.<\/li>\n<li>Tags RAM e Demo devem ser importados no E3 a partir de um servidor de dados chamado &#8220;Dados&#8221;, tamb\u00e9m para garantir que as refer\u00eancias para os tags estejam corretas.<\/li>\n<li>Quando o Elipse SCADA exporta tags, ele tamb\u00e9m cria um arquivo .E2F com o sufixo _Alarms, contendo a configura\u00e7\u00e3o de alarmes. No Elipse E3, os alarmes s\u00e3o importados a partir de uma \u00e1rea previamente criada dentro de um Configurador de Alarmes. Caso os tags do Elipse SCADA tenham sido importados corretamente, as refer\u00eancias nestes alarmes aparecer\u00e1 em azul, indicando que o link est\u00e1 correto.<\/li>\n<li>Antes que as telas do Elipse SCADA sejam importadas pelo E3 pela primeira vez, \u00e9 preciso registrar os controles ActiveX dos E2Controls no E3Studio. Para isso, acesse <b>Ferramentas&#8211;Adicionar ActiveX<\/b>, selecione um dos controles da biblioteca E2Controls e clique <b>OK<\/b>.<\/li>\n<\/ul>\n<p><b>4.4. Mantendo um modelo b\u00e1sico para cada objeto<\/b><\/p>\n<p>Para facilitar a configura\u00e7\u00e3o da ferramenta e poupar tempo durante o procedimento, procure manter sempre pronto um modelo para cada um dos objetos frequentemente importados\/exportados, como drivers, alarmes, telas, etc. Estes modelos podem conter, por exemplo, as propriedades a serem utilizadas e os objetos desejados.<\/p>\n<p>Assim, ao iniciar um novo procedimento de importa\u00e7\u00e3o ou exporta\u00e7\u00e3o, basta selecionar o modelo b\u00e1sico e clicar em <b>Configurar <\/b>para que todas as configura\u00e7\u00f5es encontradas neste modelo sejam carregadas. Na op\u00e7\u00e3o <b>Salvar as altera\u00e7\u00f5es deste modelo em um arquivo INI<\/b>, escolha um novo nome para o modelo, para que o b\u00e1sico n\u00e3o seja sobrescrito, e altere nele apenas o que for necess\u00e1rio.<br \/>\n<b><br \/>\n4.5. Importando arquivos de tags gerados por vers\u00f5es antigas do E3Studio<\/b><\/p>\n<p>O formato dos arquivos CSV gerados pela exporta\u00e7\u00e3o de vers\u00f5es antigas do Elipse E3 tamb\u00e9m \u00e9 suportado pela ferramenta atual. O modelo apropriado para esta opera\u00e7\u00e3o est\u00e1 dispon\u00edvel no diret\u00f3rio de instala\u00e7\u00e3o do E3, na pasta Templates.<\/p>\n<p>Para configurar um novo modelo, siga estes procedimentos:<\/p>\n<p>a. Na aba <b>Configura\u00e7\u00f5es<\/b>: selecione o separador de listas do Windows como separador de colunas, desabilite as op\u00e7\u00f5es importar\/exportar objeto raiz, associa\u00e7\u00f5es e cole\u00e7\u00f5es; e escolha um novo nome para o modelo.<br \/>\nb. Na aba <b>Importa\u00e7\u00e3o<\/b>, mantenha a configura\u00e7\u00e3o padr\u00e3o.<br \/>\nc. Na aba <b>Filtros<\/b>, selecione <b>Incluir apenas estes objetos<\/b> e clique em <b>Alterar <\/b>para incluir as classes <i>IOTag<\/i>, <i>IOBlock <\/i>e <i>IOBlockElement<\/i>.<br \/>\nd. Na aba <b>Identificadores<\/b>, clique em (+) e para incluir as classes <i>IOTag<\/i>, <i>IOBlock <\/i>e <i>IOBlockElement<\/i>, e defina os identificadores <i>PLC Tag<\/i>, <i>Block Tag<\/i> e <i>Element<\/i>, respectivamente.<\/p>\n<div align=\"center\"><span style=\"font-size: small;\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura8.PNG\" alt=\"\" width=\"397\" height=\"360\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 8<\/b>: Defini\u00e7\u00e3o de identificadores para classes de objetos<\/span><br \/>\n<\/span><\/div>\n<p>e. Na aba <b>Propriedades<\/b>, defina as propriedades a serem exportadas pela vers\u00e3o antiga e relacione-as aos identificadores utilizados no arquivo CSV. Para a propriedade <i>ObjectType<\/i>, associe o identificador <i>type<\/i>. Para as demais, siga as instru\u00e7\u00f5es a seguir:<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura9.PNG\" alt=\"\" width=\"397\" height=\"507\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 9<\/b>: Escolha das propriedades<\/span><\/div>\n<ul>\n<li>Clique (+) para adicionar as propriedades.<\/li>\n<li>Selecione a classe <b>IOTag <\/b>e adicione as propriedades <i>Name<\/i>, <i>DocString<\/i>, <i>N1<\/i>, <i>N2<\/i>, <i>N3<\/i>, <i>N4<\/i>, <i>Scan<\/i>, <i>AllowRead<\/i>, <i>AlowWrite<\/i>, <i>EnableScaling<\/i>, <i>DeviceLow<\/i>, <i>DeviceHigh<\/i>, <i>EULow<\/i>, <i>EUHigh<\/i>, <i>ParamDevice<\/i>, <i>ParamItem<\/i>.<\/li>\n<li>Selecione a classe <b>IOBlock <\/b>e adicione as propriedades <i>B1<\/i>, <i>B2<\/i>, <i>B3<\/i>, <i>B4<\/i>, <i>Size<\/i>.<\/li>\n<li>Selecione a classe <b>IOBlockElement <\/b>e adicione a propriedade <i>Index<\/i>.<\/li>\n<li>Selecione as propriedades <i>N1 <\/i>a <i>N4 <\/i>e <i>B1 <\/i>a <i>B4 <\/i>aos pares e clique em <b>Agrupar propriedades<\/b>. Depois, altere o nome de cada coluna (<b>N1\/B1<\/b>, <b>N2\/B2<\/b>, <b>N3\/B3<\/b> e <b>N4\/B4<\/b>).<\/li>\n<li>Altere o nome das colunas para as seguintes propriedades: <i>DocString <\/i>= Description; <i>Scan <\/i>= ScanTime; <i>AdviseType <\/i>= Advise; <i>EnableScaling <\/i>= Scaling; <i>EUHigh <\/i>= High2.<\/li>\n<\/ul>\n<p>f. Clique em <b>OK<\/b>. O modelo ser\u00e1 salvo e estar\u00e1 pronto para ser utilizado pela ferramenta. O arquivo INI resultante ser\u00e1 semelhante ao mostrado a seguir:<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">[HEADER]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Header=Type,Name,Description,N1\/B1,N2\/B2,N3\/B3,N4\/B4,ScanTime,AllowRead,<br \/>\nAllowWrite,Advise,Scaling,DeviceLow,DeviceHigh,EULow,EUHigh,EU,Size,<br \/>\nIndex,ParamDevice,ParamItem Types=Element,Block Tag,PLC Tag<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">[TYPES]<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">Element=IOBlockElement<\/span><br \/>\n<span style=\"font-family: Courier New;\">Block Tag=IOBlock<\/span><br \/>\n<span style=\"font-family: Courier New;\">PLC Tag=IOTag<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">[COLUMNS]<\/span><br \/>\n<span style=\"font-family: Courier New;\">N1\/B1=N1,B1<\/span><br \/>\n<span style=\"font-family: Courier New;\">N2\/B2=N2,B2<\/span><br \/>\n<span style=\"font-family: Courier New;\">N3\/B3=N3,B3<\/span><br \/>\n<span style=\"font-family: Courier New;\">N4\/B4=N4,B4<\/span><br \/>\n<span style=\"font-family: Courier New;\">Scaling=EnableScaling<\/span><br \/>\n<span style=\"font-family: Courier New;\">ScanTime=Scan<\/span><br \/>\n<span style=\"font-family: Courier New;\">Type=ObjectType<\/span><br \/>\n<span style=\"font-family: Courier New;\">Advise=AdviseType<\/span><br \/>\n<span style=\"font-family: Courier New;\">Description=DocString<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">[CONFIGURATION]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Root=FALSE<\/span><br \/>\n<span style=\"font-family: Courier New;\">Link=FALSE<\/span><br \/>\n<span style=\"font-family: Courier New;\">Collection=FALSE<\/span><br \/>\n<span style=\"font-family: Courier New;\">ObjectDuplicated=AskAlways<\/span><br \/>\n<span style=\"font-family: Courier New;\">BindDuplicated=AskAlways<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">[FILTER]<\/span><br \/>\n<span style=\"font-family: Courier New;\">Include=IOTag,IOBlock,IOBlockElement<\/span><\/div>\n<p><b>4.6. Alterando os tipos de objetos em quatro passos<\/b><\/p>\n<p>Com a nova ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do E3, \u00e9 poss\u00edvel alterar os tipos de objetos sem perder as propriedades anteriormente configuradas. Este procedimento pode ser feito em quatro etapas:<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura10.PNG\" alt=\"\" width=\"550\" height=\"417\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 10<\/b>: Aplica\u00e7\u00e3o exemplo<\/span><\/div>\n<p>a. <b>Exporte <\/b>os objetos cujos tipos ser\u00e3o alterados, criando um modelo com todas as suas propriedades. No exemplo, ser\u00e3o exportados os objetos filhos da TelaInicial. Na configura\u00e7\u00e3o do modelo, foram incluidas todas as propriedades da classe <i>DrawRect<\/i>, e um identificador foi criado na aba Identificadores do Gerenciador de Modelos.<br \/>\nb. <b>Altere <\/b>o tipo de objeto no modelo utilizado para a exporta\u00e7\u00e3o. No exemplo, objeto DrawRect foi substituido por um DrawCircle diretamente no valor da vari\u00e1vel. Ent\u00e3o, salve o modelo.<br \/>\nc. <b>Apague <\/b>os objetos antigos no E3. No exemplo, foram removidos os quatro ret\u00e2ngulos filhos da TelaInicial.<br \/>\nd. <b>Importe <\/b>os objetos do arquivo CSV gerado no item <b>a<\/b> atrav\u00e9s do modelo alterado no item <b>b<\/b>. No exemplo, foram criados quatro novos c\u00edrculos que mant\u00eam as propriedades definidas para os ret\u00e2ngulos, como cor, posi\u00e7\u00e3o, tamanho, etc.<\/p>\n<div align=\"center\"><span style=\"font-size: xx-small;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura11.PNG\" alt=\"\" width=\"550\" height=\"417\" align=\"Baseline\" border=\"0\" \/><br \/>\n<b>Figura 11<\/b>: Aplica\u00e7\u00e3o exemplo ap\u00f3s substitui\u00e7\u00e3o dos tipos de objetos<\/span><\/div>\n<p>No entanto, este procedimento \u00e9 vantajoso apenas quando os objetos em quest\u00e3o compartilham uma s\u00e9rie de propriedades; objetos muito distintos entre si n\u00e3o podem ser aproveitados neste caso.<\/p>\n<p>Um exemplo de uso para esta funcionalidade \u00e9 quando a biblioteca contendo diversos XControls de uma Tela for perdida. Sabendo o significado das propriedades definidas para o XControl, \u00e9 poss\u00edvel criar uma nova biblioteca, redefinir o ElipseX e, atrav\u00e9s deste passo-a-passo, substituir na Tela os ElipseX antigos pelos novos.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>1. INTRODU\u00c7\u00c3O A ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do E3 Studio permite gravar um arquivo do tipo .CSV que cont\u00e9m informa\u00e7\u00f5es sobre objetos do Elipse E3 e posteriormente utiliz\u00e1-lo para&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0},"categories":[598],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio.<\/title>\n<meta name=\"description\" content=\"Este artigo mostra como criar modelos que ser\u00e3o utilizados pela ferramente de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio, ambiente de desenvolvimento do Elipse E3.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio.\" \/>\n<meta property=\"og:description\" content=\"Este artigo mostra como criar modelos que ser\u00e3o utilizados pela ferramente de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio, ambiente de desenvolvimento do Elipse E3.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/\" \/>\n<meta property=\"og:site_name\" content=\"Elipse Knowledgebase\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/elipsesoftware\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-25T20:30:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-01T15:19:18+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura1.PNG\" \/>\n<meta name=\"author\" content=\"Elipse Software\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elipse Software\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"37 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/\"},\"author\":{\"name\":\"Elipse Software\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87\"},\"headline\":\"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do E3Studio.\",\"datePublished\":\"2019-03-25T20:30:20+00:00\",\"dateModified\":\"2020-09-01T15:19:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/\"},\"wordCount\":7077,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"articleSection\":[\"Importa\u00e7\u00e3o \/ Exporta\u00e7\u00e3o\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/\",\"url\":\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/\",\"name\":\"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio.\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#website\"},\"datePublished\":\"2019-03-25T20:30:20+00:00\",\"dateModified\":\"2020-09-01T15:19:18+00:00\",\"description\":\"Este artigo mostra como criar modelos que ser\u00e3o utilizados pela ferramente de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio, ambiente de desenvolvimento do Elipse E3.\",\"breadcrumb\":{\"@id\":\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/kb.elipse.com.br\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do E3 Studio.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kb.elipse.com.br\/#website\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"name\":\"Elipse Knowledgebase\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kb.elipse.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\",\"name\":\"Elipse Software\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/elipsesoftware\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"contentUrl\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"width\":161,\"height\":58,\"caption\":\"Elipse Software\"},\"image\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87\",\"name\":\"Elipse Software\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g\",\"caption\":\"Elipse Software\"},\"url\":\"https:\/\/kb.elipse.com.br\/en\/author\/webmasterelipse-com-br\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio.","description":"Este artigo mostra como criar modelos que ser\u00e3o utilizados pela ferramente de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio, ambiente de desenvolvimento do Elipse E3.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/","og_locale":"en_US","og_type":"article","og_title":"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio.","og_description":"Este artigo mostra como criar modelos que ser\u00e3o utilizados pela ferramente de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio, ambiente de desenvolvimento do Elipse E3.","og_url":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/","og_site_name":"Elipse Knowledgebase","article_publisher":"http:\/\/www.facebook.com\/elipsesoftware","article_published_time":"2019-03-25T20:30:20+00:00","article_modified_time":"2020-09-01T15:19:18+00:00","og_image":[{"url":"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID64\/Figura1.PNG"}],"author":"Elipse Software","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Elipse Software","Est. reading time":"37 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/#article","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/"},"author":{"name":"Elipse Software","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87"},"headline":"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do E3Studio.","datePublished":"2019-03-25T20:30:20+00:00","dateModified":"2020-09-01T15:19:18+00:00","mainEntityOfPage":{"@id":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/"},"wordCount":7077,"commentCount":0,"publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"articleSection":["Importa\u00e7\u00e3o \/ Exporta\u00e7\u00e3o"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/","url":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/","name":"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio.","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/#website"},"datePublished":"2019-03-25T20:30:20+00:00","dateModified":"2020-09-01T15:19:18+00:00","description":"Este artigo mostra como criar modelos que ser\u00e3o utilizados pela ferramente de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do Studio, ambiente de desenvolvimento do Elipse E3.","breadcrumb":{"@id":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kb.elipse.com.br\/criando-modelos-para-a-ferramenta-de-importacao-e-exportacao-do-e3studio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/kb.elipse.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Criando modelos para a ferramenta de importa\u00e7\u00e3o e exporta\u00e7\u00e3o do E3 Studio."}]},{"@type":"WebSite","@id":"https:\/\/kb.elipse.com.br\/#website","url":"https:\/\/kb.elipse.com.br\/","name":"Elipse Knowledgebase","description":"","publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kb.elipse.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kb.elipse.com.br\/#organization","name":"Elipse Software","url":"https:\/\/kb.elipse.com.br\/","sameAs":["http:\/\/www.facebook.com\/elipsesoftware"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","contentUrl":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","width":161,"height":58,"caption":"Elipse Software"},"image":{"@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87","name":"Elipse Software","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g","caption":"Elipse Software"},"url":"https:\/\/kb.elipse.com.br\/en\/author\/webmasterelipse-com-br\/"}]}},"_links":{"self":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/331"}],"collection":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/comments?post=331"}],"version-history":[{"count":13,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/331\/revisions"}],"predecessor-version":[{"id":11469,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/331\/revisions\/11469"}],"wp:attachment":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/media?parent=331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/categories?post=331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/tags?post=331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}