Project:
RM
Module:
Educacional
Description:
Subárea de conhecimento
Business Objects (DataServerName):
BibSubAreaConData
PrimaryKey:
CODAREA;CODGRUPO
Objetos
Nome do Objeto:
LSubAreaCon
FieldName
Description
Size
Required
Type
DefaultValue
CODAREA
Código área
-1
true
System.Int32
CODGRUPO
Código da subárea
30
true
System.String
DESCGRUPO
Descrição
255
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("BibSubAreaConData", 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("BibSubAreaConData", "1;1.00.00.00-3", 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 = @"<BibSubAreaCon> <LSubAreaCon> <CODAREA>1</CODAREA> <CODGRUPO>1.00.00.00-3</CODGRUPO> <DESCGRUPO>Ciências Exatas e da Terra</DESCGRUPO> </LSubAreaCon> </BibSubAreaCon>"; // 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("BibSubAreaConData", 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("BibSubAreaConData", context, usuario, senha, filtro) //Caso deseje utilizar as contraints do formulário //var parsedConstraints = parseConstraints(constraints, true); //var retorno = authService.readView("BibSubAreaConData", parsedConstraints.filter, parsedConstraints.context, senha, filtro); var xmlResultados = new XML(retorno); var dataset = DatasetBuilder.newDataset(); dataset.addColumn('CODAREA'); dataset.addColumn('CODGRUPO'); dataset.addColumn('DESCGRUPO'); for(var i = 0; i < xmlResultados.LSubAreaCon.length(); i++) { dataset.addRow(new Array( xmlResultados.LSubAreaCon[i].CODAREA.toString(), xmlResultados.LSubAreaCon[i].CODGRUPO.toString(), xmlResultados.LSubAreaCon[i].DESCGRUPO.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 = "BibSubAreaConData"; var DATA_FIELDS = "CODAREA,CODGRUPO,DESCGRUPO"; var RESULT_FIELDS = "CODAREA,CODGRUPO,DESCGRUPO"; var TYPE = "BibSubAreaConData"; var TITLE = "Subárea de conhecimento"; abrirPesquisa(DATASET_ID, DATA_FIELDS, RESULT_FIELDS, TYPE, TITLE); } function setSelectedZoomItem(selectedItem){ if(selectedItem.type == "BibSubAreaConData"){ //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("BibSubAreaConData", context, usuario, senha, filtro) //Transforma em XML var xmlResultados = new XML(retorno); CODAREA,CODGRUPO,DESCGRUPO } }
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 = "BibSubAreaConData"; /* 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("CODAREA")) || isEmpty(hAPI.getCardValue("CODGRUPO"))) return var primaryKey = hAPI.getCardValue("CODAREA") + ";" + hAPI.getCardValue("CODGRUPO"); // 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, "CODAREA" , hAPI.getCardValue("CODAREA")); text = replaceValue(text, "CODGRUPO" , hAPI.getCardValue("CODGRUPO")); text = replaceValue(text, "DESCGRUPO" , hAPI.getCardValue("DESCGRUPO")); var result = new String(authService.saveRecord(NOME_DATASERVER, text, context)); // se retornou a chave, salvou ok... checkIsPK(result, 2); } catch (e) { if (e == null) e = "Erro desconhecido!"; var mensagemErro = "Ocorreu um erro ao salvar dados no RM: " + e; throw mensagemErro; } } function GetXml() { return "<BibSubAreaCon>" + " <LSubAreaCon>" + " <CODAREA>1</CODAREA>" + " <CODGRUPO>1.00.00.00-3</CODGRUPO>" + " <DESCGRUPO>Ciências Exatas e da Terra</DESCGRUPO>" + " </LSubAreaCon>" + "</BibSubAreaCon>"; }