Project:
RM
Module:
Processo Seletivo
Description:
Tipo de local
Business Objects (DataServerName):
EduPSTipoLocalData
PrimaryKey:
IDTIPOLOCAL
Objetos
Nome do Objeto:
SPSTipoLocal
FieldName
Description
Size
Required
Type
DefaultValue
IDTIPOLOCAL
Tipo de local
-1
true
System.Int32
0
NOME
Nome do tipo de local
20
true
System.String
Relacionamentos
Name
ParentTable
ChildTable
ParentColumnName
ChildColumnName
Source Code
C#
ADVPL
Fluig
ReadView
/* Programa responsável por integrar com os Webservices do RM Para executar o programa, seguir os passos abaixo: 1) Entrar no Visual Studio e criar um "Service References" apontando para http://localhost:8051/wsDataServer/MEX?wsdl Dúvidas? Consulte https://msdn.microsoft.com/pt-br/library/bb628652.aspx 1.1) Nomear o serviço como DataServer 1.2) Substituir localhost pelo nome ou IP do servidor que executa o serviço do RM.Host Em caso de dúvidas sobre como habilitar o serviço de Webservices do RM, consultar o link abaixo: http://tdn.totvs.com/pages/releaseview.action?pageId=89620766 2) Adicionar os arquivos abaixo ao seu projeto: http://tdn.totvs.com/download/attachments/211064343/Utils.cs http://tdn.totvs.com/download/attachments/211064343/DataClient.cs 2.1) Ajustar os NameSpace da classe DataClient 3) Adicionar referencia a System.Web.HttpUtility Dúvidas? Consulte: https://msdn.microsoft.com/pt-br/library/7314433t(v=vs.90).aspx *///. public void ReadView() { // ajuste o nome o servidor e porta. Em caso de dúvidas, consulte o link abaixo: // http://tdn.totvs.com/pages/releaseview.action?pageId=89620766 string url = "http://localhost:8051"; //importante passar no contexto o mesmo código de usuário usado para logar no webservice string contexto = "CODSISTEMA=G;CODCOLIGADA=1;CODUSUARIO=mestre"; //usuário e senha do aplicativo RM. O mesmo utilizado para logar no sistema e que tenha permissão de //acesso ao cadastro que deseja utilizar string usuario = "mestre"; string senha = "integracao"; //o filtro pode ser qualquer campo da visão, por exemplo CODCOLIGADA=1 AND CODFILIAL = 1 string filtro = "1=1"; string recordData; // Retorna as credenciais para acesso ao WS DataClient dataclient = new DataClient(url, contexto, usuario, senha); // lê os dados da visão respeitando o filtro passado DataSet ds = dataclient.ReadView("EduPSTipoLocalData", filtro, out recordData); // Pode utilizar o ds tipado para DataSet ou a variável recordData que possui o XML da solicitação MessageBox.Show(recordData); }
ReadRecord
/* Programa responsável por integrar com os Webservices do RM Para executar o programa, seguir os passos abaixo: 1) Entrar no Visual Studio e criar um "Service References" apontando para http://localhost:8051/wsDataServer/MEX?wsdl Dúvidas? Consulte https://msdn.microsoft.com/pt-br/library/bb628652.aspx 1.1) Nomear o serviço como DataServer 1.2) Substituir localhost pelo nome ou IP do servidor que executa o serviço do RM.Host Em caso de dúvidas sobre como habilitar o serviço de Webservices do RM, consultar o link abaixo: http://tdn.totvs.com/pages/releaseview.action?pageId=89620766 2) Adicionar os arquivos abaixo ao seu projeto: http://tdn.totvs.com/download/attachments/211064343/Utils.cs http://tdn.totvs.com/download/attachments/211064343/DataClient.cs 2.1) Ajustar os NameSpace da classe DataClient 3) Adicionar referencia a System.Web.HttpUtility Dúvidas? Consulte: https://msdn.microsoft.com/pt-br/library/7314433t(v=vs.90).aspx */public void ReadRecord() { // ajuste o nome o servidor e porta. Em caso de dúvidas, consulte o link abaixo: // http://tdn.totvs.com/pages/releaseview.action?pageId=89620766 string url = "http://localhost:8051"; //importante passar no contexto o mesmo código de usuário usado para logar no webservice string contexto = "CODSISTEMA=G;CODCOLIGADA=1;CODUSUARIO=mestre"; //usuário e senha do aplicativo RM. O mesmo utilizado para logar no sistema e que tenha permissão de //acesso ao cadastro que deseja utilizar string usuario = "mestre"; string senha = "integracao"; string recordData; // Retorna as credenciais para acesso ao WS DataClient dataclient = new DataClient(url, contexto, usuario, senha); //O ReadRecord retorna o registro da edição do cadastro RM respeitando a chave primária DataSet ds = dataclient.ReadRecord("EduPSTipoLocalData", "1", out recordData); // Pode utilizar o ds tipado para DataSet ou a variável recordData que possui o XML da solicitação MessageBox.Show(recordData); }
SaveRecord
/* Programa responsável por integrar com os Webservices do RM Para executar o programa, seguir os passos abaixo: 1) Entrar no Visual Studio e criar um "Service References" apontando para http://localhost:8051/wsDataServer/MEX?wsdl Dúvidas? Consulte https://msdn.microsoft.com/pt-br/library/bb628652.aspx 1.1) Nomear o serviço como DataServer 1.2) Substituir localhost pelo nome ou IP do servidor que executa o serviço do RM.Host Em caso de dúvidas sobre como habilitar o serviço de Webservices do RM, consultar o link abaixo: http://tdn.totvs.com/pages/releaseview.action?pageId=89620766 2) Adicionar os arquivos abaixo ao seu projeto: http://tdn.totvs.com/download/attachments/211064343/Utils.cs http://tdn.totvs.com/download/attachments/211064343/DataClient.cs 2.1) Ajustar os NameSpace da classe DataClient 3) Adicionar referencia a System.Web.HttpUtility Dúvidas? Consulte: https://msdn.microsoft.com/pt-br/library/7314433t(v=vs.90).aspx */public void SaveRecord() { //pode ser o mesmo XML retornado pelo método ReadRecord, alterando os valores que deseja aplicar no BD string xml = @"<EduPSTipoLocal> <SPSTipoLocal> <IDTIPOLOCAL>1</IDTIPOLOCAL> <NOME>Sala de Prova</NOME> </SPSTipoLocal> </EduPSTipoLocal>"; // ajuste o nome o servidor e porta. Em caso de dúvidas, consulte o link abaixo: // http://tdn.totvs.com/pages/releaseview.action?pageId=89620766 string url = "http://localhost:8051"; //importante passar no contexto o mesmo código de usuário usado para logar no webservice string contexto = "CODSISTEMA=G;CODCOLIGADA=1;CODUSUARIO=mestre"; //usuário e senha do aplicativo RM. O mesmo utilizado para logar no sistema e que //tenha permissão de acesso ao cadastro que deseja utilizar string usuario = "mestre"; string senha = "integracao"; // Retorna as credenciais para acesso ao WS DataClient dataclient = new DataClient(url, contexto, usuario, senha); //Salva o registro na base de dados. Executará "Update" caso encontre outro registre que respeite //a chave primária do dataserver, do contrário, executará "Insert". string[] retorno = dataclient.SaveRecord("EduPSTipoLocalData", xml); MessageBox.Show(retorno.ToString()); }
ReadView
ReadRecord
SaveRecord
ReadView
// Programa responsável por integrar com os Webservices do RM // Para executar o programa, seguir os passos abaixo: // 1) Adicionar o arquivo abaixo ao seu projeto: // http://tdn.totvs.com/download/attachments/211064343/DataClientfluig.js // 2) Inclua um serviço no Fluig com o nome WSDATASERVER apontando para // http://localhost:8051/wsDataServer/MEX?singlewsdl (substituir localhost pelo IP e Porta do servidor RM)//. function createDataset(fields, constraints, sortFields) { /* Prepararação das variaveis */ //usuário e senha do aplicativo RM. O mesmo utilizado para logar no sistema e que tenha permissão de //acesso ao cadastro que deseja utilizar var usuario = "mestre"; var senha = "integracao"; //importante passar no contexto o mesmo código de usuário usado para logar no webservice var context = "CodUsuario=mestre;CodSistema=F;CodColigada=1" //o filtro pode ser qualquer campo da visão, por exemplo CODCOLIGADA=1 AND CODFILIAL = 1 var filtro = "1=1" ; /* Fim Prepararação das variaveis */ var retorno = dcReadView("EduPSTipoLocalData", context, usuario, senha, filtro) //Caso deseje utilizar as contraints do formulário //var parsedConstraints = parseConstraints(constraints, true); //var retorno = authService.readView("EduPSTipoLocalData", parsedConstraints.filter, parsedConstraints.context, senha, filtro); var xmlResultados = new XML(retorno); var dataset = DatasetBuilder.newDataset(); dataset.addColumn('IDTIPOLOCAL'); dataset.addColumn('NOME'); for(var i = 0; i < xmlResultados.SPSTipoLocal.length(); i++) { dataset.addRow(new Array( xmlResultados.SPSTipoLocal[i].IDTIPOLOCAL.toString(), xmlResultados.SPSTipoLocal[i].NOME.toString() ))} // retorna... return dataset; } .
ReadRecord
// Programa responsável por integrar com os Webservices do RM // Para executar o programa, seguir os passos abaixo: // 1) Adicionar o arquivo abaixo ao seu projeto: // http://tdn.totvs.com/download/attachments/211064343/DataClientfluig.js // 2) Inclua um serviço no Fluig com o nome WSDATASERVER apontando para // http://localhost:8051/wsDataServer/MEX?singlewsdl (substituir localhost pelo IP e Porta do servidor RM)//. //Salve o dataset gerado na fução createdataset com o nome do dataserver function openZoom(){ var DATASET_ID = "EduPSTipoLocalData"; var DATA_FIELDS = "IDTIPOLOCAL,NOME"; var RESULT_FIELDS = "IDTIPOLOCAL,NOME"; var TYPE = "EduPSTipoLocalData"; var TITLE = "Tipo de local"; abrirPesquisa(DATASET_ID, DATA_FIELDS, RESULT_FIELDS, TYPE, TITLE); } function setSelectedZoomItem(selectedItem){ if(selectedItem.type == "EduPSTipoLocalData"){ //usuário e senha do aplicativo RM. O mesmo utilizado para logar no sistema e que tenha permissão de //acesso ao cadastro que deseja utilizar //LEMBRANDO QUE O ABAIXO É APENAS A TITULO DE EXEMPLO E SENHAS NÃO DEVEM FICAR NO CLIENT var usuario = "mestre"; var senha = "integracao"; var context = "CodUsuario=mestre;CodSistema=F;CodColigada=1" //Faz a leitura do registro var retorno = dcReadRecord("EduPSTipoLocalData", context, usuario, senha, filtro) //Transforma em XML var xmlResultados = new XML(retorno); IDTIPOLOCAL,NOME } }
SaveRecord
// Programa responsável por integrar com os Webservices do RM // Para executar o programa, seguir os passos abaixo: // 1) Adicionar o arquivo abaixo ao seu projeto: // http://tdn.totvs.com/download/attachments/211064343/DataClientfluig.js // 2) Inclua um serviço no Fluig com o nome WSDATASERVER apontando para // http://localhost:8051/wsDataServer/MEX?singlewsdl (substituir localhost pelo IP e Porta do servidor RM)//. function beforeTaskSave(colleagueId,nextSequenceId,userList){ var NOME_DATASERVER = "EduPSTipoLocalData"; /* Prepararação das variaveis */ //usuário e senha do aplicativo RM. O mesmo utilizado para logar no sistema e que tenha permissão de //acesso ao cadastro que deseja utilizar var usuario = "mestre"; var senha = "integracao"; //importante passar no contexto o mesmo código de usuário usado para logar no webservice var context = "CodUsuario=mestre;CodSistema=F;CodColigada=1" /* Fim Prepararação das variaveis */ try{ if (isEmpty(hAPI.getCardValue("IDTIPOLOCAL"))) return var primaryKey = hAPI.getCardValue("IDTIPOLOCAL"); // carrega o webservice... var authService = getWebService(usuario, senha); // define o contexto... var context = "CodUsuario=mestre;CodSistema=F;CodColigada=1" // faz a leitura... var text = new String(authService.readRecord(NOME_DATASERVER, primaryKey, context)); if (!ChekExist(text)) text = GetXml(); // atualiza o valor... text = replaceValue(text, "IDTIPOLOCAL" , hAPI.getCardValue("IDTIPOLOCAL")); text = replaceValue(text, "NOME" , hAPI.getCardValue("NOME")); var result = new String(authService.saveRecord(NOME_DATASERVER, text, context)); // se retornou a chave, salvou ok... checkIsPK(result, 1); } catch (e) { if (e == null) e = "Erro desconhecido!"; var mensagemErro = "Ocorreu um erro ao salvar dados no RM: " + e; throw mensagemErro; } } function GetXml() { return "<EduPSTipoLocal>" + " <SPSTipoLocal>" + " <IDTIPOLOCAL>1</IDTIPOLOCAL>" + " <NOME>Sala de Prova</NOME>" + " </SPSTipoLocal>" + "</EduPSTipoLocal>"; }