módulo de dados
API para uso do objeto ModuloDeDadosDeOperacoes
Criando um IDENTIFICADOR para o seu objeto.
Todo objeto que usar o módulo de dados dever ter seu identificador criado caso o mesmo já não exista. O identificador será um váriavel "constante".
Isso torna possível a identificação da origem do dataset no módulo. Facilitando também, se realmente necessário, o acesso de um dataset de outro objeto.
Ex: Acessando o dataSet de titulos do objeto Titulos no OperacaoPedido
OperacaoPedido {
var titulos = this.moduloDeDados.pegaDataSet(Titulo.IDENTIFICADOR,"titulos", TipoDoDataSetNaOperacao.DATASET)
}
Como criar um dataset, seu clone e seu atualizavel de uma vez no módulo de dados?
var identificadorObjeto = "Operacao"
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.criaDataSets( identificadorObjeto, "pedido", PEDIDO );
//Outros Exemplos
moduloDeDados.criaDataSets( identificadorObjeto , "pedidoAssociado", "PEDIDO" );
moduloDeDados.criaDataSets( identificadorObjeto , "pedidoAcessorio", "PEDIDO" );
moduloDeDados.criaDataSets( identificadorObjeto , "escala", "TABELA" );
Como criar um dataset no módulo de dados?
moduloDeDados.criaDataSet( identificadorObjeto, "escala", TipoDoDataSetNaOperacao.INTERNO )
//CRIANDO UM ATUALIZAVEL
moduloDeDados.criaDataSet( identificadorObjeto, "escala", TipoDoDataSetNaOperacao.ATUALIZAVEL, "TABELA" )
//CRIANDO DATASET
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.criaDataSet( identificadorObjeto, "escala", TipoDoDataSetNaOperacao.DATASET, "TABELA" )
//CRIANDO UM CLONE (OBS: Só irá funcionar se o original já existir)
Como acessar um dataset existente no módulo de dados?
//Obtendo um dataSet principal
var pedido = moduloDeDados.pegaDataSet( identificadorObjeto, "pedido", TipoDoDataSetNaOperacao.DATASET )
//Obtendo um dataSet interno (clone)
var pedidoClone = moduloDeDados.pegaDataSet( identificadorObjeto, "pedido", TipoDoDataSetNaOperacao.INTERNO )
///Obtendo um dataSet atualizável
var pedidoAtualizavel = moduloDeDados.pegaDataSet( identificadorObjeto, "pedido", TipoDoDataSetNaOperacao.ATUALIZAVEL )
Como adicionar um dataset no módulo de dados?
this.escala = new DataSet()
this.escala.createField( 'PEDIDO', 'integer' )
this.escala.createField( 'ESCALA', 'integer' )
this.escala.createField( 'ENTIDADE', 'integer' )
this.escala.createField( 'FUNCAO', 'integer' )
this.escala.createField( 'INFORMADO', 'boolean' )
this.escala.createField( 'POSICAO', 'integer' )
this.escala.create()
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.adicionaDataSet( this.escala, identificadorDoObjeto, "escala", TipoDoDataSetNaOperacao.DATASET )
Como criar um interno (clone) de um dataset já existente no módulo de dados?
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.criaDataSet( identificadorObjeto, "escala", TipoDoDataSetNaOperacao.INTERNO )
Como criar um atualizavel de um dataset no módulo de dados?
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.criaDataSet( identificadorObjeto, "escala", TipoDoDataSetNaOperacao.ATUALIZAVEL, "TABELA" )
Como limpar um dataset?
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.limpaDataSet(identificadorDoObjeto, "EscalaDeTrabalho_escala")
Como obter os dados de uma operação em contingência para gravação em disco?
var operacaoPedido = new OperacaoPedido();
operacaoPedido.applyUpdatesDosDataSetsNaGravacao = false;
operacaoPedido.fechaOperacaoNoTerminoDaGravacao = false;
operacaoPedido.emContingencia = true;
//Preenche os dados da operação
operacaoPedido.grava();
//Pega uma stream que pode ser salva em disco
var stream = operacaoPedido.moduloDeDados.pegaStream();
Como abrir uma operação gravada em contingência?
var operacaoPedido = new OperacaoPedido()
operacaoPedido.abre(stream);
Como vincular/desvincular/pegar módulos de dados para gravação em contingência?
var operacao1 = new OperacaoPedido();
operacao1.nova()
//cria nova operação
var operacao2 = new OperacaoPedidoTransferenciaVinculada();
//cria nova operação
operacao2.nova()
var idUnicoDoModulo = "opPedido$1234"
//Adicionando
operacao1.moduloDeDados.adicionaModuloVinculado(operacao2.moduloDeDados, idUnicoDoModulo);
//Pegando
var moduloVinculado = operacao1.moduloDeDados.pegaModuloVinculado(idUnicoDoModulo);
//Removendo
operacao1.moduloDeDados.removeModuloVinculado(idUnicoDoModulo);
Script
-1897036588 /products/INTEQerp infrastructure/library/objects/moduloDeDadosDeOperacoes.ijs