Integração TOTVS Microsiga Protheus e Fluig ECM

Tamanho: px
Começar a partir da página:

Download "Integração TOTVS Microsiga Protheus e Fluig ECM"

Transcrição

1 08/2013

2 Sumário Sumário Objetivo Integração manual Formulário ECM Protheus MVC Rotina Automática (Modelo 1) Processo Validação do formulário Script do evento no ECM Protheus WebService MVC Atualização do Protheus MVC Rotina Automática (Modelo 1)

3 1 Objetivo Integrar rotinas do MVC e automáticas da linha Microsiga Protheus com o Fluig ECM para criação processos permitindo ao cliente trabalhar com a rotina como uma solicitação com atribuição de responsáveis por atividade (baseada no dicionário de pastas), utilizando o workflow do Fluig ECM para controle de prazo de conslusão, acompanhamento notificação de responsável e requisitante, sendo as informações enviadas no final do processo para a linha de produtos Microsiga Protheus para persistência. 2 Integração manual 2.1 Formulário ECM 1. Criar um arquivo HTML com os campos com o mesmo nome utilizado no Protheus como o exemplo abaixo: <HTML> <HEAD> <TITLE>Exemplo - Cliente</TITLE> <LINK REL=STYLESHEET HREF="/webdesk203/wdk/global.css"> </HEAD> <BODY scroll=yes> <span class="numsecao"> <strong> Cadastro</strong></span> <HR> <br> <form> <table> <tr> <td align="right" width="150" class="labels"><b>código:</b></td> <td class="normal"><strong><input type="text" size="6" name="a1_cod"></strong></td> </tr> <tr> <td align="right" width="150" class="labels"><b>loja:</b></td> <td class="normal"><strong><input type="text" size="2" name="a1_loja"></strong></td> </tr> <tr> <td align="right" width="150" class="labels"><b>física/jurídica:</b></td> <td class="normal"><strong> <select name="a1_pessoa"> <option value="f">física</option> <option value="j">jurídica</option> </select> </strong></td> </tr> <tr> <td align="right" width="150" class="labels"><b>nome:</b></td> <td class="normal"><strong><input type="text" size="40" name="a1_nome"></strong></td> </tr> <tr> <td align="right" width="150" class="labels"><b>nome Fantasia:</b></td> <td class="normal"><strong><input type="text" size="20" name="a1_nreduz"></strong></td> </tr> <tr> <td align="right" width="150" class="labels"><b>endereço:</b></td> <td class="normal"><strong><input type="text" size="40" name="a1_end"></strong></td> </tr> 3

4 <tr> <td align="right" width="150" class="labels"><b>tipo:</b></td> <td class="normal"><strong> <select name="a1_tipo"> <option value="f">cons. Final</option> <option value="l">produtor Rural</option> <option value="r">revendedor</option> <option value="s">solidario</option> <option value="x">exportacao</option> </select> </strong></td> </tr> <tr> <td align="right" width="150" class="labels"><b>município:</b></td> <td class="normal"><strong><input type="text" size="60" name="a1_mun"></strong></td> </tr> <tr> <td align="right" width="150" class="labels"><b>estado:</b></td> <td class="normal"><strong><input type="text" size="2" name="a1_est"></strong></td> </tr> </table> </form> </BODY> </HTML> 2. Adicionar o arquivo.html como um Novo Fichário nos Documentos do ECM e verificar o Código que foi gerado que será utilizado para criar o Processo utilizará esse fichário Protheus 1. Configurar a integração para GED entre o Protheus e o ECM no Configurador na opção Ambiente > Totvs ECM > Wizard do GED 2. Utilizar a função FWECMPutCard para enviar o formulário para o ECM conforme o exemplo abaixo (o fichário sera criado na pasta ERP_MP \ <empresas> \ MP_CARDS no ECM): #include "totvs.ch" User Function FormCliente() Local cprocessid := "CLIENTE" // se informado atualiza o formulário relacionado ao processo senão cria um novo Local cdescription := "Formulário do cadastro de cliente" Local ccarddescription := "" Local ahtml := Array(1,2) // arquivos do formulario Local aevents := Array(1,2) // eventos que serão customizados para o formulario Local nformid Local aerror ahtml[1][1] := "cliente.html" // nome do arquivo ahtml[1][2] := '<HTML>'+; // conteúdo do arquivo '<HEAD>'+; ' <TITLE>Exemplo - Cliente</TITLE>'+; ' <LINK REL=STYLESHEET HREF="/webdesk203/wdk/global.css">'+; '</HEAD>'+; '<BODY scroll=yes>'+; '<span class="numsecao">'+; '<strong> Cadastro</strong></span>'+; '<HR>'+; '<br>'+; '<form>'+; '<table>'+; ' <tr> '+; ' <td align="right" width="150" class="labels"><b>código:</b></td>'+; ' <td class="normal"><strong><input type="text" size="6" name="a1_cod"></strong></td>'+; ' </tr>'+; ' <tr> '+; 4

5 ' <td align="right" width="150" class="labels"><b>loja:</b></td>'+; ' <td class="normal"><strong><input type="text" size="2" name="a1_loja"></strong></td>'+; ' </tr>'+; ' <tr> '+; ' <td align="right" width="150" class="labels"><b>física/jurídica:</b></td>'+; ' <td class="normal"><strong>'+; ' <select name="a1_pessoa">'+; ' <option value="f">física</option>'+; ' <option value="j">jurídica</option>'+; ' </select>'+; ' </strong></td>'+; ' </tr>'+; ' <tr> '+; ' <td align="right" width="150" class="labels"><b>nome:</b></td>'+; ' <td class="normal"><strong><input type="text" size="40" name="a1_nome"></strong></td>'+; ' </tr>'+; ' <tr> '+; ' <td align="right" width="150" class="labels"><b>nome Fantasia:</b></td>'+; ' <td class="normal"><strong><input type="text" size="20" name="a1_nreduz"></strong></td>'+; ' </tr>'+; ' <tr> '+; ' <td align="right" width="150" class="labels"><b>endereço:</b></td>'+; ' <td class="normal"><strong><input type="text" size="40" name="a1_end"></strong></td>'+; ' </tr>'+; ' <tr> '+; ' <td align="right" width="150" class="labels"><b>tipo:</b></td>'+; ' <td class="normal"><strong>'+; ' <select name="a1_tipo">'+; ' <option value="f">cons. Final</option>'+; ' <option value="l">produtor Rural</option>'+; ' <option value="r">revendedor</option>'+; ' <option value="s">solidario</option>'+; ' <option value="x">exportacao</option>'+; ' </select>'+; ' </strong></td>'+; ' </tr>'+; ' <tr> '+; ' <td align="right" width="150" class="labels"><b>município:</b></td>'+; ' <td class="normal"><strong><input type="text" size="60" name="a1_mun"></strong></td>'+; ' </tr>'+; ' <tr> '+; ' <td align="right" width="150" class="labels"><b>estado:</b></td>'+; ' <td class="normal"><strong><input type="text" size="2" name="a1_est"></strong></td>'+; ' </tr>'+; ' </table>'+; '</form>'+; '</BODY>'+; '</HTML>' aevents[1][1] := "setenable" // nome do evento aevents[1][2] := 'function setenable() {'+; // script na linguagem JavaScript 'log.info("teste de chamada de função");'+; '' nformid := FWECMPutCard(cProcessId,cDescription,cCardDescription,aHTML,aEvents) // retorna o codigo do fichário no ECM If FWWFIsError() aerror := FWWFGetError() MsgStop(aError[2]) Else MsgInfo("Fichário atualizado com sucesso") Return MVC 1. Configurar a integração para GED entre o Protheus e o ECM no Configurador na opção Ambiente > Totvs ECM > Wizard do GED 5

6 2. Utilizar o método GetXMLLayout do View para gerar o HTML. Somente os componentes Fields e Grid serão convertidos para HTML #include "totvs.ch" User Function FormView() Local oview := FWLoadView("MATA030_MVC") Local cprocessid := "CLIENTE" // se informado atualiza o formulário relacionado ao processo senão cria um novo Local cdescription := "Formulário do cadastro de cliente" Local ccarddescription := "" Local aevents := Array(1,2) // eventos que serão customizados para o formulario Local nformid Local aerror Local afiles Local lhtm :=.T. Local lembedded :=.F. Local ldoctype :=.T. oview:setoperation(3) afiles := oview:getxmllayout(lhtm,lembedded,ldoctype) aevents[1][1] := "setenable" // nome do evento aevents[1][2] := 'function setenable() {'+; // script na linguagem JavaScript 'log.info("teste de chamada de função");'+; '' nformid := FWECMPutCard(cProcessId,cDescription,cCardDescription,aFiles,aEvents) // retorna o codigo do fichário no ECM If FWWFIsError() aerror := FWWFGetError() MsgStop(aError[2]) Else MsgInfo("Fichário atualizado com sucesso") Return Rotina Automática (Modelo 1) Para rotinas automáticas do tipo Modelo 1 (CRUD) que usam somente campos do Dicionário de Dados pode-se utilizar o exemplo abaixo para criar o formulário: #include "totvs.ch" User Function FormTable() Local ctable := "SA1" Local cprocessid := "MATA030" Local cdescription := "Cliente (rotina automatica)" Local oview Local aevents := Array(1,2) // eventos que serão customizados para o formulario Local nformid Local aerror Local afiles Local lhtm :=.T. Local lembedded :=.F. Local ldoctype :=.T. FwAliasMVC(cTable,cProcessId,cDescription) oview := FwLoadView("PROTHEUSMVC") oview:setoperation(3) afiles := oview:getxmllayout(lhtm,lembedded,ldoctype) aevents[1][1] := "setenable" // nome do evento aevents[1][2] := 'function setenable() {'+; // script na linguagem JavaScript 'log.info("teste de chamada de função");'+; 6

7 '' nformid := FWECMPutCard(cProcessId,cDescription,cCardDescription,aFiles,aEvents) // retorna o codigo do fichário no ECM If FWWFIsError() aerror := FWWFGetError() MsgStop(aError[2]) Else MsgInfo("Fichário atualizado com sucesso") Return 2.2 Processo WF 1. Configurar a integração para workflow entre o Protheus e o ECM no Configurador na opção Ambiente > Totvs ECM > Wizard do 2. Utilizar a função FWECMProcess para criar e/ou atualizar o processo no ECM conforme o exemplo abaixo: #include "totvs.ch" User Function ProcCliente() Local cprocessid := "CLIENTE" Local cdescription := "Cadastro de cliente" Local cinstruction := "Instruções de uso do processo" Local nformid := 22 // id do fichário adicionado no ECM no passo anterior Local astates := Array(4,6) // atividades do processo em sequencia para criação automática dos fluxos Local aevents := Array(1,2) // eventos que serão customizados para o processo Local aproperties := Array(1,2) // propriedades que serão utilizadas nos scripts dos eventos do processo Local aerror astates[1][1] := "Início" // atividade astates[1][2] := "" // descrição astates[1][3] := "" // instruções astates[1][4] := 60 //prazo de conclusão em segundos astates[1][5] := 0 // mecanismo de atribuição (zero para nenhum, 1 para grupo ou 2 para usuário) astates[1][6] := "" // código do grupo ou usuário no ECM caso o mecanismo de atribuição seja diferente de zero astates[2][1] := "Revisão" // atividade astates[2][2] := "Revisão do cadastro do cliente" // descrição astates[2][3] := "Revise as informações do cadastro" // instruções astates[2][4] := 60 //prazo de conclusão em segundos astates[2][5] := 0 // mecanismo de atribuição (zero para nenhum, 1 para grupo ou 2 para usuário) astates[2][6] := "" // código do grupo ou usuário no ECM caso o mecanismo de atribuição seja diferente de zero astates[3][1] := "Fim" // atividade astates[3][2] := "Confirmar cadastro" // descrição astates[3][3] := "" // instruções astates[3][4] := 60 //prazo de conclusão em segundos astates[3][5] := 0 // mecanismo de atribuição (zero para nenhum, 1 para grupo ou 2 para usuário) astates[3][6] := "" // código do grupo ou usuário no ECM caso o mecanismo de atribuição seja diferente de zero aevents[1][1] := "beforetasksave" // script na linguagem JavaScript aevents[1][2] := 'function beforetasksave(colleagueid,nextsequenceid,userlist){'+; 'var A1_COD = hapi.getcardvalue("a1_cod");'+; 'if (A1_COD == ""){'+; ' throw "O campo Código é obrigatório"'+; ''+; '' aproperties[1][1] := "TABLE" // nome da propriedade aproperties[1][2] := "SA1" // valor 7

8 FWECMProcess(cProcessId, cdescription, cinstruction, nformid, astates, aevents, aproperties) If FWWFIsError() aerror := FWWFGetError() MsgStop(aError[2]) Else MsgInfo("Processo atualizado com sucesso") Return 2.3 Validação do formulário A validação do formulário dos processos no ECM é realizada através da customização dos eventos dos fichários e processos utilizando scripts na linguagem JavaScript. Os eventos podem ser implementados no próprio ECM ou enviados pelo Protheus como parâmetro das funções utilizadas nos exemplos anteriores. Para validar os campos informados pelo usuário utilizar o evento beforetasksave do processo que é executado em cada confirmação de tarefa para enviar para a próxima etapa do workflow. Para acessar o valor de um campo do formulário utilizar a API do workflow hapi. getcardvalue(<nomecampo>) e para o tratamento de exeções utilizar o comando throw <mensagem> que apresentará a mensagem para o usuário impendindo que prossiga enquanto não corrigir as informações digitadas Script do evento no ECM Validações simples podem ser realizadas no script do evento para evitar a comunicação desnecessário ao Protheus retornando imediatamente uma mensagem ao usuário. function beforetasksave(colleagueid,nextsequenceid,userlist){ var A1_COD = hapi.getcardvalue("a1_cod"); if (A1_COD == ""){ throw "O campo Código é obrigatório" Protheus A validação nos scripts dos eventos utilizando aplicações externas é realizada atraves de WebServices que devem ser cadastradas como serviço no ECM na opção Painel de Controle > Serviços > Adicionar. Quando qualquer definição do WebService for alterada ou incluída será necessário atualizar o ECM na opção Painel de Controle > Serviços > Editar > Atualizar. O WebService pode ser cadastrado através do Painel de Controle do ECM ou pelo Protheus utilizando a função FWWFPutService como no exemplo abaixo. #include "totvs.ch" User Function WSCliente() Local cname := "WSCLIENTE" Local curl := " Local cdescription := "Serviço para validação e atualização do cadastro de cliente" If FWWFPutService(cName,cUrl,cDescription) MsgInfo("Serviço cadastrado com sucesso") Return 8

9 2.3.3 WebService Exemplo de WebService do Protheus: #include "totvs.ch" #include "apwebsrv.ch" WSSERVICE WSCLIENTE DESCRIPTION "Exemplo cadastro de cliente" WSDATA A1_COD AS STRING WSDATA A1_LOJA AS STRING WSDATA XML AS Base64Binary WSDATA RETEXISTCOD AS BOOLEAN WSDATA RETINCLUIR AS BOOLEAN WSMETHOD ExistCod DESCRIPTION "Verifica se codigo do cliente ja existe" WSMETHOD Incluir DESCRIPTION "Inclui cliente" ENDWSSERVICE WSMETHOD ExistCod WSRECEIVE A1_COD,A1_LOJA WSSEND RETEXISTCOD WSSERVICE WSCLIENTE Private INCLUI :=.T. ::RETEXISTCOD := existchav("sa1",::a1_cod+::a1_loja) Return.T. WSMETHOD Incluir WSRECEIVE XML WSSEND RETINCLUIR WSSERVICE WSCLIENTE Local oxml := txmlmanager():new() Local lret :=.T. Local adadoscli := { If oxml:parse(::xml) aadd( adadoscli, { "A1_COD", oxml:xpathgetnodevalue("/sa1/a1_cod"), NIL ) aadd( adadoscli, { "A1_LOJA", oxml:xpathgetnodevalue("/sa1/a1_loja"), NIL ) aadd( adadoscli, { "A1_TIPO", oxml:xpathgetnodevalue("/sa1/a1_tipo"), NIL ) aadd( adadoscli, { "A1_PESSOA", oxml:xpathgetnodevalue("/sa1/a1_pessoa"), NIL ) aadd( adadoscli, { "A1_NOME", oxml:xpathgetnodevalue("/sa1/a1_nome"), NIL ) aadd( adadoscli, { "A1_NREDUZ", oxml:xpathgetnodevalue("/sa1/a1_nreduz"), NIL ) aadd( adadoscli, { "A1_END", oxml:xpathgetnodevalue("/sa1/a1_end"), NIL ) aadd( adadoscli, { "A1_MUN", oxml:xpathgetnodevalue("/sa1/a1_mun"), NIL ) aadd( adadoscli, { "A1_EST", oxml:xpathgetnodevalue("/sa1/a1_est"), NIL ) lmserroauto :=.F. MSExecAuto( { x, y MATA030( x, y ), adadoscli, 3 ) If lmserroauto If lsx8 RollBackSX8() ::RETINCLUIR :=.F. Else If lsx8 ConFirmSX8() ::RETINCLUIR :=.T. Else SetSoapFault("WSCLIENTE:INCLUIR",oXML:LastError()) lret :=.F. Return lret 9

10 Validação no script do evento beforetasksave: 1. Invocar a carga do serviço com o método ServiceManager.getService 2. Utilizar o método getbean para retornar o utilitário para acesso as classes do serviço através do método instantiate enviando como parâmetro a classe Locator que esta descrita no ECM em Painel de Controle > Serviços, selecionar o serviço e clicar em Visualizar 3. Invocar o método para instanciar o serviço (no exemplo getwsclientesoap) que também esta descrito na opção Painel de Controle > Serviços > Visualizar 4. Invocar o método do serviço (no exemplo ExistCod) function beforetasksave(colleagueid,nextsequenceid,userlist){ var A1_COD = hapi.getcardvalue("a1_cod"); if (A1_COD == ""){ throw "O campo Código é obrigatório" var wsservice = ServiceManager.getService("WSCLIENTE"); var servicehelper = wsservice.getbean(); var servicelocator = servicehelper.instantiate("localhost.wsclientelocator"); var service = servicelocator.getwsclientesoap(); var ret = false; try { ret = service.existcod(a1_cod); catch(erro){ throw erro.message if (!ret) { throw "Cliente já existe"; MVC A validação do processo de uma rotina MVC é realizada utilizando o WebService FWWSMODEL ( com a invocação do método GETXMLDATADETAIL que retorna o XML do model para popular os dados e do método VLDXMLDATA que validará o XML. #include "totvs.ch" User Function WSMVC() Local cname := "TOTVS_FWMVC" Local curl := " " Local cdescription := "Serviço do TOTVS MVC para integração de rotinas/programas com ECM" Local aservice := FWWFGetService(cName) If Empty(aService).and. FWWFPutService(cName,cUrl,cDescription) MsgInfo("Serviço cadastrado com sucesso") Return Validação no script do evento beforetasksave: function beforetasksave(colleagueid,nextsequenceid,userlist){ var wsservice = ServiceManager.getService("TOTVS_FWMVC"); var servicehelper = wsservice.getbean(); 10

11 var servicelocator = servicehelper.instantiate("br.com.totvs.webservices.fwwsmodel_apw.fwwsmodellocator"); var service = servicelocator.getfwwsmodelsoap(); var err = {message:"", empty:true; var ret, xml; try { ret = service.getxmldatadetail([],"mata030_mvc"); xml = new XML(new String(new java.lang.string(ret)).replace(/<\?.*\?>/g,"")); catch(erro){ throw erro.message; return; updatexmlfields(xml,err); if (err.message.length > 0){ throw err.message; else if (err.empty){ throw "Preencha o formulário"; else{ eval("xml.@operation = 3"); try{ service.vldxmldata([],"mata030_mvc",new java.lang.string(xml.toxmlstring()).getbytes()); catch(e){ throw e.message; function updatexmlfields(node,err){ var list = node.children(); var name,value; for (var i=0;i<list.length();i++){ switch (Trim(eval("list[i].@modeltype.toString()"))){ case "FIELDS": updatexmlfields(list[i],err); default: name = list[i].name().localname; value = hapi.getcardvalue(name); if (value!= null) list[i].value = convertvalue(name,list[i],value,err); if (err.message.length > 0) function convertvalue(name,struct,value,err){ var y,m,d,n,len,str,reg var setyear = new Date().getFullYear().toString().substring(0,2); var setdate = "dd/mm/yyyy"; var ycount = setdate.match(/yyyy/)? 4 : 2; var haserr = false; 11

12 value = value.trim(); switch (eval("struct.@datatype.tostring()")){ case "D": if (value.replace("/","").trim()!= ""){ len = value.length(); d = setdate.indexof("d"); m = setdate.indexof("m"); y = setdate.indexof("y"); if (d + 2 > len m + 2 > len y + ycount > len){ else{ str = value.substr(m,2) + value.substr(d,2); if (ycount == 4) str = value.substr(y,4) + str; else str = setyear + value.substr(y,2) + str; if (str.match(/((((19 20)(([02468][048]) ([13579][26]))0229)) ((19 20)[0-9][0-9])((((0[1-9]) (1[0-2]))((0[1-9]) (1\d) (2[0-8]))) ((((0[13578]) (1[02]))31) (((0[1,3-9]) (1[0-2]))(29 30)))))/g)) value = new java.lang.string(str); else if (haserr) err.message = "O campo "+eval("struct.@info")+" ("+name+") contém uma data inválida"; else case "N": len = eval("struct.@len.tostring().split(',')"); if (len[1] == "0"){ reg = new RegExp("^[0-9]{1,"+len[0]+"$"); str = value.replace(",",""); str = value.replace(".",""); err.message = "O campo "+eval("struct.@info")+" ("+name+") contém um número (valor ou tamanho) inválido" if (!haserr){ n = parseint(str); if (!isnan(n)){ value = new java.lang.string(str); if (n > 0) else{ reg = new RegExp("^0$ ^0\.[0-9]{1,"+len[1]+"$ ^[0-9]{0,"+len[0]+"(\.[0-9]{1,"+len[1]+")?$"); str = value.replace(".","").replace(",","."); 12

13 str = value.replace(",",""); err.message = "O campo "+eval("struct.@info")+" ("+name+") contém um número (valor ou tamanho) inválido" if (!haserr){ n = parsefloat(str); if (!isnan(n)){ value = new java.lang.string(str); if (n > 0) default: if (value!= "") return value; function Trim(str){return str.replace(/^\s+ \s+$/g,""); 2.4 Atualização do Protheus A atualização dos dados no Protheus também é realizada atraves de WebServices como visto na validação utilizando o evento do processo afterprocessfinish que é executado na finalização da solicitação. function afterprocessfinish(processid){ var wsservice = ServiceManager.getService("WSCLIENTE"); var servicehelper = wsservice.getbean(); var servicelocator = servicehelper.instantiate("localhost.wsclientelocator"); var service = servicelocator.getwsclientesoap(); var SA1 = new XML("<SA1/>"); SA1.A1_COD = hapi.getcardvalue("a1_cod"); SA1.A1_LOJA = hapi.getcardvalue("a1_loja"); SA1.A1_TIPO = hapi.getcardvalue("a1_tipo"); SA1.A1_PESSOA = hapi.getcardvalue("a1_pessoa"); SA1.A1_NOME = hapi.getcardvalue("a1_nome"); SA1.A1_NREDUZ = hapi.getcardvalue("a1_nreduz"); SA1.A1_END = hapi.getcardvalue("a1_end"); SA1.A1_MUN = hapi.getcardvalue("a1_mun"); SA1.A1_EST = hapi.getcardvalue("a1_est"); try { ret = service.incluir(new java.lang.string(sa1.toxmlstring()).getbytes()); catch(erro){ throw erro.message 13

14 2.4.1 MVC A validação do processo de uma rotina MVC é também é realizada utilizando o WebService FWWSMODEL ( com a invocação do método GETXMLDATADETAIL que retorna o XML do model para popular os dados e do método PUTXMLDATA que gravar o XML. function afterprocessfinish(processid){ var wsservice = ServiceManager.getService("TOTVS_FWMVC"); var servicehelper = wsservice.getbean(); var servicelocator = servicehelper.instantiate("br.com.totvs.webservices.fwwsmodel_apw.fwwsmodellocator"); var service = servicelocator.getfwwsmodelsoap(); var err = {message:"", empty:true; var ret, xml; try { ret = service.getxmldatadetail([],"mata030_mvc"); xml = new XML(new String(new java.lang.string(ret)).replace(/<\?.*\?>/g,"")); catch(erro){ throw erro.message; return; updatexmlfields(xml,err); eval("xml.@operation = 3"); try{ service.putxmldata([],"mata030_mvc",new java.lang.string(xml.toxmlstring()).getbytes()); catch(e){ throw e.message; function updatexmlfields(node,err){ var list = node.children(); var name,value; for (var i=0;i<list.length();i++){ switch (Trim(eval("list[i].@modeltype.toString()"))){ case "FIELDS": updatexmlfields(list[i],err); default: name = list[i].name().localname; value = hapi.getcardvalue(name); if (value!= null) list[i].value = convertvalue(name,list[i],value,err); if (err.message.length > 0) function convertvalue(name,struct,value,err){ var y,m,d,n,len,str,reg var setyear = new Date().getFullYear().toString().substring(0,2); 14

15 var setdate = "dd/mm/yyyy"; var ycount = setdate.match(/yyyy/)? 4 : 2; var haserr = false; value = value.trim(); switch (eval("struct.@datatype.tostring()")){ case "D": if (value.replace("/","").trim()!= ""){ len = value.length(); d = setdate.indexof("d"); m = setdate.indexof("m"); y = setdate.indexof("y"); if (d + 2 > len m + 2 > len y + ycount > len){ else{ str = value.substr(m,2) + value.substr(d,2); if (ycount == 4) str = value.substr(y,4) + str; else str = setyear + value.substr(y,2) + str; if (str.match(/((((19 20)(([02468][048]) ([13579][26]))0229)) ((19 20)[0-9][0-9])((((0[1-9]) (1[0-2]))((0[1-9]) (1\d) (2[0-8]))) ((((0[13578]) (1[02]))31) (((0[1,3-9]) (1[0-2]))(29 30)))))/g)) value = new java.lang.string(str); else if (haserr) err.message = "O campo "+eval("struct.@info")+" ("+name+") contém uma data inválida"; else case "N": len = eval("struct.@len.tostring().split(',')"); if (len[1] == "0"){ reg = new RegExp("^[0-9]{1,"+len[0]+"$"); str = value.replace(",",""); str = value.replace(".",""); err.message = "O campo "+eval("struct.@info")+" ("+name+") contém um número (valor ou tamanho) inválido" if (!haserr){ n = parseint(str); if (!isnan(n)){ value = new java.lang.string(str); if (n > 0) 15

16 else{ reg = new RegExp("^0$ ^0\.[0-9]{1,"+len[1]+"$ ^[0-9]{0,"+len[0]+"(\.[0-9]{1,"+len[1]+")?$"); str = value.replace(".","").replace(",","."); str = value.replace(",",""); err.message = "O campo "+eval("struct.@info")+" ("+name+") contém um número (valor ou tamanho) inválido" if (!haserr){ n = parsefloat(str); if (!isnan(n)){ value = new java.lang.string(str); if (n > 0) default: if (value!= "") return value; function Trim(str){return str.replace(/^\s+ \s+$/g,""); Rotina Automática (Modelo 1) Como as rotinas automáticas após validarem executam a atualização ao invés de utilizar o evento afterprocessfinish utilizar o evento beforetasksave quando o processo estiver na atividade fim. Além do WebService do MVC utilizar também o FWWSMODEL ( com a invocação do método PUTDATA. #include "totvs.ch" User Function WSMVC() Local cname := "TOTVS_FWWSECM" Local curl := " Local cdescription := "Serviço do TOTVS Microsiga Protheus para integração de rotinas automáticas com ECM" Local aservice := FWWFGetService(cName) If Empty(aService).and. FWWFPutService(cName,cUrl,cDescription) MsgInfo("Serviço cadastrado com sucesso") Return Evento beforetasksave: function beforetasksave(colleagueid,nextsequenceid,userlist){ var wsservice = ServiceManager.getService("TOTVS_FWMVC"); var servicehelper = wsservice.getbean(); var servicelocator = servicehelper.instantiate("br.com.totvs.webservices.fwwsmodel_apw.fwwsmodellocator"); var service = servicelocator.getfwwsmodelsoap(); var err = {message:"", empty:true; 16

17 var ret, xml; try { ret = service.getxmldatadetail([],"mata030_mvc"); xml = new XML(new String(new java.lang.string(ret)).replace(/<\?.*\?>/g,"")); catch(erro){ throw erro.message; return; updatexmlfields(xml,err); if (err.message.length > 0){ throw err.message; else if (err.empty){ throw "Preencha o formulário"; else{ wsservice = ServiceManager.getService("TOTVS_FWWSECM"); servicehelper = wsservice.getbean(); servicelocator = servicehelper.instantiate("br.com.totvs.webservices.fwwsecm_apw.fwwsecmlocator"); service = servicelocator.getfwwsmodelsoap(); eval("xml.@operation = 3"); try{ service.putdata([],"sa1","mata030",new java.lang.string(xml.toxmlstring()).getbytes());; catch(e){ throw e.message; function updatexmlfields(node,err){ var list = node.children(); var name,value; for (var i=0;i<list.length();i++){ switch (Trim(eval("list[i].@modeltype.toString()"))){ case "FIELDS": updatexmlfields(list[i],err); default: name = list[i].name().localname; value = hapi.getcardvalue(name); if (value!= null) list[i].value = convertvalue(name,list[i],value,err); if (err.message.length > 0) function convertvalue(name,struct,value,err){ var y,m,d,n,len,str,reg var setyear = new Date().getFullYear().toString().substring(0,2); var setdate = "dd/mm/yyyy"; var ycount = setdate.match(/yyyy/)? 4 : 2; 17

18 var haserr = false; value = value.trim(); switch (eval("struct.@datatype.tostring()")){ case "D": if (value.replace("/","").trim()!= ""){ len = value.length(); d = setdate.indexof("d"); m = setdate.indexof("m"); y = setdate.indexof("y"); if (d + 2 > len m + 2 > len y + ycount > len){ else{ str = value.substr(m,2) + value.substr(d,2); if (ycount == 4) str = value.substr(y,4) + str; else str = setyear + value.substr(y,2) + str; if (str.match(/((((19 20)(([02468][048]) ([13579][26]))0229)) ((19 20)[0-9][0-9])((((0[1-9]) (1[0-2]))((0[1-9]) (1\d) (2[0-8]))) ((((0[13578]) (1[02]))31) (((0[1,3-9]) (1[0-2]))(29 30)))))/g)) value = new java.lang.string(str); else if (haserr) err.message = "O campo "+eval("struct.@info")+" ("+name+") contém uma data inválida"; else case "N": len = eval("struct.@len.tostring().split(',')"); if (len[1] == "0"){ reg = new RegExp("^[0-9]{1,"+len[0]+"$"); str = value.replace(",",""); str = value.replace(".",""); err.message = "O campo "+eval("struct.@info")+" ("+name+") contém um número (valor ou tamanho) inválido" if (!haserr){ n = parseint(str); if (!isnan(n)){ value = new java.lang.string(str); if (n > 0) else{ reg = new RegExp("^0$ ^0\.[0-9]{1,"+len[1]+"$ ^[0-9]{0,"+len[0]+"(\.[0-9]{1,"+len[1]+")?$"); 18

19 str = value.replace(".","").replace(",","."); str = value.replace(",",""); err.message = "O campo "+eval("struct.@info")+" ("+name+") contém um número (valor ou tamanho) inválido" if (!haserr){ n = parsefloat(str); if (!isnan(n)){ value = new java.lang.string(str); if (n > 0) default: if (value!= "") return value; function Trim(str){return str.replace(/^\s+ \s+$/g,""); 19

Material de Apoio Configuração Auditoria Pós

Material de Apoio Configuração Auditoria Pós Material de Apoio Configuração Auditoria Pós Julho - 2014 Índice 1. Introdução... 3 2. Ambiente... 3 3. Serviço... 4 4. Dataset... 6 5. Formulário... 6 6. Processo... 12 6.1 Importação de Processos...

Leia mais

Capítulo 4. Programação em ASP

Capítulo 4. Programação em ASP Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro

Leia mais

HAT Programação Auditoria Pós. 12.1.x. abril de 2015. Versão: 2.0

HAT Programação Auditoria Pós. 12.1.x. abril de 2015. Versão: 2.0 HAT Programação Auditoria Pós 12.1.x abril de 2015 Versão: 2.0 1 Sumário 1 Introdução... 3 2 Visão do Processo... 3 3 Serviço... 5 4 Dataset... 7 5 Formulário Principal AuditoriaPos... 9 6 Arquitetura

Leia mais

Basicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes: Vamos armazenar os seguintes dados:

Basicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes: Vamos armazenar os seguintes dados: Livro de Visitas Basicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes: Vamos armazenar os seguintes dados: ID nome email mensagem data O código

Leia mais

JavaScript: Validação de Formulários. Prof. Ivanilton Polato ipolato@utfpr.edu.br ipolato@gmail.com

JavaScript: Validação de Formulários. Prof. Ivanilton Polato ipolato@utfpr.edu.br ipolato@gmail.com JavaScript: Validação de Formulários Prof. Ivanilton Polato ipolato@utfpr.edu.br ipolato@gmail.com Validação de Formulários Um dos usos mais frequentes do JS é a validação de formulários. Além de garantir

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique. Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças

Leia mais

PROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda

PROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda PROGRAMAÇÃO PARA INTERNET Introdução à AJAX Fonte: Raul Paradeda INTRODUÇÃO Para entender o que é o AJAX é necessário ter o prévio conhecimento de: HTML / XHTML; Javascript; CSS; XML. INTRODUÇÃO Ao pesquisar

Leia mais

Prof Evandro Manara Miletto. parte 2

Prof Evandro Manara Miletto. parte 2 Prof Evandro Manara Miletto parte 2 Sumário Estruturas de Controle Eventos Estruturas de controle características Estruturas de controle (ou condicionais) são executadas caso um teste seja atendido Permite

Leia mais

Boletim Técnico. Criação de formulário dinâmico para o módulo WEB. Produto : TOTVS Web, 11.8.0.0

Boletim Técnico. Criação de formulário dinâmico para o módulo WEB. Produto : TOTVS Web, 11.8.0.0 de formulário dinâmico para o módulo WEB Produto : TOTVS Web, 11.8.0.0 Chamado : P118SSTWEB\REQ168 Data da publicação : 17/10/12 País(es) : Brasil Banco(s) de Dados : Oracle Esta melhoria depende de execução

Leia mais

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.). HTML / JAVASCRIPT Estamos iniciando o estudo do HTML através das TAGS (comandos) para construir formulários. Isso facilitará a continuidade dos nossos estudos da linguagem de programação JavaScript, a

Leia mais

Tecnologias para apresentação de dados - Java Script. Aécio Costa

Tecnologias para apresentação de dados - Java Script. Aécio Costa Tecnologias para apresentação de dados - Java Script Aécio Costa Foi originalmente implementada como parte dos navegadores web para que scripts pudessem ser executados do lado do cliente e interagissem

Leia mais

Auditoria Pós - Programação

Auditoria Pós - Programação Auditoria Pós - Programação Julho - 2014 Índice 1. Introdução... 3 2. Visão do Processo... 3 3. Serviço... 4 4. Dataset... 6 5. Formulário Principal AuditoriaPos... 8 6. Arquitetura do Formulário HTML

Leia mais

Gestão inteligente de documentos eletrônicos

Gestão inteligente de documentos eletrônicos Gestão inteligente de documentos eletrônicos MANUAL DE UTILIZAÇÃO VISÃO DE EMPRESAS VISÃO EMPRESAS - USUÁRIOS (OVERVIEW) No ELDOC, o perfil de EMPRESA refere-se aos usuários com papel operacional. São

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

MANUAL AGENDADOR DE TAREFAS LOGIX

MANUAL AGENDADOR DE TAREFAS LOGIX Outubro 2011 rev. 01 MANUAL AGENDADOR DE TAREFAS LOGIX Elaboração: Rubens Dos Santos Filho Framework rubens.santos@totvs.com.br Objetivo Este documento tem como objetivo relatar a funcionalidade de agendamento

Leia mais

Target. Manual de Integração SOAP. versão 1.0 / 2007. www.virtualtarget.com.br

Target. Manual de Integração SOAP. versão 1.0 / 2007. www.virtualtarget.com.br Manual de Integração SOAP versão 1.0 / 2007 www.virtualtarget.com.br introdução Este manual é destinado àqueles que possuem conhecimentos sólidos em linguagem de programação para integração SOAP (Simple

Leia mais

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Procuraremos mostrar os principais procedimentos para fazer um cadastro de registros numa base de dados MySQL utilizando a linguagem

Leia mais

Criação de Empresas Modelo Gestão de Empresas. Raphael Merchan DGR/SP Outubro/2010

Criação de Empresas Modelo Gestão de Empresas. Raphael Merchan DGR/SP Outubro/2010 Criação de Empresas Modelo Gestão de Empresas Raphael Merchan DGR/SP Outubro/2010 1 Criação de Empresas Modelo Gestão de Empresas ÍNDICE I) Definição II) Criação de Empresas III) Wizard de Configuração

Leia mais

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. 16/08/2013 BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. Versão 1.0 19/12/2014 Visão Resumida Data Criação 19/12/2014 Versão Documento 1.0 Projeto

Leia mais

Cadastro Avaliação 2013 Manual de Instruções

Cadastro Avaliação 2013 Manual de Instruções Cadastro Avaliação 2013 Manual de Instruções Manual de instruções Cadastro Avaliação 2013 Caro Usuário, Este manual contém todas as instruções necessárias para preenchimento dos dados de sua escola e alunos.

Leia mais

SIGECORS. Sistema de Gerenciamento de Resíduos Sólidos Industriais

SIGECORS. Sistema de Gerenciamento de Resíduos Sólidos Industriais SIGECORS Sistema de Gerenciamento de Resíduos Sólidos Industriais Outubro 2008 Índice 1. Registrando Usuários 2. Acesso ao Sistema 3. Logar no Sistema 4. Esquecimento de Senha 5. Alteração de Senha 6.

Leia mais

Integração Backoffice HCM x ECM

Integração Backoffice HCM x ECM Integração Backoffice HCM x ECM Fevereiro/2015 Sumário 1. Integração HCM x ECM... 3 2. Pré-Requisitos da Integração dos Produtos... 4 3. Parametrização da Integração no Produto, Origem... 7 4. Parametrização

Leia mais

Integração SmartClientHTML x WorkSite

Integração SmartClientHTML x WorkSite Maio/2015 Título do documento Sumário 1. Integração... 3 2. Mecanismo... 3 3. Campos dos anexos WorkSite... 4 4. Instalação / Atualização... 5 5. Controle de Versão... 5 6. Suporte... 5 7. Transações/Entidades/Mensagens

Leia mais

Conteúdo. Especificação HTTP v1.1

Conteúdo. Especificação HTTP v1.1 Conteúdo Introdução... 2 Início e comandos básicos... 2 Exemplo método GET... 3 Exemplo método POST... 3 Códigos de retorno... 4 Exemplo para envio em Cold Fusion... 4 Exemplo para envio em PHP... 5 Exemplo

Leia mais

Manual de Utilização ZENDESK. Instruções Básicas

Manual de Utilização ZENDESK. Instruções Básicas Manual de Utilização ZENDESK Instruções Básicas Novembro/2013 SUMÁRIO 1 Acesso à ferramenta... 3 2 A Ferramenta... 4 3 Tickets... 8 3.1 Novo Ticket... 8 3.2 Acompanhamentos de Tickets já existentes...

Leia mais

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet. 1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.

Leia mais

Manual de Procedimentos do novo Módulo de Atendimento Técnico HELPDESK

Manual de Procedimentos do novo Módulo de Atendimento Técnico HELPDESK Manual de Procedimentos do novo Módulo de Atendimento Técnico HELPDESK Novembro/2008 Módulo de Atendimento Técnico HELPDESK 2 O acesso ao Módulo de Atendimento Técnico é feito através da internet (Mozilla)

Leia mais

Manual de Integração Protheus x Reserve

Manual de Integração Protheus x Reserve Novembro/2013 Sumário 1. Introdução... 3 2. Requisitos... 3 3. Dicionário de Dados... 3 4. Parâmetros... 5 5. Instalação/Atualização... 6 6. Contexto de negócio... 9 7. Escopo e Finalidade... 9 8. Como

Leia mais

Boletim Técnico. Esta melhoria depende de execução do update de base UPDSGA11, conforme Procedimentos para Implementação.

Boletim Técnico. Esta melhoria depende de execução do update de base UPDSGA11, conforme Procedimentos para Implementação. Monitoramento sem Laboratório Produto : Microsiga Protheus Gestão Ambiental Versão 11 Chamado : TIERVV Data da publicação : 08/01/14 País(es) : Todos Banco(s) de Dados : Todos Esta melhoria depende de

Leia mais

Boletim Técnico. A construção do relatório dentro do RM, acessando os dados do Protheus está descrita no documento fornecido pela RM.

Boletim Técnico. A construção do relatório dentro do RM, acessando os dados do Protheus está descrita no documento fornecido pela RM. Integração Protheus TOTVS Reports Produto : Microsiga Protheus Configurador Chamado : TEPVU3 Data da publicação : 13/09/12 País(es) : Todos Banco(s) de Dados : Todos Disponibilizado o processo de integração

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem PHP @wre2008 1 Sumário PHP: Tipos de dados; Manipulação de dados; Utilizando formulário. @wre2008 2 Tipos de dados As variáveis são declaradas no momento de sua

Leia mais

DCIP-SC Declaração de Créditos Informados Previamente

DCIP-SC Declaração de Créditos Informados Previamente DCIP-SC Declaração de Créditos Informados Previamente Produto : Microsiga Protheus Livros Fiscais Versão 11 Data da publicação : 16/02/2012 País(es) : Brasil Banco(s) de Dados : Todos Chamado : TEONYZ,

Leia mais

Programação para Internet I

Programação para Internet I Programação para Internet I Aula 6 PHP: Include, Require, Variáveis de ambiente Prof. Teresinha Letícia da Silva leticiasfw@yahoo.com.br Inclusão de arquivos com Include e Require no PHP Uma técnica muito

Leia mais

Manual Sistema Proac Editais. Dúvidas Frequentes

Manual Sistema Proac Editais. Dúvidas Frequentes Manual Sistema Proac Editais Dúvidas Frequentes Conteúdo 1. Acesso ao sistema... 3 1.1. Como efetuar Login... 3 1.2. Como recuperar a Senha... 3 1.3. Como fazer um Novo Cadastro de Proponente... 4 1.4.

Leia mais

Nota de Aplicação. Relatório em HTML no Vijeo Citect 1.0. Suporte Técnico Brasil. Versão:

Nota de Aplicação. Relatório em HTML no Vijeo Citect 1.0. Suporte Técnico Brasil. Versão: Nota de Aplicação Relatório em HTML no Vijeo Citect Versão: 1.0 Suporte Técnico Brasil Especificações técnicas Hardware: Software: Versão: Vijeo Citect 7.40 SP 2 SQL Server 2012 Suporte Técnico Brasil

Leia mais

O objetivo da aula é realizar upload de arquivos com aplicação web. Será realizado o upload de duas formas:

O objetivo da aula é realizar upload de arquivos com aplicação web. Será realizado o upload de duas formas: Aula 09 FileUpload Disciplina: Programação Web Prof. Allbert Velleniche de Aquino Almeida E-mail: allbert.almeida@fatec.sp.gov.br Site: http://www.allbert.com.br /allbert.almeida Objetivo O objetivo da

Leia mais

SIM Sistema de Informação Monitorada Ltda. Vise Pedidos

SIM Sistema de Informação Monitorada Ltda. Vise Pedidos Vise Pedidos O Vise Pedidos é um aplicativo com fins de funcionamento paralelo ao VISERP. Nele você consegue fazer as rotinas básicas de qualquer representante que esta enloco na empresa direto em seu

Leia mais

SECRETARIA DE ESTADO DA FAZENDA DIRETORIA DE FISCALIZAÇÃO PEDIDO DE USO DE ECF MANUAL DO USUÁRIO VERSÃO 1.0

SECRETARIA DE ESTADO DA FAZENDA DIRETORIA DE FISCALIZAÇÃO PEDIDO DE USO DE ECF MANUAL DO USUÁRIO VERSÃO 1.0 SECRETARIA DE ESTADO DA FAZENDA DIRETORIA DE FISCALIZAÇÃO PEDIDO DE USO DE ECF MANUAL DO USUÁRIO VERSÃO 1.0 Belém Agosto - 2013 1 SUMÁRIO 1. Introdução... 3 2. Identificação Acesso ao Sistema... 4 3. Painel

Leia mais

Programação para a Internet II 2.13. PHP AJAX. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para a Internet II 2.13. PHP AJAX. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para a Internet II 2.13. PHP AJAX Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Ajax não é uma tecnologia! É um conceito! Consiste no uso do objecto XMLHttpRequest que se encontra implementado

Leia mais

Cenários do CEL. Acessar ao sistema

Cenários do CEL. Acessar ao sistema Cenários do CEL Acessar ao sistema Permitir que o usuário acesse ao Sistema de Léxicos e Cenários nas seguintes condições: logando-se, quando já estiver cadastrado; ou incluindo usuário independente, quando

Leia mais

Manual do Usuário Cidadão SIC Serviço de informação ao cidadão

Manual do Usuário Cidadão SIC Serviço de informação ao cidadão Manual do Usuário Cidadão SIC Serviço de informação ao cidadão NOVOSIS 3ª Versão Conteúdo Introdução... 3 Principais recursos:... 4 Para o cidadão:... 4 Para os órgãos públicos:... 4 Como Utilizar o SIC...

Leia mais

Boletim Técnico. Solicitações de Compra - Rateio por Centro de Custo. Produto : Microsiga Protheus Compras Versão 10

Boletim Técnico. Solicitações de Compra - Rateio por Centro de Custo. Produto : Microsiga Protheus Compras Versão 10 Solicitações de Compra - Rateio por Centro de Custo Produto : Microsiga Protheus Compras Versão 10 Chamado : TGZL81 Data da publicação : 12/08/13 País(es) : Todos Banco(s) de Dados : Todos Esta melhoria

Leia mais

CIDE Contribuição de Intervenção no Dominio Econômico

CIDE Contribuição de Intervenção no Dominio Econômico CIDE Contribuição de Intervenção no Dominio Econômico Produto : Microsiga Protheus Livros Fiscais, Versão 11 Chamado : TIDZ93 Data da publicação : 09/04/14 País(es) : Brasil Banco(s) de Dados : Todos Realizado

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI CRIANDO UMA AUTENTICAÇÃO DE USUÁRIO UTILIZANDO O COMPONENTE QUERY A autenticação de usuários serve para

Leia mais

Eventos Anulação e Retificação

Eventos Anulação e Retificação MINISTÉRIO DO PLANEJAMENTO ORÇAMENTO E GESTÃO SECRETARIA DE LOGÍSTICA E TECNOLOGIA DA INFORMAÇÃO DEPARTAMENTO DE GESTÃO ESTRATÉGICA DA INFORMAÇÃO Portal dos Convênios SICONV Eventos Anulação e Retificação

Leia mais

Agendamento para Importação de Notas Fiscais

Agendamento para Importação de Notas Fiscais LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2 (Orientamos aos clientes que utilizam banco de dados SQL, para efetuarem a atualização preferencialmente após o encerramento das atividades do dia, acessando

Leia mais

Resumo das funcionalidades

Resumo das funcionalidades Resumo das funcionalidades Menu MENU Dados Cadastrais Atualizar Cadastro Troca Senha Grupo Usuários Incluir Atualizar Funcionários Incluir Atualizar Atualizar Uso Diário Importar Instruções Processar Status

Leia mais

Boletim Técnico. Para bloquear o grupo familiar, é necessário que no tipo de bloqueio, esteja configurado o bloqueio do grupo familiar.

Boletim Técnico. Para bloquear o grupo familiar, é necessário que no tipo de bloqueio, esteja configurado o bloqueio do grupo familiar. Bloqueio por Grupo Familiar Produto : Microsiga Protheus Planos de Saúde Versão 11 Requisito : ID_26 Data da publicação : 14/02/14 País(es) : Brasil Banco(s) de Dados : Todos Relacionais sx Esta melhoria

Leia mais

Módulo Publicações Publicações On Line. Módulo Publicações

Módulo Publicações Publicações On Line. Módulo Publicações Módulo Publicações Elaborado por: Julio Cesar Cavalheiro PÁG. 1/8 Índice 1. Objetivo... 3 2. Parametrização... 3 3. Baixando as Publicações... 4 4. Atribuindo processos aos Dados Baixados... 5 5. Status

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

MANUAL VTWEB CLIENT URBANO

MANUAL VTWEB CLIENT URBANO MANUAL VTWEB CLIENT URBANO A marca do melhor atendimento. Conteúdo... 2 1. Descrição... 3 2. Cadastro no sistema... 3 2.1. Pessoa Jurídica... 3 2.2. Pessoa Física... 5 2.3. Concluir o cadastro... 6 3.

Leia mais

Mais sobre uso de formulários Site sem Ajax

Mais sobre uso de formulários Site sem Ajax Mais sobre uso de formulários Site sem Ajax Página com busca padrão 1 Página com o resultado da busca carregada no local da anterior (o formulário está vazio) Site com Ajax 2 Site usando Ajax para preencher

Leia mais

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem. 1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente

Leia mais

CATÁLOGO DE APLICAÇÕES Atualização de Preços de Tabela de Venda

CATÁLOGO DE APLICAÇÕES Atualização de Preços de Tabela de Venda CATÁLOGO DE APLICAÇÕES Atualização de Preços de Tabela de Venda Objetivo do projeto O projeto de atualização de preços de tabela de venda tem por objetivo permitir que a manutenção de preços de tabela

Leia mais

PROTHEUSFUNCTIONMVC.PRX

PROTHEUSFUNCTIONMVC.PRX Framework - LIB Biblioteca de Funções Produto Microsiga Protheus - Todos os módulos Versão 11 Versão 11 Data 29/08/14 A seguir apresentamos as funções implementadas na linha de produto Microsiga Protheus,

Leia mais

Boletim Técnico. Empresa. Vagas. Central de Estágio. Desenvolvimento/Procedimento. Acesse Atividades Acadêmicas Estágio Empresa

Boletim Técnico. Empresa. Vagas. Central de Estágio. Desenvolvimento/Procedimento. Acesse Atividades Acadêmicas Estágio Empresa Boletim Técnico Central de Estágio Produto : TOTVS Educacional 11.83.52 Processo : Central de Estágio Subprocesso : Não se aplica Data da publicação : 12/11/2013 A funcionalidade de Central de Estágio

Leia mais

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce Novo Módulo disponível no TOTVS S1 Varejo: permissão de utilização através de licença específica. Mesmo não adquirindo a licença de uso do módulo ele continuará presente na tela do usuário. 1 Na opção

Leia mais

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos. JavaScript JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos. Pode ser usada dentro do próprio arquivo HTML ou estruturada em um

Leia mais

Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto :

Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto : Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto : O form Index A tabela Fotos A query Q_seleção_de_fotos Vide figura 46. Figura 46 O próximo passo é criar um form que

Leia mais

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde

Leia mais

Liner. Manual do Usuário

Liner. Manual do Usuário Liner Manual do Usuário Parabéns, Você acaba de adquirir o Gravador Telefônico Digital Pctel Liner. Líder em seu segmento, disponibiliza a mais alta tecnologia em gravadores telefônicos digitais, convertendo

Leia mais

Conteúdo. DHTML tópicos Hamilton Lima - 2002-2004

Conteúdo. DHTML tópicos Hamilton Lima - 2002-2004 DHTML tópicos Hamilton Lima - 2002-2004 Conteúdo 1. meu primeiro script... 2 2. DOM Document Object Model...2 3. tipo de execução de scripts...2 4. resposta a um evento... 3 5. tipos de dados, variaveis

Leia mais

Índice: Nitgen do Brasil www.nitgen.com.br

Índice: Nitgen do Brasil www.nitgen.com.br Índice: CAPÍTULO 3. PROGRAMAÇÃO EM DELPHI...2 3.1 INICIALIZANDO E FECHANDO O MÓDULO...2 3.1.1 Inicializando o módulo...2 3.1.2 Fechar o módulo após o uso...2 3.2 RELACIONANDO OS SENSORES NA PROGRAMAÇÃO...2

Leia mais

e commerces DOCUMENTO DE INTEGRAÇÃO Sumário Dúvidas: 55 51 3023.2332 suporte@hookit.cc www.hookit.cc Atualizado em: 10/09/2014

e commerces DOCUMENTO DE INTEGRAÇÃO Sumário Dúvidas: 55 51 3023.2332 suporte@hookit.cc www.hookit.cc Atualizado em: 10/09/2014 DOCUMENTO DE INTEGRAÇÃO e commerces Atualizado em: 10/09/2014 Sumário 1. Cadastro e atualização de produtos 2. Exibição do botão Hookar 3. Conversão de acesso em venda 4. Status das vendas 1. Cadastro

Leia mais

JavaScript (Funções, Eventos e Manipulação de Formulários)

JavaScript (Funções, Eventos e Manipulação de Formulários) Linguagem de Programação para Web JavaScript (Funções, Eventos e Manipulação de Formulários) Prof. Mauro Lopes 1-31 23 Objetivos Iremos avançar um pouco mais em nosso estudo sobre o JavaScript. Iremos

Leia mais

CATÁLOGO DE CUSTOMIZAÇÕES Atualização de Preços de Tabela de Venda

CATÁLOGO DE CUSTOMIZAÇÕES Atualização de Preços de Tabela de Venda CATÁLOGO DE CUSTOMIZAÇÕES Atualização de Preços de Tabela de Venda Índice ÍNDICE... 2 OBJETIVO DO PROJETO... 3 ESCOPO... 3 PREMISSAS... 5 LIMITAÇÕES E RESTRIÇÕES... 5 OBSERVAÇÕES... 5 POLÍTICA DA CUSTOMIZAÇÃO...

Leia mais

Chamado : TEXMBZ Data da publicação : 30/04/12

Chamado : TEXMBZ Data da publicação : 30/04/12 Campo Seq. Fam. no Check-List Padrão Produto : Microsiga Protheus Manutenção de Ativos versão 11 Chamado : TEXMBZ Data da publicação : 30/04/12 País(es) : Todos Banco(s) de Dados : Todos Aplicabilidade

Leia mais

A pessoa que tenha imóvel cadastrado no Sistema Nacional de Cadastro Rural SNCR.

A pessoa que tenha imóvel cadastrado no Sistema Nacional de Cadastro Rural SNCR. QUEM PODE ACESSAR A DECLARAÇÃO ELETRÔNICA. A pessoa que tenha imóvel cadastrado no Sistema Nacional de Cadastro Rural SNCR. QUAIS TIPOS DE ATUALIZAÇÕES PODERÃO SER FEITAS Alteração por Aquisição de área

Leia mais

Manual Importação XML

Manual Importação XML Manual Importação XML Ambiente : Compras \ Estoque Custos Data: 23/02/2011 Base de Dados: DBF \ SQL Tabelas envolvidas: ZXM (XML Fornecedor) ZXN (Tabela Auxiliar XML) SA2 (Cadastro Fornecedor) SA5 (Amarração

Leia mais

Manual de Integração Via Gadget. Passo a passo para realizar a integração entre websites e a plataforma Virtual Target.

Manual de Integração Via Gadget. Passo a passo para realizar a integração entre websites e a plataforma Virtual Target. Manual de Integração Via Gadget Passo a passo para realizar a integração entre websites e a plataforma Virtual Target. Manual de Integração Via Gadget 1. Introdução 1.1. O que é? Virtual Target Gadgets

Leia mais

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL

Leia mais

TROCA E DEVOLUÇÃO E CLIENTES

TROCA E DEVOLUÇÃO E CLIENTES TROCA E DEVOLUÇÃO E CLIENTES RMS Software S.A. - Uma Empresa TOTVS Todos os direitos reservados. A RMS Software é a maior fornecedora nacional de software de gestão corporativa para o mercado de comércio

Leia mais

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução SCIM 1.0 Guia Rápido Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal Introdução Nesta Edição O sistema de Controle Interno administra o questionário que será usado no chek-list

Leia mais

Processo: Vendas. Acesso. Motivação. Parâmetros. Nome do Processo: Bônus impresso para premiação do cliente

Processo: Vendas. Acesso. Motivação. Parâmetros. Nome do Processo: Bônus impresso para premiação do cliente Pendências 19342 Versão 2006 Release 53 Autor Jaciara Processo: Vendas Nome do Processo: Bônus impresso para premiação do cliente Acesso VENDAS Força de Vendas Bônus Motivação Administrar a distribuição

Leia mais

Call Center Sistema de Atendimento ao Cliente (CRM)

Call Center Sistema de Atendimento ao Cliente (CRM) Call Center Sistema de Atendimento ao Cliente (CRM) Apresentação O software de CRM permite a gestão do relacionamento com o público, seja pessoa física ou jurídica, clientes ou não. A partir dele, é possível

Leia mais

Esta melhoria depende de execução do update de base updtmk58 e atualização do TOTVS CTI LINK conforme Procedimentos para Implementação.

Esta melhoria depende de execução do update de base updtmk58 e atualização do TOTVS CTI LINK conforme Procedimentos para Implementação. Senha do Agente no Listener de Ligações CTI Produto : Microsiga Protheus Call Center Versão 10 Chamado : TEENH8 Data da publicação : 02/03/12 País(es) : Todos Banco(s) de Dados : Todos Esta melhoria depende

Leia mais

CAPITULO 5 COMANDO DE FLUXO IF

CAPITULO 5 COMANDO DE FLUXO IF CAPITULO 5 COMANDO DE FLUXO IF Sempre que for necessária a tomada de decisão dentro de um programa, você terá que utilizar um comando condicional, pois é por meio dele que o PHP decidirá que lógica deverá

Leia mais

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

SUMÁRIO Acesso ao sistema... 2 Atendente... 3 SUMÁRIO Acesso ao sistema... 2 1. Login no sistema... 2 Atendente... 3 1. Abrindo uma nova Solicitação... 3 1. Consultando Solicitações... 5 2. Fazendo uma Consulta Avançada... 6 3. Alterando dados da

Leia mais

Manual NOV - PDV. Versão 1.0

Manual NOV - PDV. Versão 1.0 Manual NOV - PDV Versão 1.0 Sumário 01 Captura de Nota Fiscal...3 02 Remessa de Entrada...6 03 Remessa de Saída......9 04 Pedido Normal...12 05 Pedido Especial...16 06 Nota Fiscal Avulsa...18 07 Controle

Leia mais

PORTAL B2B USUÁRIO FORNECEDOR

PORTAL B2B USUÁRIO FORNECEDOR PORTAL B2B USUÁRIO FORNECEDOR RMS Software S.A. - Uma Empresa TOTVS Todos os direitos reservados. A RMS Software é a maior fornecedora nacional de software de gestão corporativa para o mercado de comércio

Leia mais

Altere a cor de fundo Altere a cor do texto Utilize meta tags e direcione a página para um site qualquer

Altere a cor de fundo Altere a cor do texto Utilize meta tags e direcione a página para um site qualquer Exercício A11 - Digite o código abaixo e salve-o como ex1.htm. Documento com fundo azul!! Página com fundo e texto coloridos!

Leia mais

Atualização e e Backup do Protheus 10. Anotações. Nomenclaturas do Protheus 10. Build

Atualização e e Backup do Protheus 10. Anotações. Nomenclaturas do Protheus 10. Build devemos ter necessariamente o TOTVS Application Server (TotvsAppServer), iniciado na mesma máquina. Anotações Atualização e e Backup do Protheus 10 Nomenclaturas do Protheus 10 São elas: Build Versão completa

Leia mais

Manual do Usuário - ProJuris Web - Fila de E-mails Página 1 de 8

Manual do Usuário - ProJuris Web - Fila de E-mails Página 1 de 8 As informações contidas neste documento estão sujeitas a alterações sem o prévio aviso, o que não representa um compromisso da Virtuem Informática. As pessoas, organizações ou empresas e eventos de exemplos

Leia mais

Boletim Técnico. Campos obrigatórios nas guias de solicitação do Portal

Boletim Técnico. Campos obrigatórios nas guias de solicitação do Portal s obrigatórios nas guias de solicitação do Portal Produto : Microsiga Protheus Plano de Saúde 11 Chamado/Requisito : TGQI45 Data da publicação : 27/05/13 País(es) : Brasil Banco(s) de Dados : Todos relacionais

Leia mais

Release Notes Julho/2014

Release Notes Julho/2014 Julho/2014 Título do documento Saúde e Segurança do Trabalho (11.8.0.11) Copyright 2009 TOTVS. Todos os direitos reservados. Nenhuma parte deste documento pode ser copiada, reproduzida, traduzida ou transmitida

Leia mais

Cotação Eletrônica. 1º Passo: Configure o e-mail em que será utilizado para envio das. cotações.

Cotação Eletrônica. 1º Passo: Configure o e-mail em que será utilizado para envio das. cotações. Cotação Eletrônica 1º Passo: Configure o e-mail em que será utilizado para envio das cotações. Na tela Configurações do Sistema do módulo Retaguarda selecione a opção MOURAMAIL na configuração Modo de

Leia mais

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal MANUAL DO ADMINISTRADOR LOCAL Entidade Municipal Abril / 2011 ÍNDICE Objetivos do Sistema de Registro de Integrado - REGIN... 3 Principais Módulos do Sistema... 4 Módulo Controle de Acesso... 5 Módulo

Leia mais

Manual de Instalação e Utilização do Pedido Eletrônico Gauchafarma

Manual de Instalação e Utilização do Pedido Eletrônico Gauchafarma Manual de Instalação e Utilização do Pedido Eletrônico Gauchafarma 1. INSTALAÇÃO Antes de iniciar a instalação do pedido eletrônico, entre em contato com o suporte da distribuidora e solicite a criação

Leia mais

Boletim Técnico. Esta melhoria depende de execução do update de base UPDWF002, conforme Procedimentos para Implementação.

Boletim Técnico. Esta melhoria depende de execução do update de base UPDWF002, conforme Procedimentos para Implementação. Filas de envio de e-mail do Workflow Produto : Microsiga Protheus Workflow Versão 10 Chamado : TEUEHH Data da publicação : 05/03/12 País(es) : Todos Banco(s) de Dados : Todos Esta melhoria depende de execução

Leia mais

Manual NFSe - Prestadores e Tomadores de Serviço

Manual NFSe - Prestadores e Tomadores de Serviço VALPARAÍSO DE GOIÁS quarta-feira, 28 de outubro de 2014 Manual NFSe - Prestadores e Tomadores de Serviço ÍNDICE Legislação Cadastrando A Senha Eletrônica Acessando O Sistema De Nfs- E Pela Primeira Vez

Leia mais

Passos para migração para o Protheus 11.5 HelpDesk Framework Protheus - Janeiro/2013

Passos para migração para o Protheus 11.5 HelpDesk Framework Protheus - Janeiro/2013 Passos para migração para o Protheus 11.5 HelpDesk Framework Protheus - Janeiro/2013 1. Preparando a versão atual para migração: 1.1. Prepare uma base teste, efetuando CÓPIA FRIA (todos os serviços parados)

Leia mais

Version Notes (Notas da versão) Versão 4.11.1.7-26-02-2013

Version Notes (Notas da versão) Versão 4.11.1.7-26-02-2013 Florianópolis, 26 de fevereiro de 2013. Abaixo você confere as características e funcionalidades da nova versão 4.11.1.7 do Channel. Para quaisquer dúvidas ou na necessidade de maiores esclarecimentos,

Leia mais

EMPRESA DE SANEAMENTO DE MATO GROSSO DO SUL S.A. SUMÁRIO. Acessar o sistema MICROSIGA... 3. Elaborar Solicitação de Compra... 5

EMPRESA DE SANEAMENTO DE MATO GROSSO DO SUL S.A. SUMÁRIO. Acessar o sistema MICROSIGA... 3. Elaborar Solicitação de Compra... 5 Empresa de Saneamento de Mato Grosso do Sul S.A. SANESUL MANUAL OPERACIONAL COMPRAS Gerência de Suprimentos SUP/GESU SUMÁRIO Acessar o sistema MICROSIGA... 3 Elaborar Solicitação de Compra... 5 Gerar Relatório

Leia mais

Validação de formulários utilizando Javascript

Validação de formulários utilizando Javascript Validação de formulários utilizando Javascript A validação de formulários é um dos usos mais comuns na programação Javascript. A validação de dados por meio da programação Javascript é muito fácil e rápida

Leia mais

O que é o JavaScript?

O que é o JavaScript? JavaScript Introdução O JavaScript é utilizado por milhões de páginas na web para melhorar o design, validar forms, e muito mais O JavaScript foi inicialmente desenvolvido pela Netscape e é a linguagem

Leia mais

Manual de digitação de contas Portal AFPERGS

Manual de digitação de contas Portal AFPERGS Manual de digitação de contas Portal AFPERGS 1 Sumário Acesso à função digitação de contas... 3 O que é a Função digitação de contas (DC)... 4 Como proceder na função digitação de conta médica (DC)...

Leia mais

1. Configuração do Portal. 1) No totvsappserver.ini deverá ser feito as seguintes modificações: Incluir os seguintes itens:

1. Configuração do Portal. 1) No totvsappserver.ini deverá ser feito as seguintes modificações: Incluir os seguintes itens: 1. Configuração do Portal 1) No totvsappserver.ini deverá ser feito as seguintes modificações: Incluir os seguintes itens: DEFINIR UMA SESSÃO HTTP: Esta sessão permite ao TOTVS Application Server ser configurado

Leia mais

MANUAL DO PRESTADOR WEB

MANUAL DO PRESTADOR WEB MANUAL DO PRESTADOR WEB Sumário 1. Guia de Consulta... 3 2. Guia de Procedimentos Ambulatoriais... 6 3. Guia de Solicitação de Internação... 8 4. Prorrogação de internação... 8 5. Confirmação de pedido

Leia mais