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