Faça Download do arquivo "Preactor.prtdf" e o coloque na pasta do modelo que estamos trabalhando (C:\Users\Public\Documents\Preactor Configurations\Preferred Sequence (400 & 500 APS) v11.2).
O que há de diferente nesse arquivo é uma nova tabela que foi criada de nome Apontamento, ela possui a seguinte estrutura:
Apontamento,,0,600:
Number,0,INTEGER,
PRIMARY KEY
HIDDEN:
Ordem,"",STRING,
FREE FORMAT (30):
Recurso,"",STRING,
FREE FORMAT (30):
Status,"1",STRING,
FREE FORMAT (30):
Data de Início,-1,TIME,
SHOW DATE:
Data de Fim,-1,TIME,
SHOW DATE:
Import Marker,-1,INTEGER,
DIALOG LEVEL 99
DIALOG ONLY
READ ONLY
IMPORT MARKER;
O que podemos aprender ao ver o código da tabela:
Cabeçalho: "Apontamento,,0,600:"
Table: Apontamento
Total de Registros permitido pela tabela: 600
Fields: Number, Ordem, Recurso, Status, Data de Início, Data de Fim, Import Marker;
Iremos utilizar essas informações para podermos ler e gravar dados na tabela Apontamento.
Abra o Preactor para que as alterações do arquivo "preactor.prtdf" sejam incorporadas ao modelo.
Clique em sim.
Criando um novo registro, lendo e escrevendo dados no Preactor
Esse nosso primeiro contato com o API da Preactor será em torno de três funções básicas que são responsáveis por grande parte de nosso trabalho ao customizar um software, Ler dados, escrever e Criar novos registros.A sintaxe é bem simples, vejam os código logo abaixo:
public int Run(ref PreactorObj preactorComObject, ref object pespComObject)
{
IPreactor preactor = PreactorFactory.CreatePreactorObject(preactorComObject);
//CRIAR UM NOVO REGISTRO NA TABELA DE APONTAMENTOS
int record = preactor.CreateRecord("Apontamento");
//ESCREVER NA TABELA APONTAMENTOS
preactor.WriteField("Apontamento", "Ordem", record, "ORD-001");
//obs:
//A Função WriteField possui 4 parametros básicos
// 1º - Tabela,
// 2º - Campo da tabela(Field),
// 3º - Numero do Registro,
//4 - Valor que vamos escrever no banco de dados
preactor.WriteField("Apontamento", "Recurso", record, "Packing Line 2");
preactor.WriteField("Apontamento", "Status", record, "Iniciada");
preactor.WriteField("Apontamento", "Data de Início", record, new DateTime(2000,10,01,11,00,00));
preactor.WriteField("Apontamento", "Data de Fim", record, new DateTime(2000, 10, 01, 12, 30, 00));
//OBSERVAÇÃO, OS CAMPOS Number, e Import Marker são de uso do Preactor,
//não precisamos preencher esses campos;
//VAMOS SALVAR OS DADOS NA TABELA DO PREACTOR
preactor.Commit("Apontamento");
return 0;
}
Para ler os dados Gravados na tabela iremos utilizar duas funções, uma para contar o número total de registros da tabela e a outra para ler os dados da tabela.
public int Lendo(ref PreactorObj preactorComObject, ref object pespComObject)
{
IPreactor preactor = PreactorFactory.CreatePreactorObject(preactorComObject);
//CRIAR UM NOVO REGISTRO NA TABELA DE APONTAMENTOS
int count = preactor.RecordCount("Apontamento");
IList ordens = new List();
//VAMOS LER TODAS AS ORDENS E GRAVAR SEU VALOR NA LISTA
for (int record = 1; record <= count; record++)
{
//VAMOS LER OS DADOS DA TABELA (parametros: tabela, campo, número do registro)
string ordem = preactor.ReadFieldString("Apontamento", "Ordem", record);
ordens.Add(ordem);
//OS DADOS SÃO SALVOS DE FORMA SEQUENCIAL, MESMO EXCLUINDO
//UM REGISTRO DO MEIO DA FILA, A FILA É REORDENADA
//NÃO DEIXANDO BURRACOS
}
MessageBox.Show("O número de registros lidos:" + ordens.Count());
return 0;
}
Outras funções de Manipulação de dados:
public void DeletarRegistro(IPreactor preactor, int record)
{
//EXCLUI UM ÚNICO REGISTRO
preactor.DeleteRecord("Apontamento", record);
//PARA LIMPAR A TABELA EXCLUINDO TODOS OS REGISTROS
preactor.Clear("Apontamento");
}
Mas para frente abordaremos como busca uma string dentro de um campo de uma tabela.
WorkShop 01
Faça uma função que importe um arquivo CSV (download arquivo CSV ) de apontamentos, e salve os dados na tabela "Apontamento" do Preactor. Mas antes de salvar limpe sempre a tabela.
tente fazer o workshop sem olhar a resposta (workShop 01)
Nenhum comentário:
Postar um comentário