Описание Web-сервиса по получению информации о БСО (blank.bisc.by) - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

Описание 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.0/5
Если информация оказалась для Вас ценной, Вы можете поблагодарить автора:

Комментариев нет
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 12.03.2019
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому