MergeOperation v2: различия между версиями

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


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


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

Версия 13:58, 16 июля 2017

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

Операция 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>

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

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

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


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

Коды ошибок

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