Текущее время: Сб, июл 05 2025, 23:00

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Чего не хватает в посте?
спойлеров (чтобы скрывать куски текста) 83%     [ 5 ]
смайликов 0%  0%   [ 0 ]
актуальности 0%  0%   [ 0 ]
скриншотов 17%     [ 1 ]
всё нормально 0%  0%   [ 0 ]
не хватает того, о чём я напишу в комментарии 0%  0%   [ 0 ]
Всего голосов : 6
Автор Сообщение
 Заголовок сообщения: Форматы файлов с СПД для выгрузки из SAP и загрузки в банк-клиент (Сбербанк, Райффайзенбанк)
СообщениеДобавлено: Пт, июн 06 2014, 11:03 
Начинающий
Начинающий

Зарегистрирован:
Вт, май 20 2014, 15:13
Сообщения: 8
Здравствуйте! Я тут был последний раз в прошлом году под ником Fomka — и вот у меня снова возникла необходимость написать сюда, в раздел по программированию в SAP.

Есть задача "Формировать из SAP файл с данными по СПД для загрузки в банк-клиент". У разных банков разные форматы этого файла, и для программирования такой выгрузки нужно их знать. Делюсь своими наработками по Сбербанку и нуждаюсь в информации по Райффайзенбанку.

Общая информация про СПД и ПС
ПС — это паспорт сделки. СПД — это справка о подтверждающих документах, относящихся к одному/нескольким ПС. В файле с СПД могут быть документы как одного, так и нескольких ПС. В каждом документе кроме номера ПС указывается сумма.

Сбербанк
Использует банк-клиент «Клиент-Сбербанк», который принимает текстовые файлы формата XML, с расширением .xml, в кодировке Юникод.

Сбербанк, из файла загружается один ПС с одним документом
Code:
Компания                  ПС                      документ                 сумма из документа
ОАО "Серьёзная компания"  12380828/1230/1940/1/0  12306061/100114/0000107  13301.56
Смотри файл SPD_SBT_1.xml (архив с файлами тут)
Code:
<?xml version="1.0" encoding="windows-1251"?>
<package>
   <table name="ConfDoc">
      <tabledesc>
         <fielddesc name="NUM" type="numeric" length="19"/>
         <fielddesc name="DATE" type="date" length="10"/>
         <fielddesc name="PASSPORT" type="string" length="22"/>
         <fielddesc name="PAYER" type="string" length="255"/>
         <fielddesc name="BANKPAY" type="string" length="254"/>
         <fielddesc name="CONTENT" type="table" length="0"/>
         <fielddesc name="CORRECT" type="numeric" length="19"/>
      </tabledesc>
      <record>
         <field name="NUM" null="false" value="38"/>
         <field name="DATE" null="false" value="2014.03.08"/>
         <field name="PASSPORT" null="false" value="12380828/1230/1940/1/0"/>
         <field name="PAYER" null="false" value="ОАО &quot;Серьёзная компания&quot;"/>
         <field name="BANKPAY" null="false" value="Московский банк ОАО &quot;Сбербанк России&quot;"/>
         <field name="CORRECT" null="false" value="0"/>
         <content>
            <table name="ConfDocDocuments">
               <tabledesc>
                  <fielddesc name="F_1" type="string" length="2"/>
                  <fielddesc name="F_2" type="string" length="255"/>
                  <fielddesc name="F_3" type="string" length="58"/>
                  <fielddesc name="F_D_1" type="date" length="8"/>
                  <fielddesc name="F_4" type="string" length="5"/>
                  <fielddesc name="F_5" type="string" length="3"/>
                  <fielddesc name="F_6" type="numeric" length="18"/>
                  <fielddesc name="F_7" type="string" length="3"/>
                  <fielddesc name="F_8" type="numeric" length="18"/>
                  <fielddesc name="F_9" type="string" length="1"/>
                  <fielddesc name="F_D_2" type="date" length="8"/>
                  <fielddesc name="F_10" type="string" length="3"/>
                  <fielddesc name="F_S_2" type="string" length="4000"/>
                  <fielddesc name="F_11" type="numeric" length="18" />
                  <fielddesc name="F_12" type="numeric" length="18" />
                  <fielddesc name="F_PARTNO" type="numeric" length="19" />
                  <fielddesc name="F_SOURCEDOCGUID" type="string" length="39" />
               </tabledesc>
               <record>
                  <field name="F_1" null="false" value="1"/>
                  <field name="F_2" null="false" value=""/>
                  <field name="F_3" null="false" value="12306061/100114/0000107"/>
                  <field name="F_D_1" null="false" value="2014.01.11"/>
                  <field name="F_4" null="false" value="01_3"/>
                  <field name="F_5" null="false" value="840"/>
                  <field name="F_6" null="false" value="13301.56"/>
                  <field name="F_7" null="false" value=""/>
                  <field name="F_8" null="false" value=""/>
                  <field name="F_9" null="false" value="2"/>
                  <field name="F_D_2" null="false" value=""/>
                  <field name="F_10" null="false" value=""/>
                  <field name="F_S_2" null="false" value=""/>
                  <field name="F_11" null="false" value="0"/>
                  <field name="F_12" null="false" value="0"/>
                  <field name="F_PARTNO" null="false" value=""/>
                  <field name="F_SOURCEDOCGUID" null="false" value=""/>
               </record>
            </table>
         </content>
      </record>
   </table>
</package>


Сбербанк, из файла загружается один ПС и несколько документов
Code:
Компания                        ПС                      документ                 сумма из документа
ОАО "Более серьёзная компания"  12380828/1231/1940/1/0  12306061/110114/0000123  83001.02
ОАО "Более серьёзная компания"  12380828/1231/1940/1/0  12306061/120114/0000148  99008.98
Смотри файл SPD_SBT_2.xml (архив с файлами тут)
Code:
<?xml version="1.0" encoding="windows-1251"?>
<package>
   <table name="ConfDoc">
      <tabledesc>
         <fielddesc name="NUM" type="numeric" length="19"/>
         <fielddesc name="DATE" type="date" length="10"/>
         <fielddesc name="PASSPORT" type="string" length="22"/>
         <fielddesc name="PAYER" type="string" length="255"/>
         <fielddesc name="BANKPAY" type="string" length="254"/>
         <fielddesc name="CONTENT" type="table" length="0"/>
         <fielddesc name="CORRECT" type="numeric" length="19"/>
      </tabledesc>
      <record>
         <field name="NUM" null="false" value="38"/>
         <field name="DATE" null="false" value="2014.03.08"/>
         <field name="PASSPORT" null="false" value="12380828/1231/1940/1/0"/>
         <field name="PAYER" null="false" value="ОАО &quot;Более серьёзная компания&quot;"/>
         <field name="BANKPAY" null="false" value="Московский банк ОАО &quot;Сбербанк России&quot;"/>
         <field name="CORRECT" null="false" value="0"/>
         <content>
            <table name="ConfDocDocuments">
               <tabledesc>
                  <fielddesc name="F_1" type="string" length="2"/>
                  <fielddesc name="F_2" type="string" length="255"/>
                  <fielddesc name="F_3" type="string" length="58"/>
                  <fielddesc name="F_D_1" type="date" length="8"/>
                  <fielddesc name="F_4" type="string" length="5"/>
                  <fielddesc name="F_5" type="string" length="3"/>
                  <fielddesc name="F_6" type="numeric" length="18"/>
                  <fielddesc name="F_7" type="string" length="3"/>
                  <fielddesc name="F_8" type="numeric" length="18"/>
                  <fielddesc name="F_9" type="string" length="1"/>
                  <fielddesc name="F_D_2" type="date" length="8"/>
                  <fielddesc name="F_10" type="string" length="3"/>
                  <fielddesc name="F_S_2" type="string" length="4000"/>
                  <fielddesc name="F_11" type="numeric" length="18" />
                  <fielddesc name="F_12" type="numeric" length="18" />
                  <fielddesc name="F_PARTNO" type="numeric" length="19" />
                  <fielddesc name="F_SOURCEDOCGUID" type="string" length="39" />
               </tabledesc>
               <record>
                  <field name="F_1" null="false" value="1"/>
                  <field name="F_2" null="false" value=""/>
                  <field name="F_3" null="false" value="12306061/110114/0000123"/>
                  <field name="F_D_1" null="false" value="2014.01.11"/>
                  <field name="F_4" null="false" value="01_3"/>
                  <field name="F_5" null="false" value="840"/>
                  <field name="F_6" null="false" value="83001.02"/>
                  <field name="F_7" null="false" value=""/>
                  <field name="F_8" null="false" value=""/>
                  <field name="F_9" null="false" value="2"/>
                  <field name="F_D_2" null="false" value=""/>
                  <field name="F_10" null="false" value=""/>
                  <field name="F_S_2" null="false" value=""/>
                  <field name="F_11" null="false" value="0"/>
                  <field name="F_12" null="false" value="0"/>
                  <field name="F_PARTNO" null="false" value=""/>
                  <field name="F_SOURCEDOCGUID" null="false" value=""/>
               </record>
               <record>
                  <field name="F_1" null="false" value="1"/>
                  <field name="F_2" null="false" value=""/>
                  <field name="F_3" null="false" value="12306061/120114/0000148"/>
                  <field name="F_D_1" null="false" value="2014.01.12"/>
                  <field name="F_4" null="false" value="01_3"/>
                  <field name="F_5" null="false" value="840"/>
                  <field name="F_6" null="false" value="99008.98"/>
                  <field name="F_7" null="false" value=""/>
                  <field name="F_8" null="false" value=""/>
                  <field name="F_9" null="false" value="2"/>
                  <field name="F_D_2" null="false" value=""/>
                  <field name="F_10" null="false" value=""/>
                  <field name="F_S_2" null="false" value=""/>
                  <field name="F_11" null="false" value="0"/>
                  <field name="F_12" null="false" value="0"/>
                  <field name="F_PARTNO" null="false" value=""/>
                  <field name="F_SOURCEDOCGUID" null="false" value=""/>
               </record>
            </table>
         </content>
      </record>
   </table>
</package>


Райффайзенбанк
Использует банк-клиент iELBA, официальная страница расположена по адресу http://i-elba.raiffeisen.ru. С апреля 2014 начаты работы по переходу на систему ELBRUS Internet (объявление от 15 апреля 2014).
Цитата:
Настоящим ЗАО «Райффайзенбанк» (далее – Банк) информирует Вас о том, что в рамках процесса оптимизации систем дистанционного обслуживания Банк осуществляет перевод Клиентов с систем дистанционного банковского обслуживания iELBA/ELBA на Систему «Банк-Клиент «ELBRUS Internet» (далее – Система «ELBRUS Internet») в связи с выводом систем iELBA\ELBA из эксплуатации.

В системе iELBA используются текстовые файлы формата TDEDIF, с расширением .bcw, принимается кодировка ANSI (Windows-1252).
Цитирую описание формата (документ размером 3,7 мегабайта от 2008 года)
Цитата:
Файл TDEDIF может содержать один или несколько документов, идущих подряд (разделены переводами строк) и имеющих формат:

::DOCBEGIN::
:BODYBEGIN_0
:VERSION:=RBA
:FIELDS:=
:ID:=<строковый_идентификатор_документа>
:STATE:=<целочисленный_код_состояния>
:DOCTYPE:=<строковый_идентификатор_типа_документа>
:<поле1>:=<значение1>
:<поле2>:=<значение2>

:<полеN>:=<значениеN>
:BODYEND_0

::DOCEND::


Райффайзенбанк, iELBA, из файла загружается один ПС с одним документом
Code:
Компания                  ПС                      документ                 сумма из документа
ОАО "Серьёзная компания"  13010113/3123/0000/2/1  10131013/200213/0000841  27550.70
Смотри файл SPD_RFB_1.bcw (архив с файлами тут)
Code:
::DOCBEGIN::
:BODYBEGIN_0
:DOCTYPE:=ECREFCONFIRM
:ACCOUNT:=40702810400006172725
:DATE:=26.03.2014
:FROM_NAME:=ОАО "Серьёзная компания"
:NAMEBANK:=ЗАО "РАЙФФАЙЗЕНБАНК"
:NUMBER:=170
:PASSPORT_OF_DEAL:=13010113/3123/0000/2/1
:REFDATE:=26032014
:ISUPDATE:=
:EXECUTORFIO:=
:EXECUTORPHONE:=
:IRNUMBER:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00\s0000000000_0000000000\x02\x00\x00\x00s1
:IRAMOUNTINCURRENCY:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x0A\x00\x00\x00s27550.70
:IRCONTRACTAMOUNT:=
:IRCONTRACTCURRENCY:=
:IRCURRENCYCODE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x04\x00\x00\x00s978
:IRAMOUNTINCURRENCY_OS:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s
:IRCONTRACTAMOUNT_OS:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s
:IRTERM:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x09\x00\x00\x00s
:IRDELIVERY:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x02\x00\x00\x00s4
:IRDOCUMENTCODE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x05\x00\x00\x00s01_4
:IRDOCNUMBER:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x18\x00\x00\x00s10131013/200213/0000841
:IRDOCDATE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x09\x00\x00\x00s20022014
:IRCOUNTRY:=
:NTNUMBER:=
:NTTEXT:=
:BODYEND_0
::DOCEND::




Райффайзенбанк, iELBA, из файла должен загрузиться один ПС и несколько документов — тут БОЛЬШОЙ вопрос
Следующий файл в банк-клиенте отображается не так, как хочется пользователю. Вместо отображения двух документов на одной закладке (в рамках одного ПС) отображаются две закладки с одним документом на каждой.
Code:
Компания                        ПС                      документ                 сумма из документа
ОАО "Более серьёзная компания"  13010113/0001/0000/2/1  10611061/200213/0000001  108108.81
ОАО "Более серьёзная компания"  13010113/0001/0000/2/1  10611061/200213/0000123  21021.20
Смотри файл SPD_RFB_2.bcw (архив с файлами тут)
Code:
::DOCBEGIN::
:BODYBEGIN_0
:DOCTYPE:=ECREFCONFIRM
:ACCOUNT:=40702810000000000652
:DATE:=14.05.2014
:FROM_NAME:=ОАО "Более серьёзная компания"
:NAMEBANK:=ЗАО "РАЙФФАЙЗЕНБАНК"
:NUMBER:=93
:PASSPORT_OF_DEAL:=13010113/0001/0000/2/1
:REFDATE:=14052014
:ISUPDATE:=
:EXECUTORFIO:=
:EXECUTORPHONE:=
:IRNUMBER:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00\s0000000000_0000000000\x02\x00\x00\x00s1
:IRAMOUNTINCURRENCY:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x0A\x00\x00\x00s108108.81
:IRCONTRACTAMOUNT:=
:IRCONTRACTCURRENCY:=
:IRCURRENCYCODE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x04\x00\x00\x00s840
:IRAMOUNTINCURRENCY_OS:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s
:IRCONTRACTAMOUNT_OS:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s
:IRTERM:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x09\x00\x00\x00s
:IRDELIVERY:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x02\x00\x00\x00s1
:IRDOCUMENTCODE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x05\x00\x00\x00s01_3
:IRDOCNUMBER:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x18\x00\x00\x00s10611061/200213/0000001
:IRDOCDATE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x09\x00\x00\x00s\x09\x00\x00\x00s00000000
:IRCOUNTRY:=
:NTNUMBER:=
:NTTEXT:=
:BODYEND_0
:BODYBEGIN_1
:DOCTYPE:=ECREFCONFIRM
:ACCOUNT:=40702810000000000652
:DATE:=14.05.2014
:FROM_NAME:=ОАО "Более серьёзная компания"
:NAMEBANK:=ЗАО "РАЙФФАЙЗЕНБАНК"
:NUMBER:=94
:PASSPORT_OF_DEAL:=13010113/0001/0000/2/1
:REFDATE:=14052014
:ISUPDATE:=
:EXECUTORFIO:=
:EXECUTORPHONE:=
:IRNUMBER:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00\s0000000000_0000000000\x02\x00\x00\x00s1
:IRAMOUNTINCURRENCY:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x0A\x00\x00\x00s21021.20
:IRCONTRACTAMOUNT:=
:IRCONTRACTCURRENCY:=
:IRCURRENCYCODE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x04\x00\x00\x00s840
:IRAMOUNTINCURRENCY_OS:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s
:IRCONTRACTAMOUNT_OS:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s
:IRTERM:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x09\x00\x00\x00s
:IRDELIVERY:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x02\x00\x00\x00s1
:IRDOCUMENTCODE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x05\x00\x00\x00s01_3
:IRDOCNUMBER:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x18\x00\x00\x00s10611061/200213/0000123
:IRDOCDATE:=\x01\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x09\x00\x00\x00s\x09\x00\x00\x00s00000000
:IRCOUNTRY:=
:NTNUMBER:=
:NTTEXT:=
:BODYEND_1
::DOCEND::


Вроде бы данные в файле SPD_RFB_2.bcw соответствуют тому, что сказано в описании: BODYBEGIN_0..BODYEND_0, BODYBEGIN_1..BODY_END_1. Однако банк-клиент не понимает, что в одном ПС находятся два документа.
Подскажите, как подобрать формат так, чтобы райффайзеновский банк-клиент отобразил данные под обоим документам в рамках одного паспорта сделки?


Последний раз редактировалось Тимур Гудков Чт, июл 03 2014, 08:09, всего редактировалось 4 раз(а).

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Форматы файлов с СПД для выгрузки из SAP и загрузки в банк-клиент (Сбербанк, Райффайзенбанк)
СообщениеДобавлено: Вт, июн 10 2014, 09:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
[cut=...]cut's not working[/cut]


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Форматы файлов с СПД для выгрузки из SAP и загрузки в банк-клиент (Сбербанк, Райффайзенбанк)  Тема решена
СообщениеДобавлено: Пн, июн 30 2014, 15:07 
Начинающий
Начинающий

Зарегистрирован:
Вт, май 20 2014, 15:13
Сообщения: 8
Тимур Гудков написал(а):
Подскажите, как подобрать формат так, чтобы райффайзеновский банк-клиент отобразил данные под обоим документам в рамках одного паспорта сделки?


Райффайзенбанк, iELBA, из файла загружается один ПС и несколько документов (БОЛЬШОЙ вопрос решён)
Большой вопрос решён с помощью эксперта Райффайзенбанка, предоставившего документацию на формат iELBA.
Сначала результат в виде скриншота
Изображение

Пример данных
Code:
Компания                             ПС                     документ         сумма из документа
ОАО "Более серьёзная компания"  13010113/0001/0000/2/1  10611061/200213/0000001  108108.81
ОАО "Более серьёзная компания"  13010113/0001/0000/2/1  10611061/200213/0000123  21021.20
Смотри файл SPD_RFB_2.bcw

Code:
::DOCBEGIN::
:BODYBEGIN_0
:DOCTYPE:=ECREFCONFIRM
:ACCOUNT:=40702810000000000652
:DATE:=14.05.2014
:FROM_NAME:=ОАО "Более серьёзная компания"
:NAMEBANK:=ЗАО "РАЙФФАЙЗЕНБАНК"
:NUMBER:=93
:PASSPORT_OF_DEAL:=13010113/0001/0000/2/1
:REFDATE:=14052014
:ISUPDATE:=
:EXECUTORFIO:=
:EXECUTORPHONE:=
:IRNUMBER:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x02\x00\x00\x00s1\x16\x00\x00\x00s0000000001_0000000000\x02\x00\x00\x00s2
:IRAMOUNTINCURRENCY:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x0A\x00\x00\x00s108108.81\x16\x00\x00\x00s0000000001_0000000000\x09\x00\x00\x00s21021.20
:IRCONTRACTAMOUNT:=
:IRCONTRACTCURRENCY:=
:IRCURRENCYCODE:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x04\x00\x00\x00s840\x16\x00\x00\x00s0000000001_0000000000\x04\x00\x00\x00s840
:IRAMOUNTINCURRENCY_OS:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s\x16\x00\x00\x00s0000000001_0000000000\x01\x00\x00\x00s
:IRCONTRACTAMOUNT_OS:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s\x16\x00\x00\x00s0000000001_0000000000\x01\x00\x00\x00s
:IRTERM:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x09\x00\x00\x00s\x16\x00\x00\x00s0000000001_0000000000\x09\x00\x00\x00s
:IRDELIVERY:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x02\x00\x00\x00s1\x16\x00\x00\x00s0000000001_0000000000\x02\x00\x00\x00s1
:IRDOCUMENTCODE:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x05\x00\x00\x00s01_3\x16\x00\x00\x00s0000000001_0000000000\x05\x00\x00\x00s01_3
:IRDOCNUMBER:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x18\x00\x00\x00s10611061/200213/0000001\x16\x00\x00\x00s0000000001_0000000000\x18\x00\x00\x00s10611061/200213/0000123
:IRDOCDATE:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x01\x00\x00\x00s\x16\x00\x00\x00s0000000001_0000000000\x01\x00\x00\x00s
:IRCOUNTRY:=
:NTNUMBER:=
:NTTEXT:=
:BODYEND_0
::DOCEND::


Строки в файле bcw бывают двух типов.
Строки без кодировки — от ::DOCBEGIN:: до :EXECUTROPHONE:=, а также :BODYEND_0, ::DOCEND::
Строки с табличными данными — от :IRNUMBER:= до :NTTEXT:=. Представьте, что документы из СПД сведены в одну таблицу: в первом столбце все данные по IRNUMBER, во втором — по IRAMOUNTINCURRENCY и так далее. В строках же получаются все данные по одному документу.

Code:
Документ                | IRNUMBER  | IRAMOUNTINCURRENCY
10611061/200213/0000001 | 1         | 108108.81
10611061/200213/0000123 | 2         | 21021.20


И для примера расшифровка строки в файле bcw, в которой хранятся все данные по суммам в валюте документа (IRAMOUNTINCURRENCY)
Цитата:
:IRAMOUNTINCURRENCY:=\x02\x00\x00\x00\x02\x00\x00\x00\x16\x00\x00\x00s0000000000_0000000000\x0A\x00\x00\x00s108108.81\x16\x00\x00\x00s0000000001_0000000000\x0A\x00\x00\x00s21021.20


Code:
:IRAMOUNTINCURRENCY:=
\x02\x00\x00\x00            = 2 — две строки, т.е. два документа
\x02\x00\x00\x00            = 2 — два столбца, т.е. сумма хранится в виде двух полей
первый документ:
\x16\x00\x00\x00            = 16 в hex, т.е. 22 — длина первого идентификатора
s0000000000_0000000000      = s0000000000_0000000000 — первый идентификатор
\x0A\x00\x00\x00            = A в hex, т.е. 10 — длина первого значения
s108108.81                  = 108108,81 — первое значение
второй документ:
\x16\x00\x00\x00            = 16 в hex, т.е. 22 — длина второго идентификатора
s0000000001_0000000000      = s0000000001_0000000000 — второй идентификатор
\x09\x00\x00\x00            = 9 — длина второго значения
s21021.20                   = 21021,20 — второе значение


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Сбербанк, всё в одном файле
СообщениеДобавлено: Ср, июл 09 2014, 10:04 
Начинающий
Начинающий

Зарегистрирован:
Вт, май 20 2014, 15:13
Сообщения: 8
Сбербанк, всё в одном файле
Это то, что было выше (три документа по двум паспортам сделки), только в одном файле, а не в двух. Смотри файл SPD_SBT_3.xml (архив с файлами тут)

Code:
Компания                        ПС                      документ                 сумма из документа
ОАО "Серьёзная компания"        12380828/1230/1940/1/0  12306061/100114/0000107  13301.56
ОАО "Более серьёзная компания"  12380828/1231/1940/1/0  12306061/110114/0000123  83001.02
ОАО "Более серьёзная компания"  12380828/1231/1940/1/0  12306061/120114/0000148  99008.98


Code:
<?xml version="1.0" encoding="windows-1251"?>
<package>
   <table name="ConfDoc">
      <tabledesc>
         <fielddesc name="NUM" type="numeric" length="19"/>
         <fielddesc name="DATE" type="date" length="10"/>
         <fielddesc name="PASSPORT" type="string" length="22"/>
         <fielddesc name="PAYER" type="string" length="255"/>
         <fielddesc name="BANKPAY" type="string" length="254"/>
         <fielddesc name="CONTENT" type="table" length="0"/>
         <fielddesc name="CORRECT" type="numeric" length="19"/>
      </tabledesc>
      <record>
         <field name="NUM" null="false" value="38"/>
         <field name="DATE" null="false" value="2014.03.08"/>
         <field name="PASSPORT" null="false" value="12380828/1230/1940/1/0"/>
         <field name="PAYER" null="false" value="ОАО &quot;Серьёзная компания&quot;"/>
         <field name="BANKPAY" null="false" value="Московский банк ОАО &quot;Сбербанк России&quot;"/>
         <field name="CORRECT" null="false" value="0"/>
         <content>
            <table name="ConfDocDocuments">
               <tabledesc>
                  <fielddesc name="F_1" type="string" length="2"/>
                  <fielddesc name="F_2" type="string" length="255"/>
                  <fielddesc name="F_3" type="string" length="58"/>
                  <fielddesc name="F_D_1" type="date" length="8"/>
                  <fielddesc name="F_4" type="string" length="5"/>
                  <fielddesc name="F_5" type="string" length="3"/>
                  <fielddesc name="F_6" type="numeric" length="18"/>
                  <fielddesc name="F_7" type="string" length="3"/>
                  <fielddesc name="F_8" type="numeric" length="18"/>
                  <fielddesc name="F_9" type="string" length="1"/>
                  <fielddesc name="F_D_2" type="date" length="8"/>
                  <fielddesc name="F_10" type="string" length="3"/>
                  <fielddesc name="F_S_2" type="string" length="4000"/>
                  <fielddesc name="F_11" type="numeric" length="18" />
                  <fielddesc name="F_12" type="numeric" length="18" />
                  <fielddesc name="F_PARTNO" type="numeric" length="19" />
                  <fielddesc name="F_SOURCEDOCGUID" type="string" length="39" />
               </tabledesc>
               <record>
                  <field name="F_1" null="false" value="1"/>
                  <field name="F_2" null="false" value=""/>
                  <field name="F_3" null="false" value="12306061/100114/0000107"/>
                  <field name="F_D_1" null="false" value="2014.01.11"/>
                  <field name="F_4" null="false" value="01_3"/>
                  <field name="F_5" null="false" value="840"/>
                  <field name="F_6" null="false" value="13301.56"/>
                  <field name="F_7" null="false" value=""/>
                  <field name="F_8" null="false" value=""/>
                  <field name="F_9" null="false" value="2"/>
                  <field name="F_D_2" null="false" value=""/>
                  <field name="F_10" null="false" value=""/>
                  <field name="F_S_2" null="false" value=""/>
                  <field name="F_11" null="false" value="0"/>
                  <field name="F_12" null="false" value="0"/>
                  <field name="F_PARTNO" null="false" value=""/>
                  <field name="F_SOURCEDOCGUID" null="false" value=""/>
               </record>
            </table>
         </content>
      </record>
      <record>
         <field name="NUM" null="false" value="39"/>
         <field name="DATE" null="false" value="2014.03.08"/>
         <field name="PASSPORT" null="false" value="12380828/1231/1940/1/0"/>
         <field name="PAYER" null="false" value="ОАО &quot;Более серьёзная компания&quot;"/>
         <field name="BANKPAY" null="false" value="Московский банк ОАО &quot;Сбербанк России&quot;"/>
         <field name="CORRECT" null="false" value="0"/>
         <content>
            <table name="ConfDocDocuments">
               <tabledesc>
                  <fielddesc name="F_1" type="string" length="2"/>
                  <fielddesc name="F_2" type="string" length="255"/>
                  <fielddesc name="F_3" type="string" length="58"/>
                  <fielddesc name="F_D_1" type="date" length="8"/>
                  <fielddesc name="F_4" type="string" length="5"/>
                  <fielddesc name="F_5" type="string" length="3"/>
                  <fielddesc name="F_6" type="numeric" length="18"/>
                  <fielddesc name="F_7" type="string" length="3"/>
                  <fielddesc name="F_8" type="numeric" length="18"/>
                  <fielddesc name="F_9" type="string" length="1"/>
                  <fielddesc name="F_D_2" type="date" length="8"/>
                  <fielddesc name="F_10" type="string" length="3"/>
                  <fielddesc name="F_S_2" type="string" length="4000"/>
                  <fielddesc name="F_11" type="numeric" length="18" />
                  <fielddesc name="F_12" type="numeric" length="18" />
                  <fielddesc name="F_PARTNO" type="numeric" length="19" />
                  <fielddesc name="F_SOURCEDOCGUID" type="string" length="39" />
               </tabledesc>
               <record>
                  <field name="F_1" null="false" value="1"/>
                  <field name="F_2" null="false" value=""/>
                  <field name="F_3" null="false" value="12306061/110114/0000123"/>
                  <field name="F_D_1" null="false" value="2014.01.11"/>
                  <field name="F_4" null="false" value="01_3"/>
                  <field name="F_5" null="false" value="840"/>
                  <field name="F_6" null="false" value="83001.02"/>
                  <field name="F_7" null="false" value=""/>
                  <field name="F_8" null="false" value=""/>
                  <field name="F_9" null="false" value="2"/>
                  <field name="F_D_2" null="false" value=""/>
                  <field name="F_10" null="false" value=""/>
                  <field name="F_S_2" null="false" value=""/>
                  <field name="F_11" null="false" value="0"/>
                  <field name="F_12" null="false" value="0"/>
                  <field name="F_PARTNO" null="false" value=""/>
                  <field name="F_SOURCEDOCGUID" null="false" value=""/>
               </record>
               <record>
                  <field name="F_1" null="false" value="1"/>
                  <field name="F_2" null="false" value=""/>
                  <field name="F_3" null="false" value="12306061/120114/0000148"/>
                  <field name="F_D_1" null="false" value="2014.01.12"/>
                  <field name="F_4" null="false" value="01_3"/>
                  <field name="F_5" null="false" value="840"/>
                  <field name="F_6" null="false" value="99008.98"/>
                  <field name="F_7" null="false" value=""/>
                  <field name="F_8" null="false" value=""/>
                  <field name="F_9" null="false" value="2"/>
                  <field name="F_D_2" null="false" value=""/>
                  <field name="F_10" null="false" value=""/>
                  <field name="F_S_2" null="false" value=""/>
                  <field name="F_11" null="false" value="0"/>
                  <field name="F_12" null="false" value="0"/>
                  <field name="F_PARTNO" null="false" value=""/>
                  <field name="F_SOURCEDOCGUID" null="false" value=""/>
               </record>
            </table>
         </content>
      </record>
   </table>
</package>


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB