Histórico da Página
Índice
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
| ||||
function defineStructure() { addColumn("cod_cliente"); addColumn("nom_cliente"); setKey(["cod_cliente"]); } |
Acesso a coluna via desenvolvimento sobre a plataforma:
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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. |