<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.phsys.com.br/index.php?action=history&amp;feed=atom&amp;title=Layout_Importa%C3%A7%C3%A3o_Dashboards</id>
	<title>Layout Importação Dashboards - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.phsys.com.br/index.php?action=history&amp;feed=atom&amp;title=Layout_Importa%C3%A7%C3%A3o_Dashboards"/>
	<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Layout_Importa%C3%A7%C3%A3o_Dashboards&amp;action=history"/>
	<updated>2026-09-20T11:49:35Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.31.10</generator>
	<entry>
		<id>http://wiki.phsys.com.br/index.php?title=Layout_Importa%C3%A7%C3%A3o_Dashboards&amp;diff=7279&amp;oldid=prev</id>
		<title>Admin: /* Conclusão */</title>
		<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Layout_Importa%C3%A7%C3%A3o_Dashboards&amp;diff=7279&amp;oldid=prev"/>
		<updated>2026-09-13T20:59:33Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Conclusão&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Edição das 20h59min de 13 de setembro de 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l292&quot; &gt;Linha 292:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 292:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Widgets]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Widgets]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Criando_Dashboards_com_IA]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Criando_Dashboards_com_IA&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|Criando Dashboards com IA&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.phsys.com.br/index.php?title=Layout_Importa%C3%A7%C3%A3o_Dashboards&amp;diff=7278&amp;oldid=prev</id>
		<title>Admin em 20h59min de 13 de setembro de 2026</title>
		<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Layout_Importa%C3%A7%C3%A3o_Dashboards&amp;diff=7278&amp;oldid=prev"/>
		<updated>2026-09-13T20:59:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Edição das 20h59min de 13 de setembro de 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l292&quot; &gt;Linha 292:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 292:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Widgets]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Widgets]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Dashboards com IA&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Criando_Dashboards_com_IA&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.phsys.com.br/index.php?title=Layout_Importa%C3%A7%C3%A3o_Dashboards&amp;diff=7277&amp;oldid=prev</id>
		<title>Admin: Criou página com &#039;===&#039;&#039;&#039;Conceito&#039;&#039;&#039;=== Esta página descreve o formato dos arquivos de exportação e importação de dashboards e widgets. Serve de referência para quem precisa gerar esses ar...&#039;</title>
		<link rel="alternate" type="text/html" href="http://wiki.phsys.com.br/index.php?title=Layout_Importa%C3%A7%C3%A3o_Dashboards&amp;diff=7277&amp;oldid=prev"/>
		<updated>2026-09-13T20:58:19Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;===&amp;#039;&amp;#039;&amp;#039;Conceito&amp;#039;&amp;#039;&amp;#039;=== Esta página descreve o formato dos arquivos de exportação e importação de dashboards e widgets. Serve de referência para quem precisa gerar esses ar...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===&amp;#039;&amp;#039;&amp;#039;Conceito&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
Esta página descreve o formato dos arquivos de exportação e importação de dashboards e widgets. Serve de referência para quem precisa gerar esses arquivos fora do sistema — inclusive para orientar um agente de IA (veja Assuntos Relacionados).&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Os arquivos&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
São dois arquivos no formato JSON, ambos gravados em UTF-8, lidos pelos botões Importar dos respectivos cadastros.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Arquivo&lt;br /&gt;
!Extensão&lt;br /&gt;
!Cadastro&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;Dashboard&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|.phdashapp&lt;br /&gt;
|Dashboards&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;Widget avulso&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|.phwidget&lt;br /&gt;
|Widgets&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
O arquivo de dashboard já traz os widgets embutidos: importar um dashboard cria ou atualiza também os widgets que ele utiliza, o catálogo de Campos de cada um e os Filtros do Item.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Regras gerais&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Identificação pelo Nome:&amp;#039;&amp;#039;&amp;#039; a importação cria o que não existe e atualiza o que existe. O dashboard é identificado pelo &amp;#039;&amp;#039;&amp;#039;nome&amp;#039;&amp;#039;&amp;#039;; o widget pelo &amp;#039;&amp;#039;&amp;#039;nome&amp;#039;&amp;#039;&amp;#039; mais o &amp;#039;&amp;#039;&amp;#039;tipoWidget&amp;#039;&amp;#039;&amp;#039;; o item pela &amp;#039;&amp;#039;&amp;#039;sequencia&amp;#039;&amp;#039;&amp;#039; dentro do dashboard; a série pela &amp;#039;&amp;#039;&amp;#039;sequencia&amp;#039;&amp;#039;&amp;#039; dentro do widget. Reimportar o mesmo arquivo atualiza no lugar, sem duplicar.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Validação antes de gravar:&amp;#039;&amp;#039;&amp;#039; o arquivo é conferido por inteiro antes de qualquer gravação. Havendo problema, nada é importado e é devolvida a lista completa das correções, numerada e identificando o item e o widget de cada uma.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Formulário:&amp;#039;&amp;#039;&amp;#039; quando o dashboard tem filtro, o Formulário é referenciado pelo nome e precisa já existir na base de destino — ele não vai dentro do arquivo.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Cores:&amp;#039;&amp;#039;&amp;#039; aceitam o formato #RRGGBB ou o número inteiro usado pelo sistema. Em branco, vale a cor padrão do tema.&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;Campos omitidos&amp;#039;&amp;#039;&amp;#039;====&lt;br /&gt;
Campo que não for informado grava o padrão abaixo. Não é necessário repetir as opções que valem &amp;quot;não&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Campo&lt;br /&gt;
!Padrão&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;tipoSerie&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|F (série fixa). Somente D liga a série dinâmica.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;posicaoLegenda&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|D (direita).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;exibirTitulo&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;exibirValores&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;destacarDiferenca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;exibirFundoBarra&amp;#039;&amp;#039;&amp;#039;, os quatro &amp;#039;&amp;#039;&amp;#039;arredondamento&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;exibirPercentual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|N&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;ehSistema&amp;#039;&amp;#039;&amp;#039; (dashboard, item, widget, campo e filtro)&lt;br /&gt;
|N&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;titulo&amp;#039;&amp;#039;&amp;#039; do item&lt;br /&gt;
|O título do widget daquele item.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Arquivo de dashboard&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;versao&amp;quot;: 2,&lt;br /&gt;
  &amp;quot;nome&amp;quot;: &amp;quot;DASH_RECEITAS&amp;quot;,&lt;br /&gt;
  &amp;quot;legenda&amp;quot;: &amp;quot;Receitas&amp;quot;,&lt;br /&gt;
  &amp;quot;ehSistema&amp;quot;: &amp;quot;N&amp;quot;,&lt;br /&gt;
  &amp;quot;formulario&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;itens&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;sequencia&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;altura&amp;quot;: 7,&lt;br /&gt;
      &amp;quot;largura&amp;quot;: 16,&lt;br /&gt;
      &amp;quot;ehSistema&amp;quot;: &amp;quot;N&amp;quot;,&lt;br /&gt;
      &amp;quot;widget&amp;quot;: { },&lt;br /&gt;
      &amp;quot;filtros&amp;quot;: []&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Campo&lt;br /&gt;
!Regra&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;nome&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Obrigatório. É a chave de importação.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;legenda&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Obrigatória. Texto exibido ao usuário.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;formulario&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Nome de um Formulário existente na base. Obrigatório quando algum item tiver filtros; em branco para dashboard sem filtro.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;itens&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Ao menos um item.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;itens.sequencia&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Maior que zero e única dentro do dashboard.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;itens.largura&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|De 1 a 16 colunas da grade.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;itens.altura&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Maior que zero, em linhas da grade.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;itens.titulo&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Em branco assume o título do widget.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;itens.widget&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|O widget completo, no mesmo formato do arquivo avulso.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;Filtro do item&amp;#039;&amp;#039;&amp;#039;====&lt;br /&gt;
Liga um campo do Formulário do dashboard a um Campo do widget daquele item.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;formularioCampo&amp;quot;: &amp;quot;DATAINICIAL&amp;quot;, &amp;quot;widgetCampo&amp;quot;: &amp;quot;DATAEMISSAO&amp;quot;, &amp;quot;operacao&amp;quot;: 3, &amp;quot;ehSistema&amp;quot;: &amp;quot;N&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Operação&lt;br /&gt;
!Significado&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Igual&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Diferente&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Maior ou igual&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Menor ou igual&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Contém&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Está na lista&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
O &amp;#039;&amp;#039;&amp;#039;formularioCampo&amp;#039;&amp;#039;&amp;#039; precisa existir no Formulário do dashboard, e o &amp;#039;&amp;#039;&amp;#039;widgetCampo&amp;#039;&amp;#039;&amp;#039; precisa estar em &amp;#039;&amp;#039;&amp;#039;campos&amp;#039;&amp;#039;&amp;#039; do widget daquele item.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Arquivo de widget&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;versao&amp;quot;: 2,&lt;br /&gt;
  &amp;quot;nome&amp;quot;: &amp;quot;REC_EVOLUCAO_MENSAL&amp;quot;,&lt;br /&gt;
  &amp;quot;tipoWidget&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;titulo&amp;quot;: &amp;quot;Evolução Mensal das Receitas&amp;quot;,&lt;br /&gt;
  &amp;quot;exibirTitulo&amp;quot;: &amp;quot;S&amp;quot;,&lt;br /&gt;
  &amp;quot;tamanhoFonteTitulo&amp;quot;: 14,&lt;br /&gt;
  &amp;quot;ehSistema&amp;quot;: &amp;quot;N&amp;quot;,&lt;br /&gt;
  &amp;quot;expressaoSQL&amp;quot;: &amp;quot;select ... from documentos a where ...&amp;quot;,&lt;br /&gt;
  &amp;quot;campos&amp;quot;: [&lt;br /&gt;
    {&amp;quot;nome&amp;quot;: &amp;quot;ANO_MES&amp;quot;,     &amp;quot;tipoCampo&amp;quot;: 1, &amp;quot;formato&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;ehSistema&amp;quot;: &amp;quot;N&amp;quot;},&lt;br /&gt;
    {&amp;quot;nome&amp;quot;: &amp;quot;DATAEMISSAO&amp;quot;, &amp;quot;tipoCampo&amp;quot;: 2, &amp;quot;formato&amp;quot;: &amp;quot;&amp;quot;,           &amp;quot;ehSistema&amp;quot;: &amp;quot;N&amp;quot;},&lt;br /&gt;
    {&amp;quot;nome&amp;quot;: &amp;quot;VALOR&amp;quot;,       &amp;quot;tipoCampo&amp;quot;: 3, &amp;quot;formato&amp;quot;: &amp;quot;###,##0.00&amp;quot;, &amp;quot;ehSistema&amp;quot;: &amp;quot;N&amp;quot;}&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;grafico&amp;quot;: { }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Campo&lt;br /&gt;
!Regra&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;nome&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Obrigatório. Chave de importação junto com o tipoWidget.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;tipoWidget&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|1 para gráfico (preenche a seção grafico) ou 2 para indicador (preenche a seção indicador).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;expressaoSQL&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Obrigatória e crua: sem soma, sem agrupamento e sem ordenação. A agregação é montada pelo sistema a partir do campoX, do campoSerie e das colunas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;campos&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Catálogo das colunas devolvidas pela consulta. Ao menos um, sem nomes repetidos. Todo campo citado em campoX, campoSerie, campoOrdenacao, colunas, indicador e nos filtros precisa estar aqui.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;campos.tipoCampo&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|1 texto, 2 data, 3 valor.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;campos.formato&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Máscara de exibição, como ###,##0.00. É ela que formata o rótulo do gráfico e o número do indicador.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;Seção grafico&amp;#039;&amp;#039;&amp;#039;====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;grafico&amp;quot;: {&lt;br /&gt;
  &amp;quot;tipoGrafico&amp;quot;: &amp;quot;BH&amp;quot;,&lt;br /&gt;
  &amp;quot;campoX&amp;quot;: &amp;quot;ANO_MES&amp;quot;,&lt;br /&gt;
  &amp;quot;campoSerie&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;campoOrdenacao&amp;quot;: &amp;quot;ANO_MES&amp;quot;,&lt;br /&gt;
  &amp;quot;tipoSerie&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
  &amp;quot;exibirValores&amp;quot;: &amp;quot;S&amp;quot;,&lt;br /&gt;
  &amp;quot;escala&amp;quot;: 0,&lt;br /&gt;
  &amp;quot;destacarDiferenca&amp;quot;: &amp;quot;N&amp;quot;,&lt;br /&gt;
  &amp;quot;tamanhoFonteX&amp;quot;: 13,&lt;br /&gt;
  &amp;quot;posicaoLegenda&amp;quot;: &amp;quot;D&amp;quot;,&lt;br /&gt;
  &amp;quot;corBarra&amp;quot;: &amp;quot;#3E3E3E&amp;quot;,&lt;br /&gt;
  &amp;quot;corFundoBarra&amp;quot;: &amp;quot;#FBF1E6&amp;quot;,&lt;br /&gt;
  &amp;quot;exibirFundoBarra&amp;quot;: &amp;quot;S&amp;quot;,&lt;br /&gt;
  &amp;quot;arredondamentoInicial&amp;quot;: &amp;quot;S&amp;quot;,&lt;br /&gt;
  &amp;quot;arredondamentoFinal&amp;quot;: &amp;quot;S&amp;quot;,&lt;br /&gt;
  &amp;quot;arredondamentoFundoInicial&amp;quot;: &amp;quot;N&amp;quot;,&lt;br /&gt;
  &amp;quot;arredondamentoFundoFinal&amp;quot;: &amp;quot;S&amp;quot;,&lt;br /&gt;
  &amp;quot;colunas&amp;quot;: [&lt;br /&gt;
    {&amp;quot;sequencia&amp;quot;: 1, &amp;quot;legenda&amp;quot;: &amp;quot;Valor&amp;quot;, &amp;quot;campoValor&amp;quot;: &amp;quot;VALOR&amp;quot;,&lt;br /&gt;
     &amp;quot;corFonteValor&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;corFonteValor2&amp;quot;: &amp;quot;#FFFFFF&amp;quot;, &amp;quot;exibirPercentual&amp;quot;: &amp;quot;N&amp;quot;}&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Campo&lt;br /&gt;
!Regra&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;tipoGrafico&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|BH para colunas verticais, BV para barras horizontais, LI para linhas e PI para pizza.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;campoX&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Obrigatório. É a categoria do eixo.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;campoSerie&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Usado apenas com tipoSerie D: cada valor distinto do campo vira uma série.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;campoOrdenacao&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Ordena as categorias por este campo, em vez da ordem alfabética.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;tipoSerie&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|D para série dinâmica, que exige o campoSerie. Em branco, as séries são as informadas em colunas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;exibirValores&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|S mostra o valor em cada ponto, E mostra a escala no eixo e N não mostra nenhum.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;posicaoLegenda&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|T, B, E, D ou I. Somente o gráfico de pizza desenha legenda.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;colunas&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Ao menos uma série. A sequencia é maior que zero e única, e o campoValor é obrigatório e precisa ser um campo do tipo valor.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;colunas.exibirPercentual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|S exibe o percentual sobre o total da série, em vez do valor.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;Seção indicador&amp;#039;&amp;#039;&amp;#039;====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;indicador&amp;quot;: {&lt;br /&gt;
  &amp;quot;campoValor&amp;quot;: &amp;quot;VALOR&amp;quot;,&lt;br /&gt;
  &amp;quot;corFundo&amp;quot;: &amp;quot;#D66815&amp;quot;,&lt;br /&gt;
  &amp;quot;corValor&amp;quot;: &amp;quot;#FFFFFF&amp;quot;,&lt;br /&gt;
  &amp;quot;corDestaque&amp;quot;: &amp;quot;#EFA55F&amp;quot;,&lt;br /&gt;
  &amp;quot;corIdentificacao&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O &amp;#039;&amp;#039;&amp;#039;campoValor&amp;#039;&amp;#039;&amp;#039; é obrigatório, precisa estar em &amp;#039;&amp;#039;&amp;#039;campos&amp;#039;&amp;#039;&amp;#039; e ser do tipo valor — é o campo somado no cartão. O formato exibido vem do formato desse campo.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Campo&lt;br /&gt;
!Aplica-se a&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;corFundo&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Fundo do cartão.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;corValor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Número em destaque.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;corIdentificacao&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Rótulo acima do número.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;corDestaque&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Realce do cartão.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
O indicador sempre soma o campo escolhido. Média, contagem ou maior valor precisam vir resolvidos dentro da própria consulta — uma coluna 1 as quantidade, por exemplo, quando somada resulta na contagem de linhas.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Mensagens de erro&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
Quando o arquivo tem problemas, nada é importado e a mensagem traz todos de uma vez:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Não foi possível importar o dashboard. 3 problemas encontrados:&lt;br /&gt;
  1) item 1 (widget &amp;quot;REC_EVOLUCAO_MENSAL&amp;quot;): &amp;quot;grafico.campoX&amp;quot; &amp;quot;ANOMES&amp;quot; não está&lt;br /&gt;
     em &amp;quot;campos&amp;quot;. Todo campo usado precisa estar catalogado lá.&lt;br /&gt;
  2) item 2 (widget &amp;quot;REC_POR_CC&amp;quot;): &amp;quot;grafico.colunas[0].campoValor&amp;quot; &amp;quot;CENTROCUSTO&amp;quot;&lt;br /&gt;
     precisa ser do tipo valor (&amp;quot;tipoCampo&amp;quot;: 3) em &amp;quot;campos&amp;quot;, e está como 1.&lt;br /&gt;
  3) item 2 (widget &amp;quot;REC_POR_CC&amp;quot;): &amp;quot;sequencia&amp;quot; 1 já foi usada em outro item --&lt;br /&gt;
     ela identifica o item no dashboard.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;Conclusão&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
O formato descreve o dashboard por inteiro: itens, widgets, catálogo de Campos, séries de valor e filtros. Por ser texto estruturado com regras conhecidas e validação completa na importação, o mesmo arquivo pode ser gerado fora do sistema, revisado e aplicado em qualquer base.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Assuntos Relacionados&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Dashboards]]&lt;br /&gt;
&lt;br /&gt;
[[Widgets]]&lt;br /&gt;
&lt;br /&gt;
[[Dashboards com IA]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>