brcobranca 3.1.2 → 3.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -2
- data/README.rdoc +5 -0
- data/brcobranca.gemspec +3 -3
- data/lib/brcobranca.rb +2 -0
- data/lib/brcobranca/arquivos/templates/modelo_carne.eps +1112 -0
- data/lib/brcobranca/arquivos/templates/modelo_generico.eps +0 -0
- data/lib/brcobranca/boleto/base.rb +1 -1
- data/lib/brcobranca/boleto/santander.rb +10 -14
- data/lib/brcobranca/boleto/template/base.rb +11 -2
- data/lib/brcobranca/boleto/template/rghost.rb +4 -4
- data/lib/brcobranca/boleto/template/rghost_carne.rb +327 -0
- data/lib/brcobranca/currency.rb +3 -1
- data/lib/brcobranca/retorno/base.rb +2 -0
- data/lib/brcobranca/retorno/retorno_cnab400.rb +140 -0
- data/lib/brcobranca/version.rb +1 -1
- data/spec/arquivos/CNAB400.RET +54 -0
- data/spec/brcobranca/banco_bradesco_spec.rb +3 -3
- data/spec/brcobranca/banco_brasil_spec.rb +3 -3
- data/spec/brcobranca/banco_caixa_spec.rb +1 -1
- data/spec/brcobranca/banco_hsbc_spec.rb +3 -3
- data/spec/brcobranca/banco_real_spec.rb +3 -3
- data/spec/brcobranca/banco_sicredi_spec.rb +2 -2
- data/spec/brcobranca/banco_unibanco_spec.rb +3 -3
- data/spec/brcobranca/base_spec.rb +9 -9
- data/spec/brcobranca/itau_spec.rb +2 -2
- data/spec/brcobranca/retorno_cnab400_spec.rb +58 -0
- data/spec/brcobranca/rghost_spec.rb +1 -1
- data/spec/brcobranca/santander_spec.rb +4 -11
- metadata +15 -8
@@ -0,0 +1,140 @@
|
|
1
|
+
require 'parseline'
|
2
|
+
module Brcobranca
|
3
|
+
module Retorno
|
4
|
+
# Formato de Retorno CNAB 400
|
5
|
+
|
6
|
+
# Baseado em: http://download.itau.com.br/bankline/layout_cobranca_400bytes_cnab_itau_mensagem.pdf
|
7
|
+
class RetornoCnab400 < Base
|
8
|
+
extend ParseLine::FixedWidth # Extendendo parseline
|
9
|
+
|
10
|
+
def self.load_lines(file, options={})
|
11
|
+
default_options = {:except => [1]} #por padrao ignora a primeira linha que é header
|
12
|
+
options = default_options.merge!(options)
|
13
|
+
|
14
|
+
super file, options
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
fixed_width_layout do |parse|
|
19
|
+
|
20
|
+
# Todos os campos descritos no documento em ordem
|
21
|
+
# :tipo_de_registro, 0..0 # identificacao do registro transacao
|
22
|
+
# :codigo_de_inscricao, 1..2 # identificacao do tipo de inscrica/empresa
|
23
|
+
# :numero_de_inscricao, 3..17 #numero de inscricao da empresa (cpf/cnpj)
|
24
|
+
|
25
|
+
# :agencia ,17..20 #agencia mantenedora da conta
|
26
|
+
parse.field :agencia_com_dv,17..20 #FIXME - SEM DIV
|
27
|
+
|
28
|
+
# :zeros, 21..22 # complemento de registro
|
29
|
+
|
30
|
+
# :conta, 23..27 #numero da conta corrente da empresa
|
31
|
+
# :dac, 28..28 #digito de auto conferencia ag/conta empresa
|
32
|
+
parse.field :cedente_com_dv,23..28
|
33
|
+
|
34
|
+
# :brancos, 29..36 #complemento de registro
|
35
|
+
# :uso_da_empresa, 37..61 #identificacao do titulo na empresa
|
36
|
+
|
37
|
+
# :nosso_numero,62..69 # identificacao do titulo no banco
|
38
|
+
parse.field :nosso_numero,62..69
|
39
|
+
|
40
|
+
# :brancos, 70..81 #complemento do registro
|
41
|
+
|
42
|
+
# :carteira, 82..84 #numero da carteira
|
43
|
+
parse.field :carteira_variacao,82..84
|
44
|
+
|
45
|
+
# :nosso_numero, 85..92 #identificacao do titulo no banco (novamente?)
|
46
|
+
# :dac_nosso_numero, 93..93 #dac nosso numero
|
47
|
+
# :brancos, 94..106 #complemento do registro
|
48
|
+
|
49
|
+
# :carteira, 107..107 #código da carteira
|
50
|
+
parse.field :carteira,107..107
|
51
|
+
|
52
|
+
# :cod_de_ocorrencia, 108..109 # código de ocorrencia
|
53
|
+
# :data_de_ocorrencia, 110..115 # data de ocorrencia no banco (ddmmaa)
|
54
|
+
# :n_do_documento, 116..125 # n umero do documento de cobranca (dupl, np etc)
|
55
|
+
# :nosso_numero, 126..133 # confirmacao do numero do titulo no banco
|
56
|
+
# :brancos, 134..145 #complemento de registro
|
57
|
+
|
58
|
+
# :vencimento, 146..151 #data de vencimento do titulo (ddmmaa)
|
59
|
+
parse.field :data_vencimento,146..151
|
60
|
+
|
61
|
+
# :valor_do_titulo, 152..164 #valor nominal do titulo (ultimos 2 digitos, virgula decimal assumida)
|
62
|
+
parse.field :valor_titulo,152..164
|
63
|
+
|
64
|
+
# :codigo_do_banco, 165..167 # numero do banco na camara de compensacao
|
65
|
+
parse.field :banco_recebedor,165..167
|
66
|
+
|
67
|
+
# :agencia_cobradora, 168..171 # agencia cobradora, ag de liquidacao ou baixa
|
68
|
+
# :dac_ag_cobradora, 172..172 # dac da agencia cobradora
|
69
|
+
parse.field :agencia_recebedora_com_dv,168..172
|
70
|
+
|
71
|
+
# :especie, 173..174 # especie do titulo
|
72
|
+
parse.field :especie_documento,173..174
|
73
|
+
|
74
|
+
# :tarifa_de_cobranca, 175..187 #valor da despesa de cobranca (ultimos 2 digitos, virgula decimal assumida)
|
75
|
+
parse.field :valor_tarifa,175..187
|
76
|
+
|
77
|
+
# :brancos, 188..213 #complemento do registro
|
78
|
+
|
79
|
+
# :valor_do_iof, 214..226 #valor do iof a ser recolhido (ultimos 2 digitos, virgula decimal assumida)
|
80
|
+
parse.field :iof,214..226
|
81
|
+
|
82
|
+
# :valor_abatimento, 227..239 #valor do abatimento concedido (ultimos 2 digitos, virgula decimal assumida)
|
83
|
+
parse.field :valor_abatimento,227..239
|
84
|
+
|
85
|
+
# :descontos, 240..252 #valor do desconto concedido (ultimos 2 digitos, virgula decimal assumida)
|
86
|
+
parse.field :desconto,240..252
|
87
|
+
|
88
|
+
# :valor_principal, 253..265 #valor lancado em conta corrente (ultimos 2 digitos, virgula decimal assumida)
|
89
|
+
|
90
|
+
parse.field :valor_recebido,253..265
|
91
|
+
|
92
|
+
# :juros_mora_multa, 266..278 #valor de mora e multa pagos pelo sacado (ultimos 2 digitos, virgula decimal assumida)
|
93
|
+
parse.field :juros_mora,266..278
|
94
|
+
|
95
|
+
# :outros_creditos, 279..291 #valor de outros creditos (ultimos 2 digitos, virgula decimal assumida)
|
96
|
+
parse.field :outros_recebimento,279..291
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
# :boleto_dda, 292..292 #indicador de boleto dda
|
101
|
+
# :brancos, 293..294 #complemento de registro
|
102
|
+
|
103
|
+
# :data_credito, 295..300 #data de credito desta liquidacao
|
104
|
+
parse.field :data_credito,295..300
|
105
|
+
|
106
|
+
|
107
|
+
# :instr_cancelada, 301..304 # codigo da instrucao cancelada
|
108
|
+
# :brancos , 305..310 # complemento de registro
|
109
|
+
# :zeros, 311..323 #complemento de registro
|
110
|
+
# :nome_do_sacado, 324..353, #nome do sacado
|
111
|
+
# :brancos , 354..376 # complemento de registro
|
112
|
+
# :erros_msg, 377..384 #registros rejeitados ou laegacao do sacado ou registro de mensagem informativa
|
113
|
+
# :brancos, 385..391 #complemento de registro
|
114
|
+
# :cod_de_liquidacao, 392..393 #meio pelo qual o título foi liquidado
|
115
|
+
|
116
|
+
# :numero_sequencial, 394..399 #numero sequencial no arquivo
|
117
|
+
parse.field :sequencial,394..399
|
118
|
+
|
119
|
+
|
120
|
+
# Campos da classe base que não encontrei a relação com CNAB400
|
121
|
+
# parse.field :tipo_cobranca,80..80
|
122
|
+
# parse.field :tipo_cobranca_anterior,81..81
|
123
|
+
# parse.field :natureza_recebimento,86..87
|
124
|
+
# parse.field :convenio,31..37
|
125
|
+
# parse.field :comando,108..109
|
126
|
+
# parse.field :juros_desconto,201..213
|
127
|
+
# parse.field :iof_desconto,214..226
|
128
|
+
# parse.field :desconto_concedito,240..252
|
129
|
+
# parse.field :outras_despesas,279..291
|
130
|
+
# parse.field :abatimento_nao_aproveitado,292..304
|
131
|
+
# parse.field :data_liquidacao,295..300
|
132
|
+
# parse.field :valor_lancamento,305..317
|
133
|
+
# parse.field :indicativo_lancamento,318..318
|
134
|
+
# parse.field :indicador_valor,319..319
|
135
|
+
# parse.field :valor_ajuste,320..331
|
136
|
+
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
data/lib/brcobranca/version.rb
CHANGED
@@ -0,0 +1,54 @@
|
|
1
|
+
02RETORNO01COBRANCA 073000035110 PLUTO ALTO ELENTAS LTDA ME 341BANCO ITAU S.A.20051301600BPI00025210513 000001
|
2
|
+
10216733872000107073000035110 00000011 109000000114 I06200513 00000011 000000000000000400010418739 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000002
|
3
|
+
10216733872000107073000035110 00000035 109000000353 I06200513 00000035 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000003
|
4
|
+
10216733872000107073000035110 00000052 109000000528 I06200513 00000052 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000004
|
5
|
+
10216733872000107073000035110 00000107 109000001070 I06200513 00000107 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000005
|
6
|
+
10216733872000107073000035110 00000139 109000001393 I06200513 00000139 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000006
|
7
|
+
10216733872000107073000035110 00000195 109000001955 I06200513 00000195 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000007
|
8
|
+
10216733872000107073000035110 00000267 109000002672 I06200513 00000267 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000008
|
9
|
+
10216733872000107073000035110 00000331 109000003316 I06200513 00000331 000000000000000400010404085 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000009
|
10
|
+
10216733872000107073000035110 00000541 109000005410 I06200513 00000541 000000000000001050010417848 000000000021000000000000000000000000000000000000000000000000000000000000000000000000001029000000000000000000000000000 21051300000000000000000000000 B5000010
|
11
|
+
10216733872000107073000035110 00000890 109000008901 I06200513 00000890 000000000000000400010418754 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000011
|
12
|
+
10216733872000107073000035110 00000956 109000009560 I06200513 00000956 000000000000000750010417848 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000729000000000000000000000000000 21051300000000000000000000000 B5000012
|
13
|
+
10216733872000107073000035110 00000975 109000009750 I06200513 00000975 000000000000000750010417848 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000729000000000000000000000000000 21051300000000000000000000000 B2000013
|
14
|
+
10216733872000107073000035110 00001036 109000010360 I06200513 00001036 000000000000000210034178584 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000 21051300000000000000000000000 CP000014
|
15
|
+
10216733872000107073000035110 00001052 109000010527 I06200513 00001052 000000000000000840010417848 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000819000000000000000000000000000 21051300000000000000000000000 B5000015
|
16
|
+
10216733872000107073000035110 00001109 109000011095 I06200513 00001109 000000000000000460010436921 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000439000000000000000000000000000 21051300000000000000000000000 B5000016
|
17
|
+
10216733872000107073000035110 00001123 109000011236 I06200513 00001123 000000000000000400010418754 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000017
|
18
|
+
10216733872000107073000035110 00001206 109000012069 I06200513 00001206 000000000000000400010418754 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000018
|
19
|
+
10216733872000107073000035110 00001324 109000013240 I06200513 00001324 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000019
|
20
|
+
10216733872000107073000035110 00001351 109000013513 I06200513 00001351 000000000000000400023729371 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B2000020
|
21
|
+
10216733872000107073000035110 00001372 109000013729 I06200513 00001372 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000021
|
22
|
+
10216733872000107073000035110 00001373 109000013737 I06200513 00001373 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000022
|
23
|
+
10216733872000107073000035110 00001380 109000013802 I06200513 00001380 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000023
|
24
|
+
10216733872000107073000035110 00001458 109000014586 I06200513 00001458 000000000000000400000152480 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000024
|
25
|
+
10216733872000107073000035110 00001498 109000014982 I06200513 00001498 000000000000000400034102899 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 AA000025
|
26
|
+
10216733872000107073000035110 00001698 109000016987 I06200513 00001698 000000000000000191010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000 21051300000000000000000000000 B5000026
|
27
|
+
10216733872000107073000035110 00002129 109000021292 I06200513 00002129 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000027
|
28
|
+
10216733872000107073000035110 00002236 109000022365 I06200513 00002236 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000028
|
29
|
+
10216733872000107073000035110 00002260 109000022605 I06200513 00002260 000000000000000400010436921 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B2000029
|
30
|
+
10216733872000107073000035110 00002274 109000022746 I06200513 00002274 000000000000000400034186686 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 CP000030
|
31
|
+
10216733872000107073000035110 00002286 109000022860 I06200513 00002286 000000000000000400010436921 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000031
|
32
|
+
10216733872000107073000035110 00002311 109000023116 I06200513 00002311 000000000000000400010418770 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000032
|
33
|
+
10216733872000107073000035110 00002586 109000025863 I06200513 00002586 000000000000000640010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000619000000000000000000000000000 21051300000000000000000000000 B5000033
|
34
|
+
10216733872000107073000035110 00002597 109000025970 I06200513 00002597 000000000000000440000126385 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000034
|
35
|
+
10216733872000107073000035110 00002601 109000026010 I06200513 00002601 000000000000000440010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000035
|
36
|
+
10216733872000107073000035110 00002607 109000026077 I06200513 00002607 000000000000000440010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000036
|
37
|
+
10216733872000107073000035110 00002617 109000026176 I06200513 00002617 000000000000000440000148322 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B1000037
|
38
|
+
10216733872000107073000035110 00002627 109000026275 I06200513 00002627 000000000000000440000148298 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B1000038
|
39
|
+
10216733872000107073000035110 00002668 109000026689 I06200513 00002668 000000000000000440023729371 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B3000039
|
40
|
+
10216733872000107073000035110 00002674 109000026747 I06200513 00002674 000000000000000440010404085 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000040
|
41
|
+
10216733872000107073000035110 00002721 109000027216 I06200513 00002721 000000000000000440010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000041
|
42
|
+
10216733872000107073000035110 00003136 109000031366 I06200513 00003136 000000000000000487534148272 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000476700000000001020000000000000 21051300000000000000000000000 CP000042
|
43
|
+
10216733872000107073000035110 00003238 109000032380 I06200513 00003238 000000000000003500000130478 000000000021000000000000000000000000000000000000000000000000000000000000000000000000003479000000000000000000000000000 21051300000000000000000000000 B2000043
|
44
|
+
10216733872000107073000035110 00003344 109000033446 I06200513 00003344 000000000000000440000148298 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B1000044
|
45
|
+
10216733872000107073000035110 00003391 109000033917 I06200513 00003391 000000000000000440034186132 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 BL000045
|
46
|
+
10216733872000107073000035110 00003456 109000034568 I06200513 00003456 000000000000000571534102899 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000562200000000001170000000000000 21051300000000000000000000000 CP000046
|
47
|
+
10216733872000107073000035110 00003505 109000035052 I06200513 00003505 000000000000000457100148322 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000436100000000000000000000000000 21051300000000000000000000000 B1000047
|
48
|
+
10216733872000107073000035110 00003925 109000039252 I06200513 00003925 000000000000000571034165466 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000561900000000001190000000000000 21051300000000000000000000000 CP000048
|
49
|
+
10216733872000107073000035110 00004012 109000040128 I06200513 00004012 000000000000000500010430783 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000479000000000000000000000000000 21051300000000000000000000000 B5000049
|
50
|
+
10216733872000107073000035110 00004019 109000040193 I06200513 00004019 000000000000000571510415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000550500000000000000000000000000 21051300000000000000000000000 B5000050
|
51
|
+
10216733872000107073000035110 00004026 109000040268 I06200513 00004026 000000000000000500039913003 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000479000000000000000000000000000 21051300000000000000000000000 B3000051
|
52
|
+
10216733872000107073000035110 27615123 157276151236 I06200513000000108927615123 100513000000000440034165466 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000428800000000000980000000000000 21051300000000000000000000000DIVA LOUZAMARA DO CASTO BLITTO CP000052
|
53
|
+
10216733872000107073000035110 27714592 157277145922 I09200513000000206827714592 100513000000000400034177099 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000 00000000000000000000000MIRCALO TIADORO 000053
|
54
|
+
9201341 000000000000000000000000000000 000000000000000000000000000000 000000000000000000000000000000 0000003200000000148705 21/05S000250000005200000000268896 000054
|
@@ -35,7 +35,7 @@ describe Brcobranca::Boleto::Bradesco do
|
|
35
35
|
boleto_novo.aceite.should eql("S")
|
36
36
|
boleto_novo.quantidade.should eql(1)
|
37
37
|
boleto_novo.valor.should eql(0.0)
|
38
|
-
boleto_novo.valor_documento.should eql(
|
38
|
+
boleto_novo.valor_documento.should eql(0.0)
|
39
39
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
40
40
|
boleto_novo.carteira.should eql("06")
|
41
41
|
|
@@ -53,7 +53,7 @@ describe Brcobranca::Boleto::Bradesco do
|
|
53
53
|
boleto_novo.aceite.should eql("S")
|
54
54
|
boleto_novo.quantidade.should eql(1)
|
55
55
|
boleto_novo.valor.should eql(0.0)
|
56
|
-
boleto_novo.valor_documento.should eql(
|
56
|
+
boleto_novo.valor_documento.should eql(0.0)
|
57
57
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
58
58
|
boleto_novo.cedente.should eql("Kivanio Barbosa")
|
59
59
|
boleto_novo.documento_cedente.should eql("12345678912")
|
@@ -189,4 +189,4 @@ describe Brcobranca::Boleto::Bradesco do
|
|
189
189
|
end
|
190
190
|
end
|
191
191
|
|
192
|
-
end
|
192
|
+
end
|
@@ -36,7 +36,7 @@ describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
|
|
36
36
|
boleto_novo.aceite.should eql("S")
|
37
37
|
boleto_novo.quantidade.should eql(1)
|
38
38
|
boleto_novo.valor.should eql(0.0)
|
39
|
-
boleto_novo.valor_documento.should eql(
|
39
|
+
boleto_novo.valor_documento.should eql(0.0)
|
40
40
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
41
41
|
boleto_novo.carteira.should eql("18")
|
42
42
|
boleto_novo.codigo_servico.should be_false
|
@@ -54,7 +54,7 @@ describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
|
|
54
54
|
boleto_novo.aceite.should eql("S")
|
55
55
|
boleto_novo.quantidade.should eql(1)
|
56
56
|
boleto_novo.valor.should eql(0.0)
|
57
|
-
boleto_novo.valor_documento.should eql(
|
57
|
+
boleto_novo.valor_documento.should eql(0.0)
|
58
58
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
59
59
|
boleto_novo.cedente.should eql("Kivanio Barbosa")
|
60
60
|
boleto_novo.documento_cedente.should eql("12345678912")
|
@@ -316,4 +316,4 @@ describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
|
|
316
316
|
end
|
317
317
|
end
|
318
318
|
|
319
|
-
end
|
319
|
+
end
|
@@ -37,7 +37,7 @@ describe Brcobranca::Boleto::Caixa do #:nodoc:[all]
|
|
37
37
|
boleto_novo.aceite.should eql('S')
|
38
38
|
boleto_novo.quantidade.should eql(1)
|
39
39
|
boleto_novo.valor.should eql(0.0)
|
40
|
-
boleto_novo.valor_documento.should eql(
|
40
|
+
boleto_novo.valor_documento.should eql(0.0)
|
41
41
|
boleto_novo.local_pagamento.should eql('QUALQUER BANCO ATÉ O VENCIMENTO')
|
42
42
|
boleto_novo.codigo_servico.should be_false
|
43
43
|
carteira = "#{Brcobranca::Boleto::Caixa::MODALIDADE_COBRANCA[:sem_registro]}" <<
|
@@ -37,7 +37,7 @@ describe Brcobranca::Boleto::Hsbc do
|
|
37
37
|
boleto_novo.aceite.should eql("S")
|
38
38
|
boleto_novo.quantidade.should eql(1)
|
39
39
|
boleto_novo.valor.should eql(0.0)
|
40
|
-
boleto_novo.valor_documento.should eql(
|
40
|
+
boleto_novo.valor_documento.should eql(0.0)
|
41
41
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
42
42
|
boleto_novo.carteira.should eql("CNR")
|
43
43
|
|
@@ -55,7 +55,7 @@ describe Brcobranca::Boleto::Hsbc do
|
|
55
55
|
boleto_novo.aceite.should eql("S")
|
56
56
|
boleto_novo.quantidade.should eql(1)
|
57
57
|
boleto_novo.valor.should eql(0.0)
|
58
|
-
boleto_novo.valor_documento.should eql(
|
58
|
+
boleto_novo.valor_documento.should eql(0.0)
|
59
59
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
60
60
|
boleto_novo.cedente.should eql("Kivanio Barbosa")
|
61
61
|
boleto_novo.documento_cedente.should eql("12345678912")
|
@@ -220,4 +220,4 @@ describe Brcobranca::Boleto::Hsbc do
|
|
220
220
|
end
|
221
221
|
end
|
222
222
|
|
223
|
-
end
|
223
|
+
end
|
@@ -35,7 +35,7 @@ describe Brcobranca::Boleto::Real do
|
|
35
35
|
boleto_novo.aceite.should eql("S")
|
36
36
|
boleto_novo.quantidade.should eql(1)
|
37
37
|
boleto_novo.valor.should eql(0.0)
|
38
|
-
boleto_novo.valor_documento.should eql(
|
38
|
+
boleto_novo.valor_documento.should eql(0.0)
|
39
39
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
40
40
|
boleto_novo.carteira.should eql("57")
|
41
41
|
|
@@ -53,7 +53,7 @@ describe Brcobranca::Boleto::Real do
|
|
53
53
|
boleto_novo.aceite.should eql("S")
|
54
54
|
boleto_novo.quantidade.should eql(1)
|
55
55
|
boleto_novo.valor.should eql(0.0)
|
56
|
-
boleto_novo.valor_documento.should eql(
|
56
|
+
boleto_novo.valor_documento.should eql(0.0)
|
57
57
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
58
58
|
boleto_novo.cedente.should eql("Kivanio Barbosa")
|
59
59
|
boleto_novo.documento_cedente.should eql("12345678912")
|
@@ -159,4 +159,4 @@ describe Brcobranca::Boleto::Real do
|
|
159
159
|
File.exist?(tmp_file.path).should be_false
|
160
160
|
end
|
161
161
|
end
|
162
|
-
end
|
162
|
+
end
|
@@ -37,7 +37,7 @@ describe Brcobranca::Boleto::Sicredi do
|
|
37
37
|
boleto_novo.aceite.should eql("S")
|
38
38
|
boleto_novo.quantidade.should eql(1)
|
39
39
|
boleto_novo.valor.should eql(0.0)
|
40
|
-
boleto_novo.valor_documento.should eql(
|
40
|
+
boleto_novo.valor_documento.should eql(0.0)
|
41
41
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
42
42
|
boleto_novo.carteira.should eql("03")
|
43
43
|
|
@@ -55,7 +55,7 @@ describe Brcobranca::Boleto::Sicredi do
|
|
55
55
|
boleto_novo.aceite.should eql("S")
|
56
56
|
boleto_novo.quantidade.should eql(1)
|
57
57
|
boleto_novo.valor.should eql(0.0)
|
58
|
-
boleto_novo.valor_documento.should eql(
|
58
|
+
boleto_novo.valor_documento.should eql(0.0)
|
59
59
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
60
60
|
boleto_novo.cedente.should eql("Kivanio Barbosa")
|
61
61
|
boleto_novo.documento_cedente.should eql("12345678912")
|
@@ -35,7 +35,7 @@ describe Brcobranca::Boleto::Unibanco do
|
|
35
35
|
boleto_novo.aceite.should eql("S")
|
36
36
|
boleto_novo.quantidade.should eql(1)
|
37
37
|
boleto_novo.valor.should eql(0.0)
|
38
|
-
boleto_novo.valor_documento.should eql(
|
38
|
+
boleto_novo.valor_documento.should eql(0.0)
|
39
39
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
40
40
|
boleto_novo.carteira.should eql("5")
|
41
41
|
|
@@ -53,7 +53,7 @@ describe Brcobranca::Boleto::Unibanco do
|
|
53
53
|
boleto_novo.aceite.should eql("S")
|
54
54
|
boleto_novo.quantidade.should eql(1)
|
55
55
|
boleto_novo.valor.should eql(0.0)
|
56
|
-
boleto_novo.valor_documento.should eql(
|
56
|
+
boleto_novo.valor_documento.should eql(0.0)
|
57
57
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
58
58
|
boleto_novo.cedente.should eql("Kivanio Barbosa")
|
59
59
|
boleto_novo.documento_cedente.should eql("12345678912")
|
@@ -207,4 +207,4 @@ describe Brcobranca::Boleto::Unibanco do
|
|
207
207
|
File.exist?(tmp_file.path).should be_false
|
208
208
|
end
|
209
209
|
end
|
210
|
-
end
|
210
|
+
end
|
@@ -36,7 +36,7 @@ module Brcobranca #:nodoc:[all]
|
|
36
36
|
boleto_novo.aceite.should eql("S")
|
37
37
|
boleto_novo.quantidade.should eql(1)
|
38
38
|
boleto_novo.valor.should eql(0.0)
|
39
|
-
boleto_novo.valor_documento.should eql(
|
39
|
+
boleto_novo.valor_documento.should eql(0.0)
|
40
40
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
41
41
|
boleto_novo.valid?.should be_false
|
42
42
|
end
|
@@ -52,7 +52,7 @@ module Brcobranca #:nodoc:[all]
|
|
52
52
|
boleto_novo.aceite.should eql("S")
|
53
53
|
boleto_novo.quantidade.should eql(1)
|
54
54
|
boleto_novo.valor.should eql(0.0)
|
55
|
-
boleto_novo.valor_documento.should eql(
|
55
|
+
boleto_novo.valor_documento.should eql(0.00)
|
56
56
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
57
57
|
boleto_novo.cedente.should eql("Kivanio Barbosa")
|
58
58
|
boleto_novo.documento_cedente.should eql("12345678912")
|
@@ -125,22 +125,22 @@ module Brcobranca #:nodoc:[all]
|
|
125
125
|
boleto_novo = Brcobranca::Boleto::Base.new(@valid_attributes)
|
126
126
|
boleto_novo.quantidade = 1
|
127
127
|
boleto_novo.valor = 1
|
128
|
-
boleto_novo.valor_documento.should eql(
|
128
|
+
boleto_novo.valor_documento.should eql(1.0)
|
129
129
|
boleto_novo.quantidade = 1
|
130
130
|
boleto_novo.valor = 1.0
|
131
|
-
boleto_novo.valor_documento.should eql(
|
131
|
+
boleto_novo.valor_documento.should eql(1.0)
|
132
132
|
boleto_novo.quantidade = 100
|
133
133
|
boleto_novo.valor = 1
|
134
|
-
boleto_novo.valor_documento.should eql(
|
134
|
+
boleto_novo.valor_documento.should eql(100.0)
|
135
135
|
boleto_novo.quantidade = 1
|
136
136
|
boleto_novo.valor = 1.2
|
137
|
-
boleto_novo.valor_documento.should eql(
|
137
|
+
boleto_novo.valor_documento.should eql(1.2)
|
138
138
|
boleto_novo.quantidade = 1
|
139
139
|
boleto_novo.valor = 135.43
|
140
|
-
boleto_novo.valor_documento.should eql(
|
140
|
+
boleto_novo.valor_documento.should eql(135.43)
|
141
141
|
boleto_novo.quantidade = "gh"
|
142
142
|
boleto_novo.valor = 135.43
|
143
|
-
boleto_novo.valor_documento.should eql(
|
143
|
+
boleto_novo.valor_documento.should eql(0.0)
|
144
144
|
end
|
145
145
|
|
146
146
|
it "Calcula data_vencimento" do
|
@@ -182,4 +182,4 @@ module Brcobranca #:nodoc:[all]
|
|
182
182
|
|
183
183
|
end
|
184
184
|
end
|
185
|
-
end
|
185
|
+
end
|
@@ -35,7 +35,7 @@ describe Brcobranca::Boleto::Itau do
|
|
35
35
|
boleto_novo.aceite.should eql("S")
|
36
36
|
boleto_novo.quantidade.should eql(1)
|
37
37
|
boleto_novo.valor.should eql(0.0)
|
38
|
-
boleto_novo.valor_documento.should eql(
|
38
|
+
boleto_novo.valor_documento.should eql(0.0)
|
39
39
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
40
40
|
boleto_novo.carteira.should eql("175")
|
41
41
|
end
|
@@ -52,7 +52,7 @@ describe Brcobranca::Boleto::Itau do
|
|
52
52
|
boleto_novo.aceite.should eql("S")
|
53
53
|
boleto_novo.quantidade.should eql(1)
|
54
54
|
boleto_novo.valor.should eql(0.0)
|
55
|
-
boleto_novo.valor_documento.should eql(
|
55
|
+
boleto_novo.valor_documento.should eql(0.0)
|
56
56
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
57
57
|
boleto_novo.cedente.should eql("Kivanio Barbosa")
|
58
58
|
boleto_novo.documento_cedente.should eql("12345678912")
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
3
|
+
|
4
|
+
describe Brcobranca::Retorno::RetornoCnab400 do
|
5
|
+
before(:each) do
|
6
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', 'arquivos', 'CNAB400.RET')
|
7
|
+
end
|
8
|
+
|
9
|
+
it "Ignora primeira linha que é header" do
|
10
|
+
pagamentos = Brcobranca::Retorno::RetornoCnab400.load_lines(@arquivo)
|
11
|
+
pagamento = pagamentos.first
|
12
|
+
pagamento.sequencial.should eql("000002")
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
16
|
+
pagamentos = Brcobranca::Retorno::RetornoCnab400.load_lines(@arquivo)
|
17
|
+
pagamentos.size.should == 53 #deve ignorar a primeira linha que é header
|
18
|
+
pagamento = pagamentos.first
|
19
|
+
pagamento.agencia_com_dv.should eql("0730")
|
20
|
+
pagamento.cedente_com_dv.should eql("035110")
|
21
|
+
pagamento.nosso_numero.should eql("00000011")
|
22
|
+
pagamento.carteira_variacao.should eql("109")
|
23
|
+
pagamento.carteira.should eql("I")
|
24
|
+
pagamento.data_vencimento.should eql("000000")
|
25
|
+
pagamento.valor_titulo.should eql("0000000004000")
|
26
|
+
pagamento.banco_recebedor.should eql("104")
|
27
|
+
pagamento.agencia_recebedora_com_dv.should eql("18739")
|
28
|
+
pagamento.especie_documento.should eql("")
|
29
|
+
pagamento.valor_tarifa.should eql("0000000000210")
|
30
|
+
pagamento.iof.should eql("0000000000000")
|
31
|
+
pagamento.valor_abatimento.should eql("0000000000000")
|
32
|
+
pagamento.desconto.should eql("0000000000000")
|
33
|
+
pagamento.valor_recebido.should eql("0000000003790")
|
34
|
+
pagamento.juros_mora.should eql("0000000000000")
|
35
|
+
pagamento.outros_recebimento.should eql("0000000000000")
|
36
|
+
pagamento.data_credito.should eql("210513")
|
37
|
+
pagamento.sequencial.should eql("000002")
|
38
|
+
|
39
|
+
# Campos da classe base que não encontrei a relação com CNAB400
|
40
|
+
# parse.field :tipo_cobranca,80..80
|
41
|
+
# parse.field :tipo_cobranca_anterior,81..81
|
42
|
+
# parse.field :natureza_recebimento,86..87
|
43
|
+
# parse.field :convenio,31..37
|
44
|
+
# parse.field :comando,108..109
|
45
|
+
# parse.field :juros_desconto,201..213
|
46
|
+
# parse.field :iof_desconto,214..226
|
47
|
+
# parse.field :desconto_concedito,240..252
|
48
|
+
# parse.field :outras_despesas,279..291
|
49
|
+
# parse.field :abatimento_nao_aproveitado,292..304
|
50
|
+
# parse.field :data_liquidacao,295..300
|
51
|
+
# parse.field :valor_lancamento,305..317
|
52
|
+
# parse.field :indicativo_lancamento,318..318
|
53
|
+
# parse.field :indicador_valor,319..319
|
54
|
+
# parse.field :valor_ajuste,320..331
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
|