Posté le 11 août 2015 - 14:09 |
Procedure CalcNossoNroItau(Codigocedente is string,CarteiraCobranca is string,CampoLivre is string,IdContasReceber is string)
j is int mMult is int mTot1,mTot2 are int mRest1, mRest2 are real mRes1, mRes2 are real mDigNro is int mNovo is int mStrMult is string mTamanho is int = 20
mChaveNossoNumero is string=Left(Codigocedente,4)+Middle(Codigocedente,6,5)+CarteiraCobranca+Right("00"+NoSpace(CampoLivre),2)+IdContasReceber
mMult=0 mNovo=0 j=2 mTot1=0 FOR i=1 TO mTamanho IF j>2 THEN j=1 mMult=Val(Middle(mChaveNossoNumero,21-i,1))*j IF mMult>9 THEN mStrMult=NumToString(mMult,"02d") mRes1=Val(Left(mStrMult,1))*1/1 mRes2=Val(Right(mStrMult,1))*1/1 mNovo=(mRes1)+(mRes2) mMult=mNovo END mTot1=mTot1+mMult j++ END mTot2=IntegerPart(mTot1/10) mRest1=mTot1-(mTot2*10) mRest2=10-mRest1 IF mRest1=0 THEN mDigNro="0" ELSE mDigNro=NumToString(mRest2,"1d") END
mNossoNumero is string = CarteiraCobranca+"/"+Right("00"+NoSpace(CampoLivre),2)+IdContasReceber+"-"+mDigNro
RESULT mNossoNumero
Procedure CodigoBarras1(NossoNumero is string,ValorBruto is real,DataVencimento is string,CarteiraCobranca is string,CodigoCedente is string) Barra,mDIGNRO,mFATDIA are string j,mTOT1,i,mTOT2,mREST1,mREST2 are int mFATVEN is real
mCodigoBarras is string
IF DateValid(DataVencimento) THEN mFATVEN=DateToInteger(DataVencimento)-DateToInteger("19971007") mFATDIA=NumToString(mFATVEN,"04d")
Barra="341"+"9"+mFATDIA+NumToString((ValorBruto*100),"010d")+CarteiraCobranca+Middle(NossoNumero,5,8)+Right(NossoNumero,1)+Left(CodigoCedente,4)+Middle(CodigoCedente,6,5)+Right(CodigoCedente,1)+"000" j=2 mTOT1=0 FOR i=1 TO 43 IF j>9 THEN j=2 mTOT1=mTOT1+(Val(Middle(Barra,44-i,1))*j) j++ END mTOT2=IntegerPart(mTOT1/11) mREST1=mTOT1-(mTOT2*11) mREST2=11-mREST1 IF mREST2>9 THEN mDIGNRO="1" ELSE mDIGNRO=NumToString(mREST2,"1d") END mCodigoBarras = Barra[[1 TO 4]]+mDIGNRO+Barra[[5 TO]] END
RESULT mCodigoBarras
Procedure LinhaDigitavel1(CodigoDeBarras is string,ValorBruto is real)
mDIGNRO,mCAMPO1,mCAMPO2,mCAMPO3,mCAMPO4,mCAMPO5,mSTRMULT are string i,j,mTOT1,mTOT2,mREST1,mREST2 are int mRES1,mRES2,mMult,mNOVO are real
mCAMPO1="341"+"9"+Middle(CodigoDeBarras,20,5)
mMult=0 mNOVO=0 j=2 mTOT1=0 FOR i=1 TO 9 IF j>2 THEN j=1 mMult=Val(Middle(mCAMPO1,10-i,1))*j IF mMult>9 THEN mSTRMULT=NumToString(mMult,"02d") mRES1=Val(Left(mSTRMULT,1))*1/1 mRES2=Val(Right(mSTRMULT,1))*1/1 mNOVO=(mRES1)+(mRES2) mMult=mNOVO END mTOT1=mTOT1+mMult j++ END mTOT2=IntegerPart(mTOT1/10) mREST1=mTOT1-(mTOT2*10) mREST2=10-mREST1 IF mREST1=0 THEN mDIGNRO="0" ELSE mDIGNRO=NumToString(mREST2,"1d") END
mCAMPO1=Left(mCAMPO1,5)+"."+Right(mCAMPO1,4)+mDIGNRO
mCAMPO2=Middle(CodigoDeBarras,25,10)
j=2 mMult=0 mTOT1=0 FOR i=1 TO 10 IF j>2 THEN j=1 mMult=(Val(Middle(mCAMPO2,11-i,1))*j) IF mMult>9 THEN mSTRMULT=NumToString(mMult,"02d") mRES1=Val(Left(mSTRMULT,1))*1/1 mRES2=Val(Right(mSTRMULT,1))*1/1 mNOVO=(mRES1)+(mRES2) mMult=mNOVO END mTOT1=mTOT1+mMult j++ END mTOT2=IntegerPart(mTOT1/10) mREST1=mTOT1-(mTOT2*10) mREST2=10-mREST1 IF mREST2>9 THEN mDIGNRO="0" ELSE mDIGNRO=NumToString(mREST2,"1d") END mCAMPO2=Left(mCAMPO2,5)+"."+Right(mCAMPO2,5)+mDIGNRO
mCAMPO3=Middle(CodigoDeBarras,35,10)
j=2 mTOT1=0 mMult=0 FOR i=1 TO 10 IF j>2 THEN j=1 mMult=(Val(Middle(mCAMPO3,11-i,1))*j) IF mMult>9 THEN mSTRMULT=NumToString(mMult,"02d") mRES1=Val(Left(mSTRMULT,1))*1/1 mRES2=Val(Right(mSTRMULT,1))*1/1 mNOVO=(mRES1)+(mRES2) mMult=mNOVO END mTOT1=mTOT1+mMult j++ END mTOT2=IntegerPart(mTOT1/10) mREST1=mTOT1-(mTOT2*10) mREST2=10-mREST1 IF mREST2>9 THEN mDIGNRO="0" ELSE mDIGNRO=NumToString(mREST2,"1d") END mCAMPO3=Left(mCAMPO3,5)+"."+Right(mCAMPO3,5)+mDIGNRO mCAMPO4=Middle(CodigoDeBarras,5,1) mCAMPO5=Middle(CodigoDeBarras,6,4)+NumToString((ValorBruto*100),"010d") mLinhaDigitavel is string = mCAMPO1+" "+mCAMPO2+" "+mCAMPO3+" "+mCAMPO4+" "+mCAMPO5
RESULT mLinhaDigitavel
|
| |
| |
|