GetProductItemChangesList v2.0

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

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

Операция GetProductItemChangesList предназначена для получения истории изменений в списке наименований продукции для номенклатуры предприятия-производителя (4 уровень иерархического справочника). В список попадают записи, дата изменения которых попадает во временной интервал, указанный в запросе. Возвращаются все версии записей, последние и не последние (last=true, last=false), актуальные и не актуальные (active=true, active = false). Добавить, удалить или изменить записи продукции можно с помощью метода ModifyProducerStockListOperation. Выполнение операции заканчивается либо возвратом списка наименований продукции, либо ошибкой, в случае если параметры запроса не корректны, если запись по запросу не найдена или произошла иная ошибка выполнения запроса.

Входные данные

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

Выходные данные

  • список наименований продукции, изменённых за указанный период.

Спецификация запроса

# Название XML-элемента Тип Обязат. Описание Пример
1 <ws:getProductItemChangeListRequest>
2 ···<bs:listOptions> bs:ListOptions [0..1] Параметры запрашиваемого списка.
3 ······<bs:count> xs:nonNegativeInteger [0..1] Максимальное запрашиваемое количество объектов в списке.
  • По умолчанию значение 100;
  • Максимально возможное значение 1000.
<bs:count>10</bs:count>
4 ······<bs:offset> xs:nonNegativeInteger [0..1] Номер элемента, по которому осуществляется смещение первого элемента списка.
  • По умолчанию значение 0.
<bs:offset>2</bs:offset>
5 ···</bs:listOptions>
6 ···<bs:updateDateInterval> bs:DataInterval [1..1] Интервал времени обновления.
  • В список попадают все записи, дата обновлений которых попадает в указанный интервал.
7 ······<bs:beginDate> xs:dateTime [1..1] Начало временного интервала. <bs:beginDate>2017-07-07T00:00:00</bs:beginDate>
8 ······<bs:endDate> xs:dateTime [0..1] Конец временного интервала. <bs:endDate>2017-07-25T00:00:00</bs:endDate>
9 ···</bs:updateDateInterval>
10 ···<dt:businessEntity> dt:BusinessEntity [0..1] Данные о хозяйствующем субъекте.
11 ······<bs:uuid> bs:UUID [0..1] Идентификатор версии хозяйствующего субъекта. <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
12 ······<bs:guid> bs:UUID [0..1] Глобальный идентификатор хозяйствующего субъекта. <bs:guid>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:guid>
13 ···</dt:businessEntity>
14 ···<dt:enterprise> dt:Enterprise [0..1] Данные о предприятии-производителе продукции
15 ······<bs:uuid> bs:UUID [0..1] Идентификатор версии предприятия <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
16 ······<bs:guid> bs:UUID [0..1] Глобальный идентификатор предприятия <bs:guid>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:guid>
17 ···</dt:enterprise>
18 </ws:getProductItemChangeListRequest>

Спецификация ответа

# Название XML-элемента Тип Обязат. Описание Пример
1 <ws:getProductItemChangeListResponse>
2 ···<dt:productItemList count="100" total="874" offset="0"> dt:ProductItemList [1..1] Список номенклатуры
  • total - всего записей;
  • offset - смещение относительно первого элемента;
  • count - количество выводимых записей.
3 ······<dt:productItem> dt:ProductItem [0..*] Данные о номенклатуре производителя
4 ·········<bs:uuid> bs:UUID [1..1] Идентификатор версии номенклатуры. <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
5 ·········<bs:guid> bs:UUID [1..1] Глобальный идентификатор номенклатуры. <bs:guid>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:guid>
6 ·········<bs:active> xs:boolean [1..1] Является ли запись активной:
  • true - запись активна;
  • false - запись не активна.
<bs:active>true</bs:active>
7 ·········<bs:last> xs:boolean [1..1] Является ли версия записи последней:
  • true - да;
  • false - нет.
<bs:last>true</bs:last>
8 ·········<bs:status> bs:VersionStatus [1..1] Статус версии номенклатуры. <bs:status>100</bs:status>
9 ·········<bs:createDate> xs:DateTime [1..1] Дата создания номенклатуры. <bs:createDate>2017-07-07T12:00:00</bs:createDate>
10 ·········<bs:updateDate> xs:DateTime [1..1] Дата изменения номенклатуры. <bs:updateDate>2017-07-07T12:00:00</bs:updateDate>
11 ·········<dt:globalID> dt:GTINType [0..1] Trade Identification Number (GTIN) - идентификационный номер продукции производителя. <dt:globalID>85672854</dt:globalID>
12 ·········<dt:name> bs:String255 [0..1] Наименование продукции. <dt:name>Название</dt:name>
13 ·········<dt:code> bs:String255 [0..1] Артикул (код) продукции в соответствии с внутренним кодификатором производителя. <dt:code>12</dt:code>
14 ·········<dt:productType> dt:ProductType [1..1] Тип продукции. Первый уровень иерархического справочника продукции ИС Меркурий. <dt:productType>1</dt:productType>
15 ·········<dt:product> dt:Product [1..1] Продукция. Второй уровень иерархического справочника продукции ИС Меркурий.
16 ············<bs:uuid> bs:UUID [1..1] Идентификатор версии продукции. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
17 ············<bs:guid> bs:UUID [1..1] Глобальный идентификатор продукции. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
18 ·········</dt:product>
19 ·········<dt:subProduct> dt:SubProduct [1..1] Вид продукции. Третий уровень иерархического справочника продукции ИС Меркурий.
20 ············<bs:uuid> bs:UUID [1..1] Идентификатор версии вида продукции. <bs:uuid>d9d008eb-057a-4cd4-8cb2-d69364318bbe</bs:uuid>
21 ············<bs:guid> bs:UUID [1..1] Глобальный идентификатор вида продукции. <bs:guid>6f5feda1-a3d4-4dfd-8625-de62777a205e</bs:guid>
22 ·········</dt:subProduct>
23 ·········<dt:correspondsToGost> xs:boolean [1..1] Соответствует ли ГОСТу. <dt:correspondsToGost>true</dt:correspondsToGost>
24 ·········<dt:gost> bs:String255 [0..1] ГОСТ. <dt:gost>ГОСТ-621187/53</dt:gost>
25 ·········<dt:producer> dt:BusinessEntity [0..1] ХС-производитель продукции.
26 ············<bs:uuid> bs:UUID [1..1] Идентификатор версии хозяйствующего субъекта-владельца. <bs:uuid>dc400640-0496-4f06-b83c-d00107edc744</bs:uuid>
27 ············<bs:guid> bs:UUID [1..1] Глобальный идентификатор хозяйствующего субъекта-владельца. <bs:guid>879b525c-248d-46a5-bbde-2ee02d4d0bf9</bs:guid>
28 ·········</dt:producer>
29 ·········<dt:tmOwner> dt:BusinessEntity [0..1] ХС-собственник торговой марки.
30 ············<bs:uuid> bs:UUID [1..1] Идентификатор версии хозяйствующего субъекта-владельца. <bs:uuid>dc400640-0496-4f06-b83c-d00107edc744</bs:uuid>
31 ············<bs:guid> bs:UUID [1..1] Глобальный идентификатор хозяйствующего субъекта-владельца. <bs:guid>879b525c-248d-46a5-bbde-2ee02d4d0bf9</bs:guid>
32 ·········</dt:tmOwner>
33 ·········<dt:producing> dt:ProductItemProducing [0..*] Список площадок, на которых выпускается данная продукция.
34 ············<dt:location> dt:Enterprise [1..1] Площадка, осуществляющая выпуск продукции.
35 ···············<bs:uuid> bs:UUID [1..1] Идентификатор версии предприятия. <bs:uuid>9c706614-b995-4bdd-bda3-8fa9de70803a</bs:uuid>
36 ···············<bs:guid> bs:UUID [1..1] Глобальный идентификатор предприятия. <bs:guid>12f04ea3-e236-4b71-b427-e04d41b26de4</bs:guid>
37 ············</dt:location>
38 ·········</dt:producing>
39 ·········<dt:packaging> dt:Packaging [0..1] Фасовка.
40 ············<dt:packagingType> dt:PackingType [1..1] Тип упаковки. <dt:packagingType>1</dt:packagingType>
41 ···············<bs:uuid> bs:UUID [1..1] Идентификатор версии типа упаковки. <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
42 ···············<bs:guid> bs:UUID [1..1] Глобальный идентификатор упаковки. <bs:guid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:guid>
43 ···············<dt:globalID> dt:PackingCodeType [1..1] Уникальный идентификатор упаковки. <dt:globalID>7B</dt:globalID>
44 ···············<dt:name> bs:String255 [1..1] Наименование упаковки. <dt:name>Название</dt:name>
45 ············</dt:packagingType>
46 ············<dt:quantity> xs:int [0..1] Количество единиц упаковки. <dt:quantity>10</dt:quantity>
47 ············<dt:volume> bs:Decimal [0..1] Объём единицы упаковки товара. <dt:volume>50</dt:volume>
48 ············<dt:unit> dt:Unit [0..1] Единица измерения объёма единицы упаковки товара.
49 ···············<bs:uuid> bs:UUID [1..1] Идентификатор версии еиницы измерения. <bs:uuid>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:uuid>
50 ···············<bs:guid> bs:UUID [1..1] Глобальный идентификатор еиницы измерения. <bs:guid>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:guid>
51 ···············<dt:name> bs:String255 [1..1] Наименование единицы измерения <dt:name>кг</dt:name>
52 ············</dt:unit>
53 ·········</dt:packaging>
54 ······</dt:productItem>
55 ···</dt:productItemList>
56 </ws:getProductItemChangeListResponse>

Описание ошибок

Ошибка Описание
InternalServiceFault Внутренняя ошибка сервиса.
IncorrectRequestFault Некорректный запрос. Происходит в случае, если запрос не соответствует требованиям указанным в xsd, то есть сообщение не проходит валидацию.
OffsetOutOfRangeFault Заданный в запросе отступ больше числа записей в результате запроса.

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

Запрос первых трех записей номенклатуры производителей, измененных с 19.09.2017 по 19.10.2017 без смещения.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.vetrf.ru/schema/cdm/registry/ws-definitions/v2" xmlns:bs="http://api.vetrf.ru/schema/cdm/base" xmlns:dt="http://api.vetrf.ru/schema/cdm/dictionary/v2">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:getProductItemChangesListRequest>
          <bs:listOptions>
            <bs:count>3</bs:count>
            <bs:offset>0</bs:offset>
         </bs:listOptions>
         <bs:updateDateInterval>
            <bs:beginDate>2017-09-19T00:00:00</bs:beginDate>
            <bs:endDate>2017-10-19T00:00:00</bs:endDate>
         </bs:updateDateInterval>   
      </ws:getProductItemChangesListRequest>
   </soapenv:Body>
</soapenv:Envelope>


Ответ на запрос.