Project:
RM
Module:
Fiscal
Description:
Municipio
Business Objects (DataServerName):
FisMunicipioData
PrimaryKey:
CODETDMUNICIPIO;CODMUNICIPIO
Objetos
Nome do Objeto:
GMUNICIPIO
FieldName
Description
Size
Required
Type
DefaultValue
CODETDMUNICIPIO
Estado
2
true
System.String
CODMUNICIPIO
Código
20
true
System.String
0
NOMEMUNICIPIO
Nome
32
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("FisMunicipioData", 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("FisMunicipioData", "AC;00013", 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 = @"<FisMunicipio > <GMUNICIPIO> <CODETDMUNICIPIO>AC</CODETDMUNICIPIO> <CODMUNICIPIO>00013</CODMUNICIPIO> <NOMEMUNICIPIO>Acrelândia</NOMEMUNICIPIO> </GMUNICIPIO> </FisMunicipio>"; // 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("FisMunicipioData", 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("FisMunicipioData", context, usuario, senha, filtro) //Caso deseje utilizar as contraints do formulário //var parsedConstraints = parseConstraints(constraints, true); //var retorno = authService.readView("FisMunicipioData", parsedConstraints.filter, parsedConstraints.context, senha, filtro); var xmlResultados = new XML(retorno); var dataset = DatasetBuilder.newDataset(); dataset.addColumn('CODETDMUNICIPIO'); dataset.addColumn('CODMUNICIPIO'); dataset.addColumn('NOMEMUNICIPIO'); for(var i = 0; i < xmlResultados.GMUNICIPIO.length(); i++) { dataset.addRow(new Array( xmlResultados.GMUNICIPIO[i].CODETDMUNICIPIO.toString(), xmlResultados.GMUNICIPIO[i].CODMUNICIPIO.toString(), xmlResultados.GMUNICIPIO[i].NOMEMUNICIPIO.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 = "FisMunicipioData"; var DATA_FIELDS = "CODETDMUNICIPIO,CODMUNICIPIO,NOMEMUNICIPIO"; var RESULT_FIELDS = "CODETDMUNICIPIO,CODMUNICIPIO,NOMEMUNICIPIO"; var TYPE = "FisMunicipioData"; var TITLE = "Municipio"; abrirPesquisa(DATASET_ID, DATA_FIELDS, RESULT_FIELDS, TYPE, TITLE); } function setSelectedZoomItem(selectedItem){ if(selectedItem.type == "FisMunicipioData"){ //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("FisMunicipioData", context, usuario, senha, filtro) //Transforma em XML var xmlResultados = new XML(retorno); CODETDMUNICIPIO,CODMUNICIPIO,NOMEMUNICIPIO } }
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 = "FisMunicipioData"; /* 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("CODETDMUNICIPIO")) || isEmpty(hAPI.getCardValue("CODMUNICIPIO"))) return var primaryKey = hAPI.getCardValue("CODETDMUNICIPIO") + ";" + hAPI.getCardValue("CODMUNICIPIO"); // 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, "CODETDMUNICIPIO" , hAPI.getCardValue("CODETDMUNICIPIO")); text = replaceValue(text, "CODMUNICIPIO" , hAPI.getCardValue("CODMUNICIPIO")); text = replaceValue(text, "NOMEMUNICIPIO" , hAPI.getCardValue("NOMEMUNICIPIO")); 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 "<FisMunicipio >" + " <GMUNICIPIO>" + " <CODETDMUNICIPIO>AC</CODETDMUNICIPIO>" + " <CODMUNICIPIO>00013</CODMUNICIPIO>" + " <NOMEMUNICIPIO>Acrelândia</NOMEMUNICIPIO>" + " </GMUNICIPIO>" + "</FisMunicipio>"; }