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)
}
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" );
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)
//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 )
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 )
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.criaDataSet( identificadorObjeto, "escala", TipoDoDataSetNaOperacao.INTERNO )
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.criaDataSet( identificadorObjeto, "escala", TipoDoDataSetNaOperacao.ATUALIZAVEL, "TABELA" )
var moduloDeDados = new ModuloDeDadosDeOperacoes();
moduloDeDados.limpaDataSet(identificadorDoObjeto, "EscalaDeTrabalho_escala")
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();
var operacaoPedido = new OperacaoPedido()
operacaoPedido.abre(stream);
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);
-1897036588 /products/INTEQerp infrastructure/library/objects/moduloDeDadosDeOperacoes.ijs