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.
|
<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> |