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:productItem> dt:ProductItem [0..1] Наименование продукции в номенклатуре производителя.
22 ············<bs:uuid> bs:UUID [1..1] Идентификатор версии номенклатуры продукции. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
23 ············<bs:guid> bs:UUID [1..1] Глобальный идентификатор номенклатуры продукции. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
24 ············<dt:globalID> dt:GTINType [0..1] Trade Identification Number (GTIN) - уникальный идентификационный номер продукции производителя. В отличие от поля code GTIN уникален для продукции всех производителей. Уникальность обеспечивается использованием префикса компании-производителя в составе GTIN. <dt:globalID>85672854</dt:globalID>
25 ············<dt:name> bs:String255 [0..1] Наименование продукции. <dt:name>Наименование</dt:name>
26 ············<dt:code> bs:String255 [0..1] Артикул (код) продукции в соответствии с внутренним кодификатором производителя. Артикул продукции должен быть уникальным в пределах одного производителя. <dt:code>12</dt:code>
27 ·········</vd:productItem>
28 ······</vd:batch>
29 ···</vd:mergeOperation>
30 </merc:mergeStockEntriesRequest>

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

# Название XML-элемента Тип Кардинальность Описание Пример
001 <merc:mergeStockEntriesResponse>
002 ···<merc:stockEntryList> vd:StockEntryList [1..1] Список измененных записей журнала.
003 ······<merc:stockEntry> vd:StockEntry [3..*] Сведения о записи журнала.
004 ·········<bs:uuid> bs:UUID [1..1] Идентификатор версии записи журнала. <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
005 ·········<bs:guid> bs:UUID [1..1] Глобальный идентификатор записи журнала. <bs:guid>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:guid>
006 ·········<bs:active> xs:boolean [1..1] Является ли запись журнала активной:* true - запись активна;* false - запись не активна. <bs:active>true</bs:active>
007 ·········<bs:last> xs:boolean [1..1] Последняя версия записи журнала:* true - да;* false - нет. <bs:last>true</bs:last>
008 ·········<bs:status> bs:VersionStatus [1..1] Статус версии записи журнала. <bs:status></bs:status>
009 ·········<bs:createDate> xs:DateTime [1..1] Дата создания записи журнала. <bs:createDate>2017-07-07T12:00:00</bs:createDate>
010 ·········<bs:updateDate> xs:DateTime [1..1] Дата изменения записи журнала. <bs:updateDate>2017-07-07T12:00:00</bs:updateDate>
011 ·········<bs:previous> bs:UUID [0..1] Идентификатор предыдущей версии записи журнала. <bs:previous>7c78bf3f-c1e8-496b-a5c1-173af60e95e4</bs:previous>
012 ·········<bs:next> bs:UUID [0..1] Идентификатор следующей версии записи журнала. <bs:next>82c7af0d-7067-4a67-8a53-39f4a5bcd700</bs:next>
013 ·········<vd:entryNumber> xs:string] [0..1] Номер записи журнала, доступный через веб-интерфейс. <vd:entryNumber>85628322</vd:entryNumber>
014 ············<vd:batch> vd:Batch [1..1] Сведения о партии продукции.
015 ···············<vd:productType> dt:ProductType [1..1] Тип продукции. Первый уровень иерархического справочника продукции ИС Меркурий. <vd:productType>1</vd:productType>
016 ···············<vd:product> dt:Product [1..1] Продукция. Второй уровень иерархического справочника продукции ИС Меркурий.
017 ··················<bs:uuid> bs:UUID [1..1] Идентификатор версии продукции. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
018 ··················<bs:guid> bs:UUID [1..1] Глобальный идентификатор продукции. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
019 ··················<dt:name> bs:String255 [0..1] Наименование продукции. <dt:name>говядина</dt:name>
020 ···············</vd:product>
021 ···············<vd:subProduct> dt:SubProduct [1..1] Вид продукции. Третий уровень иерархического справочника продукции ИС Меркурий.
022 ··················<bs:uuid> bs:UUID [1..1] Идентификатор версии вида продукции. <bs:uuid>d9d008eb-057a-4cd4-8cb2-d69364318bbe</bs:uuid>
023 ··················<bs:guid> bs:UUID [1..1] Глобальный идентификатор вида продукции. <bs:guid>6f5feda1-a3d4-4dfd-8625-de62777a205e</bs:guid>
024 ··················<dt:name> bs:String255 [0..1] Наименование вида продукции. <dt:name>говядина на кости охлажденная</dt:name>
025 ···············</vd:subProduct>
026 ···············<vd:productItem> dt:ProductItem [0..1] Наименование продукции в номенклатуре производителя.
027 ··················<bs:uuid> bs:UUID [1..1] Идентификатор версии номенклатуры продукции. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
028 ··················<bs:guid> bs:UUID [1..1] Глобальный идентификатор номенклатуры продукции. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
029 ··················<dt:globalID> dt:GTINType [0..1] Trade Identification Number (GTIN) - уникальный идентификационный номер продукции производителя. В отличие от поля code GTIN уникален для продукции всех производителей. Уникальность обеспечивается использованием префикса компании-производителя в составе GTIN. <dt:globalID>85672854</dt:globalID>
030 ··················<dt:name> bs:String255 [0..1] Наименование продукции. <dt:name>Наименование</dt:name>
031 ··················<dt:code> bs:String255 [0..1] Артикул (код) продукции в соответствии с внутренним кодификатором производителя. Артикул продукции должен быть уникальным в пределах одного производителя. <dt:code>12</dt:code>
032 ···············</vd:productItem>
033 ···············<vd:volume> bs:Decimal [1..1] Объем продукции. <dt:volume>50</dt:volume>
034 ···············<vd:unit> dt:Unit [1..1] Единица измерения объема партии продукции.
035 ··················<bs:uuid> bs:UUID [0..1] Идентификатор версии еиницы измерения. <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
036 ··················<bs:guid> bs:UUID [0..1] Глобальный идентификатор еиницы измерения. <bs:guid>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:guid>
037 ··················<dt:name> bs:String255 [0..1] Наименование единицы измерения. <dt:name>кг.</dt:name>
038 ···············</vd:unit>
039 ···············<vd:dateOfProduction> vd:GoodsDate [1..1] Дата выработки продукции. Может быть указана датой или диапазоном дат. В случае точной даты выработки указывается только первая компонента - firstDate.
040 ··················<vd:firstDate> dt:ComplexDate [1..1] Начальная дата в интервале, либо единичная дата.
041 ·····················<dt:year> dt:Year [0..1] Год. <dt:year>2017</dt:year>
042 ·····················<dt:month> dt:Month [0..1] Месяц. <dt:month>07</dt:month>
043 ·····················<dt:day> dt:Day [0..1] День. <dt:day>07</dt:day>
044 ·····················<dt:hour> dt:Hour [0..1] Час. <dt:hour>12</dt:hour>
045 ·····················<dt:minute> dt:Minute [0..1] Минута. <dt:minute>41</dt:minute>
046 ··················</vd:firstDate>
047 ··················<vd:secondDate> dt:ComplexDate [1..1] Конечная дата в интервале.
048 ·····················<dt:year> dt:Year [0..1] Год. <dt:year>2017</dt:year>
049 ·····················<dt:month> dt:Month [0..1] Месяц. <dt:month>07</dt:month>
050 ·····················<dt:day> dt:Day [0..1] День. <dt:day>08</dt:day>
051 ·····················<dt:hour> dt:Hour [0..1] Час. <dt:hour>12</dt:hour>
052 ·····················<dt:minute> dt:Minute [0..1] Минута. <dt:minute>41</dt:minute>
053 ··················</vd:secondDate>
054 ···············</vd:dateOfProduction>
055 ···············<vd:expiryDate> vd:GoodsDate [1..1] Дата окончания срока годности продукции. Может быть указана датой или диапазоном дат. В случае точной даты выработки указывается только первая компонента - firstDate.
056 ··················<vd:firstDate> dt:ComplexDate [1..1] Начальная дата в интервале, либо единичная дата.
057 ·····················<dt:year> dt:Year [0..1] Год. <dt:year>2018</dt:year>
058 ·····················<dt:month> dt:Month [0..1] Месяц. <dt:month>07</dt:month>
059 ·····················<dt:day> dt:Day [0..1] День. <dt:day>08</dt:day>
060 ·····················<dt:hour> dt:Hour [0..1] Час. <dt:hour>12</dt:hour>
061 ·····················<dt:minute> dt:Minute [0..1] Минута. <dt:minute>41</dt:minute>
062 ··················</vd:firstDate>
063 ··················<vd:secondDate> dt:ComplexDate [1..1] Конечная дата в интервале.
064 ·····················<dt:year> dt:Year [0..1] Год. <dt:year>2018</dt:year>
065 ·····················<dt:month> dt:Month [0..1] Месяц. <dt:month>09</dt:month>
066 ·····················<dt:day> dt:Day [0..1] День. <dt:day>08</dt:day>
067 ·····················<dt:hour> dt:Hour [0..1] Час. <dt:hour>12</dt:hour>
068 ·····················<dt:minute> dt:Minute [0..1] Минута. <dt:minute>41</dt:minute>
069 ··················</vd:secondDate>
070 ···············</vd:expiryDate>
071 ···············<vd:productionBatchID> bs:String255 [0..*] Уникальный идентификатор производственной партии продукции. <vd:productionBatchID>ПП64219</vd:productionBatchID>
072 ···············<vd:perishable> xs:boolean [1..1] Описывает, является ли продукция скоропортящейся:* true – скоропортящаяся;* false – не скоропортящаяся. <vd:perishable>false</vd:perishable>
073 ···············<vd:origin> vd:BatchOrigin [0..1] Сведения о происхождении продукции.
074 ··················<vd:productItem> dt:ProductItem [0..1] Наименование продукции в номенклатуре производителя.
075 ·····················<bs:uuid> bs:UUID [1..1] Идентификатор версии номенклатуры продукции. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
076 ·····················<bs:guid> bs:UUID [1..1] Глобальный идентификатор номенклатуры продукции. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
077 ·····················<dt:globalID> dt:GTINType [0..1] Trade Identification Number (GTIN) - уникальный идентификационный номер продукции производителя. В отличие от поля code GTIN уникален для продукции всех производителей. Уникальность обеспечивается использованием префикса компании-производителя в составе GTIN. <dt:globalID>85672854</dt:globalID>
078 ·····················<dt:name> bs:String255 [0..1] Наименование продукции. <dt:name>Наименование</dt:name>
079 ·····················<dt:code> bs:String255 [0..1] Артикул (код) продукции в соответствии с внутренним кодификатором производителя. Артикул продукции должен быть уникальным в пределах одного производителя. <dt:code>12</dt:code>
080 ··················</vd:productItem>
081 ··················<vd:country> dt:Country [0..1] Страна происхождения партии продукции.
082 ·····················<bs:uuid> bs:UUID [0..1] Идентификатор версии страны. <bs:uuid>cbd91ac0-bec2-4308-a395-33b68871d76b</bs:uuid>
083 ·····················<bs:guid> bs:UUID [0..1] Глобальный идентификатор страны. <bs:guid>3aa0c3ce-8d01-4779-bfb7-df7f234cf86f</bs:guid>
084 ·····················<dt:name> bs:String255 [0..1] Наименование страны происхождения партии продукции. <dt:name>Российская федерация</dt:name>
085 ··················</vd:country>
086 ··················<dt:producer> dt:Producer [0..*] Производитель продукции.
087 ·····················<dt:enterprise> dt:Enterprise [1..1] Информация о предприятие-производителе продукции. Обязательно должно быть заполнено хотя бы одно из полей, либо UUID, либо GUID. При указании обоих полей, приоритет у UUID.
088 ························<bs:uuid> bs:UUID [0..1] Идентификатор версии предприятия. <bs:uuid>9c706614-b995-4bdd-bda3-8fa9de70803a</bs:uuid>
089 ························<bs:guid> bs:UUID [0..1] Глобальный идентификатор предприятия. <bs:guid>12f04ea3-e236-4b71-b427-e04d41b26de4</bs:guid>
090 ························<dt:name> bs:String255 [0..1] Наименование производителя. <dt:name>Мясной цех №36</dt:name>
091 ·····················</dt:enterprise>
092 ·····················<dt:role> dt:EnterpriseRole [1..1] Роль предприятия-производителя продукции. <dt:role>PRODUCER</dt:role>
093 ··················</dt:producer>
094 ···············<vd:origin>
095 ···············<vd:lowGradeCargo> xs:boolean [1..1] Является ли груз некачественным.*true – груз некачественный;*false – груз качественный. <vd:lowGradeCargo>false</vd:lowGradeCargo>
096 ···············<vd:packageList> dt:PackageList [0..1] Список физической упаковки.
097 ··················<dt:package> dt:Package [0..*] Описание упаковки. Поддерживается указание многоуровневой упаковки и маркировки партии продукции. Всего предусмотрено шесть уровней упаковки (см. тип dt:PackageLevelType). Количество единиц упаковки и маркировка партии указывается для каждой упаковки конкретного уровня отдельно. На каждом уровне может быть произвольное количество типов упаковки, в том числе и ни одного, т.е. какого-то уровня упаковки в описании партии продукции может не быть.
098 ·····················<dt:level> dt:PackageLevelType [1..1] Уровень упаковки. <vd:level>4</vd:level>
099 ·····················<dt:packingType> dt:PackingType [1..1] Тип упаковки. <vd:packingType>1</vd:packingType>
100 ························<bs:uuid> bs:UUID [0..1] Идентификатор версии упаковки. <bs:uuid>9c706614-b995-4bdd-bda3-8fa9de70803a</bs:uuid>
101 ························<dt:globalID> dt:PackingCodeType [1..1] Уникальный идентификатор упаковки. <dt:globalID>7B</dt:globalID>
102 ························<dt:name> bs:String255 [0..1] Наименование упаковки. <dt:name>Деревянный ящик</dt:name>
103 ·····················</dt:packingType>
104 ·····················<dt:quantity> xs:int [0..1] Количество единиц упаковки. <vd:quantity>1</vd:quantity>
105 ·····················<dt:productMarks class="UNDEFINED"> dt:ProductMarks [0..*] Маркировка партии продукции. <vd:productMarks class="BN">ПАРТИЯ1251</vd:productMarks>
106 ··················</dt:package>
107 ···············</vd:packageList>
108 ···············<vd:owner> dt:BusinessEntity [0..1] Фирма-владелец продукции.
109 ··················<bs:uuid> bs:UUID [0..1] Идентификатор версии хозяйствующего субъекта-владельца. <bs:uuid>dc400640-0496-4f06-b83c-d00107edc744</bs:uuid>
110 ··················<bs:guid> bs:UUID [0..1] Глобальный идентификатор хозяйствующего субъекта-владельца. <bs:guid>879b525c-248d-46a5-bbde-2ee02d4d0bf9</bs:guid>
111 ··················<dt:fullName> bs:String255 [0..1] Полное наименование хозяйствующего субъекта. <dt:fullName>Общество с ограниченной ответственностью "Первая торговая компания"</dt:fullName>
112 ··················<dt:fio> bs:String255 [0..1] ФИО хозяйствующего субъекта. <dt:fio>Иванов Сергей Петрович</dt:fio>
113 ··················<dt:juridicalAddress> dt:Address [0..1] Адрес фирмы.
114 ·····················<dt:addressView> bs:String255 [0..1] Представление адреса. <dt:addressView>Российская Федерация, Владимирская обл., г. Владимир, ул. Ленина ул., д. 44</dt:addressView>
115 ··················</dt:juridicalAddress>
116 ···············</vd:owner>
117 ············</vd:batch>
118 ······</merc:stockEntry>
119 ···<merc:stockEntryList>
120 </merc:mergeStockEntriesResponse>