MergeOperation
Общие сведения
Операция MergeOperation предназначена для объединения в системе Меркурий нескольких записей складского журнала продукции в одну, для согласования особенностей партионного учёта, принятого в системе Меркурий и в учётной системе предприятия. Также операция может использоваться для присоединения На вход системы передаются следующие сведения:
- данные о хозяйствующем субъекте и предприятии, в журнале которого будет производиться объединение записей;
- позиции в складском журнале системы Меркурий, которые необходимо объединить;
- наименование продукции для объединенной записи журнала и другая дополнительная информация.
Результатом выполнения данной операции является:
- добавление в складской журнал продукции записи, сформированной в результате объединения двух или более записей журнала, содержащей общий объем, даты выработки и срок годности.
Возможные сценарии
При выполнении операции MergeOperation возможны следующие сценарии:
- Происходит объединение нескольких записей складского журнала продукции в одну, при этом в журнал входной продукции добавляется новая позиция с общим объемом и периодом дат выработки и срока годности.
- Происходит присоединение записей к первой по списку. В этом случае результирующая запись журнала будет иметь наименование продукции, то же наименование продукции, что и главная. Объём и количество упаковок будет просуммировано, вид упаковки, номера партий логически объединены в список.
- Произошла ошибка при обработке запроса.
- Некорректный запрос.
- Запрос не прошёл проверку на бизнес-правила.
- Внутренняя ошибка системы.
Используемые пространства имён и типы
|
Общие отличия между версией для хозяйствующих субъектов и ветеринарных управлений
Различающиеся параметры | Версия для хозяйствующих субъектов | Версия для ветеринарных управлений |
---|---|---|
Пространство имён | 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 | Хозяйствующий субъект, для предприятия которого выполняется операция объединения записей.
|
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 | Является ли запись журнала активной:
|
xs:boolean | 1 |
last | Последняя версия записи журнала:
|
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 | Описывает, является ли продукция скоропортящейся:
|
xs:boolean | 0..1 |
countryOfOrigin | Страна происхождения продукции. | ikar:Country | 1 |
producerList | Список производителей продукции. | ent:ProducerList | 0..1 |
productMarkingList | Список маркировки, доступный для данного производителя. | vetd:ProductMarkingList | 0..1 |
lowGradeCargo | Является ли груз некачественным.
Элемент может не указываться. В этом случае значение по-умолчанию устанавливается 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 | Объединяемые записи складского журнала не должны содержать повторяющиеся записи. |