from Colvir import import re import cssutil from string import split f

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from Colvir import *
import re
import cssutil
from string import split
fld = {}
fld[0] = 'FRMT'
# 03-телеграмма
# 05-обычный перевод на физическое или юридическое лицо
# 06-перевод для пополнения карт-счета
fld[1] = 'REFER'
fld[2] = 'MSGTYPE'
fld[3] = 'DEP'
fld[4] = 'PAY'
fld[5] = 'ACL'
fld[6] = 'KOD'
fld[7] = 'R_DEP'
fld[8] = 'R_NAMECR'
fld[9] = 'KBE'
fld[10] = 'R_ACR'
fld[11] = 'SUM'
fld[12] = 'KNP'
fld[13] = 'DORD'
fld[14] = 'VO'
# 1-перевод
# 2-возврат перевода
# 3-запрос по счету
# 4-отказ по запросу счета
# 5-предварительный запрос со счета
# 6-ответ на предварительный запрос со счета.
# 7-запрос со счета с последующим закрытием.
fld[15] = 'DSCR'
fld[16] = 'JURFL'
# 0-физическое лицо
# 1-юридическое лицо
fld[17] = 'VAL'
fld[18] = 'RNN_CL'
fld[19] = 'R_RNNCR'
fld[20] = 'PASSPORT_CL'
fld[21] = 'ADDRESS_CL'
packDS = inDs['PKGATTR']
frmt = packDS['FILENAME'][0]
msg = inDs['BODY']
str_lst = re.findall('(?im)^.+$', msg)
outDs.clear()
outDs.addField('TRATTR', ftDataSet)
outDs.addField('BODY', ftString)
# формирование выходного XML-я.
import msxml2
import time
for ss in str_lst:
outDs.append()
sl = split(ss, 'ю')
sl = map(cssutil.ansistr, sl)
Doc = msxml2.DOMDocument()
root_node = Doc.createElement('MSG')
root_node.setAttribute('FORMAT', 'ZH') #frmt+sl[0])
root_node.setAttribute('SENDER', 'RTL00'+sl[3])
root_node.setAttribute('RECIPIENT', 'RTL00'+sl[7])
root_node.setAttribute('TIME', time.strftime('%Y.%m.%d %H:%M:%S', time.localtime(time.time())))
Doc.appendChild(root_node)
node = Doc.createElement('MEMBER')
root_node.appendChild(node)
for i in range(0, len(sl)-1):
if fld.has_key(i):
node.setAttribute(fld[i], sl[i])
# добавляем необходимое для LoadFromXML c_bsord-a
node.setAttribute('TUS', 'AMANAT')
node.setAttribute('ORD', 'M_ORDINPAY')
node.setAttribute('NN', '1')
node.setAttribute('ZO', '0')
attrDS = outDs['TRATTR']
attrDS.append()
attrDS['FORMNAME'] = frmt+sl[0]
attrDS['SENDER'] = 'RTL00'+sl[3]
attrDS['RECIPIENT'] = 'RTL00'+sl[7]
outDs['BODY'] = Doc.xml
del root_node
del Doc