Пример #1
0
class FooterRecord(record.Record):
    '''ClieOp3 footer record'''
    _fields = [
        record.Filler('recordcode', 4, '9999'),
        record.Filler('variantcode', 1, 'A'),
        record.Filler('filler', 45),
    ]
Пример #2
0
class NameBeneficiaryRecord(record.Record):
    '''Name receiving party'''
    _fields = [
        record.Filler('recordcode', 4, '0170'),
        record.Filler('variantcode', 1, 'B'),
        SWIFTField('name', 35),
        record.Filler('filler', 10),
    ]
Пример #3
0
class DescriptionRecord(record.Record):
    '''Description'''
    _fields = [
        record.Filler('recordcode', 4, '0160'),
        record.Filler('variantcode', 1, 'A'),
        SWIFTField('description', 32),
        record.Filler('filler', 13),
    ]
Пример #4
0
class PaymentReferenceRecord(record.Record):
    '''Payment reference'''
    _fields = [
        record.Filler('recordcode', 4, '0150'),
        record.Filler('variantcode', 1, 'A'),
        SWIFTFieldNoLeadingWhitespace('paymentreference', 16),
        record.Filler('filler', 29),
    ]
Пример #5
0
class NamePayerRecord(record.Record):
    '''Name payer'''
    _fields = [
        record.Filler('recordcode', 4, '0110'),
        record.Filler('variantcode', 1, 'B'),
        SWIFTField('name', 35),
        record.Filler('filler', 10),
    ]
Пример #6
0
class FixedMessageRecord(record.Record):
    '''Fixed message'''
    _fields = [
        record.Filler('recordcode', 4, '0020'),
        record.Filler('variantcode', 1, 'A'),
        SWIFTField('fixed_message', 32),
        record.Filler('filler', 13),
    ]
Пример #7
0
class PaymentReferenceRecord(record.Record):
    '''Payment reference'''
    _fields = [
        record.Filler('recordcode', 4, '0150'),
        record.Filler('variantcode', 1, 'A'),
        record.Field('paymentreference', 16),
        record.Filler('filler', 29),
    ]
Пример #8
0
class BatchFooterRecord(record.Record):
    '''Closing record for batches'''
    _fields = [
        record.Filler('recordcode', 4, '9990'),
        record.Filler('variantcode', 1, 'A'),
        record.NumberField('total_amount', 18),
        record.NumberField('total_accountnos', 10),
        record.NumberField('nr_posts', 7),
        record.Filler('filler', 10),
    ]
Пример #9
0
class TransactionRecord(record.Record):
    '''Transaction'''
    _fields = [
        record.Filler('recordcode', 4, '0100'),
        record.Filler('variantcode', 1, 'A'),
        record.NumberField('transactiontype', 4),
        record.NumberField('amount', 12),
        record.NumberField('accountno_payer', 10),
        record.NumberField('accountno_beneficiary', 10),
        record.Filler('filler', 9),
    ]
Пример #10
0
class SenderRecord(record.Record):
    '''Ordering party'''
    _fields = [
        record.Filler('recordcode', 4, '0030'),
        record.Filler('variantcode', 1, 'B'),
        # NAW = Name, Address, Residence
        record.Field('NAWcode', 1),
        record.DateField('preferred_execution_date', '%d%m%y', auto=True),
        SWIFTField('name_sender', 35),
        record.Field('testcode', 1),
        record.Filler('filler', 2),
    ]
Пример #11
0
class BatchHeaderRecord(record.Record):
    '''Header record preceding new batches'''
    _fields = [
        record.Filler('recordcode', 4, '0010'),
        record.Field('variantcode', 1),
        record.Field('transactiongroup', 2),
        record.NumberField('accountno_sender', 10),
        record.NumberField('batch_tracer', 4),
        record.Filler('currency_order', 3, 'EUR'),
        SWIFTField('batch_id', 16),
        record.Filler('filler', 10),
    ]
Пример #12
0
class HeaderRecord(record.Record):  #{{{
    '''ClieOp3 header record'''
    _fields = [
        record.Filler('recordcode', 4, '0001'),
        record.Filler('variantcode', 1, 'A'),
        record.DateField('creation_date', '%d%m%y', auto=True),
        record.Filler('filename', 8, 'CLIEOP03'),
        SWIFTField('sender_id', 5),
        record.Field('file_id', 4),
        record.Field('duplicatecode', 1),
        record.Filler('filler', 21),
    ]

    def __init__(self, id='1', seqno=1, duplicate=False):
        super(HeaderRecord, self).__init__()
        self.sender_id = id or ''
        self.file_id = '%02d%02d' % (self.creation_date.day, seqno)
        self.duplicatecode = duplicate and '2' or '1'
Пример #13
0
class OrderRecord(record.Record):
    '''Order details'''
    _fields = [
        record.Filler('recordcode', 6, 'KAE092'),
        SWIFTField('name_transactioncode', 18),
        record.NumberField('total_amount', 13),
        record.Field('accountno_sender', 10),
        record.NumberField('total_accountnos', 5),
        record.NumberField('nr_posts', 6),
        record.Field('identification', 6),
        record.DateField('preferred_execution_date', '%y%m%d'),
        record.Field('batch_medium', 18),
        record.Filler('currency', 3, 'EUR'),
        record.Field('testcode', 1),
    ]

    def __init__(self, *args, **kwargs):
        super(OrderRecord, self).__init__(*args, **kwargs)
        self.batch_medium = 'DATACOM'
        self.name_transactioncode = self._transactioncode