GetStockEntryVersionListOperation

Материал из Справочная система Россельхознадзора
Версия от 14:24, 11 января 2017; Novikov-dv-160810 (обсуждение | вклад) (→‎Пример запроса)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

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

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

Запрашиваться могут только те записи складского журнала продукции, которое обслуживает ветеринарное управление.

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

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

  1. Запрос успешно обработан.
  2. Произошла ошибка при обработке запроса.
  • Некорректный запрос.
  • Внутренняя ошибка системы.

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

Общие отличия между версией для хозяйствующих субъектов и ветеринарных управлений

Различающиеся параметры Версия для хозяйствующих субъектов Версия для ветеринарных управлений
Пространство имён merc:http://api.vetrf.ru/schema/cdm/mercury/applications mercvu:http://api.vetrf.ru/schema/cdm/mercury/vu/applications
Имя сервиса mercury-g2b.service mercury-vu.service

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

Объект getStockEntryVersionListRequest

Корневой элемент содержимого заявки на получение всех версий записи журнала по ее идентификатору.

Поле Описание Тип Обязательность
localTransactionId Идентификатор заявки в клиентской системе. xs:NCName 1
initiator Пользователь, зарегистрированный в системе Меркурий и инициирующий запрос к шлюзу. Является ответственным за выполнение бизнес-операции. Здесь потребуется логин ветврача или пользователя ХС. Логин для базовой аутентификации не подойдёт. argc:User 1
listOptions Параметры запрашиваемого списка. bs:ListOptions 0..1
GUID Глобальный идентификатор записи складского журнала. bs:UUID 1
businessMember Обслуживаемые предприятие и ХС, по которому производится поиск записей. ent:BusinessMember 1- при запросе от имени ветеринарного управления обязательно указывать businessMember. При запросе от имени ХС по-прежнему достаточно enterpriseGuid.
enterpriseGuid Предприятие, по которому производится поиск записей. ent:BusinessMember

Объект ..Request/initiator

Объект содержит сведения о пользователе, инициирующем запрос к шлюзу.

Поле Описание Тип Обязательность
UUID Идентификатор пользователя, зарегистрированного в системе Меркурий. bs:UUID 1 - обязательно должно быть заполнено хотя бы одно из полей, либо UUID, либо login.

При указании обоих полей, приоритет у UUID.

login Логин пользователя. xs:NCName

Объект ..Request/listOptions

Объект содержит сведения о параметрах запрашиваемого списка версий записи складского журнала.

Поле Описание Тип Обязательность
count Максимальное запрашиваемое количество объектов в списке.
  • По умолчанию значение 100;
  • Максимально возможное значение 1000.
xs:nonNegativeInteger 0..1
offset Номер элемента, по которому осуществляется смещение первого элемента списка.
  • По умолчанию значение 0.
xs:nonNegativeInteger 0..1

Объект ..Request/businessMember

Объект содержит сведения о хозяйствующем субъекте и предприятии запрашиваемого списка записей складского журнала. Только для запросов от имени ветеринарных управлений. Для запросов, отправляемых от имени ХС, достаточно указать enterpriseGuid.

Поле Описание Тип Обязательность
businessEntity Хозяйствующий субъект, для которого производится поиск записей складского журнала ent:BusinessEntity 0..1
enterprise Предприятие, для которого осуществляется отбор записей складского журнала ent:Enterprise 0..1

Объект ..Request/businessMember/businessEntity

Объект описывает хозяйствующий субъект, для которого производится отбор записей складского журнала.

Поле Описание Тип Обязательность
UUID Идентификатор версии записи хозяйствующего субъекта bs:UUID 0..1
GUID Глобальный идентификатор хозяйствующего субъекта в реестре РСХН bs:UUID 0..1

Объект ..Request/businessMember/enterprise

Объект описывает предприятие, для которого производится отбор записей складского журнала.

Поле Описание Тип Обязательность
UUID Идентификатор версии записи предприятия bs:UUID 0..1
GUID Глобальный идентификатор предприятия в реестре РСХН bs:UUID 0..1

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

Объект getStockEntryVersionListResponse

Объект содержит результат обработки запроса на получение всех версий записи складского журнала по ее идентификатору.

Поле Описание Тип Обязательность
stockEntryList Список записей складского журнала продукции. vetd:StockEntry 1

Объект ..Response/stockEntryList

Объект содержит сведения о списке записей складского журнала продукции.

Поле Описание Тип Обязательность
stockEntry Запись складского журнала продукции. vetd:StockEntry 0..*

Объект ..Response/stockEntryList/stockEntry

Объект содержит сведения о записи складского журнала продукции.

Поле Описание Тип Обязательность
UUID Идентификатор версии записи журнала. bs:UUID 1
GUID Глобальный идентификатор записи журнала. bs:UUID 1
active Является ли запись журнала активной:
  • true - запись активна;
  • false - запись не активна.
xs:boolean 1
last Последняя версия записи журнала:
  • true - да;
  • false - нет.
xs:boolean 1
status Статус версии записи журнала. bs:VersionStatus 1
createDate Дата создания записи журнала. xs:DateTime 1
updateDate Дата изменения записи журнала. xs:DateTime 1
previous Идентификатор предыдущей версии записи журнала. bs:UUID 0..1
next Идентификатор следующей версии записи журнала. bs:UUID 0..1
entryNumber Номер записи в складском журнале Меркурия.
  • Именно этот номер указан в веб-интерфейсе.
vetd:StockEntryNumber 1
batch Сведения о партии продукции. vetd:Batch 1

Объект ..Response/stockEntryList/stockEntry/batch

Объект содержит сведения о партии продукции.

Поле Описание Тип Обязательность
productType Тип продукции. Первый уровень иерархического справочника продукции ИС Меркурий. argpr:ProductType 1
product Продукция. Второй уровень иерархического справочника продукции ИС Меркурий. argpr:Product 1
subProduct Вид продукции. Третий уровень иерархического справочника продукции ИС Меркурий. argpr:SubProduct 1
productItem Наименование продукции в номенклатуре производителя. argpr:ProductItem 0..1
volume Объем продукции.
  • Значение должно быть больше нуля.
bs:Decimal 1
unit Единица измерения объема партии продукции. argc:Unit 1
packingList Список видов упаковки. argc:PackingFormList 0..1
packingAmount Общее количество единиц упаковки. xs:int 0..1
dateOfProduction Дата выработки продукции. Может быть указана тремя способами: датой, диапазоном дат, строкой. В случае точной даты выработки указывается только первая компонента - firstDate. vetd:GoodsDate 1
expiryDate Дата окончания срока годности продукции. Может быть указана тремя способами: датой, диапазоном дат, строкой. В случае точной даты выработки указывается только первая компонента - firstDate. vetd:GoodsDate 1
perishable Описывает, является ли продукция скоропортящейся:
  • true – скоропортящаяся;
  • false – не скоропортящаяся.
xs:boolean 1
countryOfOrigin Страна происхождения партии продукции. ikar:Country 1
producerList Список производителей продукции. ent:ProducerList 1
productMarkingList Список маркировки, доступный для данного производителя. vetd:ProductMarkingList 0..1
lowGradeCargo Является ли продукция некачественной.
  • true – некачественная;
  • false – качественная.
xs:boolean 1
owner Хозяйствующий субъект-владелец продукции. ent:BusinessEntity 1

Объект ..Response/stockEntryList/stockEntry/batch/product

Объект содержит сведения о продукции; второй уровень иерархического справочника продукции ИС Меркурий.

Поле Описание Тип Обязательность
UUID Идентификатор версии продукции. bs:UUID 1
GUID Глобальный идентификатор продукции. bs:UUID 1

Объект ..Response/stockEntryList/stockEntry/batch/subProduct

Объект содержит сведения о видах продукции; третий уровень иерархического справочника продукции ИС Меркурий.

Поле Описание Тип Обязательность
UUID Идентификатор версии вида продукции. bs:UUID 1
GUID Глобальный идентификатор продукции. bs:UUID 1

Объект ..Response/stockEntryList/stockEntry/batch/productItem

Объект содержит сведения о наименовании продукции.

Поле Описание Тип Обязательность
UUID Идентификатор версии наименования продукции. bs:UUID 1 - возвращается или UUID или name, либо оба значения.
name Наименование продукции в соответствии с номенклатурой производителя. xs:string

Объект ..Response/stockEntryList/stockEntry/batch/unit

Объект содержит сведения о единице измерения объема партии продукции.

Поле Описание Тип Обязательность
UUID Идентификатор версии единицы измерения. bs:UUID 1
GUID Глобальный идентификатор единицы измерения. bs:UUID 1

Объект ..Response/stockEntryList/stockEntry/batch/packingList

Объект содержит сведения о списке видов упаковки, которые используются для партии продукции.

Поле Описание Тип Обязательность
packingForm Вид упаковки. vetd:PackingForm 0..*

Объект ..Response/stockEntryList/stockEntry/batch/packingList/packingForm

Объект содержит сведения о виде упаковки, которая используются для партии продукции.

Поле Описание Тип Обязательность
UUID Идентификатор упаковки. bs:UUID 1
name Наименование конкретного вида упаковки. xs:string 1

Объект ..Response/stockEntryList/stockEntry/batch/countryOfOrigin

Объект содержит сведения о стране-происхождения продукции.

Поле Описание Тип Обязательность
UUID Идентификатор версии страны происхождения. bs:UUID 1
GUID Глобальный идентификатор страны происхождения. bs:UUID 1

Объект ..Response/stockEntryList/stockEntry/batch/producerList

Объект содержит сведения о списке производителей продукции.

Поле Описание Тип Обязательность
producer Производитель продукции. vetd:Producer 0..*

Объект ..Response/stockEntryList/stockEntry/batch/producerList/producer

Объект содержит сведения о производителе продукции.

Поле Описание Тип Обязательность
enterprise Информация о предприятие-производителе продукции. ent:Enterprise 1
role Роль предприятия-производителя продукции. ent:EnterpriseRole 1

Объект ..Response/stockEntryList/stockEntry/batch/producerList/producer/enterprise

Объект содержит сведение о предприятие-производителе продукции.

Поле Описание Тип Обязательность
UUID Идентификатор версии предприятия-производителя продукции. bs:UUID 1
GUID Глобальный идентификатор предприятия-производителя продукции. bs:UUID 1

Объект ..Response/stockEntryList/stockEntry/batch/productMarkingList

Объект содержит сведения о списке маркировки.

Поле Описание Тип Обязательность
productMarking Строка с маркировкой продукции. bs:String255 0..*

Объект ..Response/stockEntryList/stockEntry/batch/owner

Объект содержит сведения о хозяйствующем субъекте-владельце продукции.

Поле Описание Тип Обязательность
UUID Идентификатор версии хозяйствующего субъекта - владельца продукции. bs:UUID 1
GUID Глобальный идентификатор хозяйствующего субъекта - владельца продукции. bs:UUID 1

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

Получение списка версий записи складского журнала - для ветеринарного управления
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:ws="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
                  xmlns:app="http://api.vetrf.ru/schema/cdm/application" 
                  xmlns:mercvu="http://api.vetrf.ru/schema/cdm/mercury/vu/applications" 
                  xmlns:vet="http://api.vetrf.ru/schema/cdm/mercury/vet-document"
                  xmlns:base="http://api.vetrf.ru/schema/cdm/base" 
                  xmlns:com="http://api.vetrf.ru/schema/cdm/argus/common" 
                  xmlns:ent="http://api.vetrf.ru/schema/cdm/cerberus/enterprise" 
                  xmlns:ikar="http://api.vetrf.ru/schema/cdm/ikar">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:submitApplicationRequest>
         <ws:apiKey>apiKey</ws:apiKey>
         <app:application>
            <app:serviceId>mercury-vu.service</app:serviceId>
            <app:issuerId>issuerId</app:issuerId>
            <app:issueDate>2015-01-10T17:03:00</app:issueDate>
            <app:data>
            <mercvu:getStockEntryVersionListRequest>                       
               <mercvu:localTransactionId>1234</mercvu:localTransactionId>  
               <mercvu:initiator> 
                   <com:login>a123</com:login>
               </mercvu:initiator>
              <base:listOptions>
                 <base:count>10</base:count>
                 <base:offset>0</base:offset>
              </base:listOptions>
              <base:guid>stockEntryGUID</base:guid>
              <mercvu:businessMember>
                 <ent:businessEntity>
                    <base:guid>guid</base:guid>
                 </ent:businessEntity>
                 <ent:enterprise>
                    <base:guid>guid</base:guid>
                 </ent:enterprise>
              </mercvu:businessMember>
          </mercvu:getStockEntryVersionListRequest>
         </app:data>
       </app:application>
     </ws:submitApplicationRequest>
  </soapenv:Body>
</soapenv:Envelope>


Получение списка версий записи складского журнала - для хозяйствующего субъекта
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:ws="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
                  xmlns:app="http://api.vetrf.ru/schema/cdm/application" 
                  xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/applications" 
                  xmlns:vet="http://api.vetrf.ru/schema/cdm/mercury/vet-document"
                  xmlns:base="http://api.vetrf.ru/schema/cdm/base" 
                  xmlns:com="http://api.vetrf.ru/schema/cdm/argus/common" 
                  xmlns:ent="http://api.vetrf.ru/schema/cdm/cerberus/enterprise" 
                  xmlns:ikar="http://api.vetrf.ru/schema/cdm/ikar">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:submitApplicationRequest>
         <ws:apiKey>apiKey</ws:apiKey>
         <app:application>
            <app:serviceId>mercury-g2b.service</app:serviceId>
            <app:issuerId>issuerId</app:issuerId>
            <app:issueDate>2015-01-10T17:03:00</app:issueDate>
            <app:data>
            <merc:getStockEntryVersionListRequest>                       
               <merc:localTransactionId>1234</merc:localTransactionId>  
               <merc:initiator> 
                   <com:login>a123</com:login>
               </merc:initiator>
              <base:listOptions>
                 <base:count>10</base:count>
                 <base:offset>0</base:offset>
              </base:listOptions>
              <base:guid>stockEntryGUID</base:guid>
              <ent:enterpriseGuid>enterpriseGUID</ent:enterpriseGuid>
          </merc:getStockEntryVersionListRequest>
         </app:data>
       </app:application>
     </ws:submitApplicationRequest>
  </soapenv:Body>
</soapenv:Envelope>

Коды ошибок

В таблице содержится описание ошибок, которые могут возникнуть при работе с приложением.

Код ошибки Описание
MERC35008 Запись складского журнала продукции с указанным идентификатором не найдена в реестре РСХН, либо идентификатор не соответствует установленному формату.
MERC35180 Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату.
MERC35304 Отступ превышает количество записей

Вернуться к началу ↑