Jump to content
Fivewin Brasil

sistem

Membros
  • Posts

    561
  • Joined

  • Last visited

  • Days Won

    25

Posts posted by sistem

  1. Function test()
    Local A1, A2, B1, B2, x1, z1, aVetor:=array(200)
    
      A1 := "00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|"
      B1 := "36|44|16|81|12|03|50|67|85|40|01|03|07|26|20|88|64|35|24|12|13|14|95|43|47|07|77|76|40|16|10|12|14|18|30|81|51|15|21|01|99|67|60|43|40|15|45|12|70|16|02|04|11|16|31|24|08|12|10|12|00|58|05|30|14|35|45|44|73|03|24|30|43|79|06|25|34|03|14|38|00|83|17|30|70|40|12|07|71|42|92|09|47|78|14|44|07|04|02|20|03|08|36|31|55|50|60|46|02|07|00|03|09|33|55|12|91|24|69|83|05|23|51|14|50|03|00|83|79|48|00|03|08|14|17|23|48|50|83|51|03|12|27|39|45|48|58|66|72|96|07|11|16|18|40|42|51|73|88|52|03|16|17|20|33|36|46|63|68|94|50|66|33|17|56|12|03|81|00|46|28|14|47|94|03|22|98|10|19|25|02|07|10|13|16|32|36|37|54|58|09|12|68|19|58|59|32|14|00|30|34|16|50|39|14|00|19|55|90|13|03|19|27|87|93|96|21|07|13|22|03|23|34|42|46|50|52|56|82|12|48|12|02|86|82|01|20|99|07|34|38|00|12|67|96|36|00|61|03|08|07|99|14|15|84|08|11|45|29|41|03|09|12|15|29|33|48|52|58|72|53|35|11|97|40|12|14|25|30|09|03|57|11|48|49|17|74|12|23|18|09|17|14|20|80|32|48|58|38|07|25|16|42|17|00|09|83|99|26|14|93|78|64|03|59|55|16|35|71|67|14|19|69|61|00|96|07|85|36|56|69|73|09|03|50|54|49|64|59|79|24|32|38|03|51|66|33|20|96|77|55|88|12|95|46|67|08|23|75|13|00|54|55|33|43|58|75|25|26|12|69|73|34|54|50|03|09|00|19|51|12|15|28|30|38|46|50|24|84|86|11|16|81|05|13|11|69|25|15|83|10|20|36|45|16|21|27|08|11|29|16|21|32|48|50|62|68|70|11|20|69|49|90|76|89|88|71|12|62|27|47|58|12|90|37|88|96|19|70|69|00|21|43|68|16|97|20|55|71|90|79|03|04|44|79|35|83|71|19|56|00|03|08|09|19|27|33|44|53|73|17|20|37|44|97|04|57|63|87|14|00|22|33|44|66|66|16|16|41|57|06|10|20|15|30|12|04|19|60|70|08|14|22|28|32|44|56|68|71|83|03|05|15|22|37|48|61|71|79|99|46|49|93|58|69|04|55|16|52|18|00|02|07|19|79|81|09|11|09|35|04|07|19|24|32|55|65|39|46|60|03|15|23|34|37|43|54|65|73|86|49|67|33|28|12|65|04|25|02|44|31|08|12|52|74|96|55|60|72|80|03|10|19|33|39|56|15|64|72|78|33|26|56|94|85|56|74|20|42|07|72|92|03|97|40|01|88|51|10|06|06|10|99|00|03|79|13|32|49|47|03|09|10|13|19|24|41|46|50|73|07|17|27|37|47|57|67|77|87|97|25|32|42|40|50|07|27|84|61|64|00|03|09|17|21|32|50|54|59|79|08|17|07|55|64|88|22|75|11|09|81|79|95|59|32|12|24|55|49|05|29|44|49|98|12|09|64|90|69|21|61|50|55|66|98|00|03|43|56|83|14|55|71|89|28|05|66|36|44|98|04|08|16|20|36|45|68|80|88|99|06|14|27|30|40|45|54|15|65|72|13|16|18|21|23|28|44|46|68|88|19|18|03|29|10|05|13|41|09|32|03|00|05|69|83|00|79|50|76|33|07|27|38|44|00|00|99|69|31|73|10|12|20|21|24|25|33|89|50|65|24|48|43|35|33|39|70|12|36|67|09|14|20|24|36|40|57|83|60|96|21|01|12|04|19|63|05|27|35|93|79|02|93|12|50|40|21|97|32|63|17|11|81|12|05|50|20|70|00|99|05|07|09|10|19|20|39|51|59|79|66|88|33|19|17|77|99|02|22|07|03|02|33|00|17|19|37|38|94|95|88|14|98|05|86|39|32|36|50|49|03|21|32|44|57|63|62|31|13|24|03|03|50|83|00|37|79|23|51|48|69|20|14|29|99|75|10|09|32|36|05|14|23|43|48|50|69|79|83|00|03|10|19|50|24|27|36|65|70|99|18|39|49|73|98|44|35|13|16|63|03|23|45|54|00|55|29|31|25|52|07|09|13|25|40|55|65|77|00|98|50|45|00|19|09|69|03|39|76|24|16|21|50|61|61|73|73|86|62|51|51|50|62|99|05|14|06|19|73|59|49|69|18|44|00|20|90|66|12|17|14|19|34|72|51|77|81|97|93|87|03|13|33|34|52|57|62|66|83|99|05|13|16|18|22|33|44|58|72|98|97|94|66|69|44|45|09|33|07|31|17|37|71|54|08|51|20|54|12|00|66|40|71|96|12|36|52|10|84|91|03|11|20|34|40|55|60|64|75|94|14|20|72|61|97|82|36|86|17|43|23|54|43|95|16|99|79|69|19|18|02|12|13|19|38|49|55|68|76|91|19|36|16|37|44|57|62|77|81|99|03|11|17|25|31|49|69|82|73|95|01|02|12|19|37|38|49|18|48|00|74|33|00|48|51|96|18|24|07|09|69|00|03|50|85|33|43|08|44|21|33|25|28|29|98|00|14|83|13|33|03|03|17|31|54|51|58|79|85|97|06|18|20|44|50|66|43|78|94|14|23|57|76|28|19|56|07|22|87|69|73|79|40|55|98|03|23|25|86|93|43|87|66|09|37|28|06|02|14|10|04|16|22|41|20|36|31|66|27|45|00|03|24|44|50|49|51|69|79|96|12|23|40|64|67|20|56|97|06|26|02|03|10|11|52|20|50|23|26|56|00|98|33|19|05|65|40|69|45|14|98|44|64|71|12|88|73|37|19|85|02|16|36|29|51|73|59|32|69|41|73|94|45|89|55|60|02|07|98|51|04|01|02|12|19|37|38|49|18|48|87|99|24|03|56|82|43|00|92|45|64|34|42|12|54|63|37|27|72|67|63|24|45|55|85|20|18|08|03|37|36|11|07|44|99|00|77|65|88|67|75|26|79|14|32|15|83|18|84|02|03|32|33|45|59|63|73|83|84|00|12|24|36|44|54|66|70|82|89|92|01|06|08|15|18|19|24|44|50|70|09|19|29|39|49|59|69|79|89|99|77|35|27|83|41|21|22|23|24|20|00|70|69|99|36|08|01|19|47|72|08|13|10|24|33|50|59|84|97|99|01|08|19|20|36|47|65|70|99|00|04|08|11|23|32|72|56|97|99|51|79|80|90|35|05|08|06|24|71|19|05|11|22|35|31|51|98|18|55|63|05|22|26|62|68|94|33|90|99|00|48|60|33|56|29|13|17|71|86|86|23|56|30|44|47|17|20|76|89|84|95|57|93|97|53|73|37|35|39|59|08|86|27|80|93|54|09|40|15|57|78|19|34|37|66|27|18|05|09|93|00|19|34|24|44|93|69|77|37|54|10|20|18|36|40|70|80|90|50|60|29|34|37|42|43|51|53|65|72|93|30|10|17|28|84|02|24|42|40|94|01|10|19|20|40|60|45|65|75|91|39|40|44|19|00|99|87|34|56|55|33|13|84|24|97|32|59|04|19|28|63|57|11|15|64|25|26|76|98|28|47|11|19|13|60|84|06|73|27|36|00|33|59|91|92|01|02|50|20|21|02|25|45|74|76|52|61|85|54|35|01|09|19|18|23|24|35|45|70|87|06|09|10|28|58|67|69|00|20|42|34|47|96|59|08|42|50|76|43|79|06|09|13|30|47|23|58|43|60|04|02|19|25|33|46|56|72|77|88|96|38|40|35|34|18|32|68|41|52|86|44|17|22|30|52|69|88|90|96|70|93|34|85|87|17|19|51|77|97|81|69|72|86|71|73|36|21|33|74|32|02|10|19|20|31|36|47|87|99|70|04|09|11|19|23|27|38|58|72|84|01|10|18|19|23|29|35|45|70|99|15|25|42|61|10|17|27|00|19|50|13|55|59|62|67|78|85|23|27|00|22|33|59|68|20|56|34|21|95|09|22|45|00|54|71|60|50|80|70|90|32|34|37|62|64|54|77|78|00|92|72|76|86|87|90|64|67|06|19|24|86|78|63|98|52|38|89|76|96|54|10|21|98|28|02|77|64|42|26|30|09|10|18|77|88|67|29|65|33|99|09|17|19|23|33|45|49|69|75|65|01|09|19|36|45|50|64|70|87|99|69|99|29|22|79|50|66|00|20|05|04|06|19|24|26|32|45|52|70|73|11|27|29|26|94|06|67|84|06|57|75|85|78|92|25|62|58|53|23|46|17|36|23|60|73|37|85|27|35|30|19|20|21|22|26|27|29|30|33|34|78|99|59|76|15|00|21|06|10|67|00|97|72|68|11|40|50|81|25|36|11|40|90|68|00|33|25|73|02|35|00|51|71|36|27|37|44|56|23|97|09|19|53|59|38|66|00|79|52|90|79|53|27|00|84|15|19|66|10|42|54|48|68|78|69|79|89|90|39|08|08|15|26|41|73|99|98|31|32|55|02|05|08|11|27|29|33|68|72|72|00|33|44|55|66|88|77|89|34|67|31|49|95|43|10|34|68|18|86|45|46|24|21|77|99|79|80|61|88|01|20|00|74|68|31|13|01|92|20|34|99|00|69|79|64|04|19|33|70|55|02|05|19|20|21|69|56|59|74|63|55|72|45|69|95|98|52|20|58|22|30|00|10|15|18|59|17|49|73|55|08|01|19|66|77|44|22|23|33|88|58|52|45|19|41|36|10|72|09|89|09|17|28|39|45|57|64|68|85|92|13|93|62|38|11|46|70|51|69|66|63|35|11|27|36|56|48|43|30|18|54|36|54|73|42|73|80|94|17|56|42|33|15|72|36|19|64|23|45|22|19|20|23|32|50|55|54|81|82|99|36|72|09|69|47|21|02|11|51|25|89|24|79|23|39|34|22|06|37|47|01|45|44|19|98|86|99|73|09|08|57|75|17|85|59|15|79|87|56|58|06|11|19|21|36|54|59|63|80|81|95|97|29|32|70|38|40|50|83|52|00|61|75|28|04|30|51|19|33|39|42|58|34|28|25|19|60|11|09|00|09|04|13|21|56|10|79|26|58|32|40|36|06|46|91|96|71|74|93|97|22|32|45|54|58|52|51|77|37|20|18|94|31|11|09|30|70|90|00|59|19|33|00|25|74|42|24|83|15|54|27|34|13|25|43|96|79|65|51|05|95|50|86|39|89|36|58|79|32|85|10|30|50|33|60|71|98|18|79|80|81|93|94|37|89|44|53|31|61|36|02|08|17|18|13|21|29|36|47|63|08|23|10|11|96|69|26|21|47|80|54|31|51|33|22|27|61|56|77|71|13|74|27|01|18|80|79|99|43|24|56|86|49|54|64|20|90|17|59|44|44|68|60|43|63|23|13|88|08|30|54|76|62|42|00|45|72|05|57|56|11|24|27|90|00|59|68|19|05|59|65|44|54|49|33|86|75|64|37|57|38|79|42|19|27|76|67|72|24|83|00|79|76|33|95|50|37|19|76|59|52|72|09|42|91|35|19|88|69|13|01|20|33|36|54|60|09|58|77|19|32|02|56|59|78|39|32|79|06|37|32|02|56|59|96|86|38|37|15|34|02|06|09|11|23|52|61|65|66|72|08|20|23|25|31|45|50|60|70|00|00|06|36|40|32|52|84|56|48|90|02|10|15|39|46|50|66|83|96|98|02|09|19|20|32|49|29|79|59|22|05|17|21|29|35|42|45|59|64|68|45|93|69|94|50|60|86|19|21|25|"
    
      For x1=1 to Len(A1)/3
         A2 := Subs(A1,(x1*3)-2,2)
         aVetor[Val("1"+A2)]=0
         For z1=1 to Len(B1)/3
            B2 := Subs(B1,(z1*3)-2,2)
            If A2 = B2
               aVetor[Val("1"+A2)]++
            Endif
         Next
      Next
    
      For x1=1 to Len(A1)/3
          A2 := Subs(A1,(x1*3)-2,2)
          If aVetor[Val("1"+A2)] > 0
             ? A2+" = "+str(aVetor[Val("1"+A2)])+" vezes"
          Endif
      Next
    
    Return nil
    

    é para contar quantos do conjunto A1 esta contido no conjunto B1 (agrupando)?

    uma curiosidade para que o amigo usa isto?

  2. Function test()
    Local cAchou:="", cNaoAchou:="", A1, B1, A2, B2, x1, z1, lOk
    
      A1 := "11|54|92|78|41|13|64|38|00|04|"
      B1 := "11|78|64|04|"
    
      For x1=1 to Len(A1)/3
         lOk := .f.
         A2 := Subs(A1,(x1*3)-2,2)
         For z1=1 to Len(B1)/3
            B2 := Subs(B1,(z1*3)-2,2)
            If A2 = B2
               cAchou = cAchou + B2+"|"
               lOk := .t.
            Endif
         Next
         If !lOk
            cNaoAchou = cNaoAchou + A2+"|"
         Endif
      Next
    
      ? cAchou
      ? cNaoAchou
    Return nil
    

     

  3. Function test4()
      Local hWnd, oOle, cData, cUrl:="https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/cpf/ImpressaoComprovante/ConsultaImpressao.asp"
    
      TRY
       oOle:= CreateObject("InternetExplorer.Application")
    
       oOle:Visible    := .t.
       oOle:ToolBar    := .f.
       oOle:StatusBar  := .f.
       oOle:MenuBar    := .f.
    
       oOle:Navigate(cUrl)
    
       hWnd:=oOle:hWnd
       ShowWindow(hWnd, 1 )
       BringWindowToTop(hWnd)
    
       While oOle:Busy
         syswait(.5)
       End
    
      CATCH
      END
    
      cData := "01112017"
    
      TRY
       oOle := oOle:Document()
          oOle:All:Item("txtCPF",0):Value := "99999999999"
          oOle:All:Item("txtNome",0):Value := "AAAAAAAAAANOME"
          oOle:All:Item("txtDataNascimento",0):Value := cData
          oOle:All:Item("txtNomeMae",0):Value := "AAAAAAAAAAA"
          oOle:All:Item("txtTitulo",0):Value := "9999999999999"
          oOle:All:Item("Enviar",0):Focus()
          oOle:All:Item("Enviar",0):Click()
      CATCH
      END
    
      oOle := Nil
    
    Return nil

     

  4.  

    E já compartilharam a versão anterior que requer o captcha, segue anexo (imp.rar). O outro anexo (impnfenovo.rar) é o exe compilado que não requer captcha.
    Créditos do DANIEL da PCTOLEDO... http://www.pctoledo.com.br/forum/memberlist.php?mode=viewprofile&u=9

    A versão que não requer o captcha ele ainda não soltou o fonte.

    Acho que está escrito em XHarbour se alguém ai arriscar traduzir para o Delphi e quiser compartilhar estou na fila rsrs...imp.rar

     

     

    Acho que a versão que não precisa de captcha  do DANIEL soh esta funcionando por conta de um "erro" na sefaz deixando preencher a chave e consultar sem que seja precisos clicar em "não sou um robo"

    sefazrobo.jpg

    quando a sefaz perceber isto, talvez a versão do DANIEL (sem usar o captcha) nao funcione (espero que eu esteja errado )

    o codigo abaixo exibe a NFE sem precisar se clicar no "Nao sou um robô":

    Function NFeTest(cChave)
      Local hWnd, oOle, cUrl:="http://www.nfe.fazenda.gov.br/portal/consultaRecaptcha.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8="
    
      TRY
       oOle:= CreateObject("InternetExplorer.Application")
    
       oOle:Visible    := .t.
       oOle:ToolBar    := .f.
       oOle:StatusBar  := .f.
       oOle:MenuBar    := .f.
    
       oOle:Navigate(cUrl)
    
       hWnd:=oOle:hWnd
       ShowWindow(hWnd, 1 )
       BringWindowToTop(hWnd)
    
       While oOle:Busy
         syswait(.5)
       End
    
      CATCH
      END
    
      TRY
       oOle := oOle:Document()
          oOle:All:Item("ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta",0):Value := cChave
          oOle:All:Item("ctl00$ContentPlaceHolder1$btnConsultar",0):Focus()
          oOle:All:Item("ctl00$ContentPlaceHolder1$btnConsultar",0):Click()
      CATCH
      END
    
      oOle := Nil
    
    Return nil
    

     

  5.  

    ATENÇÃO PESSOAL Q USA A FSIST OU PENSA EM ADQUIRIR... ELA FOI DESCONTINUADA CONFORME TRECHO ABAIXO DO CRIADOR.

    A ultima versão disponibilizada pelo mesmo contempla as mudanças, PORÉM ele não dara mais continuidade e passou algumas informações importantes.

    Não estou mais trabalhando com desenvolvimento ou DLLs, mais tenho a última versão da DLL que ainda funciona.

    Estou lhe fornecendo essa última DLL sem custo, com as seguintes condições:

    • Não é possível prever por quanto tempo a página https://www.nfe.fazenda.gov.br/portal/consultaResumoCompletaAntiga.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8= continuará funcionando do jeito que está, por isso não é possível prever por quanto tempo a DLL continuará funcionando.
    • 100% de certeza que um dia o portal da fazenda irá mudar, então leve em consideração que a DLL depende completamente do portal da fazenda.
    • Caso não seja desenvolvedor, mude assim que possível para uma aplicação que utilize o webservice oficial da fazenda como (trecho removido não nos interessa)
    • Caso seja desenvolver, mude seu software para utilizar o webservice da fazenda, a lista de webservice e a documentação oficial está emhttps://www.nfe.fazenda.gov.br/portal/webServices.aspx?tipoConteudo=Wak0FwB7dKs=  https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=33ol5hhSYZk=
    • Não terei como dá nenhum tipo de suporte seja ele gratuito ou pago.
    • Não forneço e não vendo código fonte.
    • Não forneço e não vendo nenhum tipo de passo a passo ou tutorial de como programar DLLs, fazer integrações, etc...
    • Como a integração com o portal da fazenda é um trabalho interminável, talvez você ache justo pagar por um serviço que faz esse trabalho por você si possível. O serviço do qual mim refiro é do Roveri http://www.roveri.inf.br/site/ eu já testei a algum tempo atrás e funcionou, além de ter outras opções de consultas. A solução do Roveri é permitir a integração com outros softwares em algumas linguagens de programação como PHP, VB.NET, java mais parece fácil integrar com outras linguagens também (Não tenho vínculo e também não estou ganhando nenhum tipo de comissão por está informando sobre o roveri)

    carai.... amanha irei ver essa possibilidade => http://www.flexdocs.com.br/guiaNFe/WS.downloadNFWS.html

  6. usando DLL flex docs + DLL fsist  (para marcelo.silva )

    obs: uma amigo do forum que nao lembro o nome publicou boa parte do codigo abaixo:

    #include 'fivewin.ch'
    #include 'hbdll.ch'
    
    #define CLR_DIALOGS RGB( 123, 140, 223 )
    
    static s_hDLL
    
    Function DownloadNFe(cChave, cSerial, lNfe, lEnt)
     Local oDlg, oFont, oFont2, oFont3, oChave, oCaptcha, oImage, cCaptcha:=Space(6), oIni, oNfeUtil
    
       DEFAULT cChave := Space(44)
       DEFAULT lNfe := .f.
       DEFAULT lEnt := .f.
    
       CarregaDLL()
    
       If cSerial="COM"
          oNfeUtil:=TVoNfeUtil2g():New(Empr->Est_Empr, Empr->Mod_Empr, GetPvProfString( "CONFIGURACAO", "CERTIFICADO", "", "VoNfeCertSign.Ini"),,,, GetPvProfString( "CONFIGURACAO", "LICENCA", "", "VoNfeCertSign.Ini"))
    
          If oNFeUtil == nil
             Return( .f. )
          Endif
    
          If Empty(oNFEUtil:cCertificado)
             MsgInfo("Informar certificado válido!", "Aviso!")
             oNfeUtil:End()
             Return nil
          Endif
    
          oNFeUtil:PegaCertificado("")
          If oNFeUtil:PegaDadosCertificado()
             cSerial := oNFeUtil:NroSerieCertificado
          Endif
       Endif
    
          DEFINE FONT oFont NAME "Lucida Console" SIZE 0,-14
          DEFINE DIALOG oDlg FROM 4, 4 TO 22, 82 TITLE "Download XML NFe "+If(cSerial="SEM", "SEM Certificado", "COM Certificado Nº: "+cSerial)
    
          @ 36, 112 SAY "Chave:"   OF oDlg PIXEL FONT oFont
          @ 63, 112 SAY "Captcha:" OF oDlg PIXEL FONT oFont
    
          @ 44, 112 GET oChave   VAR cChave   OF oDlg PIXEL FONT oFont SIZE 184, 13 PICTURE '@9' VALID ValidaChaveConsulta(cChave)
          @ 72, 112 GET oCaptcha VAR cCaptcha OF oDlg PIXEL FONT oFont SIZE  34, 13 //PICTURE '@A'
    
          @ 34,   4 IMAGE oImage OF oDlg PIXEL SIZE 104, 54 ADJUST
    
             @ 122,   4 BTNBMP OF oDlg SIZE 45, 12 PIXEL 2007 NOBORDER PROMPT "Captcha" ACTION AtualizaCaptcha(oCaptcha, oDlg, oImage)
             @ 122, 200 BTNBMP OF oDlg SIZE 45, 12 PIXEL 2007 NOBORDER PROMPT "Baixar"  ACTION XmlDownload(oChave, cChave, oCaptcha, cCaptcha, cSerial, oDlg, oImage, lNfe, lEnt)
             @ 122, 252 BTNBMP OF oDlg SIZE 45, 12 PIXEL 2007 NOBORDER PROMPT "Sair"    ACTION oDlg:End() CANCEL
    
    oDlg:lHelpIcon:=.f.
          ACTIVATE DIALOG oDlg CENTERED ON INIT (DlgBarTitle(oDlg, "  Download XML NFe "+If(cSerial="SEM", "SEM Certificado", "COM Certificado"), "" , 44), AtualizaCaptcha(oCaptcha, oDlg, oImage)) ON PAINT DlgStatusBar(oDlg, 68,, .t.) VALID(FinalizaDLL(), .t.)
       oFont:end()
    
    Return cChave
    //------------------------------------------------------------------------------
    Static Function ValidaChaveConsulta( cChave )
    
       If Len(cChave)<44
          Return .f.
       Endif
    
    Return .t.
    //------------------------------------------------------------------------------
    function CarregaDLL()
    
       If s_hDLL == nil
          If !File("BaixarXMLNFe.dll")
             MsgStop( "DLL não encontrada, verifique!", "Aviso!")
             Return .f.
          Endif
          s_hDLL := LoadLibrary("BaixarXMLNFe.dll")
          DllRegistra()
          DllLicenca("AQUI VC COLOCA A LICENÇA DA FSIST")    
       Endif
    
    Return nil
    //------------------------------------------------------------------------------
    Function SetProxyDownloadNFe(lProxy, cIP, nPorta, cUsuario, cSenha)
    
       If lProxy
          Proxy( cIP, nPorta, cUsuario, cSenha )
       Else
          Proxy( '', 0, '', '' )
       Endif
    
    return nil
    //------------------------------------------------------------------------------
    Function FinalizaDLL()
    
       If !Empty(s_hDLL)
          FreeLib32(s_hDLL)
          s_hDLL := nil
       Endif
    
    Return nil
    //------------------------------------------------------------------------------
    Static Function XmlDownload(oChave, cChave, oCaptcha, cCaptcha, cSerial, oDlg, oImage, lNfe, lEnt)
       Local bDownload, nRetorno, nErro, cErro, cArquivoXML
    
       If lNfe
          cArquivoXML := oApp:cDir_002+"remessa\protocolos\"+cChave+"-nfe.xml"
       Else
          If lEnt
             cArquivoXML := oApp:cDir_002+"xmlent\"+cChave+".xml"
          Else
             cArquivoXML := oApp:cDir_001+"temp\"+cChave+".xml"
          Endif
       Endif
    
       If Len(cChave) < 44
          MsgStop( "Chave tem que ter 44 digitos!", "Aviso!" )
          oChave:setFocus()
          Return nil
       Endif
    
       If Len(cCaptcha) < 6
          MsgStop("Favor informar o captcha corretamente!", "Aviso!")
          oCaptcha:setFocus()
          Return nil
       Endif
    
       If cSerial="SEM"
          bDownload := { || nRetorno := BaixarXMLNFeSemCert( cChave, cCaptcha, cArquivoXML ) }
       Else
          bDownload := { || nRetorno := BaixarXMLNFeComCert( cChave, cCaptcha, cArquivoXML ) }
          SetCertificadoDigital(cSerial)
       Endif
    
       MsgRun( "Realizando Download XML...", "Aguarde!", bDownload )
    
       If nRetorno == 1
          MsgInfo( "Download realizado com sucesso"+CRLF+cArquivoXML, "NFe"+If(cSerial="SEM", "sem", "com" )+" certificado digital" )
          oDlg:End()
       Else
          nErro := MsgCode()
          do case
             case nErro == 1
                cErro := "É necessário digitar a chave da nfe."
             case nErro == 2
                cErro := "É necessário digitar o captcha."
             case nErro == 3
                cErro := "Código da Imagem inválido. Tente novamente."
             case nErro == 4
                cErro := "NF-e INEXISTENTE na base nacional."
             otherwise
                cErro := "Desconhecido"
          endcase
    
          MsgStop("Não foi possível realizar o download do XML!"+CRLF+"Erro "+AllTrim(Str(nErro))+": "+cErro, "Erro!")
          AtualizaCaptcha(oCaptcha, oDlg, oImage)
    
          oCaptcha:cText(Space(6))
          oCaptcha:setFocus()
          oCaptcha:setPos(1)
       Endif
    
    Return nil
    //------------------------------------------------------------------------------
    Static Function AtualizaCaptcha(oCaptcha, oDlg, oImage)
      Local nRetorno
    
       MsgRun( "Atualizando Captcha...", "Aguarde!", { || nRetorno:=Captcha("Captcha.jpg") } )
    
       if nRetorno == 0   // retorna 1 ou 0, 1 é ok
          MsgStop("Não foi possível carregar o captcha!", "Aviso!")
          oDlg:end()
       else
          oImage:loadImage(,"Captcha.jpg")
          oImage:refresh()
       endif
    
    Return nil
    //------------------------------------------------------------------------------
    DLL32 FUNCTION Captcha(SalvarEm AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    DLL32 FUNCTION BaixarXMLNFeSemCert(Chave AS STRING, Captcha AS STRING, SalvarEm AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    DLL32 FUNCTION BaixarXMLNFeComCert(Chave AS STRING, Captcha AS STRING, SalvarEm AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    DLL32 FUNCTION GetCertificadoDigital() AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    DLL32 FUNCTION SetCertificadoDigital(Cert AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    DLL32 FUNCTION MsgCode() AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    DLL32 FUNCTION DLLRegistra() AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    DLL32 FUNCTION DLLLicenca(Chave AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    DLL32 FUNCTION Proxy(Host AS STRING, Port AS LONG, User AS STRING, Pass AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll'

     

  7.  

    Quer uma solução bem arcaica, fiz pra quebrar o galho e ainda está lá. Coloquei botões falsos  no meio, sem nada, dá até vergonha de postar isso, mas

        DEFINE BUTTON oBtn3 FILE "source.BMP" OF oBar ;
            ACTION imprimir()                          ; // relboletim.prg
            TOOLTIP "Imprimir os boletins."            ;
            MESSAGE oemtoansi("Imprimir os boletins gravados") ;
            GROUP ;
            NOBORDER

        DEFINE BUTTON oBtn11 FILE "" OF oBar ;
            ACTION nil ; //calend()                     ;
            TOOLTIP ""                    ;
            MESSAGE ""              ;
            NOBORDER

        DEFINE BUTTON oBtn12 FILE "" OF oBar ;
            ACTION nil ; //calend()                     ;
            TOOLTIP ""                    ;
            MESSAGE ""              ;
            NOBORDER

        DEFINE BUTTON oBtn4 FILE "exit.bmp" OF oBar ;
            ACTION msgYesNo("Deseja sair do programa ?","Informacao", sair(oWnd) , oWnd:End(.t.) ) ; //oWnd:End(.t.)
            TOOLTIP "Finalizar" ;
            MESSAGE "Finalizar o aplicativo"  ;
            NOBORDER

       DEFINE BUTTON oBtn11 OF oBar PROMPT " " GROUP NOBORDER
       oBtn11:nWidth = (oWnd:nWidth-350)  // (oDlg:nWidth-350)
       oBtn11:disable()

    Rubens Ao invés de de 2 button sem titulo no meio colocaria 1 button.

    ou tenta assim:

    #include "FiveWin.ch"
    
    function Main()
       local oBrush, oBar
    
       DEFINE WINDOW oWnd FROM 1, 5 TO 20, 100 ;
          TITLE "FiveWin ButtonBar & Menu Management"
    
       @ 1,1 BUTTONBAR oBar SIZE 150, 33 OF oWnd
    
       DEFINE BUTTON OF oBar FILE "..\bitmaps\cara.bmp"     MESSAGE "Create a new project" ;
          ACTION MsgInfo( "New Project", "Information" )
    
       DEFINE BUTTON OF oBar FILE "..\bitmaps\OpenPrj.bmp" MESSAGE "Open a previous project" ;
          ACTION MsgStop( "Open Project", "Stop" )
    
    
       DEFINE BUTTON OF oBar FILE "..\bitmaps\Calendar.bmp" MESSAGE "Calling Windows Calendar" ;
          RIGHT ACTION WinExec( "Calendar" ) GROUP
    
       DEFINE BUTTON OF oBar FILE "..\bitmaps\ClipBoar.bmp" MESSAGE "Looking at ClipBoard" ;
          ACTION WinExec( "Clipbrd" )
    
       DEFINE BUTTON OF oBar FILE "..\bitmaps\Help.bmp" MESSAGE "Windows Help" ;
          ACTION WinHelp( "progman.hlp" )
    
       @ 1, oWnd:nWidth-80 BUTTONBAR oBar2 SIZE 33, 33 OF oWnd
    
       DEFINE BUTTON OF oBar2 FILE "..\bitmaps\cara.bmp"     MESSAGE "Create a new project" ;
          ACTION MsgInfo( "New Project", "Information" )
    
       ACTIVATE WINDOW oWnd
    
    return nil

    ou assim:

    #include "FiveWin.ch"
    
    function Main()
       local oWnd, oBar1, oBar2, oBar3, oBar4
    
       DEFINE WINDOW oWnd FROM 1, 5 TO 20, 100 TITLE "FiveWin ButtonBar"
    
       DEFINE BUTTONBAR oBar1 TOP 2007 _3D OF oWnd
       DEFINE BUTTON OF oBar1 FILE "..\bitmaps\OpenPrj.bmp" MESSAGE "Open a previous project" ACTION MsgStop( "Open Project", "Stop" )
       DEFINE BUTTON OF oBar1 FILE "..\bitmaps\Calendar.bmp" MESSAGE "Calling Windows Calendar" ACTION WinExec( "Calendar" )
       DEFINE BUTTON OF oBar1 FILE "..\bitmaps\ClipBoar.bmp" MESSAGE "Looking at ClipBoard" ACTION WinExec( "Clipbrd" )
    
       DEFINE BUTTONBAR oBar2 LEFT 2010 OF oWnd
       DEFINE BUTTON OF oBar2 FILE "..\bitmaps\OpenPrj.bmp" MESSAGE "Open a previous project" ACTION MsgStop( "Open Project", "Stop" )
       DEFINE BUTTON OF oBar2 FILE "..\bitmaps\Calendar.bmp" MESSAGE "Calling Windows Calendar" ACTION WinExec( "Calendar" )
    
       DEFINE BUTTONBAR oBar3 RIGHT 2010 OF oWnd
       DEFINE BUTTON OF oBar3 FILE "..\bitmaps\OpenPrj.bmp" MESSAGE "Open a previous project" ACTION MsgStop( "Open Project", "Stop" )
    
       DEFINE BUTTONBAR oBar4 BOTTOM OF oWnd
       DEFINE BUTTON OF oBar4 FILE "..\bitmaps\OpenPrj.bmp" MESSAGE "Open a previous project" ACTION MsgStop( "Open Project", "Stop" )
    
       ACTIVATE WINDOW oWnd
    
    return nil

     

  8. Ola amigos, aproveitando o topic... 

    sobre o prazo de implantação

    na nota técnica 2016.002 diz que o prazo previsto para a implementação das mudanças é: 

    - Ambiente de Homologação  01/06/2017;
    - Ambiente de Produção: 01/08/17.
    - Desativação da versão anterior: 06/11/17

    o prazo é este mesmo? acho que vi aqui mesmo no fórum  que prazo foi ou será prorrogado... alguém confirma?

    []s

  9. veja este topico ultima msg:

    http://www.pctoledo.com.br/forum/viewtopic.php?f=42&t=13532&start=0

    Tabelas temporarias não devem ficar no banco, e sim em .dbf temporarios
    []s
    Luiz

    acho que o Luiz da resposta seja o Luiz Rafael Culik. 

    eu uso assim(usando a memoria):

    Function CriDbfTempProd()
    Local aCampos
    
       aCampos := {}
       aAdd( aCampos , { "cod_prod"  , "C" , 04 , 0 } )
       aAdd( aCampos , { "fam_prod"  , "C" , 02 , 0 } )
       aAdd( aCampos , { "nom_prod"  , "C" , 40 , 0 } )
       aAdd( aCampos , { "uni_prod"  , "C" , 03 , 0 } )
       aAdd( aCampos , { "mar_prod"  , "C" , 20 , 0 } )
       aAdd( aCampos , { "ref_prod"  , "C" , 30 , 0 } )
       aAdd( aCampos , { "pcu_prod"  , "N" , 13 , 2 } )
       aAdd( aCampos , { "pve_prod"  , "N" , 13 , 2 } )
       aAdd( aCampos , { "qtd_prod"  , "N" , 12 , 4 } )
       aAdd( aCampos , { "fat_prod"  , "N" , 05 , 2 } )
       aAdd( aCampos , { "dec_prod"  , "L" , 01 , 0 } )
       aAdd( aCampos , { "mat_prod"  , "C" , 02 , 0 } )
       aAdd( aCampos , { "ati_prod"  , "L" , 01 , 0 } )
       aAdd( aCampos , { "usu_prod"  , "C" , 08 , 0 } )
       aAdd( aCampos , { "tim_prod"  , "C" , 16 , 0 } )
       Hb_DbCreateTemp("tempprod", aCampos, "DBFCDX")
    
       INDE ON tempprod->qtd_prod TAG "temppro1" TO ("tempprod") Memory Additive
       INDE ON tempprod->fam_prod+tempprod->cod_prod TAG "temppro2" TO ("tempprod") Memory Additive
    
    Return nil

    jah que usa sqlrdd, outra ideia seria:

    cSelect := 'SELECT MAX(LENGTH(cel_clie)) nTam FROM clie'
    DbUseArea(.t.,"SQLRDD",cSelect,"Temp")
    nTamanho := Temp->nTam
    Temp->(DbCloseArea())
    

    espero ter ajudado

×
×
  • Create New...