Jump to content
Fivewin Brasil

wmsoft

Membros
  • Posts

    502
  • Joined

  • Last visited

wmsoft's Achievements

Newbie

Newbie (1/14)

1

Reputation

  1. Ariston tentei mas não dá retorno, deixa eu colocar aqui a declaração e como passo o mesmo: //Forma de Pagamento NFCe DLL32 FUNCTION BmFormaPagtoNFCe( descBandeira AS STRING,; valorForma AS STRING,; CNPJCrede AS STRING,; bandeira AS STRING,; CodAuto AS STRING,; CodIntegra AS STRING ) AS LONG PASCAL ; FROM "Bematech_FI_EfetuaFormaPagamentoNFCeEx" LIB xDll nRet := BmFormaPagtoNFCe("Cartao Credito",; "108,90",; "",; "01",; "",; "1") Testes manuais e ele sempre retorna vazio como se não tivesse funcionado
  2. Boa tarde, Alguém usa essa função Bematech_FI_EfetuaFormaPagamentoNFCeEx da Bemafi32.dll? caso sim como passou a declaração da mesma e como passa ela no fechamento das vendas. Grato, Washington
  3. Boa tarde, Estou usando precisando de uma ajuda da comunidade, alguém aqui tem alguma rotina de leitura para os arquivos de retorno (boleto bancário) para Caixa Econômica Federal? Sem uso do cobrebemx, pois estou tendo problemas quando usado em sistemas cujo sistema operacional é 64 bits. Se possível enviar para o email wmsoft@hotmail.com ou publicar aqui vou ler durante a semana. Grato, Washington
  4. Boa noite, Existe alguma forma de importar um arquivo .PRN (gerado pelo TdosPRN) para o Fastreport? assim tenho como ter um preview funcionar a poder ainda imprimir em diversas impressoras. Grato, Washington
  5. Pelo que vi o problema está em usar o preview, o cliente precisa ver antes da impressão.
  6. Bom dia, Estou com uma pequena dificuldade, usando a classe TdosPrn fiz um teste e consigo executar normalmente a impressão normal e condensada, porem não consegui usar expandido. No Preview aparece vários caracteres especiais para expandido e não vai, vou postar como fiz os testes. cTxtFile := CurDrive()+":\"+GetCurDir()+"\TESTE.PRN" DEFINE FONT oFont2 NAME "SysTahoma" SIZE nil,-50 BOLD ITALIC oPrn := TDosPrn():New( cTxtFile, .T. ) //oPrn := TPrinter():New( cTxtFile, .T. ) oPrn:StartPage() //PRINT oPrn NAME "Testing the printer object from FiveWin" PREVIEW //nClrText := CLR_BLACK //oPrn:lZeraBfr:=.t. // Inibe o Pulo da Página //oPrn:ImpUSB:=.t. LINHA:= 1 oPrn:Command("15") oPrn:Say( LINHA++,00, "[COMPRIMIDO] TEXTO" ) //oPrn:Command("27","69") oPrn:Say( LINHA++, 00, CHR(14)+"[EXPANDIDO] TEXTO"+CHR(18) ) //oPrn:Say( LINHA++,00, chr(27)+chr(69)+ "[EXPANDIDO] TEXTO" ) oPrn:Command("27","18") oPrn:Say( LINHA++,00, "[NORMAL] TEXTO" ) oPrn:EndPage() oPrn:End() SetMTxtPreview( .f., 5, 2, .t., .f. ) TxtPreview( cTxtFile, cTitulo, .t. ,,,,,, .f. ) Qualquer ajuda é mais que bem vinda.
  7. Boa noite, já conseguiu resolver o uso da função Bematech_FI_VendeItemCompleto? estou tendo um problema aqui também em alguns testes.
  8. Verifique sobre a ferramenta Windev é uma ferramenta que possibilita desenvolvimento para Android e Ipad. Entra em contato comigo e trocamos idéias. Washington Guimarães FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB
  9. Lailton quando puder me chama no MSN estou precisando falar contigo. Abraços Washington Guimarães FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB
  10. Bom dia, tb me coloco a disposição, acho que um trabalho em equipe ajudaria sim, mas acredito que primeiro passo é definir um dicionário de dados para que todos falem a mesma lingua e acho que tentar iniciar o projeto do zero mesmo seja usado algo já feito seria interessante redefinir ao dicionário de dados. Washington Guimarães FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB
  11. Problema resolvido, bastou pequenas correções na forma como eu estava passando os dados, convertendo tudo para char. Washington Guimarães FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB
  12. Pessoal estou ficando azuado aqui porque não esto conseguindo gerar a remessa, Abaixo postei o fonte. Deixa eu explicar como ocorre aqui, é uma associação de pescadores os associados vão pegar seus boletos durante o dia, no final do dia a associação envia um arquivo remessa com todos os boletos que foram emitidos, o estranho que o boleto ele está gerando certinho. FUNCTION CBXRemessa() local oVenDl, oSay, MyDb, oPess, lESC:= .F. local lSave := .f. local nOldRec := RecNo(), nTotDesc:=0 LOCAL OBMP, oFont1, oFnt2, oFont4, oFnt5, oFont6 local oCBX, oBoleto, aGet PRIVATE oBrw, aParc:= {} IF ! UsrFree(CliIncl) RETURN NIL ENDIF CheckDados() if !oEMBOLETOS MsgAlert("Modulo de Boleto Bancário não está ativo no sistema.","Atenção") Return Nil endif CursorWait() use_arq("BOLETO","BOLETO",.t.,.t.) use_arq("REMESSA","REMESSA",.t.,.t.) SELECT BOLETO BOLETO->(DBSETORDER(1)) BOLETO->(DBGOTOP()) oData := Date() nQteBai := 0 nTotal := 0 While ! BOLETO->( EOF() ) if BOLETO->BOLSITU = "N" nQteBai++ nTotal+=BOLETO->BOLVALOR aadd(aParc,({BOLETO->BOLCOD,; BOLETO->BOLDATA,; BOLETO->BOLVENC,; BOLETO->BOLVALOR,; BOLETO->BOLCONTR,; BOLETO->BOLNOME,; BOLETO->BOLOBS,; Alltrim(BOLETO->BOLCBAR)})) endif BOLETO->( DbSkip() ) End If Len(aParc) = 0 MsgAlert("Não existem boletos processados para geração de remessa no momento","Atenção") dbcloseall() Return Nil endif DEFINE FONT oFon1 NAME "Courier New" SIZE 0, -10 OF oVenDl DEFINE FONT oFon2 NAME "Courier New" SIZE 0, -9 OF oVenDl DEFINE FONT oFon3 NAME "Courier New" SIZE 0, -14 OF oVenDl DEFINE FONT oFon4 NAME "Courier New" SIZE 0, -22 BOLD OF oVenDl DEFINE FONT oFon5 NAME "Courier New" SIZE 0, -19 BOLD OF oVenDl DEFINE FONT oFon6 NAME "Courier New" SIZE 0, -15 BOLD OF oVenDl DEFINE FONT oFntLis NAME "Courier New" SIZE 0, -11 DEFINE DIALOG oVenDl RESOURCE "REMESSA" // Apresentando as BOLETO abertas no browse REDEFINE LISTBOX oBrw ; FIELDS Strzero(aParc[oBrw],11),; TRANS(aParc[oBrw],"@D"),; TRANS(aParc[oBrw],"@D"),; TRANS(aParc[oBrw],"@E 999,999.99"),; aParc[oBrw],; aParc[oBrw]; FIELDSIZES 80,80,50 ; HEADERS "Documento","Emissão","Vencimento"," Valor","Contrato","Nome" ; UPDATE COLORS BrwText, BrwBack ; ID 100 OF oVenDl oBrw:cAlias := NIL oBrw:SetArray(aParc) oBrw:nLineStyle:=4 //Linha pontilhada oBrw:lCellStyle:=.F.//trabalhar em linha oBrw:SetFont(oFntLis) oBrw:bGoTop := {|| oBrw:nat := 1 } oBrw:bGoBottom := {|| oBrw:nat := Eval( oBrw:bLogicLen ) } oBrw:bSkip := { | nWant, nDo | ; nDo := Min( Max( nWant, 1 - oBrw:nat ), ; Len( aParc ) - oBrw:nat ), ; oBrw:nat += nDo, nDo } oBrw:Refresh() // Vencimento e Parcelas REDEFINE GET oG01 VAR nTotal PICTURE "@E 999,999.99" ID 10 OF oVenDl When .F. ; FONT oFon5 UPDATE COLOR CLR_BLUE REDEFINE GET oG02 VAR oData PICTURE "@D" ID 11 OF oVenDl When .F. ; FONT oFon5 UPDATE COLOR CLR_BLUE REDEFINE GET oG03 VAR nQteBai PICTURE "9999" ID 12 OF oVenDl When .F. ; FONT oFon5 UPDATE COLOR CLR_BLUE REDEFINE SBUTTON oBt1 ID 30 OF oVenDl ACTION ( lSave := .t. , oVenDl:End()) ; CANCEL ; COLORS CLR_BLACK, ; {|oB| If( oB:lMouseOver, {CLR_BLUE,CLR_WHITE}, ; {CLR_WHITE,CLR_BLUE} ) }; BORDER TEXT POSITION ON_RIGHT REDEFINE SBUTTON oBt1 ID 31 OF oVenDl ACTION oVenDl:End() ; CANCEL; COLORS CLR_BLACK, ; {|oB| If( oB:lMouseOver, {CLR_BLUE,CLR_WHITE}, ; {CLR_WHITE,CLR_BLUE} ) }; BORDER TEXT POSITION ON_RIGHT ACTIVATE DIALOG oVenDl CENTERED Valid VerEsc(@lESC) if lSave lChange := .f. // Dar Confirmou gerar Boleto Select BOLETO BOLETO->(DBSETORDER(1)) if Len(aParc) > 0 aguarde('Aguarde enquanto remessa está sendo processado...') // Iniciando objeto do boleto oCBX := TOleAuto():New("CobreBemX.ContaCorrente") oCBX:ArquivoLicenca:= alltrim(oEMCAMCONF) // Monta dados da conta corrente oCBX:CodigoAgencia:= alltrim(oEMAGENCIA) oCBX:NumeroContaCorrente:= alltrim(oEMCONTA) oCBX:CodigoCedente:= alltrim(oEMCEDENTE) oCBX:OutroDadoConfiguracao1 := "009" // Preencha com a variação da carteira. oCBX:OutroDadoConfiguracao2 := "N" oCBX:LocalPagamento := "Pagável em qualquer banco até o vencimento" oCBX:InicioNossoNumero:= "000001" oCBX:FimNossoNumero:= "999999" oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := Curdrive() + ":\"+"\"+CURDIR()+"\bitmaps\BannerCBX.gif" oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := Curdrive() + ":\"+"\"+CURDIR()+"\bitmaps\" oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "Padrao" //oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "CarnetReciboTopo" // Adicionando as informações do boleto For j = 1 to Len(aParc) NomeCliente(aParc[j,5],3,@aGet) oBoleto := oCBX:DocumentosCobranca:Add() oCBX:ProximoNossoNumero := aParc[j,1] // Monta dados do sacado oBoleto:CPFSacado := "" oBoleto:NomeSacado := aGet[2] oBoleto:EnderecoSacado := aGet[3] oBoleto:BairroSacado := aGet[4] oBoleto:CidadeSacado := aGet[5] oBoleto:EstadoSacado := aGet[6] oBoleto:CepSacado := aGet[7] // Monta dados do documento de cobrança oBoleto:numeroDocumento := aParc[j,8] oBoleto:DataVencimento := TRANSF(aParc[j,3],"@D") oBoleto:NumeroDocumento := strzero(aParc[j,1],11) oBoleto:ValorDocumento := aParc[j,4] // Dados de observações finais cInstru:="" if oEMMULTAMES>0 cInstru+='Apos '+Dtoc(oData)+' cobrar multa de R$ '+transform( oEMMULTAMES, '@E 99,999.99')+' ' endif if oEMJUROMES>0 nVlrMora:=((aParc[j,4]*oEMJUROMES)/100) cInstru+='Apos vencimento cobrar juros diario de R$ '+transform(nVlrMora,'@E 99,999.99')+' ' endif cInstru+=aParc[j,7]+' ' cInstru+=oEMOBS1+' ' cInstru+=oEMOBS2+' ' oCBX:PadroesBoleto:InstrucoesCaixa:=cInstru //oCBX:ImprimeBoletos() // Gerando Impressão oCBX:calcularDadosBoletos() //oCBX:ImprimeBoletosSemPreview() //nNossoNumero:=oBoleto:NossoNumero Next // Tratamentos finais para gerar arquivo remessa oCBX:ArquivoRemessa:Layout := "CNAB400" cRemessa:=ProxCod("EMPRESA","EMCONTREM",3) oCBX:ArquivoRemessa:Sequencia := cRemessa cNomeArq:= Strzero(Day(date()),2)+Strzero(Month(date()),2)+Right(Time(),2)+".TST" oCBX:ArquivoRemessa:Arquivo := cNomeArq cCurPath:= Curdrive() + ":\"+"\"+CURDIR()+"\remessa\" IF ! lIsDir(cCurPath) IF ! lMkDir(cCurPath) MsgStop(OemToAnsi("Não conseguiu criar a pata para remessa."),"ATENÇÃO...") QUIT ENDIF ENDIF oCBX:ArquivoRemessa:Diretorio := Curdrive() + ":\"+"\"+CURDIR()+"\boletos\remessa\" //oCBX:calcularDadosBoletos() oCBX:GravaArquivoRemessa() *oCBX:End() fecha_aguarde() endif //Imprimir comprovante //Imprimir(oCod) // Lançar valor em caixa //Moviment() endif dbcloseall() return nil Washington Guimarães FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB Editado por - wmsoft on 27/05/2012 02:00:51
  13. Pessoal estou ficando azuado aqui porque não esto conseguindo gerar a remessa, Abaixo postei o fonte. Deixa eu explicar como ocorre aqui, é uma associação de pescadores os associados vão pegar seus boletos durante o dia, no final do dia a associação envia um arquivo remessa com todos os boletos que foram emitidos, o estranho que o boleto ele está gerando certinho. FUNCTION CBXRemessa() local oVenDl, oSay, MyDb, oPess, lESC:= .F. local lSave := .f. local nOldRec := RecNo(), nTotDesc:=0 LOCAL OBMP, oFont1, oFnt2, oFont4, oFnt5, oFont6 local oCBX, oBoleto, aGet PRIVATE oBrw, aParc:= {} IF ! UsrFree(CliIncl) RETURN NIL ENDIF CheckDados() if !oEMBOLETOS MsgAlert("Modulo de Boleto Bancário não está ativo no sistema.","Atenção") Return Nil endif CursorWait() use_arq("BOLETO","BOLETO",.t.,.t.) use_arq("REMESSA","REMESSA",.t.,.t.) SELECT BOLETO BOLETO->(DBSETORDER(1)) BOLETO->(DBGOTOP()) oData := Date() nQteBai := 0 nTotal := 0 While ! BOLETO->( EOF() ) if BOLETO->BOLSITU = "N" nQteBai++ nTotal+=BOLETO->BOLVALOR aadd(aParc,({BOLETO->BOLCOD,; BOLETO->BOLDATA,; BOLETO->BOLVENC,; BOLETO->BOLVALOR,; BOLETO->BOLCONTR,; BOLETO->BOLNOME,; BOLETO->BOLOBS,; Alltrim(BOLETO->BOLCBAR)})) endif BOLETO->( DbSkip() ) End If Len(aParc) = 0 MsgAlert("Não existem boletos processados para geração de remessa no momento","Atenção") dbcloseall() Return Nil endif DEFINE FONT oFon1 NAME "Courier New" SIZE 0, -10 OF oVenDl DEFINE FONT oFon2 NAME "Courier New" SIZE 0, -9 OF oVenDl DEFINE FONT oFon3 NAME "Courier New" SIZE 0, -14 OF oVenDl DEFINE FONT oFon4 NAME "Courier New" SIZE 0, -22 BOLD OF oVenDl DEFINE FONT oFon5 NAME "Courier New" SIZE 0, -19 BOLD OF oVenDl DEFINE FONT oFon6 NAME "Courier New" SIZE 0, -15 BOLD OF oVenDl DEFINE FONT oFntLis NAME "Courier New" SIZE 0, -11 DEFINE DIALOG oVenDl RESOURCE "REMESSA" // Apresentando as BOLETO abertas no browse REDEFINE LISTBOX oBrw ; FIELDS Strzero(aParc[oBrw],11),; TRANS(aParc[oBrw],"@D"),; TRANS(aParc[oBrw],"@D"),; TRANS(aParc[oBrw],"@E 999,999.99"),; aParc[oBrw],; aParc[oBrw]; FIELDSIZES 80,80,50 ; HEADERS "Documento","Emissão","Vencimento"," Valor","Contrato","Nome" ; UPDATE COLORS BrwText, BrwBack ; ID 100 OF oVenDl oBrw:cAlias := NIL oBrw:SetArray(aParc) oBrw:nLineStyle:=4 //Linha pontilhada oBrw:lCellStyle:=.F.//trabalhar em linha oBrw:SetFont(oFntLis) oBrw:bGoTop := {|| oBrw:nat := 1 } oBrw:bGoBottom := {|| oBrw:nat := Eval( oBrw:bLogicLen ) } oBrw:bSkip := { | nWant, nDo | ; nDo := Min( Max( nWant, 1 - oBrw:nat ), ; Len( aParc ) - oBrw:nat ), ; oBrw:nat += nDo, nDo } oBrw:Refresh() // Vencimento e Parcelas REDEFINE GET oG01 VAR nTotal PICTURE "@E 999,999.99" ID 10 OF oVenDl When .F. ; FONT oFon5 UPDATE COLOR CLR_BLUE REDEFINE GET oG02 VAR oData PICTURE "@D" ID 11 OF oVenDl When .F. ; FONT oFon5 UPDATE COLOR CLR_BLUE REDEFINE GET oG03 VAR nQteBai PICTURE "9999" ID 12 OF oVenDl When .F. ; FONT oFon5 UPDATE COLOR CLR_BLUE REDEFINE SBUTTON oBt1 ID 30 OF oVenDl ACTION ( lSave := .t. , oVenDl:End()) ; CANCEL ; COLORS CLR_BLACK, ; {|oB| If( oB:lMouseOver, {CLR_BLUE,CLR_WHITE}, ; {CLR_WHITE,CLR_BLUE} ) }; BORDER TEXT POSITION ON_RIGHT REDEFINE SBUTTON oBt1 ID 31 OF oVenDl ACTION oVenDl:End() ; CANCEL; COLORS CLR_BLACK, ; {|oB| If( oB:lMouseOver, {CLR_BLUE,CLR_WHITE}, ; {CLR_WHITE,CLR_BLUE} ) }; BORDER TEXT POSITION ON_RIGHT ACTIVATE DIALOG oVenDl CENTERED Valid VerEsc(@lESC) if lSave lChange := .f. // Dar Confirmou gerar Boleto Select BOLETO BOLETO->(DBSETORDER(1)) if Len(aParc) > 0 aguarde('Aguarde enquanto remessa está sendo processado...') // Iniciando objeto do boleto oCBX := TOleAuto():New("CobreBemX.ContaCorrente") oCBX:ArquivoLicenca:= alltrim(oEMCAMCONF) // Monta dados da conta corrente oCBX:CodigoAgencia:= alltrim(oEMAGENCIA) oCBX:NumeroContaCorrente:= alltrim(oEMCONTA) oCBX:CodigoCedente:= alltrim(oEMCEDENTE) oCBX:OutroDadoConfiguracao1 := "009" // Preencha com a variação da carteira. oCBX:OutroDadoConfiguracao2 := "N" oCBX:LocalPagamento := "Pagável em qualquer banco até o vencimento" oCBX:InicioNossoNumero:= "000001" oCBX:FimNossoNumero:= "999999" oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := Curdrive() + ":\"+"\"+CURDIR()+"\bitmaps\BannerCBX.gif" oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := Curdrive() + ":\"+"\"+CURDIR()+"\bitmaps\" oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "Padrao" //oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "CarnetReciboTopo" // Adicionando as informações do boleto For j = 1 to Len(aParc) NomeCliente(aParc[j,5],3,@aGet) oBoleto := oCBX:DocumentosCobranca:Add() oCBX:ProximoNossoNumero := aParc[j,1] // Monta dados do sacado oBoleto:CPFSacado := "" oBoleto:NomeSacado := aGet[2] oBoleto:EnderecoSacado := aGet[3] oBoleto:BairroSacado := aGet[4] oBoleto:CidadeSacado := aGet[5] oBoleto:EstadoSacado := aGet[6] oBoleto:CepSacado := aGet[7] // Monta dados do documento de cobrança oBoleto:numeroDocumento := aParc[j,8] oBoleto:DataVencimento := TRANSF(aParc[j,3],"@D") oBoleto:NumeroDocumento := strzero(aParc[j,1],11) oBoleto:ValorDocumento := aParc[j,4] // Dados de observações finais cInstru:="" if oEMMULTAMES>0 cInstru+='Apos '+Dtoc(oData)+' cobrar multa de R$ '+transform( oEMMULTAMES, '@E 99,999.99')+' ' endif if oEMJUROMES>0 nVlrMora:=((aParc[j,4]*oEMJUROMES)/100) cInstru+='Apos vencimento cobrar juros diario de R$ '+transform(nVlrMora,'@E 99,999.99')+' ' endif cInstru+=aParc[j,7]+' ' cInstru+=oEMOBS1+' ' cInstru+=oEMOBS2+' ' oCBX:PadroesBoleto:InstrucoesCaixa:=cInstru //oCBX:ImprimeBoletos() // Gerando Impressão oCBX:calcularDadosBoletos() //oCBX:ImprimeBoletosSemPreview() //nNossoNumero:=oBoleto:NossoNumero Next // Tratamentos finais para gerar arquivo remessa oCBX:ArquivoRemessa:Layout := "CNAB400" cRemessa:=ProxCod("EMPRESA","EMCONTREM",3) oCBX:ArquivoRemessa:Sequencia := cRemessa cNomeArq:= Strzero(Day(date()),2)+Strzero(Month(date()),2)+Right(Time(),2)+".TST" oCBX:ArquivoRemessa:Arquivo := cNomeArq cCurPath:= Curdrive() + ":\"+"\"+CURDIR()+"\remessa\" IF ! lIsDir(cCurPath) IF ! lMkDir(cCurPath) MsgStop(OemToAnsi("Não conseguiu criar a pata para remessa."),"ATENÇÃO...") QUIT ENDIF ENDIF oCBX:ArquivoRemessa:Diretorio := Curdrive() + ":\"+"\"+CURDIR()+"\boletos\remessa\" //oCBX:calcularDadosBoletos() oCBX:GravaArquivoRemessa() *oCBX:End() fecha_aguarde() endif //Imprimir comprovante //Imprimir(oCod) // Lançar valor em caixa //Moviment() endif dbcloseall() return nil Washington Guimarães FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB Editado por - wmsoft on 27/05/2012 02:00:51
  14. Bom dia, Alguem do forum já usa o cobrebem com o Bradesco? se possível me add no MSN: wmsoft@hotmail.com Grato, Washington Guimarães Soledade Washington Guimarães FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB
×
×
  • Create New...