Jump to content
Fivewin Brasil

EDUTEK

Membros
  • Posts

    340
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by EDUTEK

  1. Bom Dia! Como faço para mostrar uma dialogo por n tempo num xbrowse? eu já uso o DEFINE TIMER mas como que eu faço para a dialog ficar visível e depois de "n" tempo fechar automaticamente, sem ação do usuário. pois será um painel tipo aeroporto, o xbrowse ele já atualiza, tenho 2 xbrowse ( Veiculos em manutenção e Veiculos Liberados) eu gostaria de mostrar quando um veiculo fosse liberado, mostrar um dialogo por alguns segundos com os ultimos veiculos liberados e depois fechar automaticamente. alguém sabe como faço isso ?
  2. Meu sentimentos a Familia, Deus dê conforto a todos os Amigos e Familiares....
  3. no SAC do Sefaz-MS fiz e deu certo ".... Vários contribuintes que utilizam o sistema operacional Windows 10 (ou 2012) estão tendo problemas, e até impedimentos, para emitir Nota Fiscal Eletrônica - NF-e e Nota Fiscal do Consumidor Eletrônica - NFC-e. Avalia-se que o problema seja decorrente de atualizações desse sistema operacional. Para explicações sobre o erro de sistema, bem como orientações para correções pela própria empresa responsável pelo sistema operacional, a Microsoft orienta os contribuintes a entrarem em contato, individualmente no telefone 0800 761 7454. Como medida paliativa, seguem alguns procedimentos que, se executados corretamente, devem resolver o problema pelo menos de temporariamente. Procedimentos: 1) Faça o download do arquivo: http://redeicp.blob.core.windows.net/downloads/InstaladorCadeiaV2.exe 2) Pressione as teclas Windows + R (ou Iniciar > Executar); 3) Digite certlm.msc e clique OK, na mensagem de confirmação clique em Sim; 4) Na janela que abrir, no menu esquerdo selecione a pasta “Autoridades de Certificação Raiz Confiáveis” depois selecione a pasta “Certificados”; 5) Do lado direito, selecione todos os certificados (CTRL+A) e delete. Na mensagem de confirmação, clique em Sim; 6) Novamente do lado esquerdo selecione a pasta “Autoridades de Certificação Raiz de Terceiros” depois selecione a pasta “Certificados”; 7) Do lado direito, selecione todos os certificados (CTRL+A) e delete. Na mensagem de confirmação, clique em Sim; 8) Abra o arquivo baixado no início e clique em Instalar para reinstalar os certificados. 08/04/2019 ..."
  4. alguém descobriu o que é esse erro ? e como resolver ?
  5. Fui fazer aqui no meu sistema também deu erro, nem consultar o webservice via browse estou conseguindo. O site nfe.sefaz.ms.gov.br geralmente usa criptografia para proteger suas informações. Quando o Google Chrome tentou se conectar a nfe.sefaz.ms.gov.br dessa vez, o website retornou credenciais incomuns e incorretas. Isso pode acontecer quando um invasor está fingindo ser nfe.sefaz.ms.gov.br ou quando uma tela de login por Wi-Fi interrompeu a conexão. Suas informações ainda estão protegidas, porque o Google Chrome interrompeu a conexão antes que os dados fossem trocados. Não é possível acessar nfe.sefaz.ms.gov.br no momento, porque o website enviou credenciais codificadas que o Google Chrome não pode processar. Ataques e erros de rede geralmente são temporários. Portanto, essa página provavelmente funcionará mais tarde.
  6. Boa tarde Eu uso o SQLRDD no meu projeto principal para coletar dados e gerar relatórios auxilares e pequena atualizações no ERP da empresa, agora vou precisar monta um outro sistema de Coletar de dados e emissão de relatorios mas não poderei usar o SQLRDD. Qual a melhor maneira de fazer isso para conectar no Oracle e no SQLServer ? alguém tem algum exemplo. no meu sistema mesmo usando o SQLRDD procuro usar para incluir, alterar e exlcuir os comando SQL já conforme rotina function grava_dados(_acao,_atabela,_aCampo,_adados, _alias, _logs) __logs := iif(_logs=nil,"N",_logs) &&& Não vai gravar log por um periodo __alias := iif(_alias=nil,_aTabela,_alias) __qtdeReg := len(_aCampo) __tabela := _atabela __acao := _acao if __acao = "I" if _sql() _idLanc := pega_idlanc() cSql := "INSERT INTO "+ __TABELA +" (" for i = 1 to __qtdeReg __Campo := _aCampo[i] cSql += __Campo +", " next cSql += "idlanc" cSql += ") VALUES ( " for x = 1 to __qtdeReg __Dados := _aDados[x] cSql += SR_cDBValue( __Dados ) +", " next cSql += SR_cDBValue( _idlanc )+") " __atual := ajusta_type_dados(__dados) _log_item += "Coluna :"+__Campo+" > Conteudo ["+rtrim(__atual)+"]. "+chr(13)+chr(10) proc_sql(cSql) &__tabela->( SR_DBRefresh() ) else dbselectarea(__alias) if appendrec() for i = 1 to __qtdeReg __Campo := _aCampo[i] __Dados := _aDados[i] if __logs = "S" __atual := ajusta_type_dados(__dados) _log_item += "Coluna :"+__Campo+" > Conteudo ["+rtrim(__atual)+"]. "+chr(13)+chr(10) endif &__alias->&__campo := __dados next if __logs = "S" _log_item += "Coluna : idlanc > Conteudo ["+rtrim(_idlanc)+"]. "+chr(13)+chr(10) endif &__alias->idlanc := _idlanc endif &__alias->( dbcommit() ) &__alias->( dbunlock() ) endif elseif __acao = "A" if _sql() dbselectarea(__alias) _idlanc := &__alias->idlanc cSql := "UPDATE "+ __TABELA +" SET " for i = 1 to __qtdeReg __Campo := _aCampo[i] __Dados := _aDados[i] if i = __qtdereg cSql += __Campo +" = " + SR_cDBValue( __Dados ) +" " else cSql += __Campo +" = " + SR_cDBValue( __Dados ) +", " endif __atual := ajusta_type_dados(__dados) __anterior := ajusta_type_campo(__dados,__campo) if __atual <> __anterior _log_item += "Coluna :"+__Campo+" > de ["+rtrim(__anterior)+"] para ["+rtrim(__atual)+"]. "+chr(13)+chr(10) endif next cSql += "WHERE nrecno ="+SR_cDBValue( mRegistro )+" " proc_sql(cSql) &__alias->( SR_DBRefresh() ) else dbselectarea(__alias) if travareg() _idlanc := &__alias->idlanc for i = 1 to __qtdeReg __Campo := _aCampo[i] __Dados := _aDados[i] if __logs = "S" __atual := ajusta_type_dados(__dados) __anterior := ajusta_type_campo(__dados,__campo) if __atual <> __anterior _log_item += "Coluna :"+__Campo+" > de ["+rtrim(__anterior)+"] para ["+rtrim(__atual)+"]. "+chr(13)+chr(10) endif endif &__alias->&__campo := __dados next endif &__alias->( dbcommit() ) &__alias->( dbunlock() ) endif elseif __acao = "X" dbselectarea(__alias) _idlanc := &__alias->idlanc if _sql() cSql := "DELETE FROM "+__tabela + " " cSql += "WHERE nRecno = "+SR_cDBValue( mRegistro ) + " " proc_sql(cSql) &__alias->( SR_DBRefresh() ) else dbselectarea(__alias) if travareg() &__alias->( dbdelete() ) endif &__alias->( dbcommit() ) &__alias->( dbunlock() ) * &__alias->( dbSkip(0) ) endif if __logs = "S" for i = 1 to __qtdeReg __Campo := _aCampo[i] __Dados := _aDados[i] __atual := ajusta_type_dados(__dados) _log_item += "Coluna :"+__Campo+" > Conteudo ["+rtrim(__atual)+"]. "+chr(13)+chr(10) next endif else if _sql() dbselectarea(__alias) _idlanc := &__alias->idlanc cSql := "UPDATE "+ __TABELA +" SET " for i = 1 to __qtdeReg __Campo := _aCampo[i] __Dados := _aDados[i] if i = __qtdereg cSql += __Campo +" = " + SR_cDBValue( __Dados ) +" " else cSql += __Campo +" = " + SR_cDBValue( __Dados ) +", " endif __atual := ajusta_type_dados(__dados) __anterior := ajusta_type_campo(__dados,__campo) if __atual <> __anterior _log_item += "Coluna :"+__Campo+" > de ["+rtrim(__anterior)+"] para ["+rtrim(__atual)+"]. "+chr(13)+chr(10) endif next cSql += "WHERE nrecno ="+SR_cDBValue( mRegistro )+" " proc_sql(cSql) &__alias->( SR_DBRefresh() ) else dbselectarea(__alias) if travareg() _idlanc := &__alias->idlanc for i = 1 to __qtdeReg __Campo := _aCampo[i] __Dados := _aDados[i] if __logs = "S" __atual := ajusta_type_dados(__dados) __anterior := ajusta_type_campo(__dados,__campo) if __atual <> __anterior _log_item += "Coluna :"+__Campo+" > de ["+rtrim(__anterior)+"] para ["+rtrim(__atual)+"]. "+chr(13)+chr(10) endif endif &__alias->&__campo := __dados next endif &__alias->( dbcommit() ) &__alias->( dbunlock() ) * &__alias->( dbSkip(0) ) endif endif __tab := __alias if __logs = "S" log_cones(__acao, __tabela, _idLanc ) endif dbselectarea(__tab) return .t. e passo os parâmetro desta forma grava_dados("A","cfg_prog", { "dtimpcte", "hrimpcte" }, { mdtHoje, mhrHoje }, alias(), "N") ta meio confuso mas ele monta certinho para gravar tanto em tabelas DBF quando em tabelas SQL. mas meu foco seria como fazer isso sem o SQLRDD. se alguem tiver algum exemplo...
  7. Boa tarde Tenho um um painel que fica numa maquina, que mostra a meta diaria, o faturamento e o saldo @ 241,01 SAY oSay7 VAR mTextoSaldo SIZE mtamdlg,40 CENTERED PIXEL FONT Arial28B update transparent adjust OF oDlg; COLORS CLR_BLACK,CLR_GRAY @ 281,01 SAY oSay8 VAR mValorSaldo SIZE mtamdlg,40 CENTERED PIXEL FONT Arial50B update transparent adjust OF oDlg; COLORS CLR_RED,CLR_GRAY mTextoSaldo := iif(fat_dia->saldo>0,"PARABÉNS ULTRAPASSAMOS A META DIARIA EM" ,"PRECISAMOS ATE AS 23:59 PARA CUMPRIR A META") mValorSaldo := transform(fat_dia->saldo,"R$ 999,999.99") como faço para trocar a cor do "mValorSaldo" quando o pessoal Bater a meta. Vermelho quando for < que a meta azul quando for maior que a meta eu atualizo a cada 3 minutos este painel ACTIVATE DIALOG oDlg CENTERED ON INIT (odlg:SetFocus(), oTimer:activate()) VALID(oDlg:End(), oTimer:Deactivate(), .t.)
  8. ok obrigado vou dar uma analizada
  9. Bom Dia Ainda estou tendo problemas com a Mensagem "nao respondendo", na questao da movimentação, inclusão e alterações não tive mais problemas se o usuario esta usando o sistema ele não trava. estou com o problema assim, quando o usuário abre o sistema e deixa ele num "browse" qualquer, ai nao usa e vai em outra aplicação ou na web, quando ele volta para usar o sistema ele fica congelado com a mensagem "não respondendo." ai o usuário tem que fechar o programa via gerenciador de tarefas, e abrir novamente. isso ocorre várias vezes ao dia uso tabela DBFCDX ta na rede FWH18.05 bcc 7.3 a maioria com win 10 as que tem win 7 não tenho muito problema
  10. beleza vou implementar no meu
  11. como eu faria um DBSEEK usando comando SQL e retornando .t. ou .f.
  12. na classe faz esse ajuste METHOD StruFatura(oitem) CLASS TVoNFe2G local axArray := {} aadd(axArray, {"nFat" , TVoNFeItem():New("C", 1, 1, 60, 0, ,oItem:nFat ) } ) aadd(axArray, {"vOrig" , TVoNFeItem():New("N", 1, 15,15 , 2,,oItem:vOrig ) } ) aadd(axArray, {"vDesc" , TVoNFeItem():New("N", 1, 15,15 , 2,,oItem:vDesc ) } ) aadd(axArray, {"vLiq" , TVoNFeItem():New("N", 1, 15,15 , 2,,oItem:vLiq) } ) return( axArray ) ele grava o Vdesc mesmo com valor 0.00, no meu antes estava gravando só se o Vdesc fosse # de zero, ai ajustei ele gravou com ZERO, e parou de dar o erro.
  13. eu uso duas forma uma usando o PARSE E OUTRA SQL PURO. FUNCTION EXECUTA_SQL(cComm, cAlias, cTABELA) LOCAL oSql, nerr, nPos aTabela := iif(ctabela=nil,mPreDbf1,cTabela) aTabela := mlocal_path + "\temp\"+aTabela nerr := npos := "" apCode := SR_SQLParse( cComm, @nErr, @nPos ) oSql := SR_GetConnection() cComm := SR_SQLCodeGen( apCode,, oSql:nSystemID ) nerr := osql:exec( cComm,,.t.,,aTabela,cAlias) RETURN .T. FUNCTION EXECUTA_SQL_PURO(cComm, cAlias, cTABELA) LOCAL oSql, nerr, nPos aTabela := iif(ctabela=nil,mPreDbf1,cTabela) aTabela := mlocal_path + "\temp\"+aTabela nerr := npos := "" oSql := SR_GetConnection() nerr := osql:exec( cComm,,.t.,,aTabela,cAlias) RETURN .T.
  14. vc use o "parse" para execuar a instrução ?
  15. meu email é edutek68@uol.com.br
  16. qual é o produto ? pois a remessa eu gero ma mão mesmo. o negócio é os boletos.
  17. Bom Dia ! Minha duvida é o seguinte, usando o ACBRBoleto, eu poderia ter uma unica instalação no servidor, e usar para mais de uma empresa e cada uma com bancos e cobranca diferentes. ou teria que fazer 2 instalação no servidor do acbr, uma para cada empresa. grato
  18. segue o meu codigo que consegui fazer funcionar function envianovo(mUsuario,mSenha,mArqxml) LOCAL hquery TRY oUrl = TUrl():New( 'http://www.averbeporto.com.br/websys/php/conn.php' ) CATCH CurSorArrow() MsgInfo('Erro ao criar a conexão','Erro') RETURN(.F.) END IF !EMPTY( oUrl ) oCli = TIPClientHttp():New( oUrl ) IF !EMPTY( oCli ) oCli:nConnTimeout = -1 IF oCli:Open() hQuery := hb_hash() // Reseto a variavel hQuery["mod"] := "login" hQuery["comp"] := "5" hQuery["user"] := mUsuario && "XXXXX" hQuery["pass"] := mSenha && "xxxx" oCli:cUserAgent:='Mozilla/3.0 (compatible; Indy Library)' IF !oCli:PostMultiPart(hQuery) CurSorArrow() MsgInfo(oCli:lastErrorMessage,'Erro') ELSE cNFSeResp :=oCli:ReadAll() RespC := oCli:GetCookies() // Captura cookie ENDIF ENDIF ENDIF ENDIF If Alltrim(cNFSeResp) == '{"success":1,"logout":1}' CurSorArrow() oCli:Close() MsgBeep() MsgAlert("Não foi possível conectar ao site de averbação!","Atenção") Return("") Endif //" Faz o upload do xml para averbação oCli:Close() oCli = TIPClientHttp():New( oUrl ) IF !EMPTY( oCli ) oCli:nConnTimeout = -1 IF oCli:Open() ocli:SetCookie( respc ) hQuery := hb_hash() // Reseto a variavel hQuery["comp"] := "5" hQuery["mod"] := "Upload" hQuery["path"] := "eguarda/php/" hQuery["recipient"] := "" LocXml := mArqXML If !File(LocXml) CurSorArrow() MsgBeep() MsgAlert("Xml do cte não localizado!","Atenção") oCli:Close() Return("") Endif ArqAtach := LocXml oCli:cUserAgent:='Mozilla/3.0 (compatible; Indy Library)' oCli:Attach("file",ArqAtach) IF !oCli:PostMultiPart(hQuery) CurSorArrow() MsgInfo(oCli:lastErrorMessage,'Erro') ELSE Respchave:=oCli:ReadAll() ENDIF ENDIF ENDIF If Substr(Alltrim(Respchave),1,12) == '{"success":0' CurSorArrow() oCli:Close() MsgBeep() MsgAlert("Não foi possível fazer o upload do arquivo xml!","Atenção") MsgAlert(Repchave) Return("") Endif // Busca número do protocolo RespPosi := At("prot",Respchave) RespPosi := Respposi + 7 RespProt := Substr(Respchave,RespPosi,40) oCli:Close() CurSorArrow() return(RespProt)
  19. Beleza pura, nos primeiros teste funcionou! Valeu vou testar mais um pouco.
  20. o Kapi onde tem a ultima versão dele, também estou procurando para substituir o Cobrebem.
  21. abri um chamado na porto seguro, vou aguardar o retorno.
×
×
  • Create New...