Skip to content

Commit 055259a

Browse files
Refactored sample file generation scripts
1 parent b7493c3 commit 055259a

3 files changed

+96
-44
lines changed

sample-charge-payment.py

+33-15
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
# coding: utf-8
33

44
from febraban.cnab240.itau.sispag import ChargePayment, File
5-
from febraban.cnab240.libs.barCode import BarCode
5+
from febraban.cnab240.itau.sispag.file.lot import Lot
6+
from febraban.cnab240.libs.barCode import BarCodeJ
67
from febraban.cnab240.user import User, UserAddress, UserBank
78

89

@@ -23,24 +24,41 @@
2324
)
2425
)
2526

26-
barCode = BarCode("34112345600000012311090000250501234123454000")
27-
taxId = "12345678901234"
27+
barCodes = [
28+
"34112318100000000011090027345767456112367000",
29+
"34112318100000000021090027345687456112367000",
30+
"34112318100000000031090027345507456112367000",
31+
]
32+
33+
taxIds = [
34+
"12345678901234",
35+
"12345678901234",
36+
"12345678901234",
37+
]
2838

2939
file = File()
30-
file.setHeaderLotType(
31-
kind="98", # Tipo de pagamento - Diversos
32-
method="30" # Pagamento de Boleto mesmo banco = 30; Pagamento de Boleto outro banco = 31
33-
)
3440
file.setSender(sender)
3541

36-
payment = ChargePayment()
37-
payment.setSender(sender)
38-
payment.setScheduleDate("08062019")
39-
payment.setIdentifier("ID1234567890")
40-
payment.setBarCode(barCode)
41-
payment.setReceiverTaxId(taxId)
42+
lot = Lot()
43+
sender.name = "SENDER NAME"
44+
lot.setSender(sender)
45+
lot.setHeaderLotType(
46+
kind="98",
47+
method="30"
48+
)
49+
50+
for barCodeString, taxId in zip(barCodes, taxIds):
51+
barCode = BarCodeJ(barCodeString)
52+
53+
payment = ChargePayment()
54+
payment.setSender(sender)
55+
payment.setScheduleDate("26022020")
56+
payment.setIdentifier("ID1234567890")
57+
payment.setBarCode(barCode)
58+
payment.setReceiverTaxId(taxId)
4259

43-
file.add(register=payment)
60+
lot.add(register=payment)
4461

45-
file.output(fileName="output3.REM", path="/../../")
62+
file.addLot(lot)
63+
file.output(fileName="output.REM", path="/../../")
4664

sample-transfer.py

+37-17
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# coding: utf-8
33

44
from febraban.cnab240.itau.sispag import Transfer, File
5+
from febraban.cnab240.itau.sispag.file.lot import Lot
56
from febraban.cnab240.user import User, UserAddress, UserBank
67

78

@@ -22,34 +23,53 @@
2223
)
2324
)
2425

25-
receiver = User(
26+
receiver1 = User(
2627
name="RECEIVER NAME HERE",
27-
identifier="12345678901",
28+
identifier="01234567890",
2829
bank=UserBank(
29-
bankId="033",
30+
bankId="341",
3031
branchCode="1234",
3132
accountNumber="123456",
32-
accountVerifier="7"
33+
accountVerifier="9"
3334
)
3435
)
3536

36-
file = File()
37-
file.setHeaderLotType(
38-
kind="20", #Tipo de pagamento - Diversos
39-
method="01" #TED - Outra titularidade
37+
receiver2 = User(
38+
name="RECEIVER NAME HERE",
39+
identifier="01234567890",
40+
bank=UserBank(
41+
bankId="341",
42+
branchCode="1234",
43+
accountNumber="123456",
44+
accountVerifier="9"
45+
)
4046
)
47+
48+
receivers = [receiver1, receiver2]
49+
50+
file = File()
4151
file.setSender(sender)
4252

43-
payment = Transfer()
44-
payment.setSender(sender)
45-
payment.setReceiver(receiver)
46-
payment.setAmountInCents("12000")
47-
payment.setScheduleDate("12102017")
48-
payment.setInfo(
49-
reason="10" #Crédito em Conta Corrente
53+
lot = Lot()
54+
sender.name = "SENDER NAME"
55+
lot.setSender(sender)
56+
lot.setHeaderLotType(
57+
kind="20", #Tipo de pagamento - Fornecedores
58+
method="01" #TED - Outra titularidade
5059
)
51-
payment.setIdentifier("ID1234567890")
52-
file.add(register=payment)
5360

61+
for receiver in receivers:
62+
payment = Transfer()
63+
payment.setSender(sender)
64+
payment.setReceiver(receiver)
65+
payment.setAmountInCents("10000")
66+
payment.setScheduleDate("06052020")
67+
payment.setInfo(
68+
reason="10" #Crédito em Conta Corrente
69+
)
70+
payment.setIdentifier("ID1234567890")
71+
lot.add(register=payment)
72+
73+
file.addLot(lot)
5474
file.output(fileName="output.REM", path="/../../")
5575

sample-utility-payment.py

+26-12
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# coding: utf-8
33

44
from febraban.cnab240.itau.sispag import UtilityPayment, File
5+
from febraban.cnab240.itau.sispag.file.lot import Lot
56
from febraban.cnab240.libs.barCode import LineNumberO
67
from febraban.cnab240.user import User, UserAddress, UserBank
78

@@ -23,24 +24,37 @@
2324
)
2425
)
2526

26-
lineNumber = LineNumberO("846800000012349701090114004112370844901232603900")
27+
lineNumbers = [
28+
"836000000015522801380034710717288116000212965610",
29+
"836400000011079401380070610530261110080671594119",
30+
"836100000022434201380079213410922115000104587191",
31+
]
2732

2833
file = File()
29-
file.setHeaderLotType(
30-
kind="98", # Tipo de pagamento - Diversos
31-
method="13" # Concessionarias
32-
)
3334
file.setSender(sender)
3435

35-
payment = UtilityPayment()
36-
payment.setPayment(
37-
sender=sender,
38-
scheduleDate="18032020",
39-
identifier="ID1234567890",
40-
lineNumber=lineNumber
36+
lot = Lot()
37+
lot.setSender(sender)
38+
lot.setHeaderLotType(
39+
kind="98",
40+
method="13"
4141
)
4242

43-
file.add(register=payment)
43+
for lineNumber in lineNumbers:
44+
print lineNumber
45+
46+
lineNumber = LineNumberO(lineNumber)
47+
48+
payment = UtilityPayment()
49+
payment.setPayment(
50+
sender=sender,
51+
scheduleDate="20032020",
52+
identifier="ID1234567890",
53+
lineNumber=lineNumber
54+
)
55+
56+
lot.add(register=payment)
4457

58+
file.addLot(lot)
4559
file.output(fileName="output.REM", path="/../../")
4660

0 commit comments

Comments
 (0)