Описание Web-сервиса по получению информации о БСО (blank.bisc.by)
Данные > Статьи и инструкции > Практика
Белорусский межбанковский расчётный центр внедрил автоматизированную систему ведения электронного банка данных бланков документов и документов с определенной степенью защиты и печатной продукции. Сервис blank.bisc.by позволяет получить сведения о приобретении субъектами хозяйствования Республики Беларусь и признании недействительности бланков документов с определенной степенью защиты, печатной продукции, контрольных (идентификационных) знаков как с помощью web-сервиса так и с помощью следующих методов Web-сервиса.
Сервис БСО: http://blank.bisc.by/
Сервис БСО для мобильных устройств: http://wap.blank.bisc.by
Подробно про сервис можно прочитать тут: http://blank.bisc.by/HelpОбработку для РБ 1С 7.7 можно скачать тут: https://infostart.ru/public/718263/
Проверить бланки БСО из 1С можно с помощью следующих методов Web-сервиса (получено с forum.infostart.ru):
ПРОТОКОЛЫ ПЕРЕДАЧИ
Web-сервис подсистемы «Информационный портал АС БДБ» поддерживает протоколы SOAP и HTTP.
Для протокола SOAP рекомендуется автоматическое построение прокси-классов для работы с Web-сервисом средствами сред RAD.
МЕТОДЫ WEB-СЕРВИСА
Метод FindBlankWS
Предназначен для поиска информации о бланках первичных учетных документов и контрольных идентификационных знаках в подсистеме «Информационный портал АС БДБ» по коду типа БСО, серии БСО (регистр существенен) и номеру БСО (ведущие нули номера являются значащими).
Метод FindBlankWS (pTB, pSB, pNB) : WSAnswer, где:
pTB : Integer – код типа БСО,
pTBSpecified: bool – служебное поле, на вход всегда должно передаваться значение false.
pSB : String – серия БСО,
pNB : String – номер БСО,
WSAnswer – объект ответа
WSAnswer {
Property IsFound : Integer – флаг, найдена ли информация: 0 - нет, 1 - да
Property Rel : WSRel []– список реализаций БСО
Property Sp : WSSp []– список признаний БСО недействительными
Property Pas : WSPas [] – список передач бланков
}
WSRel {
Property Date : String – дата реализации
Property Name : String – название субъекта хозяйствования, которому реализован БСО
Property UNP : String – УНП субъекта хозяйствования, которому реализован БСО
}
WSSp {
Property Date : String – дата признания БСО недействительным
}
WSPas {
Property Date : String – дата передачи
Property Name : String – название субъекта хозяйствования, которому передан бланк
Property UNP : String – УНП субъекта хозяйствования, которому передан бланк
}
Метод FindBlankWSnTB
Предназначен для поиска информации о бланках первичных учетных документов в подсистеме «Информационный портал АС БДБ» по серии бланка (регистр существенен) и номеру бланка (ведущие нули номера являются значащими).
Метод FindBlankWSnTB (pSB, pNB) : WSAnswerList, где:
pSB : String – серия БСО,
pNB : String – номер БСО,
WSAnswerList – объект ответа
WSAnswerList {
Property IsFound : Integer – флаг, найдена ли информация: 0 - нет, 1 - да
Property Blanks : WSAnswer []– список ответов по найденным БСО
Property BlanksTB : Integer [] – список кодов типов БСО. Списки Blanks и BlanksTB находятся во взаимно однозначном соответствии
}
WSAnswer определен в предыдущем пункте.
Метод GetTBListWS
Предназначен для выдачи перечня типов БСО, имеющихся в подсистеме «Информационный портал АС БДБ».
Метод GetTBListWS () : WSTBList – возвращает перечень типов БСО, где:
WSTBList – объект ответа
WSTBList {
Property TBList : WSTBItem [] – перечень типов БСО, отсортированных по возрастанию номера кода
}
WSTBItem {
Property Format : String – формат
Property Kod : Integer – код типа БСО
Property Kompl : String – комплектность
Property Nominal : String – номинал
Property Name : String – название типа бланка
}
ВЗАИМОДЕЙСТВИЕ ПО ПРОТОКОЛУ SOAP
WSDL-определение
Стандартное WSDL-определение Web-сервиса размещено по адресу:
Формирование клиента для web-сервиса
Ниже приводится инструкция по формированию proxy-класса клиента для web-сервиса в наиболее распространенных средах разработки: VisualStudio, Delphi и 1С (версии 8 и выше).
Формирование клиента для web-сервиса в VisualStudio
Для добавления ссылки на web-сервис в VisualStudio необходимо выполнить следующую последовательность действий:
1) Вызвать контекстное меню для проекта, в который необходимо добавить ссылку (клик правой кнопкой);
2) Выбрать пункт «Add Service Reference» («Добавить ссылку на службу» для рускоязычной версии);
3) В появившемся окне в строку «Address» («Адрес») ввести путь к WSDL-файлу (например, http://ws.blank.bisc.by/ws1/FindBlank WSSoap.svc?wsdl) и нажать кнопку «Go» («Перейти»);
4) В окне «Services» («Службы») выбрать требуемый сервис и в строке «Namespace» («Пространство имен») задать пространство имен, в котором будет сгенерирован proxy-класс;
5) Для использования сервиса в требуемой функции подключить заданное пространство имен и создать объект класса имя_сервисаClient (например, FindBlankWSSoapClient).
Формирование клиента для web-сервиса в Delphi
Для добавления ссылки на web-сервис в Delphi необходимо выполнить следующую последовательность действий:
1) Выбрать пункт меню «File\New\Other» («Файл\Новый\Другое»);
2) В появившемся окне выбрать вкладку «WebServices» («Веб-службы»), Выбрать компонент «WSDL Importer» («WSDL импортер») и нажать кнопку «ОК»;
3) В появившемся окне ввести путь к WSDL-файлу (например, http://ws.blank.bisc.by/ws1/FindBlankWSSoap.svc?wsdl) и нажать кнопку «Next» («Далее»);
4) В появившемся окне отобразится код сгенерированного модуля, который содержит в себе proxy-класс. При необходимости внести в него правки и нажать кнопку «Finish» («Завершить»);
5) Для использования сервиса в разделе Uses подключить сгенерированный модуль.
Формирование клиента для web-сервиса в 1С
Для добавления ссылки на web-сервис в 1С необходимо выполнить следующую последовательность действий:
1) В конфигурации добавить новый объект типа WS-ссылка;
2) В появившемся окне ввести путь к WSDL-файлу (например, http://ws.blank.bisc.by/ws1/FindBlankWSSoap.svc?wsdl) и нажать кнопку «ОК»;
3) В появившемся окне отобразится визуальная карта сервиса;
4) Для использования сервиса инициировать proxy-класс, используя WSСсылки.имя_прокси_класса.СоздатьWSПрокси(…);
ВЗАИМОДЕЙСТВИЕ ПО ПРОТОКОЛУ HTTP
Взаимодействие по протоколу HTTP выполняется посредством обращения к веб-форме, расположенной по адресу:
Входные параметры
Метод сервиса, к которому выполняется обращение, а также его параметры (при наличии), передаются в виде GET-параметров (параметров, передаваемых в адресной строке).
Допустимы следующие параметры:
– method – обязательный параметр, указывает метод сервиса, который требуется вызвать. Допустимые значения: FindBlankWS, FindBlankWSnTB, GetTBListWS
– pTB – код БСО. Ожидается целочисленное шестизначное значение;
– pSB – серия БСО. Ожидается буквенно-числовое значение, соответствующее формату серии указанного БСО. Символы серии должны передаваться посредством кодировки Unicode;
– pNB – номер БСО. Ожидается целочисленное значение длиной до 9 знаков, соответствующее формату номера указанного БСО.
Обязательность присутствия параметров pTB, pSB, pNB зависит от метода, указанного в первом параметре:
– для метода FindBlankWS обязательны все три параметра;
– для метода FindBlankWSnTB обязательны pSB и pNB;
– для метода GetTBListWS параметры не требуются.
Параметры адресной строки передаются следующим образом:
http://адрес_сервиса/метод_сервиса?параметр1=значениче1
&параметр2=значение2
Пример:
где %D0%90%D0%91 – представление строки АБ в кодировке Unicode.
Ответ сервиса
Результатом обращения к сервису по протоколу HTTP является текст в формате XML.
В случае несоответствия формата значений, переданных в параметрах, либо отсутствия обязательного параметра, в ответ будет выдан xml следующего вида:
<error>Некорректный запрос</error>
Корректный ответ будет выдан, исходя из описания сервиса (п.4), по следующим правилам:
– поля-значения будут выдаваться xml-тегом, где название поля будет названием тега, а значение поля – значением тега. Пример:
<IsFound>1</IsFound>
– поля-объекты будут передаваться в виде родительского тега с названием, совпадающим с названием объекта, и дочерних тегов с названиями, совпадающими с названиями соответствующих полей класса. Пример:
<WSTBItem>
<Format> … </Format>
<Kod> … </Kod>
</WSTBItem>
– поля-списки будут передаваться в виде родительского тега с названием, совпадающим с названием списка, и набором дочерних тегов с одинаковым названием, совпадающим с названием элемента списка. Пример:
<WSTBList>
<WSTBItem> … </WSTBItem>
<WSTBItem> … </WSTBItem>
<WSTBItem> … </WSTBItem>
</WSTBList>
Если Вы хотите заказать услугу «Внедрение механизма получения сведений о БСО в 1C с портала blank.bisc.by» (код 2.21). Пожалуйста, ознакомьтесь с прайс-листом и оформите заявку через контактную форму.
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник