MergeOperation

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

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

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

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

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

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

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

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

  1. Происходит объединение нескольких записей складского журнала продукции в одну, при этом в журнал входной продукции добавляется новая позиция с общим объемом и периодом дат выработки и срока годности.
  2. Происходит присоединение записей к первой по списку. В этом случае результирующая запись журнала будет иметь наименование продукции, то же наименование продукции, что и главная. Объём и количество упаковок будет просуммировано, вид упаковки, номера партий логически объединены в список.
  3. Произошла ошибка при обработке запроса.
  • Некорректный запрос.
  • Запрос не прошёл проверку на бизнес-правила.
  • Внутренняя ошибка системы.

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

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

Различающиеся параметры Версия для хозяйствующих субъектов Версия для ветеринарных управлений
Пространство имён 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

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

Объект mergeStockEntriesRequest

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

Поле Описание Тип Обязательность
localTransactionId Идентификатор заявки в клиентской системе. xs:NCName 1
initiator Пользователь, зарегистрированный в системе Меркурий и инициирующий запрос к шлюзу. Является ответственным за выполнение бизнес-операции. Здесь потребуется логин ветврача или пользователя ХС. Логин для базовой аутентификации не подойдёт. argc:User 1
businessEntity Хозяйствующий субъект, для предприятия которого выполняется операция объединения записей.
  • Обязательно указывать при оформлении запросов от ветеринарного управления. Для хозяйствующих субъектов достаточно указать enterprise.
ent:BusinessEntity 0..1
enterprise Предприятие, на котором выполняется операция объединения записей. ent:Enterprise 1
mergeOperation Сведения, необходимые для объединения нескольких записей журнала. vetd:MergeStockEntriesOperation 1

Объект ..Request/initiator

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

Поле Описание Тип Обязательность
UUID Идентификатор пользователя, зарегистрированного в системе Меркурий. bs:UUID 1 - Для авторизации достаточно одного из параметров. Если используются оба, то приоритет будет за UUID.
login Логин пользователя. xs:NCName

Объект ..Request/businessEntity

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

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

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

GUID Глобальный идентификатор хозяйствующего субъекта. bs:UUID

Объект ..Request/enterprise

Объект содержит сведения о хозяйствующем субъекте.

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

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

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

Объект ..Request/mergeOperation

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

Поле Описание Тип Обязательность
sourceStockEntry Позиции в складском журнале системы Меркурий, не менее двух. Указанные позиции будут объединены в одну. Представляют собой идентификатор версии записи (uuid) в ИС Меркурий.
  • Указанная версия записи складского журнала продукции в ИС Меркурий должна быть актуальной, неаннулированной и неудалённой.
  • Объединяемые записи журнала должны быть в статусе "создана" или "отправлена".
  • Объединяемые записи журнала должны быть в журнале входной продукции, для вырабатываемой продукции функция объединения отсутствует.
  • Хозяйствующий субъект - владелец продукции в объединяемых записях должен совпадать.
  • Объединяемые записи журнала продукции должны относится к одному типу продукции (первый уровень справочника продукции).
  • Объединяемые записи журнала продукции должны относится к одной продукции (второй уровень справочника продукции).
  • В объединяемых записях журнала продукции указанная ед. измерения должна относится к одной группе единиц измерения.
  • Объединяемые записи журнала продукции должны относится к одной стране происхождения.
  • Запрещено объединение записи журнала входной и вырабатываемой продукции.
  • Запрещено объединение записей журнала относящихся к скоропортящейся и не скоропортящейся продукции.
  • Запрещено объединение записей журнала относящихся к качественной и некачественной продукции;
vetd:StockEntry 2..*
batch Сведения, которые будут содержаться в объединенной записи журнала. Содержит информацию о виде продукции и его наименовании для объединенной записи. vetd:Batch 0..1

Объект ..Request/mergeOperation/sourceStockEntry

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

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

Объект ..Request/mergeOperation/batch

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

Поле Описание Тип Обязательность
subProduct Вид продукции. Третий уровень иерархического справочника продукции ИС Меркурий.
  • Соответствующая версия вида продукции в ИС Меркурий должна быть актуальной и неудалённой.
  • Вид продукции должен относится к той же продукции (второй уровень справочника продукции), что и в объединяемых записях складского журнала.
argpr:SubProduct 1
productItem Наименование продукции в номенклатуре производителя. argpr:ProductItem 0..1

Объект ..Request/mergeOperation/batch/subProduct

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

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

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

GUID Глобальный идентифкатор предприятия в реестр РСХН bs:UUID

Объект ..Request/mergeOperation/batch/productItem

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

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

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

Объект mergeStockEntriesResponse

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

Поле Описание Тип Обязательность
stockEntryList Позиция в складском журнале системы Меркурий. Указанная позиция сформирована в результате выполнения операции объединения. vetd:StockEntryList 1

Объект ..Response/stockEntryList

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

Поле Описание Тип Обязательность
stockEntry Позиция в складском журнале системы Меркурий, сформирована в результате выполнения операции объединения. Представляет собой идентификатор версии записи (uuid) в ИС Меркурий. vetd:StockEntry 3..*

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

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

Поле Описание Тип Обязательность
UUID Идентификатор записи журнала продукции, которая была сформирована в результате объединения нескольких записей складского журнала. bs:UUID 1
GUID Глобальный идентификатор записи складского журнала продукции. bs:UUID 1
active Является ли запись журнала активной:
  • 1 - запись активна;
  • 0 - запись не активна.
xs:boolean 1
last Последняя версия записи журнала:
  • 1 - да;
  • 0 - нет.
xs:boolean 1
status Статус версии записи журнала. bs:VersionStatus 1
createDate Дата создания записи журнала. xs:dateTime 1
updateDate Дата изменения записи журнала. xs:dateTime 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 Список упаковок объединённой партии.
  • Если в объединение вошли партии с разными упаковками, то в список попадут все. Количество при этом просто суммируется.
xs:int 0..1
packingAmount Общее количество единиц упаковки входящей партии. xs:int 0..1
dateOfProduction Дата выработки продукции. Может быть указана тремя способами: датой, диапазоном дат, строкой. В случае точной даты выработки указывается только первая компонента - firstDate. vetd:GoodsDate 1
expiryDate Дата окончания срока годности продукции. Может быть указана тремя способами: датой, диапазоном дат, строкой. В случае точной даты выработки указывается только первая компонента - firstDate. vetd:GoodsDate 1
perishable Описывает, является ли продукция скоропортящейся:
  • true – скоропортящаяся;
  • false – не скоропортящаяся.
xs:boolean 0..1
countryOfOrigin Страна происхождения продукции. ikar:Country 1
producerList Список производителей продукции. ent:ProducerList 0..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 0..1
name Наименование номенклатуры производителя. bs:UUID 1

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

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

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

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

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

Поле Описание Тип данных Обязательность
packingForm Объект содержит информацию об упаковке. argc:PackingForm 1..*

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

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

Поле Описание Тип данных Обязательность
UUID Уникальный идентификатор версии записи об упаковке в реестре Россельхознадзора. bs:UUID 1
name Название упаковки. bs:String255 1

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

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

Поле Описание Тип Обязательность
firstDate Начальное значение интервала выработки bs:ComplexDate 1
secondDate Конечное значение интервала выработки bs:ComplexDate 0..1

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

Объект содержит информацию о начале интервала даты выработки

Поле Описание Тип данных Обязательность
year Год bs:Year 0..1
month Месяц bs:Month 0..1
day День bs:Day 0..1
hour Час bs:Hour 0..1


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

Объект содержит информацию о конечной дате интервала даты выработки

Поле Описание Тип данных Обязательность
year Год bs:Year 0..1
month Месяц bs:Month 0..1
day День bs:Day 0..1
hour Час bs:Hour 0..1

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

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

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

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

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

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

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

Объект ..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:bs="http://api.vetrf.ru/schema/cdm/base" 
                  xmlns:com="http://api.vetrf.ru/schema/cdm/argus/common" 
                  xmlns:shp="http://api.vetrf.ru/schema/cdm/argus/shipment" 
                  xmlns:vet="http://api.vetrf.ru/schema/cdm/mercury/vet-document" 
                  xmlns:ent="http://api.vetrf.ru/schema/cdm/cerberus/enterprise" 
                  xmlns:prod="http://api.vetrf.ru/schema/cdm/argus/production" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <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>2017-01-13T00:00:00.000+04:00</app:issueDate>
            <app:data>
               <mercvu:mergeStockEntriesRequest>
                  <mercvu:localTransactionId>a1</mercvu:localTransactionId>
                  <mercvu:initiator>
                     <com:login>login</com:login>
                  </mercvu:initiator>
                  <mercvu:businessEntity>
                      <bs:guid>72c7e8cd-0583-45e2-99db-801f5939587e</bs:guid>
                  </mercvu:businessEntity>
                  <mercvu:enterprise>
                      <bs:guid>7465a13c-4cc9-4dc8-bc99-460d9b1dbc4e</bs:guid>
                  </mercvu:enterprise>
                  <mercvu:mergeOperation>
                     <vet:sourceStockEntry>
                        <bs:uuid>558dcbe2-f00a-4d4e-b064-3e778d76d510</bs:uuid>
                     </vet:sourceStockEntry>
                     <vet:sourceStockEntry>
                        <bs:uuid>e7a0f0f7-6c50-412c-a1cc-e0e1b6162b50</bs:uuid>
                     </vet:sourceStockEntry> 
                     <vet:batch>
                        <vet:subProduct>
                           <bs:uuid>eb9d639e-45f2-2702-4a19-a8cbffec6626</bs:uuid>
                        </vet:subProduct>
                        <vet:productItem>
                           <prod:name>фарш свиной</prod:name>
                        </vet:productItem>
                     </vet:batch> 
                  </mercvu:mergeOperation>
               </mercvu:mergeStockEntriesRequest>
            </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:base="http://api.vetrf.ru/schema/cdm/base" 
                  xmlns:com="http://api.vetrf.ru/schema/cdm/argus/common" 
                  xmlns:shp="http://api.vetrf.ru/schema/cdm/argus/shipment" 
                  xmlns:vet="http://api.vetrf.ru/schema/cdm/mercury/vet-document" 
                  xmlns:ent="http://api.vetrf.ru/schema/cdm/cerberus/enterprise" 
                  xmlns:prod="http://api.vetrf.ru/schema/cdm/argus/production" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <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-06-18T00:00:00.000+04:00</app:issueDate>
            <app:data>
               <merc:mergeStockEntriesRequest>
                  <merc:localTransactionId>a1</merc:localTransactionId>
                  <merc:initiator>
                     <com:login>user</com:login>
                  </merc:initiator>
                  <merc:enterprise>
                     <base:guid>e4418e90-8e42-447c-91ed-b1fc8d2d12ea</base:guid>
                  </merc:enterprise>
                  <merc:mergeOperation>
                     <vet:sourceStockEntry>
                        <base:uuid>c0fcfedd-5d90-4754-a701-29acb5984520</base:uuid>
                     </vet:sourceStockEntry>
                     <vet:sourceStockEntry>
                        <base:uuid>c4b7dc3e-9a98-4fb2-8705-d785caa7ca1d</base:uuid>
                     </vet:sourceStockEntry> 
                     <vet:batch>
                        <vet:subProduct>
                           <base:uuid>85bc61ca-49dc-2857-8589-8e7dd8c4ec4f</base:uuid>
                        </vet:subProduct>
                        <vet:productItem>
                           <prod:name>Конина охлаждённая</prod:name>
                        </vet:productItem>
                     </vet:batch> 
                  </merc:mergeOperation>
               </merc:mergeStockEntriesRequest>
            </app:data>
         </app:application>
      </ws:submitApplicationRequest>
   </soapenv:Body>
</soapenv:Envelope>

Коды ошибок

Код Описание ошибки
MERC17001 Объединять записи складского журнала может только их собственник.
MERC17002 В запросе отсутствуют сведения о хозяйствующем субъекте, ответственном за выполнение операции.
MERC17003 Отсутствует идентификатор (GUID) хозяйствующего субъекта, ответственного за выполнение операции.
MERC17004 В запросе для хозяйствующого субъекта ответственного за выполнение операции указан идентификатор устаревшей версии записи реестра РСХН.
MERC17005 Хозяйствующий субъект, ответственный за выполнение операции, с указанным идентификатором не найден в реестре РСХН, либо идентификатор не соответствует установленному формату.
MERC17008 Запись складского журнала продукции с указанным идентификатором не найдена в реестре РСХН, либо идентификатор не соответствует установленному формату.
MERC17009 В запросе для записи складского журнала продукции указан идентификатор (UUID) устаревшей версии записи реестра РСХН.
MERC17012 Цель с указанным идентификатором не найдена в реестре РСХН, либо идентификатор не соответствует установленному формату.
MERC17013 В запросе для цели указан идентификатор устаревшей версии записи реестра РСХН.
MERC17018 Вид продукции с указанным идентификатором не найден в реестре РСХН, либо идентификатор не соответствует установленному формату.
MERC17019 В запросе для вида продукции указан идентификатор (UUID) устаревшей версии записи реестра РСХН.
MERC17034 Вид продукции в сведениях об объединенной записи складского журнала не совместим с продукцией из объединяемых записей складского журнала.
MERC17097 Вид продукции для записи складского журнала обязателен для заполнения.
MERC17098 Наименование продукции для записи складского журнала обязательно для заполнения.
MERC17099 Наименование продукции для записи складского журнала превышает допустимую длину текста.
MERC17100 Примечание для записи складского журнала превышает допустимую длину текста.
MERC17141 Объединяемые записи складского журнала не должны являться шаблонами.
MERC17142 Объединяемые записи складского журнала должны быть в состоянии "создана" (т.е. не аннулированы).
MERC17143 Объединяемые записи складского журнала должны быть в состоянии "создана" (т.е. не оформлены).
MERC17227 Обслуживающее предприятие должно совпадать для объединяемых записей складского журнала.
MERC17228 Собственник продукции должен совпадать для объединяемых записей складского журнала.
MERC17230 Продукция должна совпадать для объединяемых записей складского журнала.
MERC17233 Единица измерения должна быть совместимой для объединяемых записей складского журнала.
MERC17247 Пометка скоропортящейся продукции должна совпадать для объединяемых записей складского журнала.
MERC17248 Пометка некачественного груза должна совпадать для объединяемых записей складского журнала.
MERC17249 Страна происхождения продукции должна совпадать для объединяемых записей складского журнала.
MERC17274 В запросе отсутствуют сведения об объединенной записи складского журнала продукции.
MERC17275 Идентификатор записи складского журнала продукции (UUID) обязателен для заполнения.
MERC17276 Количество объединяемых записей складского журнала не должно быть меньше 2.
MERC17277 Объединяемые записи складского журнала должны быть по входной продукции.
MERC17278 Объединяемые записи складского журнала не должны содержать живых животных и другой вид продукции одновременно.
MERC17279 Объединяемые записи складского журнала не должны быть созданны в разных модулях.
MERC17280 Объединяемые записи складского журнала не должны частично состоять из заявок.
MERC17281 Цель в сведениях об объединенной записи складского журнала должна совпадать с одной из целей из объединяемых записей складского журнала.
MERC17282 Объединяемые записи складского журнала не должны содержать повторяющиеся записи.

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