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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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