Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenone


Plataforma

Produto:  fluigBanco de Dados: Oracle TOTVS Fluig Plataforma


Ocorrência

Percebemos comportamento diferente em relação a grafia (maiúsculo e minusculo) que, se na declaração dos campos de um dataset, onde para o consumo , a grafia do nome dos campos está em minúsculo, o dataset é consumido normalmente na web ou no mobile online. Porém, quando consumindo no mobile jornalizado (offline) temos que usar o nome dos campos em maiúsculo e quando consumido o dataset na web ou mobile online a grafia precisa ser minusculo para funcionar. Neste cenário, como é recomendado desenvolver?

Solução

Indiferente da forma que a definição das colunas é declarada os retornos das consultas trazem sempre o nome das mesmas em maiúsculo.

para que a consulta não retorne 'null'.

Neste cenário, o que podemos fazer para sempre retornar os valores corretos?


Solução

Esse comportamento ocorre em virtude da criação das tabelas no banco de dados, que por padrão utiliza as colunas com nomes todo em maiúsculoEsse comportamento é em virtude da padronização da criação das tabelas “auxiliares”. Em alguns pontos do desenvolvimento sobre a plataforma é possível que as colunas sejam acessadas somente usando a definição do nome da mesma , conforme a declaraçãono banco de dados, ou seja, todo em maiúsculo.

Para minimizar esse problema evitar esta situação é sugerido que a definição das colunas seja sempre em maiúsculo, assim indiferente de onde usamos o nome da coluna ela realizemos a consulta, estará sempre no respeitando o “padrão“.

Portanto, conforme Veja os exemplos abaixo, em vez de desenvolver a definição das colunas utilizando caracteres em minúsculo:


Note que nesta forma de definição, os campos estão em minúsculo portanto, não recomendada:

Bloco de código
languagejs
themeEclipse
function defineStructure() { 
	addColumn("cod_cliente");
	addColumn("nom_cliente");
	
	setKey(["cod_cliente"]);
}

Acesso a coluna via desenvolvimento sobre a plataforma:

code
languagejs
themeEclipse
var dataset = DatasetFactory.getDataset('dataset', new Array(), new Array(), new Array());

var dados = dataset.values;
for ( var i in dados ) {
	var dado = dados[i];
	var codigo = dado[“COD_CLIENTE”];
	var nome = dado[“NOM_CLIENTE”];
}
Nota

Note que o nome da coluna esta em maiúscula diferente da definição.


Recomendamos desenvolver a definição das colunas de forma padronizada, com caracteres em MAIÚSCULO, veja:

Bloco de código
languagejs
themeEclipse
function defineStructure() {
	addColumn("COD_CLIENTE");
	addColumn("NOM_CLIENTE");
	
	setKey([ "COD_CLIENTE" ]);
}


Indiferente da funcionalidade usada, o acesso a coluna será sempre da mesma forma e, por esse motivo, é importante que a definição e a consulta estejam padronizadas.

Confira abaixo o exemplo de acesso Acesso a coluna via desenvolvimento sobre a plataforma, que funcionará tanto na web quanto no mobile, online e offline:

Bloco de código
languagejs
themeEclipse
var dataset = DatasetFactory.getDataset('dataset', new Array(), new Array(), new Array());
var dados = dataset.values;
for ( var i in dados ) {
	var dado= dados[i];
	var codigo = dado[“COD"COD_CLIENTE”CLIENTE"];
	var nome = dado[“NOM"NOM_CLIENTE”CLIENTE"];
}
Nota
A definição e a consulta estão padronizadas. O acesso a coluna será sempre da mesma forma, indiferente da funcionalidade usada.