Jump to content
Fivewin Brasil

Marca

Membros
  • Posts

    1,425
  • Joined

  • Last visited

  • Days Won

    27

Everything posted by Marca

  1. Marca

    Barras FR3

    Bom dia Sim No meu caso bastou aumentar a altura do código de barras que resolveu o problema.
  2. Jon boa tarde Mostrei aqui pra um amigo No final do for next onde tenho o Progress tive que colocar um syswait(1) pq. sem isso ele vai um pouco pra frente da metada da barra Como o progress parece ser do Windows eu vou utilizar desta maneira com o syswait q. me atende.
  3. Basta refazer o Browse Edu Depois que recriar o Array faça o seguinte oBrow:aArrayData := NovoArray() oBrow:Refresh() oBrow:SetFocus()
  4. Exemplo exato do problema Troquei a matriz para um valor de 168 elementos e mandei executar function Main() local oDlg, oProg1, oProg2 DEFINE DIALOG oDlg TITLE "Progress Bars" @ 1, 1 PROGRESS oProg1 SIZE 80, 12 @ 1, 20 PROGRESS oProg2 SIZE 12, 50 VERTICAL @ 3, 9 BUTTON "Ok" ACTION oDlg:End() oDlg:bStart = { || Increase( oProg1, oProg2 ) } ACTIVATE DIALOG oDlg CENTER ; ON INIT ( oProg1:SetRange( 0, 168 ), oProg1:SetStep( 1 ),; oProg2:SetRange( 0, 168 ), oProg2:SetStep( 1 ) ) return nil function Increase( oProg1, oProg2 ) local n for n = 1 to 168 // 111 // oProg1:StepIt() // oProg2:StepIt() oProg1:SetPos( n ) oProg2:SetPos( n ) Sleep( 50 ) SysRefresh() next
  5. nTamanho := Len( aBase ) oMeter:SetRange( 0,nTamanho ) // Desta maneira não completa a barra do progress e no meu entendimento isso seria o correto oMeter:SetRange( 0, 100 ) Se colocar com 100 que é o que os exemplos mostram completa muito antes de terminar a operação FOR nDbf := 1 TO Len(aBase) oMeter:SetPos( nDbf ) NEXT Alguém já passou por isso ?
  6. Bom dia Ontem conversando com o Alexandre. Se isso realmente funcionar vai ser simplesmente fantástico. Colocaremos nosso sistema pra rodar na Web sem ter q. fazer praticamente nada. Irei acompanhar empolgado este tópico.
  7. cCmd := oPub:wPathRaiz + 'SwithMail.exe /s ' cCmd += '/From "' + cFrom + '" ' // Email do Remetente _cUserEmail cCmd += '/Name "' + cFrom + '" ' // Nome do Remetente que esta enviando pode se repetir o email acima cCmd += '/Pass "' + cSenhaEnvio + '" ' // Senha cCmd += '/Server "' + cMailServer + '" ' // Smtp cCmd += '/P "' + AllTrim(Str(nPort,4)) + '" ' IF lSSL cCmd += '/Ssl ' ENDIF cCmd += '/To "' + AllTrim(_cTo) + '" ' IF !Empty(_cComCopia) cCmd += '/cc "' + AllTrim(_cComCopia) + '" ' ENDIF IF !Empty(cCopiaoCulta) cCmd += '/bcc "' + cCopiaoCulta + '" ' ENDIF cCmd += '/Sub "' + AllTrim(_cSubject) + '" ' IF !Empty( cAttach ) cCmd += '/A "' + AllTrim(cAttach) + '" ' ENDIF * Assim seria com um Html * cCmd += '/b "' + cMensagem + '" ' // + '"/html ' // Com ou sem o html caso inclua nao é encaminhado os anexos IF File(oPub:wPathSys + "TRACEMAIL.ARQ") cCmd += '/l "' + oPub:wPathSys + 'EmailLog.log' + '" ' ENDIF IF !Empty( cArqMens ) cCmd += '/Btxt "' + cArqMens + '" ' ENDIF IF File(oPub:wPathSys + "TRACEMAIL.ARQ") cArqErros := oPub:wPathRaiz + "EMAIL" + AllTrim(Str(Day(Date()))) + AllTrim(Str(Month(Date()))) + ".LOG" IF File( cArqErros ) FErase( cArqErros ) ENDIF cListErr := MemoRead(cArqErros) cListErr += cCmd MemoWrit(cArqErros, cListErr) ENDIF * achaerro( cCmd ) lRetMail := MyRun( cCmd ) FErase( cArqMens ) CursorArrow() IF !lRetMail MsgStop( "Não foi possível enviar a mensagem para " + AllTrim(_cTo), "Atenção" ) ENDIF
  8. InfoSys2 poderia me chamar no Skype ? marcelomarca meu skype
  9. Bom dia a todos Alguém teria fontes de sistema de locação de equipamentos ?
  10. Boa tarde. Entendido Renato. Minha pergunta vem no sentido que hoje não posso atualizar meu Five devido ao fato de não saber se a Sqllib no meu caso "COMPRADA" irá funcionar e não tenho nenhum interesse de mudar para outro Rdd ou até mesmo para o MariaDb Nativo já que a mesma sempre me atendeu a contento. Mas entendo suas colocações. Obrigado.
  11. Renato. Boa tarde Me recordo em ter ouvido que vc liberaria os fontes da Sqllib sendo que nunca mais ví nada a respeito. Isso procede ?
  12. Bom dia pessoal. Passando pra desejar a todos os amigos um feliz natal e que tenhamos um novo ano abençoado.
  13. O Problema é em um momento como este gerarmos mais um custo ao cliente. Não sei ai na região de vcs mais por aqui está tudo muito parado. Falar com o cliente em mais 100,00 150,00 reais a mais é praticamente um tiro no pé.
  14. HCunha. Esta esposa dele já matou o tal Hendel 3x ressuscitou outras 4 e ai por diante. Nada que venha deles acredite pôs simplesmente é mais uma história.
  15. Vc tem que mudar os métodos de envio de nota e usar o EnviaNFSincrono no lugar de EnviaNFe Sendo que a receita voltou atrás e esta deixando emitir novamente
  16. nColAtual := oBrw:ColAtPos( oBrw:nColSel ):nCreationOrder
  17. Pois é Vilian. Este é o grande problema Passei uma informação a meu cliente que não consegui cumprir. O Tal Handel citado ai inclusive agora bloqueou minha API mesmo eu tendo pago por ela. Procurarei meus direitos de alguma maneira e ainda bem que temos credibilidade com nossos clientes e explicamos +- isso no início para eles. Sendo que um cliente que não entende nada ainda vinculou o problema a mim.
  18. Pessoal. Bom dia Somente para que outros não tenham o mesmo problema que eu tive aqui A respeito desta Api do tal Handel pra os que pensam em utilizar que saibam que o suporte dele simplesmente inexiste. Estamos aguardando a pelo menos uns 20 dias uma situação que se consiga capturar os áudios enviados e o mesmo ficou de liberar e até hoje nada. Na semana passada alguns clientes que começaram a utilizar o módulo que utiliza a Api dele reclamaram de mensagens enviadas que simplesmente não chegam no cliente. Entramos em contato com os clientes que não receberam e se quer .JPG chega para estas pessoas. A resposta dele é que havia tido uma atualização e que isso resolveria o problema. Indaguei a ele sobre estas mensagens que não chegaram como eu faria pra saber quais não foram entregues e o mesmo respondeu que não tem o que fazer. Resumo. O cara vende um produto que não consegue dar suporte e que profissionalmente não atende com seriedade nossas necessidades. Fica ai a Dica.
  19. Obrigado Sysgecom E vc ai utiliza Harbour ou xHarbour com ela ?
  20. Bom dia pessoal. Alguém teria alguma sugestão de algum fonte que de integração ao WatsApp sem ser a do Handel ?
  21. Vou colocar um pequeno exemplo aqui Aqui vc pode colocar um chechbox marcado e outro nulo aHBitMaps := { ReadBitmap( 0, oPub:wPathBmp + "CHECK_ON.BMP" ),; ReadBitmap( 0, oPub:wPathBmp + "CHECK_OFF.BMP" ) } REDEFINE LISTBOX oBrM ; FIELDS aHBitmaps[ Max(1,cArqRecPag->Status + 1)] ,; cArqRecPag->Empresa ,; Str(cArqRecPag->Pedido) ,; cArqRecPag->Docto ,; DToC(cArqRecPag->Dat_Venc) ,; DToC(cArqRecPag->Dat_Emis) ,; DToC(cArqRecPag->Dat_Pgto) ,; DToC(cArqRecPag->Dat_Movi) ,; TransForm(cArqRecPag->Valor,oPub:Pict80S) ,; TransForm(cArqRecPag->Nf_e,"99999999") ,; TransForm(cArqRecPag->Juros,oPub:Pict40S) ,; TransForm(cArqRecPag->Descontos,oPub:Pict40S),; cArqRecPag->Nominal ; HEADERS aCampos[1] ,; aCampos[2] ,; aCampos[3] ,; aCampos[4] ,; aCampos[5] ,; aCampos[6] ,; aCampos[7] ,; aCampos[8] ,; aCampos[9] ,; aCampos[10] ,; aCampos[11] ,; aCampos[12] ,; aCampos[13] ; ID 3000 OF oDlgM COLORS CLR_BLACK,CLR_B_03 Isso resolve ai seu problema 1 onde = "CHECK_ON.BMP" e 2 "CHECK_OFF.BMP"
  22. Cnab 240 75600000 100099999999999 03008 0000000099999 teste BANCO COOPERATIVO DO BRASIL S/ 12101201312003300001208100000 75600011R01 040 1000099999999999 03008 0000000099999 teste 000000122101201300000000 7560001300001P 0103008 0000000099999 000005123001016 10 22TESTE CNAB240 3101201300000000000010000000 02N21012013200000000000000000001000000000000000000000000000000000000000000000000000000000 1000 090000000000 7560001300002Q 011000010707729769teste RUA AMELIA SANTOS VENTURINI CENTRO 99999999cidade ES0000000000000000 000 7560001300003R 01000000000000000000000000000000000000000000000000200000000000000000000200 0000000000000000 000000000000 0 7560001300004S 013APÓS VENCIMENTO MULTA DE XX APÓS VENCIMENTO, MORA DE XX APENAS TESTE. 75600015 00000600000100000000000000100000000000000000000000000000000000000000000000000000000000000000000000 -1b64757345476cd639bc6602e88f2181c343505b 75699999 000001000008000000 CNAB400 01REMESSA01COBRAN�A 300820000xxxxx xxxxx xxxx 756BANCOOBCED 0309120000001 000001 101000xxxxxxxxxxx300820000xxxxx000000 0000000511120100 0000000000000000 20201teste 2709120000000001000756300820100309130001000000000000200000000000000000009000000000000000000000000002xxxxxxxxxxxxxxTeste AV. PRESIDENTE VARGAS, ES CENTRO 29260000DOMINGOS MARTINES 00 000002 9 000003
  23. Macs. Obrigado pelo Retorno Quem usa o HarbourBoleto são vários os cálculos Data base para o cálculo do fator de vencimento -> #DEFINE dDataBase CTOD("03/07/2000") METHOD Execute( ) CLASS oBoleto CASE ::cCodBco == "756" // SICOOB - Eroni ::cNumAgencia := STRZERO(VAL(::cNumAgencia), 4) ::cNumCC := STRZERO(VAL(::cNumCC) , 7) ::cCDPF := Strzero( Val( ::cCDPF ),6 ) cAgcc := ::cNumAgencia + "/" + ::cCDPF + ::cDVCDPF cCarteiraImpressao := Left(::cCarteira,1) // "1" IF EMPTY(::cTipoCob) ::cTipoCob := "1" // Cobranca 1-Simples 5-Escritural ENDIF // Sicoob, nosso numero com 7 digitos ::cNossoNumero := StrZero( Val( ::cNossoNumero ), 7 ) ::cDGNN := DC_ModEsp( ::cCodBco, ::cNumAgencia + Strzero( Val( ::cCDPF ),9 ) + ::cDVCDPF + ::cNossoNumero ) ::cNsNm := ::cNossoNumero + ::cDGNN cCpoLivre := cCarteiraImpressao + ::cNumAgencia + StrZero( Val( ::cTipoCob ),2 ) + ::cCDPF + ::cDVCDPF + ::cNsNm + "001" // teste eroni endcase cFatorVenc := STRZERO( ::DtVenc - dDataBase , 4 ) IF ::cCodBco == "001" .OR. ; // Alterado dia 04-06-2021* ::cCodBco == "756" cFatorVenc := STRZERO( ( ::DtVenc - dDataBase ) + 1000 , 4 ) ENDIF // Monta Código de Barras (p/ Banco) cDGCB := DC_Mod11( ::cCodBco, 9, .T., ::cCodBco + ::cTipoMoeda + cFatorVenc + STRZERO( ::nValor * 100, 10) + cCpoLivre ) ::cCodBar := ::cCodBco + ::cTipoMoeda + cDGCB + cFatorVenc + STRZERO( ::nValor * 100, 10 ) + cCpoLivre // 3 1 1 4 10 25 nY := 0 FOR nX := 1 TO LEN( ::cCodBar ) STEP 2 ::Merge( STRZERO( nY++, 2 ), SUBSTR( ::cCodBar, nX, 2 ) ) NEXT // Monta Representacao Numerica do Codigo de Barras * Campo1 ** cC1RN := ::cCodBco + ::cTipoMoeda + LEFT( cCpoLivre, 5 ) cC1RN := cC1RN + DC_Mod10( ::cCodBco, cC1RN ) cC2RN := SUBSTR(cCpoLivre, 6, 10) cC2RN += DC_Mod10(::cCodBco, cC2RN) cC3RN := SUBSTR(cCpoLivre, 16, 20) cC3RN += DC_Mod10(::cCodBco, cC3RN) cC4RN :=cDGCB cC5RN := cFatorVenc + STRZERO(::nValor * 100, 10) // Linha digitavel ::cRNCB := LEFT(cC1RN, 5) + "." + SUBSTR(cC1RN, 6) + " " + LEFT(cC2RN, 5) + "." +; SUBSTR(cC2RN, 6) + " " + LEFT(cC3RN, 5) + "." + SUBSTR(cC3RN, 6) + " " + cC4RN + " " + cC5RN ::Merge("LINDIG", ::cRNCB) IF ::lBoleto FWRITE(Self:nHandle, Self:Bolhtm) ENDIF /* -------------------------------------------------------------------------- */ // Retorna Dígito de Controle Módulo 10 // FUNCTION DC_Mod10( cCodBco, mNMOG ) LOCAL mVLDG, mSMMD, mCTDG, mRSDV, mDCMD mSMMD:=0 FOR mCTDG := 1 TO LEN(mNMOG) mVLDG := VAL(SUBSTR(mNMOG, LEN(mNMOG) - mCTDG + 1, 1)) * IF(MOD(mCTDG,2) == 0, 1, 2) mSMMD += mVLDG - IF(mVLDG > 9, 9, 0) NEXT mRSDV := MOD(mSMMD, 10) mDCMD := IF(mRSDV == 0, "0", STR(10 - mRSDV, 1)) RETURN mDCMD FUNCTION DC_Mod11( mCDBC, mBSDG, mFGCB, mNMOG, lMult10 ) LOCAL mSMMD, mCTDG, mSQMP, mRSDV, mDCMD DEFAULT mFGCB TO .F., lMult10 TO .F. mSMMD := 0 IF mCDBC == "756" mSQMP := 4 ELSE mSQMP := 2 ENDIF FOR mCTDG := 1 TO LEN(mNMOG) IF mCDBC == "756" // SICOOB mSMMD += ( VAL( SUBSTR( mNMOG, mCTDG, 1 ) ) * mSQMP ) mSQMP -- IF mSQMP < 2 mSQMP := mBSDG ENDIF ELSE mSMMD += VAL(SUBSTR(mNMOG, LEN(mNMOG) - mCTDG + 1, 1)) * (mSQMP) mSQMP := IF(mSQMP == mBSDG, 2, mSQMP+1) ENDIF NEXT IF lMult10 mSMMD *= 10 ENDIF mRSDV := MOD(mSMMD, 11) IF mFGCB mDCMD := IF(mRSDV > 9 .OR. mRSDV < 2, "1", STR(11 - mRSDV, 1)) ELSE IF mCDBC == "001" // Brasil mDCMD := IF(mRSDV == 0, "0", IF(mRSDV == 1, "X", STR(11 - mRSDV, 1))) ELSEIF mCDBC like "(008|033|353)" //Santander Banespa mDCMD := IF(mRSDV < 2, "0", IF(mRSDV == 10, "1", STR(11 - mRSDV, 1))) //mDCMD := IF(mRSDV == 0, "0", IF(mRSDV == 1, "X", STR(11 - mRSDV, 1))) ELSEIF mCDBC=="104" // Caixa mRSDV := 11 - mRSDV mDCMD := IF(mRSDV > 9, "0", STR(mRSDV, 1)) ELSEIF mCDBC == "237" // Bradesco mDCMD := IF(mRSDV == 0, "0", IF(mRSDV == 1, "P", STR(11 - mRSDV, 1))) ELSEIF mCDBC == "341" // Itau mDCMD := IF(mRSDV == 11, "1", STR(11 - mRSDV, 1)) ELSEIF mCDBC == "409" // Unibanco mDCMD := IF(mRSDV == 0 .OR. mRSDV == 10, "0", STR(mRSDV, 1)) ELSEIF mCDBC == "422" // Safra mDCMD := IF(mRSDV==0, "1", IF(mRSDV == 1, "0", STR(11 - mRSDV, 1))) ELSEIF mCDBC == "756" // Sicoob * IF mRSDV == 0 .OR. mRSDV == 1 * mDCMD := "0" IF mRSDV == 0 mDCMD := "1" ELSE mDCMD := STR(11 - mRSDV, 1) ENDIF ENDIF ENDIF RETURN mDCMD // Retorna Dígito de Controle Módulo Especial FUNCTION DC_ModEsp( cCodBco, mNMOG ) LOCAL mVLDG, mSMMD, mCTDG, mSQMP, mRSDV, mDCMD:=0 DO CASE CASE cCodBco == "033" // santander mSMMD:=0 mSQMP:=3 FOR mCTDG := 1 TO LEN(mNMOG) mVLDG := VAL(SUBSTR(mNMOG, LEN(mNMOG) - mCTDG + 1, 1)) * (mSQMP) mSMMD += mVLDG - (INT(mVLDG / 10) * 10) mSQMP := IF(mSQMP == 3, 7, IF(mSQMP == 7, 9, IF(mSQMP == 9, 1, 3))) NEXT mRSDV := mSMMD - (INT(mSMMD / 10) * 10) mDCMD := IF(mRSDV == 0, 0, 10 - mRSDV) CASE cCodBco == "756" // Sicoob mSMMD := 0 mSQMP := 3 FOR mCTDG := 1 TO LEN(mNMOG) mVLDG := VAL( SUBSTR( mNMOG , mCTDG, 1 ) ) * mSQMP mSMMD += mVLDG DO CASE CASE mSQMP == 3 ; mSQMP := 1 CASE mSQMP == 1 ; mSQMP := 9 CASE mSQMP == 9 ; mSQMP := 7 CASE mSQMP == 7 ; mSQMP := 3 ENDCASE NEXT mRSDV := Int( Mod( mSMMD, 11) ) IF mRSDV == 0 .OR. mRSDV == 1 mDCMD := 0 ELSE mDCMD := 11 - mRSDV ENDIF CASE cCodBco == "136" // Unicred mSMMD := 0 mSQMP := 2 FOR mCTDG := LEN(mNMOG) TO 1 STEP -1 mVLDG := VAL( SUBSTR( mNMOG , mCTDG, 1 ) ) * mSQMP mSMMD += mVLDG mSQMP ++ IF mSQMP > 9 mSQMP := 2 ENDIF NEXT mRSDV := Int( Mod( mSMMD, 11) ) IF mRSDV == 0 .OR. mRSDV == 1 mDCMD := 0 ELSE mDCMD := 11 - mRSDV ENDIF ENDCASE RETURN Str(mDCMD,1)
  24. Boa tarde Pessoal Alguém que utilize o Harbour boleto para emissão e que tenha homologado recentemente ? Estou com problemas no cálculo da linha digitável. Se alguém puder ajudar ficarei grato.
  25. Joao TwBrowse é do Herman Segunda feira eu ajudo ele ai estou de saída agora
×
×
  • Create New...