Abel,
Você sabe me dizer quando será o fim da emissão de boleto sem registro, porque eu tenho um sistema que fiz pro nosso condomínio, e não faço remessa, eu só baixo o arquivo retorno para saber quem pagou, isso no banco itaú
Moderador: Moderadores
STATIC FUNCTION TxtItau( mTipoReg )
MEMVAR mTxtDocto, mValor, mCnpj
MEMVAR mAgencia, mConta, mCarteira, mQtRegs, mDocBanco, mTxJuros, mnfNotFis, mTaxaBoleto
mTxtDocto := mnfNotFis
IF ! Empty( jpfinan->fiParcela )
mTxtDocto := mTxtDocto + "/" + jpfinan->fiParcela
ENDIF
SET ALTERNATE ON
SET CONSOLE OFF
DO CASE
CASE mTipoReg == "I" // Inicial
?? "0"
?? "1"
?? "REMESSA"
?? "01"
?? Pad("COBRANCA",15)
?? mAgencia
?? "00"
?? Substr( mConta, 1, Len( mConta ) - 1 )
?? Substr( mConta, Len( mConta ), 1 )
?? Space( 8 )
?? Pad( AppEmpresaNome(), 30 )
?? "341"
?? Pad( "BANCO ITAU S/A", 15 )
?? StrZero( Day( Date() ), 2 ) + StrZero( Month( Date() ), 2 ) + StrZero( Year( Date() ) - 2000, 2 )
?? Space(294)
?? StrZero( mQtRegs, 6 )
?
CASE mTipoReg == "F" // Final
?? "9"
?? Space(393)
?? StrZero( mQtRegs, 6 )
?
CASE mTipoReg == "D"
mValor := jpfinan->fiValor + mTaxaBoleto
?? "1"
IF Val( jpfinan->fiSacado ) == 0 .OR. jpfinan->fiSacado == jpfinan->fiCliFor
?? "02" // 04=CNPJ EMPRESA
?? StrZero( Val( SoNumeros( jpempre->emCnpj ) ), 14 )
ELSE
Encontra( jpfinan->fiCliFor, "jpcadas", "numlan" )
IF Len( SoNumeros( jpcadas->cdCnpj ) ) == 14
?? "04" // 04=CNPJ TERCEIRO
ELSE
?? "03"
ENDIF
?? Pad( SoNumeros( jpcadas->cdCnpj ), 14 )
ENDIF
?? mAgencia
?? "00"
?? Substr( mConta, 1, Len( mConta ) - 1 )
?? Substr( mConta, Len( mConta ), 1 )
?? Space(4)
?? Space(4) // Nota 27
?? Pad( jpfinan->fiDocAux, 25 )
// ?? Space(25) // Titulo na empresa
IF mCarteira == "112"
?? Space(8) // Escritural, o Itau vai preencher
ELSE
?? StrZero( Val( mDocBanco ), 8 ) // Direta, sequencial
ENDIF
?? StrZero( 0, 13 ) // Outra moeda
?? mCarteira // "109" ou "112"
?? Space(21)
?? "I" // Nota 5
?? "01" // Remessa - Nota 6
IF jpfinan->fiCliFor == jpfinan->fiSacado
IF "CARREFOUR" $ jpcadas->cdNome .OR. "ELDORADO S/A" $ jpcadas->cdNome
IF "/" $ mTxtDocto
mTxtDocto := Substr( mTxtDocto, 1, At( "/", mTxtDocto ) - 1 )
mTxtDocto := StrZero( Val( mTxtDocto ), 9 ) + " "
ENDIF
?? mTxtDocto
ELSE
?? Right( mTxtDocto, 10 ) // Nota 18
ENDIF
ELSE
?? Pad( jpfinan->fiDocAux, 10 )
ENDIF
?? StrZero( Day( jpfinan->fiDatVen ), 2 ) + StrZero( Month( jpfinan->fiDatVen ), 2 ) + StrZero( Year( jpfinan->fiDatVen ) - 2000, 2 )
?? StrZero( mValor * 100, 13 )
?? "341"
?? StrZero( 0, 5 ) // Nota 9 - Agencia cobradora
// Alterado em 14-12-2011 pra todos, pra permitir protestar
// IF "CORDEIRO" $ AppEmpresaApelido() .OR. "CARBOLUB" $ AppEmpresaApelido() .OR. "MARINGA" $ AppEmpresaApelido()
?? "01" // Cordeiro - Duplicata Mercantil
// ELSE
// ?? "99" // Especie de Docto Diversos - Nota 10
// ENDIF
?? "N" // Aceite
?? StrZero( Day( jpfinan->fiDatEmi ), 2 ) + StrZero( Month( jpfinan->fiDatEmi ), 2 ) + StrZero( Year( jpfinan->fiDatEmi ) - 2000, 2 )
IF ( "CORDEIRO" $ AppEmpresaApelido() .OR. "CARBOLUB" $ AppEmpresaApelido() ) .AND. jpfinan->fiCliFor == jpfinan->fiSacado
?? "43" // SUJEITO A PROTESTO SE NÃO FOR PAGO NO VENCIMENTO
ELSE
?? " " // Instrucao Nota 11 - mensagens
ENDIF
?? " " // Instrucao Nota 11 - mensagens
?? StrZero( mValor * mTxJuros / 30, 13 )
?? " " // Data limite pra desconto
?? StrZero( 0, 13 ) // Desconto a ser concedido - nota 13
?? StrZero( 0, 13 ) // IOF recolhido - nota 14
?? StrZero( 0, 13 ) // Abatimento concedido - nota 13
IF Val( jpfinan->fiSacado ) == 0
Encontra( jpfinan->fiClifor, "jpcadas", "numlan" )
ELSE
Encontra( jpfinan->fiSacado, "jpcadas", "numlan" )
ENDIF
mCnpj := SoNumeros( jpcadas->cdCnpj )
IF Len( mCnpj ) <= 11
?? "01"
ELSE
?? "02" // 01=CPF 02=CNPJ
ENDIF
?? StrZero( Val( mCnpj ), 14 )
?? Pad( jpcadas->cdNome, 30 )
?? Space(10) // Nota 15
?? Pad( Trim( jpcadas->cdEndCob ) + " " + Trim( jpcadas->cdNumCob ) + " " + Trim( jpcadas->cdComCob ), 40 )
?? Pad( jpcadas->cdBaiCob, 12 )
?? StrZero( Val( SoNumeros( jpcadas->cdCepCob ) ), 8 )
?? Pad( jpcadas->cdCidCob, 15 )
?? jpcadas->cdUfCob
Encontra( jpfinan->fiCliFor, "jpcadas", "numlan" )
IF jpfinan->fiCliFor == jpfinan->fiSacado
?? Space(30)
ELSE
?? Pad( jpcadas->cdNome, 30 )
ENDIF
?? Space(4)
?? StrZero( Day( jpfinan->fiDatVen ), 2 ) + StrZero( Month( jpfinan->fiDatVen ), 2 ) + StrZero( Year( jpfinan->fiDatVen ) - 2000, 2 ) // Data de mora
?? StrZero( 0, 2 ) // Qtd.Dias - nota 11
?? Space(1)
?? StrZero( mQtRegs, 6 )
?
// Mensagens adicionais
// mQtRegs += 1
// ?? "5"
// ?? Space(350)
// ?? Pad( "Apos vencto, www.itau.com.br/boletos", 40 ) // maximo 40
// ?? Space(3)
// ?? StrZero( mQtRegs, 6 )
// ?
ENDCASE
mQtRegs += 1
SET ALTERNATE OFF
SET CONSOLE ON
RETURN NIL
IF ::cBancoNumero == "237"
IF Len( ::Cnab400 ) == 0
::Cnab400 := { "", "" }
//----- registro inicial ---
/* */ cTxt := ""
/* 001 */ cTxt += "0" // Fixo: 0=Registro inicial
/* 002 */ cTxt += "1" // Fixo: ID Remessa
/* 003 */ cTxt += "REMESSA" // Fixo: Decricao
/* 010 */ cTxt += "01" // Fixo: Codigo de Servico
/* 012 */ cTxt += Pad( "COBRANCA", 15 ) // Fixo: Literal Servico
/* 027 */ cTxt += Padl( ::cBancoIDBeneficiario, 20, "0" ) // Codigo da empresa no Bradesco
/* 047 */ cTxt += Pad( ::acBeneficiario[ 2 ], 30 ) // Nome da empresa
/* 077 */ cTxt += ::cBancoNumero // Fixo: Codigo do Banco
/* 080 */ cTxt += Pad( "BRADESCO", 15 ) // Fixo: Nome do Banco
/* 095 */ cTxt += StrZero( Day( Date() ), 2 ) + StrZero( Month( Date() ), 2 ) + Right( StrZero( Year( Date() ), 4 ), 2 ) // Data da gravacao Dia/Mes/Ano, 2 digitos de cada
/* 101 */ cTxt += Space(8) // Espacos
/* 109 */ cTxt += "MX" // MX - olhar pag. 16, não tem nada
/* 111 */ cTxt += StrZero( ::nSequencial, 7 ) // Num. sequencial de remessa - olhar pag. 16 // nao pode pular, reiniciar ou zerar
/* 118 */ cTxt += Space(277) // Espacos
/* 395 */ cTxt += StrZero( 1, 6 ) // Num. sequencial de registro
::cnab400[ 1 ] := cTxt
ENDIF
Retornar para Contribuições, Dicas e Tutoriais
Usuários vendo este fórum: Nenhum usuário registrado online e 19 visitantes