Project:
RM
Module:
Biblioteca
Description:
Tipos de publicação
Business Objects (DataServerName):
BibTipoPublicData
PrimaryKey:
CODIGO
Objetos
Nome do Objeto:
LTipoPublic
FieldName
Description
Size
Required
Type
DefaultValue
CODIGO
Código
-1
true
System.Int32
DESCRICAO
Descrição
50
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("BibTipoPublicData", 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("BibTipoPublicData", "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 = @"<BibTipoPublic> <LTipoPublic> <CODIGO>1</CODIGO> <DESCRICAO>Livro</DESCRICAO> </LTipoPublic> </BibTipoPublic>"; // 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("BibTipoPublicData", 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("BibTipoPublicData", context, usuario, senha, filtro) //Caso deseje utilizar as contraints do formulário //var parsedConstraints = parseConstraints(constraints, true); //var retorno = authService.readView("BibTipoPublicData", parsedConstraints.filter, parsedConstraints.context, senha, filtro); var xmlResultados = new XML(retorno); var dataset = DatasetBuilder.newDataset(); dataset.addColumn('CODIGO'); dataset.addColumn('DESCRICAO'); for(var i = 0; i < xmlResultados.LTipoPublic.length(); i++) { dataset.addRow(new Array( xmlResultados.LTipoPublic[i].CODIGO.toString(), xmlResultados.LTipoPublic[i].DESCRICAO.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 = "BibTipoPublicData"; var DATA_FIELDS = "CODIGO,DESCRICAO"; var RESULT_FIELDS = "CODIGO,DESCRICAO"; var TYPE = "BibTipoPublicData"; var TITLE = "Tipos de publicação"; abrirPesquisa(DATASET_ID, DATA_FIELDS, RESULT_FIELDS, TYPE, TITLE); } function setSelectedZoomItem(selectedItem){ if(selectedItem.type == "BibTipoPublicData"){ //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("BibTipoPublicData", context, usuario, senha, filtro) //Transforma em XML var xmlResultados = new XML(retorno); CODIGO,DESCRICAO } }
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 = "BibTipoPublicData"; /* 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("CODIGO"))) return var primaryKey = hAPI.getCardValue("CODIGO"); // 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, "CODIGO" , hAPI.getCardValue("CODIGO")); text = replaceValue(text, "DESCRICAO" , hAPI.getCardValue("DESCRICAO")); 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 "<BibTipoPublic>" + " <LTipoPublic>" + " <CODIGO>1</CODIGO>" + " <DESCRICAO>Livro</DESCRICAO>" + " </LTipoPublic>" + "</BibTipoPublic>"; }