-
Posts
1,796 -
Joined
-
Last visited
-
Days Won
31
Posts posted by Theotokos
-
-
5 horas atrás, Rogerio Figueira disse:
Bom dia Edu.
Eu não sei se existe vantagem em usar o SQLRDD. Eu fiz minha migração usando o tDolphin, estou contente com a solução mas agora existe uma opção melhor que é a solução nativa do FiveWin nas últimas versões.
No caso dos pedidos: pode continuar usando dbf local e depois salvar a partir dele no SqL, mas pode ser diferente:
Eu faço assim: quando salva o pedido, já cria o registro no SQL e depois vai inserindo os itens do pedido direto no sql a cada inclusão de item.
Uso matrizes para guardar os dados de cada item. Quando o usuário clica Salvar o item, o sistema monta o comando SQL a partir dos valores da matriz.
No caso, existe uma tabela para os dados gerais do pedido e uma tabela com todos os itens de todos os pedidos.
Exemplo parcial:cQry := 'INSERT INTO `itpedi` SET '
cQry += 'codite = "'+ xi+'",'
cQry += 'codped = "'+ matriz[1]+'",'
cQry += 'codped_id = "'+ alltrim(str(matriz[45]))+'",'
cQry += 'produt_id = "'+ alltrim(str(matriz[43]))+'",'
cQry += 'fornec_id = "'+ alltrim(str(matriz[44]))+'",'
cQry += 'qtd_ped = "'+ alltrim(str(matriz[2]))+'",'
cQry += 'qtd_ent = "'+ alltrim(str(matriz[18]))+'",'
cQry += 'aentre = "'+ alltrim(str(matriz[19]))+'",'
cQry += 'codpro = "'+ matriz[3]+'",'
cQry += 'codfor = "'+ matriz[6]+'",'
cQry += 'preco_unit = "'+ alltrim(str(matriz[4]))+'",'
cQry += 'preco_tot = "'+ alltrim(str(matriz[8]))+'",'
cQry += 'status = "'+ matriz[5]+'",'
cQry += 'pdesc = "'+ alltrim(str(matriz[9]))+'"'sysrefresh()
oQry2 := oServer:sqlQuery( cQry)
sysrefresh()
[]´sboa tarde poderia explicar melhor sobre tDolphin, como usar o que instalar.... etc....
-
Function VerRotaVisitadas(aDd) // aDd = Nome, Endereco, Bairro, Cidade, Estado Local cHtml:="", oOle, x1:=0, nD1 := 1 *oOle:= CreateObject("InternetExplorer.Application") *oOle:Visible := .t. // Apresenta o Browser *oOle:ToolBar := .f. // Desativa a barra de ferramentas *oOle:StatusBar := .f. // Desativa a barra de status *oOle:MenuBar := .f. // desativa a barra de menu cHtml+='<head>'+CRLF cHtml+='<title>Mapeamento dos Clientes</title>'+CRLF cHtml+='<style type="text/css">'+CRLF cHtml+='#mapa{width:1200px;'+CRLF cHtml+='height:1000px}'+CRLF cHtml+='</style>'+CRLF cHtml+='<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>'+CRLF cHtml+='<script type="text/javascript">'+CRLF cHtml+='var map = null;'+CRLF cHtml+='function carregar(){'+CRLF cHtml+='var latlng = new google.maps.LatLng(-3.787522,-38.518066);'+CRLF cHtml+='var myOptions = {'+CRLF cHtml+='zoom: 14,'+CRLF cHtml+='center: latlng,'+CRLF cHtml+='mapTypeId: google.maps.MapTypeId.ROADMAP};'+CRLF cHtml+='map = new google.maps.Map(document.getElementById("mapa"), myOptions);'+CRLF * For nD1 := 1 To Len(aDd) cNome_Google := aDd[nD1,1] cEndereco_Google := aDd[nD1,2] cBairro_Google := aDd[nD1,3] cCidade_Google := aDd[nD1,4] cEstado_Google := aDd[nD1,5] x1++ fBus := "Carro_1.JPG" cHtml += ' '+CRLF cHtml += 'var endereco'+Alltrim(Str(x1))+'="'+Alltrim(cEndereco_Google)+' - '+Alltrim(cBairro_Google)+' - '+Alltrim(cCidade_Google)+' - '+AllTrim(cEstado_Google)+'";'+CRLF cHtml += 'geocoder = new google.maps.Geocoder();'+CRLF cHtml += 'geocoder.geocode({"address":endereco'+Alltrim(str(x1))+'}, function(results, status){ if( status = google.maps.GeocoderStatus.OK){ latlng = results[0].geometry.location;'+CRLF cHtml += 'markerInicio'+Alltrim(Str(x1))+' = new google.maps.Marker({position: latlng,map: map, title:"'+Alltrim(cNome_Google)+'", icon: "'+fBus+'"});'+CRLF cHtml += [var infowindow = new google.maps.InfoWindow({ content: '<strong>]+Alltrim(cNome_google)+[</strong><br>]+Alltrim(cEndereco_Google)+[, ]+Alltrim(cBairro_Google)+[ ]+Alltrim(cCidade_Google)+[ ]+Alltrim(cEstado_Google)+[<BR>]+['});]+CRLF cHtml += 'google.maps.event.addListener(markerInicio'+Alltrim(Str(x1))+', "click", function(event) { infowindow.open(map,markerInicio'+Alltrim(Str(x1))+');});'+CRLF cHtml += 'map.setCenter(latlng); } });'+CRLF cHtml += ' '+CRLF * Next nD1 * cHtml+='}'+CRLF cHtml+='</script>'+CRLF cHtml+='</head>'+CRLF cHtml+='<body onload="carregar()">'+CRLF cHtml+='<div id="mapa"></div>'+CRLF cHtml+='</body>'+CRLF cHtml+='</html>'+CRLF MemoWrit("visitarota.html",chtml) // uRegPath = "c:\test" ShellExecute(GetActiveWindow(),"open",'visitarota.html') *oOle:Navigate2("visitarota.htm") *hWnd:=oOle:hWnd *BringWindowToTop(hWnd) Return nil
tenho esse em meus arquivos aqui... não me lembro quem postou no forum... vê se ajuda...
Ah! se tiver alguma melhoria ai, compartilha com gente... Vlw!!!!
eu ainda não usei, mas vá que uma hora a gente precisa... rsrsrsrsrsrsrs
-
Muito Obgdo Rochinha, mas na vdd me refiro ao app que fica no tray mesmo... e não a função que mostra a msg... essa ja consegui utilizar... queria mesmo é esse sistema que fica no tray e saber como pe feito para gerenciar o que recebe de msg...
-
boa tarde meu caro @marcioe, vc ainda tem essa rotina de exibir msg no tray? ainda utiliza? Como minha esposa fala o não vc ja tem... então la vai... será que você poderia compartilhar a tua rotina? estou precisando de algo bem parecido com isso... Desde já meu muito obrigado!!!
se quiser me enviar o email é : ronecoura@gmail.com...
-
@ADutheil vlw!!! mas o send não funciona mais... parece que foi substituido pelo msg... qto ao compartilhamento ja esta ativado....
-
Bom Dia!
Preciso enviar uma msg em uma rede local, ou seja, de um micro para outro micro na rede... a situação é o seguinte... nos terminais de venda na loja, os vendedores nao tem acesso para liberar qdo o cliente tem algum bloqueio ou qdo tem um desconto maior... então precisa do gerente ou a pessoa autorizada colocar seu usuário e senha para liberar a venda... então o vendedor tem que ficar chamando... queria que qdo isso acontecer, o sistema envie uma msg na rede para o micro(s) configurado (onde estaria a pessoa autorizada a liberar) avisando que o terminal "X" precisa ser liberado...
Alguem conhece uma forma de fazer isso? tentei usar o cmd "MSG *" do windows, mas sem sucesso, o cmd funciona no micro local mas os terminais não recebe a msg...
obgdao!!!
-
If "DATA" $ Upper(cCampo)
oGetPsq:oGet:Picture := "99/99/9999 à 99/99/9999"
oGetPsq:cPicture := "99/99/9999 à 99/99/9999"
Else
oGetPsq:oGet:Picture := "@!X"
oGetPsq:cPicture := "@!X"
EndIf
oGetPsq:VarPut( cProcura )
oGetPsq:Refresh() -
REDEFINE GET oGet VAR cSenha ID 4004 Of oScr UPDATE FONT oFont COLOR CLR_WHITE,CLR_RED ACTION SUAFUNCAO("PARA LIBERAR VISUALIZACAO") BITMAP "SEU_BMP_OLHO.Bmp"
-
Valdir então não faça assim, crie uma tabela apenas com DOIS campos sendo:
ID CARACTER TAMANHO: 2
CHECK CARACTER TAMANHO: 1
Desta forma a tabela terá apenas dois campos porem pra cada identificador (ID) terá um registro. Deixe como chave principal da tabela o ID. Pra saber se está com CHECK basta fazer um SEEK nesta tabela pelo ID e se existir vc verifica se o campo CHECK está preenchido. Se estiver preenchido ele está com o CHECK e se nao existir ou estiver em branco está SEM CHECK.
Não crie a tabela desta forma que está fazendo não, é muito mais complicado pra se manter assim. É minha dica.
Assim não teria que ter mais um campo então,um ID para o operador (Codigo do Usuario)? assim poderia checar o acesso para cada usuário.
ID_OP Space(02)
ID_CHK, Numeric 4 0
CHECK Logical
-
Olá Beto.
Obrigado, o Márcio (VRB) já me conseguiu, Valeu!Eu não sabia marcar como "RESOLVIDO" rsrsrsrsrsrs
Um abraço,
Alexandre Pereiraolá!! que bom que conseguiu.... será que vc pode compartilhar... ronecoura@gmail.com
obgdão!!!
-
- Bom dia, achei mais essa variavel perdida cTelefoneEmpresa tem que retirar ou carregar ela, execitei como ADM o zap estava setado em outro usuario, setou para o usuário que enviei ( ou enviaria ) a mensagem, porem não carregou a mensagem.
Avançando....
HASA
as variaveis vc desconsidera,coloque a sua,pois são que adaptei para o meu sistema. onde pega o nome da empresa onde esta instalado osistema...
cNomeEmpresa := nome da empresa.... assim vai
-
Adaptei a rotina abaixo e funciona... só que este usa whatsapp no navegador...
Function RLIWhatsapp( cPara, cMens )
**************************
Local oShell,wCodCli,lSair,lOk
DEFAULT cMens := "Vem nos Visitar... Estamos lhe esperando..."
If !IsInternet()
MsgInfo("Necessário Uma Conexão com Internet !"+CRLF+"Operação cancelada")
Return(.f.)
EndifcPara:=cPara
cNome:="RL Informatica"
CursorWait()
nSegs:=0
cSair:='S'
If empty(nSegs)
nSegs:=15 // 10 segundos
EndifcPara:=AjustaFone( cPara )
If Empty( cPara )
MsgInfo("Número do telefone de "+cNome+" inválido, verifique!")
return(.f.)
endifcHora:=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 *"+AllTrim(cNomeEmpresa)+"* tem um recado para voce!"
oShell:= CreateObject( "WScript.Shell" )
oShell:run("https://web.whatsapp.com/send?phone="+cPara)
WaitSeconds(nSegs)
oShell:sendkeys("~")
WaitSeconds( 3 )
oShell:SendKeys(".......")
WaitSeconds( 3 )
oShell:sendkeys(" _"+AllTrim(cCabc)+"_ ") ; WaitSeconds( 3 ) ; oShell:SendKeys("~") ; WaitSeconds( 1 )
oShell:sendkeys(AllTrim(cMens)) ; WaitSeconds( 3 ) ; oShell:SendKeys("~") ; WaitSeconds( 1 )
oShell:sendkeys("*Nosso contato: _"+cTelefoneEmpresa+"_*") ; 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 -
@HASA conseguiu resolver ?
-
fiz tamb este teste ai, e fica da mesma forma que o do HASA.... esta certo ou errado?
-
Tmb não consigui usar essa rotina, testei de varias maneiras... +55, 55, com DDD sem DDD, com zero antes do DDD sem zero... sempre acontece o que o amigo disse... envia a msg para o que esta em foco (aberto), ou seja, a rotina acima, não consegue buscar o celular e abrir a conversa para este....
-
vlw, @Jmsilva
talvez não tenha entendido, mas a questão é que o Usuário vai digital em um campo de pesquisa, ora o usuário digita José Antônio, ora vai digitar Jose Antonio, para fazer a pesquisa, e gostaria que o sistema retornasse a pesquisa entendendo que a mesma pessoa, independente da acentuação... Então penso que ao digitar com acentuação, o sistema teria que converter os caracteres sem a acentuação e fazer a pesquisa....
-
Boa noite, e ótimo carnaval a todos......
como posso verificar em uma pesquisa qdo o usuário digita palavras com acentuação ou sem acentuação, exemplo, uma pesquisa de cliente onde o usuário pode digita:
José Antonio... , Jose Antônio... , Jose Antonio...
sendo que muitas vezes se trata da mesma pessoa, ou ainda queremos mostrar todos os José Antônio, independente da acentuação...
existe alguma função que permita comparar a string sem acentuação?
-
boa @Rogerio Figueira, vlw... sempre uso tmb, mas é que surgiu essa duvida mesmo, e queria saber de vcs a opnião, vlw....
-
Pode parecer besta, mas me surgiu essa questão....
o que muda em relação ao funcionamento do sistema no cliente, com relação a velocidade, memória, algo assim... se criarmos a variaves da seguinte formas :
* Variaveis de todos os botoes de um certo dialog
aBtn_Dlg1[5] ==> ou seja são cinco botoes cada um utilizando no fonte aBtn[1], aBtn[2], aBtn[x]
ou
aBtn_Dlg_1, aBtn_Dlg_2, aBtn_Dlg_3, aBtn_Dlg_4, aBtn_Dlg_4
-
-
Já pensou em usar o Mikrotik?
Se bem configurado parece que o sistema está sendo rodado localmente.
oi, não conheço e nunca ouvi falar.... rsrsrsrs
Pode por favor passar mas informação, onde baixar, é gratuito ou não, e a configuração como seria?
obgdão!!!
-
Valeu Pessoal, muito obgdo... Entendo que a solução viável seria transforma tudo para SQL, porem sem condição no momento, por isso pensei em uma solução mais rápido... Já que o cliente esta enchendo o saco... rsrsrsrsrsrs
@marcioe contratando a VPN direto com provedor de internet melhora a velocidade (trafego) do arquivo DBF?
-
Bom dia!!!
Alguem já utilizou o hamachi para conexão entre dois locais (loja) em cidades diferentes? fiz um teste e funcionou, porem achei muito lento, queria saber se alguem conhece sabe se tem como melhorar a velocidade, se é configuração ou não da certo para utilizar em nossos sistema...
Pensei em utilizar o hamachi para conexão por utilizar em meus sistemas banco de dados DBF´s + CDX ainda...
* existe algum perigo para os dados em usar com hamachi, tipo corromper dados, algo assim...
VlW!!! Fkem com Deus!!!
-
FastReport - Erro em impressa ao mandar imprimir
in Programação
Posted
Vai chute? Tamanho do Papel esta "setado" como? A4, A5, Personalizado? Verifique as Margens tmb...