MergeOperation v2

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

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

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

В рамках операции MergeOperation доступны следующие действия:

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

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

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

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

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

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

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

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

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

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

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

# Название XML-элемента Тип Кардинальность Описание Пример
1 <merc:mergeStockEntriesRequest>
2 ···<merc:localTransactionId> xs:NCName [1..1] Идентификатор заявки в клиентской системе. <bs:guid>A00001</bs:guid>
3 ···<merc:initiator> dt:User [1..1] Пользователь, зарегистрированный в системе Меркурий и инициирующий запрос к шлюзу. Является ответственным за выполнение бизнес-операции. Здесь потребуется логин ветврача или пользователя ХС. Логин для базовой аутентификации не подойдёт.
4 ······<dt:login> xs:NCName [1..1] Логин пользователя, зарегистрированного в системе Меркурий. <dt:login>user_ab_150101</dt:login>
5 ···</merc:initiator>
6 ···<dt:enterprise> dt:Enterprise [1..1] Предприятие, на котором выполняется операция объединения записей.Обязательно должно быть заполнено хотя бы одно из полей, либо UUID, либо GUID. При указании обоих полей, приоритет у UUID.
7 ······<bs:uuid> bs:UUID [0..1] Идентификатор версии предприятия. <bs:uuid>9c706614-b995-4bdd-bda3-8fa9de70803a</bs:uuid>
8 ······<bs:guid> bs:UUID [0..1] Глобальный идентификатор предприятия. <bs:guid>12f04ea3-e236-4b71-b427-e04d41b26de4</bs:guid>
9 ···</dt:enterprise>
10 ···<vd:mergeOperation> vd:MergeStockEntriesOperation [1..1] Сведения, необходимые для объединения нескольких записей журнала.
11 ······<vd:type> bs:RegisterModificationType [0..1] Тип операции. Поддерживается два типа: MERGE и ATTACH.
  • Если элемент не указан, по умолчанию значение принимается равным MERGE.
  • В случае присоединения записей (ATTACH) главной записью журнала (к которой осуществляется присоединение), будет считаться первая запись sourceStockEntry из списка.
  • В случае присоединения элемент batch не указывается, результирующая запись журнала будет иметь то же наименование продукции, что и главная. Объём и количество упаковок будет просуммировано, вид упаковки, номера партий логически объединены в список.
<vd:type>ATTACH</vd:type>
12 ······<vd:sourceStockEntry> vd:StockEntry [2..*] Позиции в складском журнале системы Меркурий, не менее двух. Указанные позиции будут объединены в одну. Представляют собой идентификатор версии записи (uuid) в ИС Меркурий.
13 ·········<bs:uuid> bs:UUID [0..1] Идентификатор версии записи журнала. <bs:uuid>9c706614-b995-4bdd-bda3-8fa9de70803a</bs:uuid>
14 ······</vd:sourceStockEntry>
15 ······<vd:batch> vd:Batch [1..1] Сведения, которые будут содержаться в объединенной записи журнала.
16 ·········<vd:subProduct> dt:SubProduct [1..1] Вид продукции. Третий уровень иерархического справочника продукции ИС Меркурий.
17 ············<bs:uuid> bs:UUID [0..1] Идентификатор версии вида продукции. <bs:uuid>d9d008eb-057a-4cd4-8cb2-d69364318bbe</bs:uuid>
18 ············<bs:guid> bs:UUID [0..1] Глобальный идентификатор вида продукции. <bs:guid>6f5feda1-a3d4-4dfd-8625-de62777a205e</bs:guid>
19 ············<dt:name> bs:String255 [0..1] Наименование вида продукции. <dt:name>говядина на кости охлажденная</dt:name>
20 ·········</vd:subProduct>
21 ·········<vd:origin> vd:BatchOrigin [0..1] Сведения о происхождении продукции.
22 ············<vd:productItem> dt:ProductItem [0..1] Наименование продукции в номенклатуре производителя.
23 ···············<bs:uuid> bs:UUID [0..1] Идентификатор версии номенклатуры продукции. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
24 ···············<bs:guid> bs:UUID [0..1] Глобальный идентификатор номенклатуры продукции. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
25 ···············<dt:globalID> dt:GTINType [0..1] Trade Identification Number (GTIN) - уникальный идентификационный номер продукции производителя. В отличие от поля code GTIN уникален для продукции всех производителей. Уникальность обеспечивается использованием префикса компании-производителя в составе GTIN. <dt:globalID>85672854</dt:globalID>
26 ···············<dt:name> bs:String255 [0..1] Наименование продукции. <dt:name>Наименование</dt:name>
27 ···············<dt:code> bs:String255 [0..1] Артикул (код) продукции в соответствии с внутренним кодификатором производителя. Артикул продукции должен быть уникальным в пределах одного производителя. <dt:code>12</dt:code>
28 ············</vd:productItem>
29 ·········</vd:origin>
30 ······</vd:batch>
31 ···</vd:mergeOperation>
32 </merc:mergeStockEntriesRequest>

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

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

Объединение записей складского журнала


Присоединение записей складского журнала

Коды ошибок

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