Jump to content
Fivewin Brasil

boleto - remessa e retorno


aokisantos

Recommended Posts

Luiz,

não tenho nada ainda, e preciso começar a gerar estes layout, existe algum exemplo para seguir?

att.

Todos os banco tem um layout(se vc fazer um pesquisa do google vc ira achar um pdf), existe duas opção 240 e 400 posição, dai é só seguir o que pede, é muito simples, de uma banco para outro muda pouquissima coisa.

veja este exemplo

marqui='CB'+strzero(mdia,2)+strzero(mmes,2)+strzero(mSeq_n,2)+'.REM'

	        oFile1 = TTxtFile():New( cPath1+"BOLETO\REMESSA\"+marqui )
	    	  wlin='001'                // 01  fixo
			  wlin+='0000'              // 02  G002
			  wlin+='0'                 // 03  G003
			  wlin+=space(9)            // 04  fixo
			  wlin+='2'                 // 05  tipo de empre 1 CPF  2 CNPJ
			  wlin+='01476079000100'    // 06  CNPJ DA EMPRESA 
			  wlin+='001331728'         // 07.1  codigo convenio
			  wlin+='0014'              // 07.2
			  wlin+='17'                // 07.3  numero da carteira de cobrança
			  wlin+='019'               // 07.4  informar o numero da variação da carteira
			  wlin+=space(2)            // 07.5  space(2)
			  wlin+='02763'             // 08  Agencia
			  wlin+='4'                 // 09  digito da agencia
			  wlin+='000000018022'      // 10  numero da conta corrente
			  wlin+='5'                 // 11  digito da conta
			  wlin+='0'                 // 12  digito da agencia
			  wlin+=padr("AR TESTE COMERCIAL LTDA",30) // 13 nome da empresa
			  wlin+=padr("BANCO DO BRASIL S.A.",30)    // 14 nome do banco
			  wlin+=space(10)                          // 15 fixo
			  wlin+='1'                                // 16 fixo
	        wlin+=strzero(day(date()),2)+strzero(month(date()),2)+RIGHT(STR(YEAR(date()),4),4) // 17 data da geracao do arquivo
			  wlin+='000000'                           // 18 hora ou deixar com zeros
			  wlin+='000000'                           // 19 sem necessidade
			  wlin+='000'                              // 20  "        "
			  wlin+='00000'                            // 21  "        "
			  wlin+=space(20)                          // 22 fixo
			  wlin+=space(20)                          // 23 fixo
			  wlin+=space(29)+chr(13)+chr(10)          // 24 fixo
			  oFile1:PutStr( wlin )
			  //HEADER DE LOTE
			  wlin='001'                              // O1 fixo
			  wlin+='0001'                            // 02 numero sequencia arquivo remessa
			  wlin+='1'                               // 03 fixo
			  wlin+='R'                               // 04 fixo
			  wlin+='01'                              // 05 fixo
			  wlin+=space(2)                          // 06 fixo
			  wlin+='020'                             // 07 fixo
			  wlin+=space(1)                          // 08 fixo
			  wlin+='2'                               // 09 fixo
			  wlin+='001456072000100'                 // 10  inscricao da empresa
			  wlin+='001661728001417019  '		      // 11 indentificação da empresa  
			  wlin+='02763'                           // 12 agencia da conta
			  wlin+='4'                               // 13 digito da agencia
			  wlin+='000000008022'                    // 14 numero da conta
			  wlin+='5'                               // 15 digito da conta
			  wlin+=space(1)                          // 16 fixo
			  wlin+=padr("AR TESTE COMERCIAL LTDA",30) // 17 nome da empresa
			  wlin+=space(40)                          // 18 fixo
			  wlin+=space(40)                          // 19 fixo
			  wlin+='00000000'                         // 20 fixo
	        wlin+=strzero(day(date()),2)+strzero(month(date()),2)+RIGHT(STR(YEAR(date()),4),4) // 21 data da geracao do arquivo
			  wlin+='00000000'                         // 22 fixo
			  wlin+=space(33)+chr(13)+chr(10)          // 23 fixo
			  oFile1:PutStr( wlin )
	        mconta=1
			  for i=1 to len(aBoleto)
	            nVMulta:=0
	            nVMulta:=round((aBoleto[i,5]*aCarteira[11])/100,2)
	            oBoleto := oCBX:DocumentosCobranca:Add()
	            oBoleto:NossoNumero := aBoleto[i,2]
	            oCBX:calcularDadosBoletos()          
	            oCBX:GravaArquivoRemessa()
	            nNosso:=oBoleto:NossoNumero   
					// SEGMENTO P
	            wlin='001'                    // 01 fixo
	            wlin+='0001'                  // 02 numero do lote
	            wlin+='3'                     // 03 tipo do registro fixo
	            wlin+=strzero(mconta,5)       // 04 numero sequencial
	            wlin+='P'                     // 05 fixo
	            wlin+=space(1)                // 06 fixo
	            wlin+='01'                    // 07 01=entradas de titulos
	            wlin+='02763'                 // 08 agencia
	            wlin+='4'                     // 09 digito da agencia
	            wlin+='000000008022'          // 10 numero da conta
					wlin+='5'                     // 11 digito da conta
					wlin+=space(1)                // 12 fixo
					wlin+='1331728'+substr(nNosso,1,10)+space(3) //'INFORMA NOSSO NUMERO'  // 13 PENDENTE  PENDENTE
					wlin+='1'                     // 14
					wlin+='1'                     // 15 fixo
					wlin+='1'                     // 16 fixo
					wlin+='2'                     // 17
					wlin+='1'                     // 18 fixo
					wlin+=padr(aBoleto[i,11],15)  //'NUMERO DA NFE\CUPOM'   // 19 PENDENTE  PENDENTE
	            wlin+=strzero(day(aBoleto[i,10]),2)+strzero(month(aBoleto[i,10]),2)+RIGHT(STR(YEAR(aBoleto[i,10]),4),4)  // 20 vencimento
	   	      wlin+=strzero(aBoleto[i,5]*100,15)   // 21 valor do titulo
	            wlin+='00000'                        // 22 fixo
	            wlin+=space(1)                       // 23 fixo
	            wlin+='02'                           // 24 02 = Duplicata Mercantil
	            wlin+='N'                            // 25 fixo
	            wlin+=strzero(day(aBoleto[i,9]),2)+strzero(month(aBoleto[i,9]),2)+RIGHT(STR(YEAR(aBoleto[i,9]),4),4)  // 26 data da emissao
	            wlin+='2'                            // 27 fixo
	            wlin+='00000000'                     // 28 data carencia de juros
					wlin+=strzero(nVMulta*100,15)        // 29 valor do juros a ser cobrado
					wlin+='0'                            // 30 fixo
					wlin+='00000000'                     // 31 fixo
					wlin+='000000000000000'              // 32 fixo
					wlin+='000000000000000'              // 33 fixo
					wlin+='000000000000000'              // 34 fixo
					wlin+=padr(aBoleto[i,4],25)          // 'NUMERO DO PEDIDO P/ BAIXA'    // 35 PENDENTE  PENDENTE
					wlin+='2'                            // 36 2 protestar dis uteis
					wlin+='04'                           // 37 numero de dias para protesto
					wlin+='2'                            // 38
					wlin+='000'                          // 39 fixo
					wlin+='09'                           // 40 codigo da moeda
					wlin+='0000000000'                   // 41
					wlin+=space(1)+chr(13)+chr(10)       // 42 fixo
	   		   oFile1:PutStr( wlin )
					mconta=mconta+1
					// SEGMENTO Q
	            wlin='001'                         // 01 fixo
	            wlin+='0001'                       // 02 numero do lote
	            wlin+='3'                          // 03 tipo do registro fixo
	            wlin+=strzero(mconta,5)            // 04 numero sequencial
	            wlin+='Q'                          // 05 fixo
	            wlin+=space(1)                     // 06 fixo
	            wlin+='01'                         // 07 01=entradas de titulos
				   if len(alltrim(aBoleto[i,20]))<14  // 08 01 para cpf 02 para cnpj
				      wlin+='1'
				   else
				      wlin+='2'
				   endif
	  			   lCnpj_cli:=R_CnpjLienar(aBoleto[i,20])  // 09 
	  			   wlin+=strzero(val(lCnpj_cli),15)            // 09 
	   			wlin+=padr(aBoleto[i,8],40)                 // 10  razao social
	   			wlin+=padr(aBoleto[i,12],40)                // 11  endereço
	   			wlin+=padr(aBoleto[i,15],15)                // 12  bairro
				   wlin+=substr(aBoleto[i,18],1,5)             // 13  cep 99999  
				   wlin+=substr(aBoleto[i,18],7,3)             // 14  cep 999
					wlin+=padr(aBoleto[i,16],15)                // 15  cidade
					wlin+=aBoleto[i,17]                         // 16  UF
			      wlin+='0'                                   // 17  fixo
			      wlin+=repl('0',15)                          // 18  fixo
			      wlin+=space(40)                             // 19  fixo
			      wlin+='000'                                 // 20  fixo
			      wlin+=space(20)                             // 21  fixo
			      wlin+=space(8)+chr(13)+chr(10)              // 22  fixo
			      mconta=mconta+1
	  		      oFile1:PutStr( wlin )
			  next
			  // Trailer de lote
			  wlin='001'                         // 01 fixo
	        wlin+='0001'                       // 02 numero do lote
	        wlin+='5'                          // 03 fixo
	        wlin+=space(9)                     // 04 fixo
	        wlin+=strzero((mconta+1),6)        // 05 total de linhas do lote
			  wlin+=repl('0',92)
	        wlin+=space(125)+chr(13)+chr(10)   // 06 fixo
	        oFile1:PutStr( wlin )
	        // Trailer do header
	        wlin='001'                         // 01 fixo
	        wlin+='9999'                       // 02 numero do lote
	        wlin+='9'                          // 03 fixo
	        wlin+=space(9)                     // 04 fixo
	        wlin+='000001'                     // 05 fixo
	        wlin+=strzero((mconta+3),6)        // 06 total de linhas do lote
	        wlin+='000000'                     // 07 informar zeros
		wlin+=space(205)+chr(13)+chr(10)   // 08 
	        oFile1:PutStr( wlin )

Link to comment
Share on other sites

Eu implantei a remessa para Itaú, Bradesco e Santander.

Cada um é diferente do outro. Varia também conforme a carteira de cobrança do cliente. Perde-se um tempo tremendo.

Tem que pegar os manuais de cada um e ir seguindo detalhadamente e combinar com o cliente os testes que devem ser combinados com o banco conforme o caso.

[]´s

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...