Версия 1.2
Автор: Горин Максим
Содержание
Термины и соглашения XML ( англ. eXtensible Markup Language — расширяемый язык разметки— рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. XML является упрощённым подмножеством языка. SGML ( http://www.w3.org/XML/ ). Juric – часть программного комплекса PSBOnlineV2 - системы электронных платежей через Internet и документооборота для юридических лиц, реализующую часть управления электронной оплаты и работы с финансовыми документами, как создание, удаление, подпись, снятие подписи с документа, распечатка документа и тд. Импорт документа – преобразование данных документа от любого внешнего программного источника к внутреннему представлению системы PSBOnlineV2 и размещение его в базу данных этой системы с дальнейшей возможностью работы с ним. Кодировка символов ( character set) — определённая таблица кодировки конечного множества знаков. Такая таблица сопоставляет каждому символу последовательность длиной в один или несколько байтов. Нередко вместо термина набор символов неправильно употребляют термин кодовая страница, означающий на самом деле частный случай набора символов с однобайтным кодированием. В таких случаях термины «кодировка» и «набор символов» являются синонимами. Общее Данный документ представляет собой описание формата импорта данных нескольких видов документов в Juric, созданных сторонним источником. В качестве стандарта формата был выбран валидный формат XML с собственным перечнем тэгов и атрибутов, что обеспечивает простое создание и редактирование данных как в простом текстовом редакторе, так и специализированном программном комплексе по работе с XML файлами. Также, использование XML формата облегчает создание программной реализации автоматической конвертации данных из любого пользовательского формата в формат системы PSBOnlineV2. На текущий момент реализована возможность импорта следующих видов документов: Заявка но покупку валюты
Заявка на продажу валюты
Заявление на перевод валюты
Поручение на покупку валюты
Поручение на продажу валюты
Паспорт сделки (форма 1)
Паспорт сделки (форма 2)
PAYMENT ORDER (for Cyprus)
Internal payment order (for Cyprus)
Request for purchase of foreign currency for rubles of RF (для Кипра)
Request for sale of foreign currency for rubles of RF (для Кипра)
Заявление на внутренний перевод валюты
МТ-103 Клиентский перевод
МТ-202 Межбанковский перевод
Платежное поручение в рублях РФ
Справка о поступлении валюты РФ (Справка о поступлении валюты РФ_OLD)
Справка о подтверждающих документах (Справка о подтверждающих документах_OLD)
Справка о валютных операциях (Справка о валютных операциях_OLD)
Заявление на перераспределение ресурсов
Справка о поступлении валюты РФ
Справка о подтверждающих документах (Справка о подтверждающих документах_NEW)
Справка о валютных операциях
Справка о подтверждающих документах
Имеющиеся формы: Заявка на продажу иностранной валюты за рубли у банка
Заявка на покупку иностранной валюты у банка за рубли
Поручение на продажу иностранной валюты за рубли на ММВБ
Поручение на покупку иностранной валюты за рубли на ММВБ
PAYMENT ORDER (for Cyprus)
Заявка на покупку валюты для нерезидента
Заявка на продажу валюты для нерезидента
Паспорт сделки. Форма N1
Паспорт сделки. Форма N2
Internal payment order (for Cyprus)
Заявление на перевод валюты
Заявление на внутренний перевод валюты
МТ-103 Клиентский перевод
МТ-202 Межбанковский перевод
Платежное поручение в рублях РФ
Справка о поступлении валюты РФ (Справка о поступлении валюты РФ_OLD)
Справка о подтверждающих документах (Справка о подтверждающих документах_OLD)
Справка о валютных операциях (Справка о валютных операциях_OLD)
Заявление на перераспределение ресурсов
Справка о поступлении валюты РФ
Справка о подтверждающих документах (Справка о подтверждающих документах_NEW)
Справка о валютных операциях
Справка о расчетах через счета за рубежом
Заявление о закрытии паспорта сделки
Распоряжение на возврат ошибочно перечисленных средств
Заявление о переводе контракта
Заявление на предоставление ведомости банковского контроля
Заявление на предоставление копий документов из досье валютного контроля
Заявление на срочное оформление Паспорта Сделки
Заявление на внесение изменений в документы валютного контроля
Заявление на отзыв перевода в валюте
Заявление на уточнение реквизитов валютного перевода
Заявление на расследование о розыске сумм по валютному переводу
Произвольный документ с вложенным файлом
Справка о подтверждающих документах
Требования Оформление XML файла должно происходить в соответствии с требованиями оформления XML формата.
Кодировка символов в XML файле должна соответствовать windows-1251 (cp1251), либо UTF-8, UTF-16. Использование иных кодировок может привести к некорректному импорту данных, что может затруднить читаемость данных.
Допускается использование комментариев в файле в соответствии с требованиями к оформлению XML формата.
Не допускается объявление тэгов не соответствующих синтаксису формата импорта документа.
Не допускается объявление атрибутов с неуказанными именами, а также с именами, не относящихся к формату импорта документа.
Числовые данные, объявляемые внутри XML данных должны быть представлены в десятичном виде и содержать только цифры. Если число отражает денежное значение, то оно может содержать дробную часть, разделенную с целой запятой.
Все даты, объявленные внутри импортируемого XML файла должны иметь следующий вид: DD.MM.YYYY, где DD – число описывающее день с диапазоном от 1 до 29, 30 или 31 в зависимости от месяца и года; MM – число описывающее месяц с диапазоном от 1 до 12, YYYY – четырех разрядное число, описывающее год по Григорианскому календарю. В случае, если день или месяц имеют только один разряд, то первый разряд должен описаться 0.
Текстовые данные могут содержать произвольные символы в соответствие с протоколом хранения данных в XML. Длина текстовых данных не должна превышать 4096 символов.
Каждый импортируемый документ для успешного импорта должен иметь минимально необходимый набор тэгов и атрибутов.
Последовательность объявления требуемых тэгов внутри документа значения не имеет.
Внутри одного XML файла может быть описано неограниченное количество импортируемых документов.
В импортируемом документе, количество объявленных атрибутов должно соответствовать количеству атрибутов, описанному в данном документе для каждого вида документов. Если какой либо атрибут не используется, или неизвестно его значение, то необходимо указать пустую строку.
Тэги и атрибуты внутри тэгов регистрозависимы, и должны побуквенно соответствовать описанию данного документа.
Описание Все типы документов имеют одинаковую структуру – это перечень обязательных тэгов, которые должны присутствовать в каждом документе, а также перечень тэгов, с описанием параметров для данного типа документа. Обязательные тэги для всех типов документов: … - корневой тэг при описании нескольких документов для импортирования в одном файле. В случае, если необходимо импортировать один документ, то достаточно объявить тэг … как корневой.
…. Тэг сигнализирует о том, что далее будут объявляться данные импортируемого документа. Этот тэг может быть как корневым (если описан в файле только один документ), так и вложенным внутри (если в одном файле описаны несколько документов). Все остальные тэги, являются вложенными в .
type - обязательный тэг, который описывает тип документа для дальнейшего разбора и его классификации. В текущей реализации определены следующие константы типов документов: purchaseApp, transferAppNonres, purchaseAssign, saleAssign, saleAppNonres, saleApp, transferApplic, purchaseAppNonres. Подробное описание каждого типа будет рассмотрено ниже.
… - обязательный тэг, внутри которого располагаются остальные данные документа.
<DocumentNumber> number DocumentNumber> - обязательный тэг, описывающие номер документа. Номер должен представлять собой десятичное число.
date - обязательный тэг, описывающий дату создания документа. Требования к формату даты описанов в разделе «Требования».
<Account> number Account> - обязательный тэг, описывающий счет, к которому привязывается документ.
Далее следует перечень тегов name=”String” val=”String”/> с индивидуальным определением атрибутов в зависимости от типа документа. Для любого типа документа возможен импорт на основе xml файла сгенерированного при экспорте. Для таких документов используются два специальных атрибута с именами: IMPORTED_DOC_ID - классифайд документа в филиале, производящего экспорт.
IMPORTED_FIL_ID - номер филиала производящего экспорт
Типы документов: saleApp
| Заявка на продажу иностранной валюты за рубли у банка
transactionCurrency – код валюты, значение атрибута число;
summaCurrAsStr – сумма и валюта платежа в виде строки, значение атрибута - строка;
summaCurr – сумма в инвалюте, тип значения атрибута - число;
doc_bankShortName – краткое название банка, тип значения атрибута -строка;
doc_bankFullName – полное название банка, тип значения атрибута - строка;
sale_sellerRURAccount - рублевый счет Продавца для зачисления средств, тип значения атрибута - строка;
sale_sellerPSBAcc – валютный счет продавца, тип значения атрибута - число;
sale_saleDate – дата продажи, тип значения атрибута -дата;
sale_sellerOKPO – ОКПО продавца;
sale_sellerINN – ИНН продавца, тип значения атрибута - строка;
sale_sellerOrgName – название продавца, тип значения атрибута - строка;
sale_buyer – название покупателя, тип значения атрибута - строка;
sale_personContactPhone – номер телефона ответственного лица по сделке, тип значения атрибута - строка;
sale_personName – ответственное лицо по сделке, тип значения атрибута -строка;
sale_operCode – код операции, значение всегда должно быть 0.
| purchaseApp
| Заявка на покупку иностранной валюты у банка за рубли
transactionCurrency – код валюты, значение атрибута - число
summaCurrAsStr – сумма и валюта платежа в виде строки, значение атрибута - строка;
summaCurr – сумма в инвалюте, тип значения атрибута - число;
purchase_overheadAcc – счет списания стредств с покупателя, тип значения атрибута - число;
purchase_purchaseDate – дата продажи, тип значения атрибута - дата;
purchase_personName – ответственное лицо по сделке, тип значения атрибута - строка;
purchase_buyerOKPO – ОКПО покупателя;
purchase_buyerINN – ИНН покупателя, тип значения атрибута - число;
purchase_buyerOrgName – наименование названия покупателя, тип значения атрибута - строка;
doc_bankShortName – краткое название банка, тип значения атрибута - строка;
doc_bankFullName – полное название банка, тип значения атрибута - строка;
purchase_contactPhone – номер телефона ответственного лица, тип значения атрибута - строка;
purchase_commissAcc – счет списания комиссии, тип значения атрибута - число;
purchase_buyerAccount – счет зачисления средств покупателя, тип значения атрибута - число;
purchase_provDocuments – обоснование покупки валюты, тип значения атрибута - строка;
purchase_operCode – код операции, значение всегда должно быть 0.
purchase_buyerRegistered - кем зарегистрирован покупатель
|
|
| saleAssign
| Поручение на продажу иностранной валюты за рубли на ММВБ
transactionCurrency – код валюты, значение атрибута - число
summaCurrAsStr – сумма инвалюты в текстовом представлении. Тип значения атрибута – строка;
summaCurr - сумма инвалюты. Тип значения атрибута – число;
sale_commissAcc – номер счета списания комиссии. Тип значения атрибута – число;
doc_bankShortName – краткое название банка.
doc_bankFullName – полное название банка.
sale_sellerRURAccount – рублевый счет для зачисления средств. Тип значения атрибута – число;
sale_sellerPSBAcc – валютный счет продавца. Тип значения атрибута – число;
sale_sellerOKPO – ОКПО организации.
sale_sellerINN – ИНН организации. Тип данных атрибута – число.
sale_sellerOrgName - название организации. Тип данных атрибута – строка.
sale_personContactPhone – контактный телефон ответственного лица. Тип данных атрибута – строка.
sale_personName – имя ответственного лица. Тип данных атрибута – строка.
sale _operCode – код операции, значение всегда должно быть 0.
sale_commissPercent – процент комиссии
| purchaseAssign
| Поручение на покупку иностранной валюты за рубли на ММВБ
transactionCurrency – код валюты, значение атрибута – число;
summaCurrAsStr – сумма инвалюты в текстовом представлении. Тип значения атрибута – строка;
purchase_overheadAcc – счет списывания средств с покупателя. Тип данных атрибута – число;
summaCurr - сумма инвалюты. Тип значения атрибута – число;
purchase_personName – имя ответственного лица. Тип данных атрибута – строка;
purchase_buyerOKPO - ОКПО организации.
purchase_buyerINN – ИНН огранизации. Тип данных атрибута – число;
purchase_buyerOrgName – наименование организации. Тип данных атрибута – строка;
doc_bankShortName – краткое наименование банка. Тип данных атрибута – строка;
doc_bankFullName - полное наименование банка. Тип данных атрибута – строка;
purchase_contactPhone – контактный телефон ответственного по сделке. Тип данных атрибута – строка.
purchase_commissAcc – счет для списывания комиссии. Тип данных атрибута – число;
purchase_buyerAccount – счет зачисления средств покупателя. Тип данных атрибута – число;
purchase_provDocuments – документы обосновывающие покупку иностранной валюты. Тип данных атрибута – строка;
purchase _operCode – код операции, значение всегда должно быть 0.
purchase_commissPercent - процент комиссии
| transferAppCyprus
| PAYMENT ORDER (for Cyprus) Поля плательщика не редактируемые на панели редактирования, поэтому в xml файле нужно точно задать все его атрибуты, актуальные на текущий момент.
Замечание по указанию уполномоченного лица см. документ CyprusTransferInnerApp.
transactionCurrency – код валюты, значение атрибута – число;
transferApp_payPurpose – назначение платежа. Тип данных атрибута – строка;
transferApp_benefitAccount – IBAN счет. Тип данных атрибута – строка;
transferApp_benefitBankCorrAcc – корреспондентский счет. Тип данных атрибута – число;
purchase_personName – ФИО ответственного лица. Тип данных атрибута – строка;
purchase_contactPhone - телефон ответственного лица. Тип данных атрибута – строка;
transferApp_currAccNumber – текущий расчётный счет. Тип данных атрибута – число;
transferApp_payernm – наименование плательщика.
doc.summa – сумма валютного платежа. Значение типа атрибута – число;
transferApp_benefitiaryAddress – адрес бенефициара. Значение типа атрибута – строка;
transferApp_benefitiaryName – наименование бенефициара. Значение типа атрибута – строка;
transferApp_benefitBankSWIFT – SWIFT код банка бенецифиара. Значение типа атрибута – строка;
transferApp_benefitBankAddress – адрес банка бенефициара. Значение типа атрибута – строка;
transferApp_benefitBankName – наименование банка бенефициара. Значение типа атрибута – строка;
transferApp_chargeType – опция платежа и комиссии. типа атрибута – строка длиной 3 символа может принимать следующие значения:
OUR - За наш счет
BEN - За счет бенефициара
SHA - ОАО «Промсвязьбанк» - за наш счет; иностранных банков - за счет бенефициара
transferApp_intermedBankSWIFT – код SWIFT банка посредника. Значение типа атрибута – строка;
transferApp_intermedBankAddress – адрес банка посредника. Значение типа атрибута – строка;
transferApp_intermedBankName – наименование банка посредника. Значение типа атрибута – строка;
transferApp_INN - ИНН плательщика. Тип атрибута – строка;
transferApp_transferType - вид перевода (0 - обычный, 1 - срочный) Тип атрибута – число;
transferApp_addInstr - дополнительные инструкции. Тип атрибута – строка;
clientTransfer_payerAddress – адрес плательщика. Тип атрибута – строка;
clientTransfer_payerCityCountry – страна и город плательщика. Тип атрибута – строка;
doc.nameClient – наименование клиента. Тип атрибута – строка;
clientTransfer_benefitBankTownCountry - страна и город банка бенефициара. Тип атрибута – строка;
clientTransfer_intermedBankTownCountry- страна и город постредника. Тип атрибута – строка;
clientTransfer_benefitiaryTownCountry - страна и город бенефициара. Тип атрибута – строка;
clientTransfer_payerAccount – счет плательщика. Тип атрибута – строка;
clientTransfer_payerCountry – стана плательщика. Тип атрибута – строка;
TransferCurrency_ACurrency – символьный код валюты
doc_bankShortName – краткое наименование банка. Тип данных атрибута – строка;
doc_bankFullName - полное наименование банка. Тип данных атрибута – строка;
transferApp_summaStr – сумма прописью
transferApp_urgentPriority – срочный выпуск СВИФТА
transferApp_valueDateDate – флаг выбора даты валютирования
transferApp_valueDate – выбранная дата валютирования
transferApp_valueDateToday – флаг валютирования сегодняшней датой
transferApp_benefitBankClearing– Clearing Code для банка бенефициара. Необязательный параметр, тип – строка цифр
transferApp_intermedBankClearing– Clearing Code для банка посредника. Необязательный параметр, тип – строка цифр
transferApp_benefitBankCodeType– чем задан банк бенефициара; тип атрибута – число (0 – SWIFT, 1- Clearing Code)
transferApp_intermedBankCodeType– чем задан банк посредника; тип атрибута – число (0 – SWIFT, 1- Clearing Code)
| purchaseAppNonres
| Заявка на покупку валюты для нерезидента
transactionCurrency – код валюты, значение атрибута – число;
summaCurrAsStr - сумма инвалюты в текстовом представлении. Тип значения атрибута – строка;
purchase_overheadAcc – To debit the rouble funds for the purchased foreign currency from the Buyer’s account. Тип значения атрибута – число;
summaCurr - сумма инвалюты. Тип значения атрибута – число;
purchase_purchaseDate – дата покупки. Тип данных атрибута – дата;
purchase_personName - имя ответственного лица. Тип данных атрибута – строка;
purchase_buyerOrgName – наименование покупателя. значения атрибута – строка;
doc_bankShortName– краткое наименование банка. Тип значения атрибута – строка;
purchase_operCode - определяет тип документа. Должна равняться числу, значение которого всегда 1 для данного вида документа.
doc_bankFullName– полное наименование банка. Тип значения атрибута – строка;
purchase_contactPhone - контактный телефон ответственного лица. Тип данных атрибута – строка.
purchase_chargeAcc – To debit the settlement commission from Buyer’s account №. Тип значения атрибута – число;
purchase_commissAcc - счет списания комиссии. Тип значения атрибута – число;
purchase_buyerAccount – To credit to purchased foreign currency to the Buyer’s account №. Тип значения атрибута – число;
purchase_provDocuments– документы обосновывающие покупку иностранной валюты. Тип данных атрибута – строка;
purchase_buyerRegistered - кем зарегистрирован покупатель
purchase_commissPercent - процент комиссии
| saleAppNonres
| Заявка на продажу валюты для нерезидента
transactionCurrency – код валюты, значение атрибута – число;
summaCurrAsStr - сумма инвалюты в текстовом представлении. Тип значения атрибута – строка;
summaCurr - сумма инвалюты. Тип значения атрибута – число;
sale_commissAcc - счет списания комиссии. Тип значения атрибута – число;
doc_bankShortName – краткое наименование банка. Тип значения атрибута – строка;
sale_personContactPhone - контактный телефон ответственного лица. Тип данных атрибута – строка.
doc_bankFullName – полное наименование банка. Тип значения атрибута – строка;
sale_sellerRURAccount – рублевый счет продавца в «Промсвязьбанк», Кипрский филиал. Тип значения атрибута – число;
sale_sellerPSBAcc – валютный счет продавца в «Промсвязьбанк», Кипрский филиал. Тип значения атрибута – число;
sale_saleDate - дата продажи, тип значения атрибута -дата;
sale_sellerOrgName – наименование продавца, тип значения атрибута – строка;
sale_buyer – наименование покупателя. Тип значения атрибута – строка;
sale_personContactPhone - контактный телефон ответственного лица. Тип данных атрибута – строка.
sale_operCode – определяет тип документа. Должна равняться числу, значение которого всегда 1 для данного вида документа.
sale_personContactPhone - контактный телефон ответственного лица. Тип данных атрибута – строка.
sale_personName - имя ответственного лица. Тип данных атрибута – строка;
sale_commissPercent – процент комиссии
| |