GetStockEntryChangesListOperation

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску

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

Операция GetStockEntryChangesListOperation предназначена для получения списка версий записей складского журнала, созданных или измененных за указанный интервал дат (получение истории изменений).

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

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

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

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

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

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

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

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

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

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

  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

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

Объект getStockEntryChangesListRequest

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

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

Объект ..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/updateDateInterval

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

Поле Описание Тип Обязательность
beginDate Дата, начиная с которой пользователь получит историю изменений записей складского журнала, на указанном предприятии. bs:DataInterval 1
endDate Конец временного интервала.
  • В случае, если компонента endDate не указана, то используется текущая дата.
bs:DataInterval 0..1

Объект ..Request/businessMember

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

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

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

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

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

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

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

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

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

Объект GetStockEntryChangesListResponse

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

Поле Описание Тип Обязательность
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 – груз качественный.

Элемент может не указываться. В этом случае значение по-умолчанию устанавливается 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:getStockEntryChangesListRequest>                       
                  <mercvu:localTransactionId>123</mercvu:localTransactionId>
                  <mercvu:initiator>
                     <com:login>mercury</com:login>
                  </mercvu:initiator>
                  <base:listOptions>
                      <base:count>10</base:count>
                      <base:offset>0</base:offset>
                 </base:listOptions>                         
                <base:updateDateInterval>
                    <base:beginDate>2015-10-01T00:00:00</base:beginDate>
                    <base:endDate>2015-10-10T00:00:00</base:endDate>
               </base:updateDateInterval>
               <mercvu:businessMember>
                  <ent:businessEntity>
                      <base:guid>guid</base:guid>
                  </ent:businessEntity>
                  <ent:enterprise>
                      <base:guid>guid</base:guid>
                  </ent:enterprise>
              </mercvu:businessMember>
             </mercvu:getStockEntryChangesListRequest>
          </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:getStockEntryChangesListRequest>                       
                  <merc:localTransactionId>123</merc:localTransactionId>
                  <merc:initiator>
                     <com:login>mercury</com:login>
                  </merc:initiator>
                  <base:listOptions>
                      <base:count>10</base:count>
                      <base:offset>0</base:offset>
                 </base:listOptions>                         
                <base:updateDateInterval>
                    <base:beginDate>2015-10-01T00:00:00</base:beginDate>
                    <base:endDate>2015-10-10T00:00:00</base:endDate>
               </base:updateDateInterval>
               <ent:enterpriseGuid>enterpriseGUID</ent:enterpriseGuid>
             </merc:getStockEntryChangesListRequest>
          </app:data>
       </app:application>
     </ws:submitApplicationRequest>
   </soapenv:Body>
</soapenv:Envelope>

Коды ошибок

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

Код ошибки Ошибка
MERC36180 Предприятие с указанным идентификатором не найдено в реестре РСХН, либо идентификатор не соответствует установленному формату.
MERC36303 Начало временного интервала позже его окончания
MERC36304 Отступ превышает количество записей.

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