Jump to content
Fivewin Brasil

Jmsilva

Membros
  • Posts

    718
  • Joined

  • Last visited

  • Days Won

    14

Posts posted by Jmsilva

  1. 2 horas atrás, sunset disse:

    MYSQL 5.7

    Na verdade eu estou abrindo a tabela como se fosse um DBF ainda 

               use estadual alias estad new shared
               if neterr()
                  msginfo("Arquivo está em uso em modo exclusivo","Informação")
                  close data
                  retu
               endif
               set index to estadual
           

    e usando o ALIS no xbrwse

     

        @ 0,0 XBROWSE oLbxEstadual          ;
                        Fields Iif(len(alltrim(estad->numecgc)) = 11,TRANSFORM(estad->numecgc,"@R 999.999.999-99"),TRANSFORM(estad->numecgc,"@R 99.999.999/9999-99")),;
                                 estad->nomecli            ,;
                                 estad->inscest            ,;
                                 estad->siticms            ,;
                                estad->cida_de            ,;
                                 estad->esta_do            ,;
                                 estad->correio            ,;
                                 estad->telefon             ;
                                 Headers "Cnpj"            ,;
                                 "Nome"                        ,;
                                 "Inscrição"                ,;
                                 "Situação"                   ,;
                                 "Cidade"                    ,;
                                 "UF"                           ,;
                                 "Correio"                   ,;
                                 "Telefone"                    ;
                                 Fieldsizes 170,400,90,100,200,25,400,150;
                                 Alias "estad"                  ;

     

    Mas acredito que desta forma não vou ter resultado, vou executar um SELECT conforme indicado teria que colocar o resultado num array ?

     

     

    Você pode usar as funções,

    Sr_SetFilter(cSql)

    Sr_DbRefresh()

    DbGoto()

    O comando cSql equivale cláusula Where do comando nativo SQL, dbsetorder(n) vai ser usado na na cláusula ORDER BY (só por curiosidade). Você acrescentando estas linhas antes do xbrowse, não haverá a necessidade de carregar um array. Se na sua tela tiver a opção GET, vc vai executando as funções que farão o filtro deixando cada vez mais rápido a exibição do dados...

  2. 6 horas atrás, MAMP2 disse:

    bom dia JMSILVA, nao tenho voce tem ai pra me mandar?

     

    Posso sim,mas provavelmente não vai te atender, pq se vc não tem o prg, provavelmente a versão da FW que vc tem não contempla está função, mesmo compilando o prg no seu projeto a função msgyeno não reconhecerá. Neste caso é melhor  reescrever a função msgyesno com base na alert() que @Kapiaba postou acima.

  3. 13 horas atrás, sygecom disse:

    Valeu colega, poderia compartilhar como chama a DLL do ACBR no xbase ?

    Jovem, basta copiar a dll na mesma pasta do seu sistema, que a classe ACBrBoleto():New() que é fornecido com dll, disponível para download, faz o devido acesso. Ok.

  4. 40 minutos atrás, sygecom disse:

    Que ótimo mestre, essa DLL para boletos conseguimos assinando o plano de suporte do ACBR?

    Sim amigo, está tudo lá, aliás foi o único produto que usei da acbr até agora, funciona bem, está implantado no cliente. Muito bom.

  5. 5 horas atrás, sygecom disse:

    Acredito que esse metodo postado pelo colega, usa o ACBRMONITOR e não a DLL, mas não tenho certeza, a ultima vez que pesquisei no Nov/2020 ainda não tinha versão do ACBR BOLETO para DLL.

    Amigo vc equivocou-se, usa apenas a dll e o prg que é fornecido com a dll. Está rotina NÃO USA O ACBRMONITOR.

  6. #include "Struct.ch"
    #include "Fivewin.ch"
    
    //https://acbr.sourceforge.io/ACBrLib/MetodosBoleto.html
    
    Procedure Main()
       TACBrBol():New()
    
    Return
    
    /*
    TipoResposta: Define qual será o formato da resposta.
    0 = Formato INI (Padrão);
    1 = Formato XML;
    2 = Formato JSON.
    
    CodificacaoResposta: Define qual será a codificação das respostas.
    0 = UTF8 (Padrão);
    1 = ANSI;
    
    LogNivel: Define qual o nível do log da biblioteca.
    0 = Nenhum;
    1 = Simples;
    2 = Normal;
    3 = Completo;
    4 = Paranoico;
    
    LogPath: O Path onde será salvo o arquivo de log da biblioteca (Padrão Vazio)
    
    [Principal]
    TipoResposta=0
    LogNivel=4
    LogPath=c:\correio\
    */
    
    
    CLASS TACBrBol
       DATA hBol INIT Hash()
       DATA oBol
       DATA cFileIni
    
       METHOD New()  CONSTRUCTOR
       METHOD Cedente()
       METHOD Banco()
       METHOD Conta()
       METHOD Config()
       METHOD Titulo(nI)
       METHOD Create_Ini()
    
    ENDCLASS
    
    **============================================================
    METHOD New() CLASS TACBrBol
       Local nI
    
       Set Default To "c:\Temp\"
    
       ::cFileIni := "C:\Temp\Titulos.ini" //nome o onde quiser
       ::oBol := ACBrBoleto():New() //"C:\Temp\teste.INI",'')
    
       ::Config()
       ::Cedente()
       ::Banco()
       ::Conta()
    
       For nI:=1 to 4 //quantidade de boleto
          ::Titulo(nI)
       Next
       ::Create_Ini()
    
       ::oBol:LimparLista()
       //::oBol:SetDiretorioArquivo("c:\temp\","Boletopdf")
       ::oBol:IncluirTitulos(::cFileIni)
       ::oBol:GerarPDF()
       //::oBol:Imprimir()
    
       ::oBol:GerarRemessa("c:\temp\",::cFileIni,"File.REM")
    
       //::oBol:LerRetorno("C:\temp\","file.ret")
        ::oBol:LimparLista()
        ::oBol := nil
    
        MsgInfo("Boletos gerado com sucesso !")
    Return Self
    
    **============================================================
    METHOD Config() CLASS TACBrBol
       ::oBol:ConfigGravarValor("Principal","LogNivel","4")
       ::oBol:ConfigGravarValor("Principal","LogPath","c:\temp\")
    
       ::oBol:ConfigGravarValor("Sistema","Nome","meu soft")
       ::oBol:ConfigGravarValor("Sistema","Versao","1.0")
       ::oBol:ConfigGravarValor("Sistema","Data","29/09/2020")
       ::oBol:ConfigGravarValor("Sistema","Descricao","Escreve aqui qq coisa")
    
    
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","DirLogo","C:\Temp\")
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","MostrarPreview","1")
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","MostrarProgresso","1")
       //duas formas, aqui ou pelo metodo :SetDiretorioArquivo(
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","NomeArquivo","c:\temp\Bol_PDF.pdf")
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","NumeroCopias","1")
       //::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","PrinterName","Sua_impressora")
       //::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","SoftwareHouse","Sua_Empresa")
    
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","DataArquivo","29/09/2020")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","DirArqRemessa","C:\Temp\")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","DirArqRetorno","C:\Temp\")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","DirHomologacao","0")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","ImprimirMensagemPadrao","1")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","LayoutRemessa","1")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","LeCedenteRetorno","0")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","NomeArqRemessa","File_Remessa")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","NomeArqRetorno","File_Retorno")
       //::oBol:ConfigGravarValor("BoletoDiretorioConfig","NomeroArquivo","0")
    
       ::oBol:ConfigGravar()
       ::oBol:ConfigLer()
    
    Return Nil
    
    
    **============================================================
    METHOD Cedente() CLASS TACBrBol
       ::hBol["Cedente"] := Hash()
    
       ::hBol["Cedente","Nome"]           := "SAO JOAO LTDA."
       ::hBol["Cedente","CNPJCPF"]        := "35373107000160"
       ::hBol["Cedente","Logradouro"]     := "Rua Evaristo Mendes"
       ::hBol["Cedente","Numero"]         := "200"
       ::hBol["Cedente","Bairro"]         := "Centro"
       ::hBol["Cedente","Cidade"]         := "Tatui"
       ::hBol["Cedente","CEP"]            := "18.270-000"
       ::hBol["Cedente","Complemento"]    := "Sala 10"
       ::hBol["Cedente","UF"]             := "SP"
       ::hBol["Cedente","RespEmis"]       := "0"
       ::hBol["Cedente","TipoPessoa"]     := "1"
       ::hBol["Cedente","CodigoCedente"]  := "123456"
       ::hBol["Cedente","LayoutBol"]      := "1"
       ::hBol["Cedente","CaracTitulo"]    := "0"
       ::hBol["Cedente","TipoCarteira"]   := "0"
       ::hBol["Cedente","TipoDocumento"]  := "0"
       ::hBol["Cedente","Modalidade"]     := "17"
       ::hBol["Cedente","CodTransmissao"] := "10"
       ::hBol["Cedente","Convenio"]       := "123456"
    
    Return nil
    /*
     LayoutBol:= 0 - 6
     0=
     1=c/canhoto-bloco
     2=dois boletos s/recibo
     3=dois boletos c/recibo
     4=um boletos c/recibo
    */
    
    **============================================================
    METHOD Banco() CLASS TACBrBol
       ::hBol["Banco"] := Hash()
    
       ::hBol["Banco","Numero"]               := "001"
       ::hBol["Banco","CNAB"]                 := "1"
       ::hBol["Banco","IndiceACBr"]           := "1"
       ::hBol["Banco","NumeroCorrespondente"] := "200"
       ::hBol["Banco","VersaoArquivo"]        := "0"
       ::hBol["Banco","VersaoLote"]           := "0"
    
    Return nil
    
    **============================================================
    METHOD Conta() CLASS TACBrBol
       ::hBol["Conta"] := Hash()
    
       ::hBol["Conta","Conta"]                         := "011234567"
       ::hBol["Conta","DigitoConta"]                   := "1"
       ::hBol["Conta","Agencia"]                       := "0734"
       ::hBol["Conta","DigitoAgencia"]                 := "2"
       ::hBol["Conta","DigitoVerificadorAgenciaConta"] := "0"
    
    Return nil
    
    
    METHOD Titulo(nCt) CLASS TACBrBol
       Local cTitulo := "Titulo"+AllTrim(Str(nCt,2))
    
       ::hBol[cTitulo] := Hash()
       ::hBol[cTitulo,"NumeroDocumento"]    := "000010"
       ::hBol[cTitulo,"NossoNumero"]        := "0000001"
       ::hBol[cTitulo,"Carteira"]           := "20"
       ::hBol[cTitulo,"ValorDocumento"]     := "100,50"
       ::hBol[cTitulo,"Vencimento"]         := "10/09/2010"
       ::hBol[cTitulo,"ValorMoraJuros"]     := "0,50"
       ::hBol[cTitulo,"DataDocumento"]      := "10/08/2010"
       ::hBol[cTitulo,"DataProcessamento"]  := "10/08/2010"
       ::hBol[cTitulo,"DataAbatimento"]     := "05/09/2010"
       ::hBol[cTitulo,"DataDesconto"]       := "07/09/2010"
       ::hBol[cTitulo,"DataMoraJuros"]      := "12/09/2010"
       ::hBol[cTitulo,"DiasDeProtesto"]     := "0"
       ::hBol[cTitulo,"DataProtesto"]       := "10/10/2010"
       ::hBol[cTitulo,"DataMulta"]          := "10/10/2010"
       ::hBol[cTitulo,"ValorAbatimento"]    := "5,00"
       ::hBol[cTitulo,"ValorDesconto"]      := "0,50"
       ::hBol[cTitulo,"ValorMoraJuros"]     := "0,55"
       ::hBol[cTitulo,"ValorIOF"]           := "3,50"
       ::hBol[cTitulo,"ValorOutrasDespesas"] := "2,50"
       ::hBol[cTitulo,"MultaValorFixo"]     := "0"
       ::hBol[cTitulo,"PercentualMulta"]    := "05,00"
       ::hBol[cTitulo,"LocalPagamento"]     := "Pagável em qualquer agência bancária mesmo após o vencimento"
       ::hBol[cTitulo,"Especie"]            := "DM"
       ::hBol[cTitulo,"EspecieMod"]         := "R$"
       ::hBol[cTitulo,"Sacado.NomeSacado"]  := "Sacado Teste"
       ::hBol[cTitulo,"Sacado.CNPJCPF"]     := "999.999.999.99"
       ::hBol[cTitulo,"Sacado.Pessoa"]      := "0"
       ::hBol[cTitulo,"Sacado.Logradouro"]  := "Rua Jose Rodrigues"
       ::hBol[cTitulo,"Sacado.Numero"]      := "100"
       ::hBol[cTitulo,"Sacado.Bairro"]      := "Jardim Moderno"
       ::hBol[cTitulo,"Sacado.Complemento"] := "Casa"
       ::hBol[cTitulo,"Sacado.Cidade"]      := "Tatui"
       ::hBol[cTitulo,"Sacado.UF"]          := "SP"
       ::hBol[cTitulo,"Sacado.CEP"]         := "18277.500"
       ::hBol[cTitulo,"Sacado.Email"]       := "teste@email.com"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.NomeAvalista"] := "Nome do Avalista"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.CNPJCPF"] := "9999999999"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Logradouro"] := "Rua das Flores"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Numero"] := "99"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Complemento"] := "Casa"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Bairro"] := "Centro"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Cidade"] := "Tatui"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.UF"] := "SP"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.CEP"] := "9999999"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Email"] := "teste@email.com"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Fone"] := "(99)999999999"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.InscricaoNr"] := "9999999"
       ::hBol[cTitulo,"Mensagem"]   := "teste1|teste2"
       ::hBol[cTitulo,"Instrucao1"] := "10"
       ::hBol[cTitulo,"Instrucao2"] := "11"
       ::hBol[cTitulo,"Aceite"]     := "1"
       ::hBol[cTitulo,"OcorrenciaOriginal.TipoOcorrencia"] := "0"
       ::hBol[cTitulo,"Parcela"] := "1"
       ::hBol[cTitulo,"TotalParcelas"] := "1"
       ::hBol[cTitulo,"SeuNumero"] := "000020"
       ::hBol[cTitulo,"TipoDiasProtesto"] := "1"
       ::hBol[cTitulo,"TipoImpressao"] := "1"
       ::hBol[cTitulo,"CodigoMora"] := "1"
       ::hBol[cTitulo,"TipoDesconto"] := "0"
       ::hBol[cTitulo,"TipoDesconto2"] := "0"
    
    Return nil
    
    
    **============================================================
    METHOD Create_Ini() CLASS TACBrBol
       Local oIni,oGrupo,oData
    
       If File(::cFileIni)
          FErase(::cFileIni)
       Endif
    
       //gera o arquivo ini para ler e gerar o boleto
       INI oIni FILE ::cFileIni
           For EAch oGrupo IN ::hBol
              For EAch oData IN oGrupo:Value
                 SET SECTION oGrupo:Key ENTRY oData:Key TO Trim(oData:Value) OF oIni
              Next
           Next
       ENDINI
    Return Nil

    Veja se ajuda !

    Veja no mettodo New() chama ::oBol:GerarRemessa("c:\temp\",::cFileIni,"File.REM")

  7. 16 horas atrás, maudruidas disse:

    Bom dia, ainda não deu certo. Kapiaba eu já havia tentado o "@ 999", conforme o Aferra havia pedido. É muito estranho. Por enquanto eu agradeço pela ajuda, se alguém descobrir favor postar aqui, vou continuar pesquisando sobre o assunto.

    Se puder postar código da rotina ajuda!

  8. 20 horas atrás, alex2002 disse:

    Blza, vou olhar e qq coisa retorno.

    Obrigado

    Olá, correções!

    O nome correto do método usado  para gerar PDF é  ::oBol:GerarPdf() -Faltou um "R"

    e o 

    Nome correto do Método ::oBol:GerarRemessa("c:\temp\",::cFileIni,"File.rem")

    No exemplo tem um "R" a mais, e o 3º parâmetro é o nome do arquivo de remessa sem path. (Só Nome)

    att

    JMSilva

  9. Conforme prometido segue o exemplo. 

    Você poderá consultar documentação no link: https://acbr.sourceforge.io/ACBrLib/MetodosBoleto.html

    #include "Struct.ch"
    #include "Fivewin.ch"
    
    
    
    Procedure Main()
       TACBrBol():New()
    
    Return
    
    /*
    TipoResposta: Define qual será o formato da resposta.
    0 = Formato INI (Padrão);
    1 = Formato XML;
    2 = Formato JSON.
    
    CodificacaoResposta: Define qual será a codificação das respostas.
    0 = UTF8 (Padrão);
    1 = ANSI;
    
    LogNivel: Define qual o nível do log da biblioteca.
    0 = Nenhum;
    1 = Simples;
    2 = Normal;
    3 = Completo;
    4 = Paranoico;
    
    LogPath: O Path onde será salvo o arquivo de log da biblioteca (Padrão Vazio)
    
    [Principal]
    TipoResposta=0
    LogNivel=4
    LogPath=c:\correio\
    */
    
    
    CLASS TACBrBol
       DATA hBol INIT Hash()
       DATA oBol
       DATA cFileIni
    
       METHOD New()  CONSTRUCTOR
       METHOD Cedente()
       METHOD Banco()
       METHOD Conta()
       METHOD Config()
       METHOD Titulo(nI)
       METHOD Create_Ini()
    
    ENDCLASS
    
    **============================================================
    METHOD New() CLASS TACBrBol
       Local nI
    
       ::cFileIni := "C:\Temp\Titulos.ini" //nome o onde quiser
       ::oBol := ACBrBoleto():New('','')
    
       ::Config()
       ::Cedente()
       ::Banco()
       ::Conta()
    
       For nI:=1 to 4 //quantidade de boleto
          ::Titulo(nI)
       Next
       ::Create_Ini()
    
       ::oBol:LimparLista()
       //::oBol:SetDiretorioArquivo("c:\temp\","Boletopdf")
       ::oBol:IncluirTitulos(::cFileIni)
       //::oBol:GeraPDF()
       ::oBol:Imprimir()
    
       //::oBol:GerrarRemessa("c:\temp\",::cFileIni,"C:\temp\File.rem")
       //::oBol:LerRetorno("C:\temp\","file.ret")
        ::oBol:LimparLista()
        ::oBol := nil
    
        MsgInfo("Boletos gerado com sucesso !")
    Return Self
    
    **============================================================
    METHOD Config() CLASS TACBrBol
       ::oBol:ConfigGravarValor("Principal","LogNivel","4")
       ::oBol:ConfigGravarValor("Principal","LogPath","c:\temp\")
    
       ::oBol:ConfigGravarValor("Sistema","Nome","meu soft")
       ::oBol:ConfigGravarValor("Sistema","Versao","1.0")
       ::oBol:ConfigGravarValor("Sistema","Data","29/09/2020")
       ::oBol:ConfigGravarValor("Sistema","Descricao","Escreve aqui qq coisa")
    
    
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","DirLogo","C:\Temp\")
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","MostrarPreview","1")
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","MostrarProgresso","1")
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","NomeArquivo","c:\temp\BoletoPDF.pdf")  //pdf
       ::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","NumeroCopias","1")
       //::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","PrinterName","Sua_impressora")
       //::oBol:ConfigGravarValor("BoletoBancoFCFortesConfig","SoftwareHouse","Sua_Empresa")
    
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","DataArquivo","29/09/2020")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","DirArqRemessa","C:\Temp\")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","DirArqRetorno","C:\Temp\")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","DirHomologacao","0")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","ImprimirMensagemPadrao","1")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","LayoutRemessa","1")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","LeCedenteRetorno","0")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","NomeArqRemessa","File_Remessa")
       ::oBol:ConfigGravarValor("BoletoDiretorioConfig","NomeArqRetorno","File_Retorno")
       //::oBol:ConfigGravarValor("BoletoDiretorioConfig","NomeroArquivo","0")
    
       ::oBol:ConfigGravar()
       ::oBol:ConfigLer()
    
    Return Nil
    
    
    **============================================================
    METHOD Cedente() CLASS TACBrBol
       ::hBol["Cedente"] := Hash()
    
       ::hBol["Cedente","Nome"]           := "SAO JOAO LTDA."
       ::hBol["Cedente","CNPJCPF"]        := "35373107000160"
       ::hBol["Cedente","Logradouro"]     := "Rua Evaristo Mendes"
       ::hBol["Cedente","Numero"]         := "200"
       ::hBol["Cedente","Bairro"]         := "Centro"
       ::hBol["Cedente","Cidade"]         := "Tatui"
       ::hBol["Cedente","CEP"]            := "18.270-000"
       ::hBol["Cedente","Complemento"]    := "Sala 10"
       ::hBol["Cedente","UF"]             := "SP"
       ::hBol["Cedente","RespEmis"]       := "0"
       ::hBol["Cedente","TipoPessoa"]     := "1"
       ::hBol["Cedente","CodigoCedente"]  := "123456"
       ::hBol["Cedente","LayoutBol"]      := "1"
       ::hBol["Cedente","CaracTitulo"]    := "0"
       ::hBol["Cedente","TipoCarteira"]   := "0"
       ::hBol["Cedente","TipoDocumento"]  := "0"
       ::hBol["Cedente","Modalidade"]     := "17"
       ::hBol["Cedente","CodTransmissao"] := "10"
       ::hBol["Cedente","Convenio"]       := "123456"
    
    Return nil
    /*
     LayoutBol:= 0 - 6
     0=
     1=c/canhoto-bloco
     2=dois boletos s/recibo
     3=dois boletos c/recibo
     4=um boletos c/recibo
    */
    
    **============================================================
    METHOD Banco() CLASS TACBrBol
       ::hBol["Banco"] := Hash()
    
       ::hBol["Banco","Numero"]               := "001"
       ::hBol["Banco","CNAB"]                 := "1"
       ::hBol["Banco","IndiceACBr"]           := "1"
       ::hBol["Banco","NumeroCorrespondente"] := "200"
       ::hBol["Banco","VersaoArquivo"]        := "0"
       ::hBol["Banco","VersaoLote"]           := "0"
    
    Return nil
    
    **============================================================
    METHOD Conta() CLASS TACBrBol
       ::hBol["Conta"] := Hash()
    
       ::hBol["Conta","Conta"]                         := "011234567"
       ::hBol["Conta","DigitoConta"]                   := "1"
       ::hBol["Conta","Agencia"]                       := "0734"
       ::hBol["Conta","DigitoAgencia"]                 := "2"
       ::hBol["Conta","DigitoVerificadorAgenciaConta"] := "0"
    
    Return nil
    
    
    METHOD Titulo(nCt) CLASS TACBrBol
       Local cTitulo := "Titulo"+AllTrim(Str(nCt,2))
    
       ::hBol[cTitulo] := Hash()
       ::hBol[cTitulo,"NumeroDocumento"]    := "000010"
       ::hBol[cTitulo,"NossoNumero"]        := "0000001"
       ::hBol[cTitulo,"Carteira"]           := "20"
       ::hBol[cTitulo,"ValorDocumento"]     := "100,50"
       ::hBol[cTitulo,"Vencimento"]         := "10/09/2010"
       ::hBol[cTitulo,"ValorMoraJuros"]     := "0,50"
       ::hBol[cTitulo,"DataDocumento"]      := "10/08/2010"
       ::hBol[cTitulo,"DataProcessamento"]  := "10/08/2010"
       ::hBol[cTitulo,"DataAbatimento"]     := "05/09/2010"
       ::hBol[cTitulo,"DataDesconto"]       := "07/09/2010"
       ::hBol[cTitulo,"DataMoraJuros"]      := "12/09/2010"
       ::hBol[cTitulo,"DiasDeProtesto"]     := "0"
       ::hBol[cTitulo,"DataProtesto"]       := "10/10/2010"
       ::hBol[cTitulo,"DataMulta"]          := "10/10/2010"
       ::hBol[cTitulo,"ValorAbatimento"]    := "5,00"
       ::hBol[cTitulo,"ValorDesconto"]      := "0,50"
       ::hBol[cTitulo,"ValorMoraJuros"]     := "0,55"
       ::hBol[cTitulo,"ValorIOF"]           := "3,50"
       ::hBol[cTitulo,"ValorOutrasDespesas"] := "2,50"
       ::hBol[cTitulo,"MultaValorFixo"]     := "0"
       ::hBol[cTitulo,"PercentualMulta"]    := "05,00"
       ::hBol[cTitulo,"LocalPagamento"]     := "Pagável em qualquer agência bancária mesmo após o vencimento"
       ::hBol[cTitulo,"Especie"]            := "DM"
       ::hBol[cTitulo,"EspecieMod"]         := "R$"
       ::hBol[cTitulo,"Sacado.NomeSacado"]  := "Sacado Teste"
       ::hBol[cTitulo,"Sacado.CNPJCPF"]     := "999.999.999.99"
       ::hBol[cTitulo,"Sacado.Pessoa"]      := "0"
       ::hBol[cTitulo,"Sacado.Logradouro"]  := "Rua Jose Rodrigues"
       ::hBol[cTitulo,"Sacado.Numero"]      := "100"
       ::hBol[cTitulo,"Sacado.Bairro"]      := "Jardim Moderno"
       ::hBol[cTitulo,"Sacado.Complemento"] := "Casa"
       ::hBol[cTitulo,"Sacado.Cidade"]      := "Tatui"
       ::hBol[cTitulo,"Sacado.UF"]          := "SP"
       ::hBol[cTitulo,"Sacado.CEP"]         := "18277.500"
       ::hBol[cTitulo,"Sacado.Email"]       := "teste@email.com"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.NomeAvalista"] := "Nome do Avalista"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.CNPJCPF"] := "9999999999"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Logradouro"] := "Rua das Flores"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Numero"] := "99"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Complemento"] := "Casa"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Bairro"] := "Centro"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Cidade"] := "Tatui"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.UF"] := "SP"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.CEP"] := "9999999"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Email"] := "teste@email.com"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.Fone"] := "(99)999999999"
       ::hBol[cTitulo,"Sacado.SacadoAvalista.InscricaoNr"] := "9999999"
       ::hBol[cTitulo,"Mensagem"]   := "teste1|teste2"
       ::hBol[cTitulo,"Instrucao1"] := "10"
       ::hBol[cTitulo,"Instrucao2"] := "11"
       ::hBol[cTitulo,"Aceite"]     := "1"
       ::hBol[cTitulo,"OcorrenciaOriginal.TipoOcorrencia"] := "0"
       ::hBol[cTitulo,"Parcela"] := "1"
       ::hBol[cTitulo,"TotalParcelas"] := "1"
       ::hBol[cTitulo,"SeuNumero"] := "000020"
       ::hBol[cTitulo,"TipoDiasProtesto"] := "1"
       ::hBol[cTitulo,"TipoImpressao"] := "1"
       ::hBol[cTitulo,"CodigoMora"] := "1"
       ::hBol[cTitulo,"TipoDesconto"] := "0"
       ::hBol[cTitulo,"TipoDesconto2"] := "0"
    
    Return nil
    
    
    **============================================================
    METHOD Create_Ini() CLASS TACBrBol
       Local oIni,oGrupo,oData
    
       If File(::cFileIni)
          FErase(::cFileIni)
       Endif
    
       //gera o arquivo ini para ler e gerar o boleto
       INI oIni FILE ::cFileIni
           For EAch oGrupo IN ::hBol
              For EAch oData IN oGrupo:Value
                 SET SECTION oGrupo:Key ENTRY oData:Key TO Trim(oData:Value) OF oIni
              Next
           Next
       ENDINI
    Return Nil

    A classe ACBRBol e DLL vc poderá baixar fazendo o cadastro

  10. 4 horas atrás, ronaldo disse:

    Estuo utilizando desta forma:

     

    oSQL   := FW_OpenAdoConnection( { "MSSQL", cSQL_Host, cSQL_Db, cSQL_User, cSQL_Psw }, .t. )
    if oSQL == nil
       msgstop("Erro no acesso a conexão SQL Azure","Erro")
       Return(.F.)
    endif

    Veja está classe - tsqlado()

  11. Alex, o ideal e vc fazer um cadastro no Acbr, e free 30 Dias, opcional pagamento após. Você baixa a Dll e o fontes exemplos. Muito simples, em resumo a Dll faz leitura de arquivo ini, logo no seu sistema precisa gerar um arquivo ini com todos os dados, selecionar o boleto (é um method), após através method faz leitura do ini gera o boleto e o arquivo de remessa para banco. Na semana que vem vou fazer exemplos e te mando. 

×
×
  • Create New...