Jump to content
Fivewin Brasil

Leaderboard

Popular Content

Showing content with the highest reputation on 12/05/2019 in all areas

  1. Amiguinhos, Os equipamentos SAT são poligamos, e pela legislação permitem até 5 companheiros. Não é limite técnico já que o mesmo não sabe de onde vem o arquivo e os comandos. Pela legislação humana, imposição humana, cada equipamento só podem ser acessado por 5 pc´s. Frescurocracia. Para que seu equipamento SAT possa interagir e receber comandos estando em uma rede basta que a máquina em que ele esteja plugado lhe envie os comandos a partir das outras na rede. A maquina onde esta o SAT é a servidora e única encarregada de emitir cupons. Se o seu sistema puder identificar que ele está conectado diretamente com o SAt ele pode agir como servidor de duas formas: - Detectando dentro dos DBFs de vendas que existe uma venda que solicita emissão de cupom. - Detectar o XML para emitir, colocado em uma pasta de ENVIO, processar e transferir para a pasta de ERROS caso algo der errado ou para a pasta ENVIADOS. Para impressão: - Somente o servidor fara a impressão a partir do momento que encontrar novo XML na pasta ENVIADOS e após transferir para IMPRESSOS. - Cada maquina processa a impressão de seu cupom capturado na pasta ENVIADOS. Também neste caso a pasta poderá ter subpastas 001, 002, 003, 00X para cada maquina cliente na rede e cada maquina cliente só monitora respostas em sua pasta. Simples assim. kkkkkk
    1 point
  2. fluna

    Integração com WEB

    Como ficou: ************************** Function Whatsapp( cPara ) ************************** Local oShell,wCodCli,lSair,lOk If !IsInternet() MsgInfo("Necessário Uma Conexão com Internet !"+CRLF+"Operação cancelada") Return(.f.) Endif wCodCli:=alltrim(right(cpara,5)) Select cli cli->(OrdSetFocus("codigo")) seek wcodcli lOk:=found() Select SRV if !lok ? "Erro! cliente não encontrado on cadastro!" return(.f.) endif cPara:=alltrim(CLI->FONE_MOVEL) cNome:=alltrim(CLI->NOME) CursorWait() nSegs:=val(GetPvProfString("WhatsApp","SecWaitPage","0",SysArq)) cMens:=GetPvProfString("WhatsApp","MsgPrinting" ," ",SysArq) cSair:=GetPvProfString("WhatsApp","FechaNavegador" ," ",SysArq) If empty(nSegs) nSegs:=10 // 10 segundos WritePProString( "WhatsApp","SecWaitPage","10",SysArq ) Endif If empty(cMens) cMens:="Avisamos que O SEU APARELHO ja esta disponivel! Voce ja pode vir retira-lo." WritePProString( "WhatsApp","MsgPrinting",cMens,SysArq ) Endif If empty(cSair) cSair:="S" WritePProString( "WhatsApp","FechaNavegador","S",SysArq ) Endif cPara:=AjustaFone( cPara ) If Empty( cPara ) MsgInfo("Número do telefone de "+cNome+" inválido, verifique!") return(.f.) endif cHora:=Time() nHora:=val(substr(cHora,1,2)+substr(cHora,4,2)) cHora:=iif(nHora>=0000 .and. nHora <=1200 ,"Bom Dia, " , "" ) cHora:=iif(nHora>=1201 .and. nHora <=1800 ,"Boa Tarde, ",cHora) cHora:=iif(nHora>=1801 .and. nHora <=2359 ,"Boa Noite, ",cHora) cCabc:= cHora+"A "+wNomeEmpresa+" tem um recado para voce!" oShell:= CreateObject( "WScript.Shell" ) oShell:run("https://web.whatsapp.com/send?phone="+cPara) WaitSeconds(nSegs) oShell:sendkeys("*"+cCabc+"*") ; WaitSeconds( 3 ) ; oShell:SendKeys("~") ; WaitSeconds( 1 ) oShell:sendkeys("_"+cMens+"_") ; WaitSeconds( 3 ) ; oShell:SendKeys("~") ; WaitSeconds( 1 ) oShell:sendkeys("*Nosso contato: "+wFoneEmpresa+"*") ; WaitSeconds( 3 ) ; oShell:SendKeys("~") ; WaitSeconds( 3 ) If cSair="S" oShell:SendKeys("%{F4}") // ALT+F4 fecha o navegador, mas deixar aberto fica mais rápido.... Endif CursorArrow() Return nil ***************************** FUNCTION AjustaFone( xFone ) ***************************** Local i,cLetra,cFone:="" For i=1 to len(xFone) cLetra:=Substr(xFone,i,1) cFone+=iif(cLetra="0","0",iif( val(cletra)>0,cLetra,"")) Next If Substr(cFone,1,2)#"55" cFone:="55"+cFone Endif cFone:=alltrim(cFone) If len( cFone ) # 13 cFone:=" " endif Return( cFone )
    1 point
×
×
  • Create New...