GetStockEntryListOperation v2: различия между версиями

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску
Строка 161: Строка 161:
|-
|-
| 11
| 11
| style="font-weight: bold; font-family: Courier;" | ···<merc:searchPattern>
|
| [0..1]
|
|
|-
| 12
| style="font-weight: bold; font-family: Courier;" | ······<vd:blankFilter>
|
| [1..1]
| Фильтр по объему записей складского журнала
* ALL - все записи (значение по умолчанию)
* NOT_BLANK - только записи с ненулевым объемом
| <vd:blankFilter>NOT_BLANK</vd:blankFilter>
|-
| 13
| style="font-weight: bold; font-family: Courier;" | ···&lt;/merc:searchPattern>
|
|
|
|
|-
| 14
| style="font-weight: bold; font-family: Courier;" | </merc:getStockEntryListRequest>
| style="font-weight: bold; font-family: Courier;" | </merc:getStockEntryListRequest>
|  
|  

Версия 15:51, 15 сентября 2017

Общие сведения

Операция GetStockEntryListOperation предназначена для получения актуального списка записей складского журнала.

Складской журнал продукции в системе Меркурий ведется с применением версионирования, это означает, что при каждом изменении записи складского журнала создается новая версия этой записи.

  • GUID - глобальный идентификатор записи складского журнала. Данный идентификатор остается неизменным для всех версий записи складского журнала.
  • UUID - идентификатор версии записи складского журнала. Данный идентификатор изменяется для каждой новой версии записи складского журнала.

Так же следует различать актуальную и неактуальную версию записи складского журнала. Для одной записи журнала может существовать только одна актуальная версия.

При выполнении операции GetStockEntryListOperation на вход системы передаются следующие сведения:

  • информация о пользователе - инициаторе запроса;
  • информация о предприятии, на котором осуществляется поиск записей складского журнала;

Результатом выполнения данной операции является:

  • сведения о всех актуальных записях складского журнала для запрашиваемого предприятия.

Возможные сценарии

При обработке запроса возможны следующие сценарии:

1.1. Запрос успешно обработан. Пользователю вернулись все актуальные записи журнала для запрашиваемой площадки.
1.2. Произошла ошибка при обработке запроса.
• Некорректный запрос.
• Внутренняя ошибка системы.

Используемые пространства имен


Данные запроса

# Название XML-элемента Тип Кардинальность Описание Пример
1 <merc:getStockEntryListRequest>
2 ···<merc:localTransactionId> xs:NCName [1..1] Идентификатор заявки в клиентской системе. <bs:guid>A00001</bs:guid>
3 ···<merc:initiator> dt:User [1..1] Пользователь, зарегистрированный в системе Меркурий и инициирующий запрос к шлюзу. Является ответственным за выполнение бизнес-операции. Здесь потребуется логин ветврача или пользователя ХС. Логин для базовой аутентификации не подойдёт.
4 ······<vd:login> xs:NCName [1..1] Логин пользователя, зарегистрированного в системе Меркурий. <vd:login>user_ab_150101</vd:login>
5 ···</merc:initiator>
6 ···<bs:listOptions> bs:ListOptions [0..1] Параметры запрашиваемого списка.
7 ······<bs:count> xs:nonNegativeInteger [0..1] Максимальное запрашиваемое количество объектов в списке.
  • По умолчанию значение 100;
  • Максимально возможное значение 1000.
<bs:count>10</bs:count>
8 ······<bs:offset> xs:nonNegativeInteger [0..1] Номер элемента, по которому осуществляется смещение первого элемента списка.
  • По умолчанию значение 0.
<bs:offset>2</bs:offset>
9 ···<bs:listOptions>
10 ···<dt:enterpriseGuid> bs:UUID [1..1] Идентификатор предприятия, по которому производится поиск записи. <dt:enterpriseGuid>851cf860-e9a3-4981-b83e-3dc6cb06cf07</dt:enterpriseGuid>
11 ···<merc:searchPattern> [0..1]
12 ······<vd:blankFilter> [1..1] Фильтр по объему записей складского журнала
  • ALL - все записи (значение по умолчанию)
  • NOT_BLANK - только записи с ненулевым объемом
<vd:blankFilter>NOT_BLANK</vd:blankFilter>
13 ···</merc:searchPattern>
14 </merc:getStockEntryListRequest>

Данные ответа

# Название XML-элемента Тип Кардинальность Описание Пример
1 <merc:getStockEntryListResponse>
2 ···<merc:stockEntryList> vd:StockEntryList [1..1] Список записей журнала.
3 ······<merc:stockEntry> vd:StockEntry [0..*] Сведения о записи журнала.
4 ·········<bs:uuid> bs:UUID [1..1] Идентификатор версии записи журнала. <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
5 ·········<bs:guid> bs:UUID [1..1] Глобальный идентификатор записи журнала. <bs:guid>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:guid>
6 ·········<bs:active> xs:boolean [1..1] Является ли запись журнала активной:
  • true - запись активна;
  • false - запись не активна.
<bs:active>true</bs:active>
7 ·········<bs:last> xs:boolean [1..1] Последняя версия записи журнала:
  • true - да;
  • false - нет.
<bs:last>true</bs:last>
8 ·········<bs:status> bs:VersionStatus [1..1] Статус версии записи журнала. <bs:status>100</bs:status>
9 ·········<bs:createDate> xs:DateTime [1..1] Дата создания записи журнала. <bs:createDate>2017-07-07T12:00:00</bs:createDate>
10 ·········<bs:updateDate> xs:DateTime [1..1] Дата изменения записи журнала. <bs:updateDate>2017-07-07T12:00:00</bs:updateDate>
11 ·········<bs:previous> bs:UUID [0..1] Идентификатор предыдущей версии записи журнала. <bs:previous>7c78bf3f-c1e8-496b-a5c1-173af60e95e4</bs:previous>
12 ·········<bs:next> bs:UUID [0..1] Идентификатор следующей версии записи журнала. <bs:next>82c7af0d-7067-4a67-8a53-39f4a5bcd700</bs:next>
13 ·········<vd:entryNumber> xs:string [0..1] Номер записи журнала, доступный через веб-интерфейс. <vd:entryNumber>85628322</vd:entryNumber>
14 ·········<vd:batch> vd:Batch [1..1] Сведения о партии продукции.
15 ············<vd:productType> dt:ProductType [1..1] Тип продукции. Первый уровень иерархического справочника продукции ИС Меркурий. <vd:productType>1</vd:productType>
16 ············<vd:product> dt:Product [1..1] Продукция. Второй уровень иерархического справочника продукции ИС Меркурий.
17 ···············<bs:uuid> bs:UUID [1..1] Идентификатор версии продукции. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
18 ···············<bs:guid> bs:UUID [1..1] Глобальный идентификатор продукции. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
19 ···············<dt:name> bs:String255 [0..1] Наименование продукции. <dt:name>говядина</dt:name>
20 ············</vd:product>
21 ············<vd:subProduct> dt:SubProduct [1..1] Вид продукции. Третий уровень иерархического справочника продукции ИС Меркурий.
22 ···············<bs:uuid> bs:UUID [1..1] Идентификатор версии вида продукции. <bs:uuid>d9d008eb-057a-4cd4-8cb2-d69364318bbe</bs:uuid>
23 ···············<bs:guid> bs:UUID [1..1] Глобальный идентификатор вида продукции. <bs:guid>6f5feda1-a3d4-4dfd-8625-de62777a205e</bs:guid>
24 ···············<dt:name> bs:String255 [0..1] Наименование вида продукции. <dt:name>говядина на кости охлажденная</dt:name>
25 ············</vd:subProduct>
26 ············<vd:volume> bs:Decimal [1..1] Объем продукции. <dt:volume>50</dt:volume>
27 ············<vd:unit> dt:Unit [1..1] Единица измерения объема партии продукции.
28 ···············<bs:uuid> bs:UUID [0..1] Идентификатор версии еиницы измерения. <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
29 ···············<bs:guid> bs:UUID [0..1] Глобальный идентификатор еиницы измерения. <bs:guid>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:guid>
30 ···············<dt:name> bs:String255 [0..1] Наименование единицы измерения. <dt:name>кг.</dt:name>
31 ············</vd:unit>
32 ············<vd:dateOfProduction> vd:GoodsDate [1..1] Дата выработки продукции. Может быть указана датой или диапазоном дат. В случае точной даты выработки указывается только первая компонента - firstDate.
33 ···············<vd:firstDate> dt:ComplexDate [1..1] Начальная дата в интервале, либо единичная дата.
34 ··················<dt:year> dt:Year [0..1] Год. <dt:year>2017</dt:year>
35 ··················<dt:month> dt:Month [0..1] Месяц. <dt:month>07</dt:month>
36 ··················<dt:day> dt:Day [0..1] День. <dt:day>07</dt:day>
37 ··················<dt:hour> dt:Hour [0..1] Час. <dt:hour>12</dt:hour>
38 ··················<dt:minute> dt:Minute [0..1] Минута. <dt:minute>41</dt:minute>
39 ···············</vd:firstDate>
40 ···············<vd:secondDate> dt:ComplexDate [1..1] Конечная дата в интервале.
41 ··················<dt:year> dt:Year [0..1] Год. <dt:year>2017</dt:year>
42 ··················<dt:month> dt:Month [0..1] Месяц. <dt:month>07</dt:month>
43 ··················<dt:day> dt:Day [0..1] День. <dt:day>08</dt:day>
44 ··················<dt:hour> dt:Hour [0..1] Час. <dt:hour>12</dt:hour>
45 ··················<dt:minute> dt:Minute [0..1] Минута. <dt:minute>41</dt:minute>
46 ···············</vd:secondDate>
47 ············</vd:dateOfProduction>
48 ············<vd:expiryDate> vd:GoodsDate [1..1] Дата окончания срока годности продукции. Может быть указана датой или диапазоном дат. В случае точной даты выработки указывается только первая компонента - firstDate.
49 ···············<vd:firstDate> dt:ComplexDate [1..1] Начальная дата в интервале, либо единичная дата.
50 ··················<dt:year> dt:Year [0..1] Год. <dt:year>2018</dt:year>
51 ··················<dt:month> dt:Month [0..1] Месяц. <dt:month>07</dt:month>
52 ··················<dt:day> dt:Day [0..1] День. <dt:day>08</dt:day>
53 ··················<dt:hour> dt:Hour [0..1] Час. <dt:hour>12</dt:hour>
54 ··················<dt:minute> dt:Minute [0..1] Минута. <dt:minute>41</dt:minute>
55 ···············</vd:firstDate>
56 ···············<vd:secondDate> dt:ComplexDate [1..1] Конечная дата в интервале.
57 ··················<dt:year> dt:Year [0..1] Год. <dt:year>2018</dt:year>
58 ··················<dt:month> dt:Month [0..1] Месяц. <dt:month>09</dt:month>
59 ··················<dt:day> dt:Day [0..1] День. <dt:day>08</dt:day>
60 ··················<dt:hour> dt:Hour [0..1] Час. <dt:hour>12</dt:hour>
61 ··················<dt:minute> dt:Minute [0..1] Минута. <dt:minute>41</dt:minute>
62 ···············</vd:secondDate>
63 ············</vd:expiryDate>
64 ············<vd:productionBatchID> bs:String255 [0..*] Уникальный идентификатор производственной партии продукции. <vd:productionBatchID>ПП64219</vd:productionBatchID>
65 ············<vd:perishable> xs:boolean [1..1] Описывает, является ли продукция скоропортящейся:
  • true – скоропортящаяся;
  • false – не скоропортящаяся.
<vd:perishable>false</vd:perishable>
66 ············<vd:origin> vd:BatchOrigin [0..1] Сведения о происхождении продукции.
67 ···············<vd:productItem> dt:ProductItem [0..1] Наименование продукции в номенклатуре производителя.
68 ··················<bs:uuid> bs:UUID [1..1] Идентификатор версии номенклатуры продукции. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
69 ··················<bs:guid> bs:UUID [1..1] Глобальный идентификатор номенклатуры продукции. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
70 ··················<dt:globalID> dt:GTINType [0..1] Trade Identification Number (GTIN) - идентификационный номер продукции производителя. По задумке создателей GTIN должен быть уникален для продукции всех производителей, но на практике встречаются случаи недокументированного использования GTIN внутри компаний, что не обеспечивает уникальность GTIN, поэтому уникальность поля не проверяется. <dt:globalID>85672854</dt:globalID>
71 ··················<dt:name> bs:String255 [0..1] Наименование продукции. <dt:name>Наименование</dt:name>
72 ··················<dt:code> bs:String255 [0..1] Артикул (код) продукции в соответствии с внутренним кодификатором производителя. Артикул продукции должен быть уникальным в пределах одного производителя. <dt:code>12</dt:code>
73 ···············</vd:productItem>
74 ···············<vd:country> dt:Country [0..1] Страна происхождения партии продукции.
75 ··················<bs:uuid> bs:UUID [0..1] Идентификатор версии страны. <bs:uuid>cbd91ac0-bec2-4308-a395-33b68871d76b</bs:uuid>
76 ··················<bs:guid> bs:UUID [0..1] Глобальный идентификатор страны. <bs:guid>3aa0c3ce-8d01-4779-bfb7-df7f234cf86f</bs:guid>
77 ··················<dt:name> bs:String255 [0..1] Наименование страны происхождения партии продукции. <dt:name>Российская федерация</dt:name>
78 ···············</vd:country>
79 ···············<dt:producer> dt:Producer [0..*] Производитель продукции.
80 ··················<dt:enterprise> dt:Enterprise [1..1] Информация о предприятие-производителе продукции. Обязательно должно быть заполнено хотя бы одно из полей, либо UUID, либо GUID. При указании обоих полей, приоритет у UUID.
81 ·····················<bs:uuid> bs:UUID [0..1] Идентификатор версии предприятия. <bs:uuid>9c706614-b995-4bdd-bda3-8fa9de70803a</bs:uuid>
82 ·····················<bs:guid> bs:UUID [0..1] Глобальный идентификатор предприятия. <bs:guid>12f04ea3-e236-4b71-b427-e04d41b26de4</bs:guid>
83 ·····················<dt:name> bs:String255 [0..1] Наименование производителя. <dt:name>Мясной цех №36</dt:name>
84 ··················</dt:enterprise>
85 ··················<dt:role> dt:EnterpriseRole [1..1] Роль предприятия-производителя продукции. <dt:role>PRODUCER</dt:role>
86 ···············</dt:producer>
87 ············</vd:origin>
88 ············<vd:lowGradeCargo> xs:boolean [1..1] Является ли груз некачественным.
  • true – груз некачественный;
  • false – груз качественный.
<vd:lowGradeCargo>false</vd:lowGradeCargo>
89 ············<vd:packageList> dt:PackageList [0..1] Список физической упаковки.
90 ···············<dt:package> dt:Package [0..*] Описание упаковки. Поддерживается указание многоуровневой упаковки и маркировки партии продукции. Всего предусмотрено шесть уровней упаковки (см. тип dt:PackageLevelType). Количество единиц упаковки и маркировка партии указывается для каждой упаковки конкретного уровня отдельно. На каждом уровне может быть произвольное количество типов упаковки, в том числе и ни одного, т.е. какого-то уровня упаковки в описании партии продукции может не быть.
91 ··················<dt:level> dt:PackageLevelType [1..1] Уровень упаковки. <vd:level>4</vd:level>
92 ··················<dt:packingType> dt:PackingType [1..1] Тип упаковки. <vd:packingType>1</vd:packingType>
93 ·····················<bs:uuid> bs:UUID [0..1] Идентификатор версии упаковки. <bs:uuid>9c706614-b995-4bdd-bda3-8fa9de70803a</bs:uuid>
94 ·····················<dt:globalID> dt:PackingCodeType [1..1] Уникальный идентификатор упаковки. <dt:globalID>7B</dt:globalID>
95 ·····················<dt:name> bs:String255 [0..1] Наименование упаковки. <dt:name>Деревянный ящик</dt:name>
96 ··················</dt:packingType>
97 ··················<dt:quantity> xs:int [0..1] Количество единиц упаковки. <vd:quantity>1</vd:quantity>
98 ··················<dt:productMarks class="UNDEFINED"> dt:ProductMarks [0..*] Маркировка партии продукции. <vd:productMarks class="BN">ПАРТИЯ1251</vd:productMarks>
99 ···············</dt:package>
100 ············</vd:packageList>
101 ············<vd:owner> dt:BusinessEntity [0..1] Фирма-владелец продукции.
102 ···············<bs:uuid> bs:UUID [0..1] Идентификатор версии хозяйствующего субъекта-владельца. <bs:uuid>dc400640-0496-4f06-b83c-d00107edc744</bs:uuid>
103 ···············<bs:guid> bs:UUID [0..1] Глобальный идентификатор хозяйствующего субъекта-владельца. <bs:guid>879b525c-248d-46a5-bbde-2ee02d4d0bf9</bs:guid>
104 ···············<dt:fullName> bs:String255 [0..1] Полное наименование хозяйствующего субъекта. <dt:fullName>Общество с ограниченной ответственностью "Первая торговая компания"</dt:fullName>
105 ···············<dt:fio> bs:String255 [0..1] ФИО хозяйствующего субъекта. <dt:fio>Иванов Сергей Петрович</dt:fio>
106 ···············<dt:juridicalAddress> dt:Address [0..1] Адрес фирмы.
107 ··················<dt:addressView> bs:String255 [0..1] Представление адреса. <dt:addressView>Российская Федерация, Владимирская обл., г. Владимир, ул. Ленина ул., д. 44</dt:addressView>
108 ···············</dt:juridicalAddress>
109 ············</vd:owner>
110 ·········</vd:batch>
111 ······</merc:stockEntry>
112 ···<merc:stockEntryList>
113 </merc:getStockEntryListResponse>

Примеры запросов

Получение списка записей складского журнала для хозяйствующего субъекта
<SOAP-ENV:Envelope xmlns:dt="http://api.vetrf.ru/schema/cdm/dictionary/v2" 
                   xmlns:bs="http://api.vetrf.ru/schema/cdm/base" 
                   xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" 
                   xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
                   xmlns:apl="http://api.vetrf.ru/schema/cdm/application" 
                   xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2" 
                   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <apldef:submitApplicationRequest>
      <apldef:apiKey>apiKey</apldef:apiKey>
      <apl:application>
        <apl:serviceId>mercury-g2b.service:2.0</apl:serviceId>
        <apl:issuerId>issuerId</apl:issuerId>
        <apl:issueDate>2017-09-04T08:49:53</apl:issueDate>
        <apl:data>
          <merc:getStockEntryListRequest>
            <merc:localTransactionId>a10003</merc:localTransactionId>
            <merc:initiator>
              <vd:login>user_login</vd:login>
            </merc:initiator>
            <bs:listOptions>
              <bs:count>10</bs:count>
            </bs:listOptions>
            <dt:enterpriseGuid>ac264dc6-a3eb-4b0f-a86a-9c9577209d6f</dt:enterpriseGuid>
          </merc:getStockEntryListRequest>
        </apl:data>
      </apl:application>
    </apldef:submitApplicationRequest>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>