├── .gitignore ├── .scrutinizer.yml ├── CHANGELOG.md ├── LICENSE ├── composer.json ├── phpunit.xml ├── readme.md ├── src ├── Collections │ ├── ImageCollection.php │ ├── PropertyCollection.php │ ├── RequisiteCollection.php │ └── SpecificationCollection.php ├── CommerceML.php ├── Model │ ├── Catalog.php │ ├── Classifier.php │ ├── Document.php │ ├── Group.php │ ├── Image.php │ ├── Offer.php │ ├── OfferPackage.php │ ├── Order.php │ ├── Price.php │ ├── Product.php │ ├── Property.php │ ├── Simple.php │ └── Stockroom.php └── ORM │ └── Model.php └── tests ├── CommerceMLTest.php ├── Model ├── CatalogTest.php ├── ClassifierTest.php ├── OfferTest.php └── ProductTest.php ├── ModelTestCase.php ├── ORM └── Model.php ├── TestCase.php └── xml ├── classifier.xml ├── import.xml ├── import_wo_classifier.xml ├── offers.xml └── orders.xml /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | .idea/ 3 | /composer.lock 4 | tests/output -------------------------------------------------------------------------------- /.scrutinizer.yml: -------------------------------------------------------------------------------- 1 | imports: 2 | - php 3 | 4 | tools: 5 | php_sim: false 6 | php_cpd: false 7 | checks: 8 | php: 9 | code_rating: true 10 | duplication: true 11 | 12 | build: 13 | nodes: 14 | coverage: 15 | tests: 16 | override: 17 | - command: 'vendor/bin/phpunit' 18 | coverage: 19 | file: './tests/output/clover.xml' 20 | format: clover -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.2.5 2 | * В \Zenwalker\CommerceML\Model\Classifier::getGroups сделана обработка, если групп нет в файле, возвращается пустой массив, вместо ошибки 3 | 4 | # 0.2.4 5 | * Для $offerPackage добавлен параметр containsOnlyChanges алиас для СодержитТолькоИзменения 6 | * В поиск xpath добавлена возможность указывать аргументы для бинда xpath('//c:Справочник[c:ИдЗначения = :id]', ['id' => $id]) 7 | * Переименован метод \Zenwalker\CommerceML\Model\Classifier::getReferenceBookValue => getReferenceBookValueById 8 | * Переименован метод defaultProperties в propertyAliases в базовом классе модели 9 | * Добавлены тесты 10 | * Добавлен метод getOffers у продукта, возращает все предложения, метод getOffer помечен как устаревший, будет исключен в 0.3.0 11 | * Добавлен метод getOffersById у offerPackage, возращает все предложения, метод getOfferById помечен как устаревший, будет исключен в 0.3.0 12 | 13 | # 0.2.3 14 | * Исправлена ошибка при поиске xpath, поиск по ID сделан на точное совпадение, а не на частичное через contains -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Александр Касьянов 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "carono/commerceml", 3 | "type": "library", 4 | "homepage": "https://github.com/zenwalker/php-commerceml", 5 | "description": "Library for parsing CommerceML files", 6 | "keywords": [ 7 | "commerceml", 8 | "1c" 9 | ], 10 | "license": "MIT", 11 | "authors": [ 12 | { 13 | "homepage": "http://zenwalker.ru", 14 | "name": "Maxim Poletaev", 15 | "email": "zenwalker2@gmail.com" 16 | }, 17 | { 18 | "homepage": "http://carono.ru", 19 | "name": "Aleksandr Kasyanov", 20 | "email": "info@carono.ru" 21 | } 22 | ], 23 | "autoload": { 24 | "psr-4": { 25 | "Zenwalker\\CommerceML\\": "src/", 26 | "Zenwalker\\CommerceML\\Tests\\": "tests/" 27 | } 28 | }, 29 | "require": { 30 | "ext-SimpleXML": "*" 31 | }, 32 | "require-dev": { 33 | "phpunit/phpunit": "^7.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ./tests/ 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | src 14 | 15 | 16 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/carono/php-commerceml/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/carono/php-commerceml/?branch=master) 2 | [![Code Coverage](https://scrutinizer-ci.com/g/carono/php-commerceml/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/carono/php-commerceml/?branch=master) 3 | [![Build Status](https://scrutinizer-ci.com/g/carono/php-commerceml/badges/build.png?b=master)](https://scrutinizer-ci.com/g/carono/php-commerceml/build-status/master) 4 | [![Latest Stable Version](https://poser.pugx.org/carono/commerceml/v/stable)](https://packagist.org/packages/carono/commerceml) 5 | [![Total Downloads](https://poser.pugx.org/carono/commerceml/downloads)](https://packagist.org/packages/carono/commerceml) 6 | [![License](https://poser.pugx.org/carono/commerceml/license)](https://packagist.org/packages/carono/commerceml) 7 | 8 | # PHP CommerceML 9 | 10 | Библиотека для универсального парсинга [CommerceML2](http://v8.1c.ru/edi/edi_stnd/90/92.htm) файлов. 11 | 12 | # Установка 13 | `composer require carono/commerceml` 14 | 15 | # Каталог и товары 16 | 17 | ```php 18 | // $filePath - полный путь до XML файла import.xml или контент 19 | $cml = new CommerceML(); 20 | $cml->loadImportXml('/fullpath/import.xml'); // Загружаем товары 21 | $cml->loadOffersXml('/fullpath/offers.xml'); // Загружаем предложения 22 | ``` 23 | 24 | # Работа с товарами и предложениями 25 | 26 | ```php 27 | foreach ($cml->catalog->products as $product){ 28 | echo $product->name; // Выводим название товара (Товары->Товар->Наименование) 29 | foreach ($product->offers as $offer){ 30 | echo $offer->name; // Выводим название предложения (Предложения->Предложение->Наименование) 31 | echo $offer->prices[0]->cost; // Выводим первую цену предложения (Предложения->Предложение->Цены->Цена->ЦенаЗаЕдиницу) 32 | } 33 | } 34 | ``` 35 | 36 | ## \Zenwalker\CommerceML\CommerceML 37 | 38 | |Метод|XML|Описание| 39 | |-----|----|--------| 40 | |catalog|Каталог|Объект каталога 41 | |classifier|Классификатор|Объект классификатора 42 | |offerPackage|ПакетПредложений|Объект предложений 43 | 44 | ## \Zenwalker\CommerceML\Model\OfferPackage 45 | 46 | |Метод|XML|Описание| 47 | |-----|----|--------| 48 | |offers|Предложения->Предложение|Список всех предложений 49 | |priceTypes|ТипыЦен->ТипЦены|Список всех типов цен 50 | 51 | ## \Zenwalker\CommerceML\Model\Product 52 | 53 | |Метод|XML|Описание| 54 | |-----|----|--------| 55 | |properties|Каталог->Товары->Товар->ЗначенияСвойств|Свойства продукта, `$product->properties[0]->value`| 56 | |requisites|Каталог->Товары->Товар->ЗначенияРеквизитов->ЗначениеРеквизита|Реквизиты продукта, `$product->requisites[0]->value`| 57 | |offers|Предложения->Предложение|Список предложений для продукта 58 | |group|Каталог->Товары->Товар->Группы=>Классификатор->группы->группа|Группа товара `$product->group->name` 59 | |images|Каталог->Товары->Товар->Картинка|Список картинок у товара 60 | 61 | ## \Zenwalker\CommerceML\Model\Offer 62 | 63 | |Метод|XML|Описание| 64 | |-----|----|--------| 65 | |prices|Предложения->Предложение->Цены->Цена|Все цены предложения 66 | |specifications|Предложения->Предложение->ХарактеристикиТовара->ХарактеристикаТовара|Список всех характеристик предложения -------------------------------------------------------------------------------- /src/Collections/ImageCollection.php: -------------------------------------------------------------------------------- 1 | xml) { 20 | foreach ($this->xml as $image) { 21 | $this->append(new Image($this->owner, $image)); 22 | } 23 | } 24 | parent::init(); 25 | } 26 | } -------------------------------------------------------------------------------- /src/Collections/PropertyCollection.php: -------------------------------------------------------------------------------- 1 | id === (string)$id) { 25 | return $property; 26 | } 27 | } 28 | return null; 29 | } 30 | 31 | protected function loadPropertiesValue() 32 | { 33 | foreach ($this->xml->ЗначенияСвойства as $property) { 34 | $properties = $this->owner->classifier->getProperties(); 35 | $object = clone $properties->getById((string)$property->Ид); 36 | $object->productId = (string)$this->xpath('..')[0]->Ид; 37 | $object->init(); 38 | $this->append($object); 39 | } 40 | } 41 | 42 | protected function loadProperties() 43 | { 44 | foreach ($this->xml->Свойство as $property) { 45 | $this->append(new Property($this->owner, $property)); 46 | } 47 | } 48 | 49 | public function init() 50 | { 51 | if (isset($this->xml->ЗначенияСвойства)) { 52 | $this->loadPropertiesValue(); 53 | } 54 | if (isset($this->xml->Свойство)) { 55 | $this->loadProperties(); 56 | } 57 | parent::init(); 58 | } 59 | } -------------------------------------------------------------------------------- /src/Collections/RequisiteCollection.php: -------------------------------------------------------------------------------- 1 | xml->ЗначениеРеквизита)) { 19 | foreach ($this->xml->ЗначениеРеквизита as $requisite) { 20 | $this->append(new Simple($this->owner, $requisite)); 21 | } 22 | } 23 | parent::init(); 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /src/Collections/SpecificationCollection.php: -------------------------------------------------------------------------------- 1 | xml->ХарактеристикаТовара)) { 19 | foreach ($this->xml->ХарактеристикаТовара as $specification) { 20 | $this->append(new Simple($this->owner, $specification)); 21 | } 22 | } 23 | parent::init(); 24 | } 25 | } -------------------------------------------------------------------------------- /src/CommerceML.php: -------------------------------------------------------------------------------- 1 | loadImportXml($importXml); 66 | $this->loadOffersXml($offersXml); 67 | $this->loadOrdersXml($ordersXml); 68 | } 69 | 70 | /** 71 | * @param $file 72 | */ 73 | public function loadImportXml($file) 74 | { 75 | $this->importXmlFilePath = $file; 76 | $this->importXml = $this->loadXml($file); 77 | $this->catalog = new Catalog($this); 78 | $this->classifier = new Classifier($this); 79 | } 80 | 81 | /** 82 | * @param $file 83 | */ 84 | public function loadOffersXml($file) 85 | { 86 | $this->offersXmlFilePath = $file; 87 | $this->offersXml = $this->loadXml($file); 88 | $this->offerPackage = new OfferPackage($this); 89 | $this->classifier = new Classifier($this); 90 | } 91 | 92 | /** 93 | * @param $file 94 | */ 95 | public function loadOrdersXml($file) 96 | { 97 | $this->ordersXmlFilePath = $file; 98 | $this->ordersXml = $this->loadXml($file); 99 | $this->order = new Order($this); 100 | } 101 | 102 | 103 | /** 104 | * Load XML form file or string. 105 | * 106 | * @param string $xml 107 | * 108 | * @return \SimpleXMLElement|false 109 | */ 110 | private function loadXml($xml) 111 | { 112 | if (is_file($xml)) { 113 | return simplexml_load_string(file_get_contents($xml)); 114 | } 115 | 116 | return simplexml_load_string($xml); 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /src/Model/Catalog.php: -------------------------------------------------------------------------------- 1 | Каталог 8 | * 9 | * Class Catalog 10 | * 11 | * @package Zenwalker\CommerceML\Model 12 | * @property Product[] $products 13 | */ 14 | class Catalog extends Simple 15 | { 16 | /** 17 | * @var Product[] 18 | */ 19 | protected $products = []; 20 | 21 | /** 22 | * @param string $id 23 | * @return null|Product 24 | */ 25 | public function getById($id) 26 | { 27 | foreach ($this->getProducts() as $product) { 28 | if ($product->id === $id) { 29 | return $product; 30 | } 31 | } 32 | return null; 33 | } 34 | 35 | /** 36 | * @return Product[] 37 | */ 38 | public function getProducts() 39 | { 40 | if (empty($this->products) && $this->xml && $this->xml->Товары) { 41 | foreach ($this->xml->Товары->Товар as $product) { 42 | $this->products[] = new Product($this->owner, $product); 43 | } 44 | } 45 | return $this->products; 46 | } 47 | 48 | /** 49 | * @return \SimpleXMLElement 50 | */ 51 | public function loadXml() 52 | { 53 | if ($this->owner->importXml) { 54 | return $this->owner->importXml->Каталог; 55 | } 56 | 57 | return null; 58 | } 59 | } -------------------------------------------------------------------------------- /src/Model/Classifier.php: -------------------------------------------------------------------------------- 1 | owner->importXml && $this->owner->importXml->Классификатор) { 35 | return $this->owner->importXml->Классификатор; 36 | } 37 | 38 | return null; 39 | } 40 | 41 | /** 42 | * @param $id 43 | * @return \SimpleXMLElement[] 44 | */ 45 | public function getReferenceBookById($id) 46 | { 47 | return $this->xpath('//c:Свойство[c:Ид = :id]/c:ВариантыЗначений/c:Справочник', ['id' => $id]); 48 | } 49 | 50 | /** 51 | * @param $id 52 | * @return null|\SimpleXMLElement 53 | */ 54 | public function getReferenceBookValueById($id) 55 | { 56 | if ($id) { 57 | $xpath = '//c:Свойство/c:ВариантыЗначений/c:Справочник[c:ИдЗначения = :id]'; 58 | $type = $this->xpath($xpath, ['id' => $id]); 59 | return $type ? $type[0] : null; 60 | } 61 | 62 | return null; 63 | } 64 | 65 | /** 66 | * @param $id 67 | * @return null|Group 68 | */ 69 | public function getGroupById($id) 70 | { 71 | foreach ($this->getGroups() as $group) { 72 | if ($group->id === $id) { 73 | return $group; 74 | } 75 | 76 | if ($child = $group->getChildById($id)) { 77 | return $child; 78 | } 79 | } 80 | return null; 81 | } 82 | 83 | /** 84 | * @return PropertyCollection 85 | */ 86 | public function getProperties() 87 | { 88 | if (!$this->properties) { 89 | $this->properties = new PropertyCollection($this->owner, $this->xml->Свойства); 90 | } 91 | return $this->properties; 92 | } 93 | 94 | /** 95 | * @return Group[] 96 | */ 97 | public function getGroups() 98 | { 99 | if (empty($this->groups) && isset($this->xml->Группы->Группа)) { 100 | foreach ($this->xml->Группы->Группа as $group) { 101 | $this->groups[] = new Group($this->owner, $group); 102 | } 103 | } 104 | return $this->groups; 105 | } 106 | 107 | /** 108 | * @return Stockroom[] 109 | */ 110 | public function getStockrooms() 111 | { 112 | if (empty($this->stockrooms) && isset($this->xml->Склады)) { 113 | foreach ($this->xml->Склады->Склад as $stockroom) { 114 | $this->stockrooms[] = new Stockroom($this->owner, $stockroom); 115 | } 116 | } 117 | return $this->stockrooms; 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /src/Model/Document.php: -------------------------------------------------------------------------------- 1 | children) && $this->xml->Группы) { 32 | foreach ($this->xml->Группы->Группа as $group) { 33 | $this->children[] = new Group($this->owner, $group); 34 | } 35 | } 36 | return $this->children; 37 | } 38 | 39 | /** 40 | * @return Group 41 | */ 42 | public function getParent() 43 | { 44 | if (!$this->parent) { 45 | $parent = $this->xpath('../..')[0]; 46 | if ($parent->getName() === 'Группа') { 47 | $this->parent = new Group($this->owner, $parent); 48 | } 49 | } 50 | return $this->parent; 51 | } 52 | 53 | /** 54 | * @param string $id 55 | * @return null|Group 56 | */ 57 | public function getChildById($id) 58 | { 59 | foreach ($this->getChildren() as $child) { 60 | if ($child->id === $id) { 61 | return $child; 62 | } 63 | 64 | if ($subChild = $child->getChildById($id)) { 65 | return $subChild; 66 | } 67 | } 68 | return null; 69 | } 70 | } -------------------------------------------------------------------------------- /src/Model/Image.php: -------------------------------------------------------------------------------- 1 | xml); 22 | } 23 | 24 | /** 25 | * @return string 26 | */ 27 | public function getCaption() 28 | { 29 | if ($xml = $this->xpath('//c:ЗначениеРеквизита[contains(c:Значение, :path)]', ['path' => "{$this->path}#"])) { 30 | return (string)current(\array_slice(explode('#', (string)$xml[0]->Значение), 1)); 31 | } 32 | 33 | return ''; 34 | } 35 | } -------------------------------------------------------------------------------- /src/Model/Offer.php: -------------------------------------------------------------------------------- 1 | specifications)) { 32 | $this->specifications = new SpecificationCollection($this->owner, $this->ХарактеристикиТовара); 33 | } 34 | return $this->specifications; 35 | } 36 | 37 | /** 38 | * @return Price 39 | */ 40 | public function getPrices() 41 | { 42 | if ($this->xml && empty($this->prices)) { 43 | $this->prices = new Price($this->owner, $this->xml->Цены); 44 | } 45 | return $this->prices; 46 | } 47 | 48 | public function getStockrooms() 49 | { 50 | if ($this->xml && empty($this->stockrooms)) { 51 | foreach ($this->xml->Склад as $stockroom) { 52 | $this->stockrooms[] = new Stockroom($this->owner, $stockroom); 53 | } 54 | } 55 | return $this->stockrooms; 56 | } 57 | } -------------------------------------------------------------------------------- /src/Model/OfferPackage.php: -------------------------------------------------------------------------------- 1 | 'containsOnlyChanges' 30 | ]); 31 | } 32 | 33 | public function loadXml() 34 | { 35 | if ($this->owner->offersXml) { 36 | return $this->owner->offersXml->ПакетПредложений; 37 | } 38 | 39 | return null; 40 | } 41 | 42 | /** 43 | * @return Offer[] 44 | */ 45 | public function getOffers() 46 | { 47 | if (empty($this->offers) && $this->xml && $this->xml->Предложения) { 48 | foreach ($this->xml->Предложения->Предложение as $offer) { 49 | $this->offers[] = new Offer($this->owner, $offer); 50 | } 51 | } 52 | return $this->offers; 53 | } 54 | 55 | /** 56 | * @return Simple[] 57 | */ 58 | public function getPriceTypes() 59 | { 60 | if (empty($this->priceTypes) && $this->xml) { 61 | foreach ($this->xpath('//c:ТипыЦен/c:ТипЦены') as $type) { 62 | $this->priceTypes[] = new Simple($this->owner, $type); 63 | } 64 | } 65 | return $this->priceTypes; 66 | } 67 | 68 | /** 69 | * @param $id 70 | * @return null|Offer 71 | * @deprecated will removed in 0.3.0 72 | */ 73 | public function getOfferById($id) 74 | { 75 | foreach ($this->getOffers() as $offer) { 76 | if ($offer->getClearId() === $id) { 77 | return $offer; 78 | } 79 | } 80 | return null; 81 | } 82 | 83 | /** 84 | * @param $id 85 | * @return Offer[] 86 | */ 87 | public function getOffersById($id) 88 | { 89 | $result = []; 90 | foreach ($this->getOffers() as $offer) { 91 | if ($offer->getClearId() === $id) { 92 | $result[] = $offer; 93 | } 94 | } 95 | return $result; 96 | } 97 | 98 | /** 99 | * @return Stockroom[] 100 | */ 101 | public function getStockrooms() 102 | { 103 | if (empty($this->stockrooms) && isset($this->xml->Склады)) { 104 | foreach ($this->xml->Склады->Склад as $stockroom) { 105 | $this->stockrooms[] = new Stockroom($this->owner, $stockroom); 106 | } 107 | } 108 | return $this->stockrooms; 109 | } 110 | } -------------------------------------------------------------------------------- /src/Model/Order.php: -------------------------------------------------------------------------------- 1 | owner->ordersXml) { 22 | foreach ($this->owner->ordersXml->Документ as $document) { 23 | $this->documents[] = new Document($this->owner, $document); 24 | } 25 | } 26 | return $this->owner->ordersXml; 27 | } 28 | } -------------------------------------------------------------------------------- /src/Model/Price.php: -------------------------------------------------------------------------------- 1 | type && ($value = $this->type->{$name})) { 26 | return $value; 27 | } 28 | } 29 | return $result; 30 | } 31 | 32 | public function propertyAliases() 33 | { 34 | return [ 35 | 'Представление' => 'performance', 36 | 'ИдТипаЦены' => 'id', 37 | 'ЦенаЗаЕдиницу' => 'cost', 38 | 'Валюта' => 'currency', 39 | 'Единица' => 'unit', 40 | 'Коэффициент' => 'rate', 41 | ]; 42 | } 43 | 44 | public function getType() 45 | { 46 | if (!$this->type && ($id = $this->id)) { 47 | if ($type = $this->owner->offerPackage->xpath('//c:ТипЦены[c:Ид = :id]', ['id' => $id])) { 48 | $this->type = new Simple($this->owner, $type[0]); 49 | } 50 | } 51 | return $this->type; 52 | } 53 | 54 | public function init() 55 | { 56 | if ($this->xml && $this->xml->Цена) { 57 | foreach ($this->xml->Цена as $price) { 58 | $this->append(new self($this->owner, $price)); 59 | } 60 | $this->getType(); 61 | } 62 | parent::init(); 63 | } 64 | } -------------------------------------------------------------------------------- /src/Model/Product.php: -------------------------------------------------------------------------------- 1 | 53 | */ 54 | public function getProperties() 55 | { 56 | if (!$this->properties) { 57 | $this->properties = new PropertyCollection($this->owner, $this->xml->ЗначенияСвойств); 58 | } 59 | return $this->properties; 60 | } 61 | 62 | /** 63 | * @return SpecificationCollection|null|array 64 | * @deprecated will removed in 0.3.0 65 | */ 66 | public function getSpecifications() 67 | { 68 | return $this->getOffer() ? $this->getOffer()->getSpecifications() : null; 69 | } 70 | 71 | /** 72 | * @return Price[] 73 | * @deprecated will removed in 0.3.0 74 | */ 75 | public function getPrices() 76 | { 77 | return $this->getOffer() ? $this->getOffer()->getPrices() : []; 78 | } 79 | 80 | /** 81 | * @return RequisiteCollection 82 | */ 83 | public function getRequisites() 84 | { 85 | if (!$this->requisites) { 86 | $this->requisites = new RequisiteCollection($this->owner, $this->xml->ЗначенияРеквизитов); 87 | } 88 | return $this->requisites; 89 | } 90 | 91 | /** 92 | * @return Group 93 | */ 94 | public function getGroup() 95 | { 96 | if (!$this->group) { 97 | if (!$this->Группы) { 98 | return null; 99 | } 100 | $groupId = (string)$this->Группы->Ид; 101 | $this->group = $this->owner->classifier->getGroupById($groupId); 102 | } 103 | return $this->group; 104 | } 105 | 106 | /** 107 | * @return null|Offer 108 | * @deprecated will removed in 0.3.0 109 | */ 110 | public function getOffer() 111 | { 112 | return $this->owner->offerPackage->getOfferById($this->getClearId()); 113 | } 114 | 115 | /** 116 | * @return Offer[] 117 | */ 118 | public function getOffers() 119 | { 120 | return $this->owner->offerPackage->getOffersById($this->getClearId()); 121 | } 122 | 123 | /** 124 | * @return ImageCollection 125 | */ 126 | public function getImages() 127 | { 128 | if (!$this->images) { 129 | $this->images = new ImageCollection($this->owner, $this->xml->Картинка); 130 | } 131 | return $this->images; 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /src/Model/Property.php: -------------------------------------------------------------------------------- 1 | owner->classifier->getReferenceBookById($this->id); 22 | } 23 | 24 | /** 25 | * @return Simple|null 26 | */ 27 | public function getValueModel() 28 | { 29 | if ($this->productId && !$this->_value && ($product = $this->owner->catalog->getById($this->productId))) { 30 | $xpath = "c:ЗначенияСвойств/c:ЗначенияСвойства[c:Ид = '{$this->id}']"; 31 | $valueXml = $product->xpath($xpath)[0]; 32 | $value = $this->_value = (string)$valueXml->Значение; 33 | if ($property = $this->owner->classifier->getReferenceBookValueById($value)) { 34 | $this->_value = new Simple($this->owner, $property); 35 | } else { 36 | $this->_value = new Simple($this->owner, $valueXml); 37 | } 38 | } 39 | return $this->_value; 40 | } 41 | 42 | public function getValue() 43 | { 44 | return $this->getValueModel() ? (string)$this->getValueModel()->value : null; 45 | } 46 | } -------------------------------------------------------------------------------- /src/Model/Simple.php: -------------------------------------------------------------------------------- 1 | _packageStockroom) { 12 | return $this->_packageStockroom; 13 | } 14 | $id = $this->id; 15 | $xml = current($this->owner->offerPackage->xpath('//c:Склад[c:Ид = :id]', ['id' => $id])); 16 | return $this->_packageStockroom = new static($this->owner, $xml); 17 | } 18 | 19 | public function propertyAliases() 20 | { 21 | return array_merge(parent::propertyAliases(), [ 22 | 'ИдСклада' => 'id', 23 | 'КоличествоНаСкладе' => 'count', 24 | ]); 25 | } 26 | } -------------------------------------------------------------------------------- /src/ORM/Model.php: -------------------------------------------------------------------------------- 1 | 'id', 34 | 'Наименование' => 'name', 35 | 'Значение' => 'value', 36 | ]; 37 | } 38 | 39 | /** 40 | * @return string 41 | */ 42 | public function getClearId() 43 | { 44 | return (string)explode('#', $this->id)[0]; 45 | } 46 | 47 | /** 48 | * @return string 49 | */ 50 | public function getIdSuffix() 51 | { 52 | return (string)\array_slice(explode('#', (string)$this->id), 1)[0]; 53 | } 54 | 55 | /** 56 | * Model constructor. 57 | * 58 | * @param CommerceML $owner 59 | * @param \SimpleXMLElement|null $xml 60 | */ 61 | public function __construct(CommerceML $owner, \SimpleXMLElement $xml = null) 62 | { 63 | $this->owner = $owner; 64 | $this->xml = $xml ?: $this->loadXml(); 65 | $this->init(); 66 | parent::__construct(); 67 | } 68 | 69 | /** 70 | * @param $name 71 | * @return null|string 72 | */ 73 | protected function getPropertyAlias($name) 74 | { 75 | $attributes = $this->xml; 76 | $aliases = $this->propertyAliases(); 77 | while ($idx = array_search($name, $aliases)) { 78 | if (isset($attributes[$idx])) { 79 | return trim((string)$attributes[$idx]); 80 | } 81 | if (isset($this->xml->{$idx})) { 82 | return trim((string)$this->xml->{$idx}); 83 | } 84 | unset($aliases[$idx]); 85 | } 86 | return null; 87 | } 88 | 89 | /** 90 | * @param $name 91 | * @return mixed|null|\SimpleXMLElement|string 92 | */ 93 | public function __get($name) 94 | { 95 | if (method_exists($this, $method = 'get' . ucfirst($name))) { 96 | return \call_user_func([$this, $method]); 97 | } 98 | if ($this->xml) { 99 | $attributes = $this->xml; 100 | if (isset($attributes[$name])) { 101 | return trim((string)$attributes[$name]); 102 | } 103 | if ($value = $this->xml->{$name}) { 104 | return $value; 105 | } 106 | if (($value = $this->getPropertyAlias($name)) !== null) { 107 | return $value; 108 | } 109 | } 110 | return null; 111 | } 112 | 113 | public function __set($name, $value) 114 | { 115 | } 116 | 117 | public function __isset($name) 118 | { 119 | } 120 | 121 | public function loadXml() 122 | { 123 | $this->registerNamespace(); 124 | return null; 125 | } 126 | 127 | public function init() 128 | { 129 | $this->registerNamespace(); 130 | } 131 | 132 | protected function registerNamespace() 133 | { 134 | if ($this->xml && !$this->namespaceRegistered && ($namespaces = $this->xml->getNamespaces())) { 135 | $this->namespaceRegistered = true; 136 | foreach ($namespaces as $namespace) { 137 | $this->xml->registerXPathNamespace('c', $namespace); 138 | } 139 | } 140 | } 141 | 142 | /** 143 | * Лучше использовать данный метод, вместо стандартного xpath у SimpleXMLElement, 144 | * т.к. есть проблемы с неймспейсами xmlns 145 | * 146 | * Для каждого элемента необходимо указывать наймспейс "c", например: 147 | * //c:Свойство/c:ВариантыЗначений/c:Справочник[c:ИдЗначения = ':параметр'] 148 | * 149 | * @param string $path 150 | * @param array $args - Аргументы задаём в бинд стиле ['параметр'=>'значение'] без двоеточия 151 | * @return \SimpleXMLElement[] 152 | */ 153 | public function xpath($path, $args = []) 154 | { 155 | $this->registerNamespace(); 156 | if (!$this->namespaceRegistered) { 157 | $path = str_replace('c:', '', $path); 158 | } 159 | if (!empty($args) && \is_array($args)) { 160 | foreach ($args as $ka => $kv) { 161 | $replace = (false !== strpos($kv, "'") ? ("concat('" . str_replace("'", "',\"'\",'", $kv) . "')") : "'" . $kv . "'"); 162 | $path = str_replace(':' . $ka, $replace, $path); 163 | } 164 | } 165 | return $this->xml->xpath($path); 166 | } 167 | } 168 | -------------------------------------------------------------------------------- /tests/CommerceMLTest.php: -------------------------------------------------------------------------------- 1 | cml->addXmls($values['import'], $values['offer'], $values['order']); 15 | $this->assertNotEmpty($this->cml->catalog->xml); 16 | $this->assertNotEmpty($this->cml->classifier->xml); 17 | $this->assertNotEmpty($this->cml->order->xml); 18 | } 19 | 20 | /** 21 | * @dataProvider xmlProvider 22 | * @param $values 23 | */ 24 | public function testLoadImportXml($values): void 25 | { 26 | $this->cml->loadImportXml($values['import']); 27 | $this->assertNotEmpty($this->cml->catalog->xml); 28 | } 29 | 30 | /** 31 | * @dataProvider xmlProvider 32 | * @param $values 33 | */ 34 | public function testLoadOffersXml($values): void 35 | { 36 | $this->cml->loadImportXml($values['offer']); 37 | $this->assertNotEmpty($this->cml->classifier->xml); 38 | } 39 | 40 | /** 41 | * @dataProvider xmlProvider 42 | * @param $values 43 | */ 44 | public function testLoadOrdersXml($values): void 45 | { 46 | $this->cml->loadOrdersXml($values['order']); 47 | $this->assertNotEmpty($this->cml->order->xml); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /tests/Model/CatalogTest.php: -------------------------------------------------------------------------------- 1 | cml->catalog; 14 | $this->assertEquals('07cfe53d-5145-4c4e-a81c-899be39cc5bd', $catalog->id); 15 | $this->assertEquals('Каталог товаров 07CFE53D', $catalog->name); 16 | } 17 | 18 | public function testGetProductById(): void 19 | { 20 | $product = $this->cml->catalog->getById('bd72d913-55bc-11d9-848a-00112f43529a'); 21 | $notFound = $this->cml->catalog->getById('1'); 22 | $this->assertEquals('Ботинки женские демисезонные', $product->name); 23 | $this->assertEmpty($notFound); 24 | } 25 | 26 | public function testGetProductByXml(): void 27 | { 28 | $product = $this->cml->catalog->Товары[0]; 29 | $this->assertEquals('bd72d910-55bc-11d9-848a-00112f43529a', (string)$product->Товар->Ид); 30 | } 31 | } -------------------------------------------------------------------------------- /tests/Model/ClassifierTest.php: -------------------------------------------------------------------------------- 1 | cml->classifier->getReferenceBookValueById($id); 17 | $this->assertEquals($value, $item ? (string)$item->Значение : null); 18 | } 19 | 20 | /** 21 | * @dataProvider referenceProvider 22 | * @param $id 23 | * @param $value 24 | */ 25 | public function testGetReferenceBookById($id, $value) 26 | { 27 | $items = $this->cml->classifier->getReferenceBookById($id); 28 | $this->assertEquals($value, isset($items[0]) ? (string)$items[0]->Значение : null); 29 | } 30 | 31 | /** 32 | * @dataProvider groupProvider 33 | */ 34 | public function testGetGroupById($id, $name) 35 | { 36 | $group = $this->cml->classifier->getGroupById($id); 37 | $this->assertEquals($name, $group ? $group->name : null); 38 | } 39 | 40 | public function referenceProvider() 41 | { 42 | return [ 43 | ['444bbe9e-6b18-11e0-9819-e0cb4ed5eed4', '115'], 44 | ["[]\*$#@:c'", null], 45 | ['', null], 46 | ]; 47 | } 48 | 49 | public function referenceValueProvider() 50 | { 51 | return [ 52 | ['444bbf2d-6b18-11e0-9819-e0cb4ed5eed4', '100'], 53 | ['444bbf75-6b18-11e0-9819-e0cb4ed5eed4', '1,5'], 54 | ["[]\*$#@:c'", null], 55 | ['', null], 56 | ]; 57 | } 58 | 59 | public function groupProvider() 60 | { 61 | return [ 62 | ['453d6e1a-7233-11e0-8636-0011951d229d', 'Бытовая техника'], 63 | ['f3257ce7-9c2f-11e1-a282-0011955bd175', 'Бытовая техника с учетом серий, гарантия 12 мес.'], 64 | ["[]\*$#@:c'", null], 65 | ['', null], 66 | ]; 67 | } 68 | } -------------------------------------------------------------------------------- /tests/Model/OfferTest.php: -------------------------------------------------------------------------------- 1 | product = $this->cml->catalog->products[0]; 22 | $this->offers = $this->product->offers; 23 | } 24 | 25 | public function testSpecifications() 26 | { 27 | $offer = $this->offers[0]; 28 | $specification = $offer->getSpecifications()[1]; 29 | 30 | $this->assertEquals('14ed8b39-55bd-11d9-848a-00112f43529a', $specification->id); 31 | $this->assertEquals('Тип кожи', $specification->name); 32 | $this->assertEquals('натуральная кожа', $specification->value); 33 | } 34 | 35 | public function testSuffix() 36 | { 37 | $this->assertEquals('90c55447-d3a8-11e4-9423-e0cb4ed5eed4', $this->offers[0]->idSuffix); 38 | } 39 | 40 | public function testAttribute() 41 | { 42 | $this->assertEquals('false', $this->cml->offerPackage->containsOnlyChanges); 43 | $this->assertEquals('false', $this->cml->offerPackage->СодержитТолькоИзменения); 44 | } 45 | 46 | public function testStocksroom() 47 | { 48 | $stockroom = $this->cml->offerPackage->getStockrooms()[0]; 49 | $offer = $this->offers[0]; 50 | $this->assertEquals('b6112590-41ba-11dd-ac9d-0015e9b8c48d', $stockroom->id); 51 | $this->assertEquals('Магазин "Обувь"', $stockroom->name); 52 | 53 | $this->assertEquals('b6112590-41ba-11dd-ac9d-0015e9b8c48d', $offer->getStockrooms()[0]->id); 54 | $this->assertEquals('Магазин "Обувь"', $offer->getStockrooms()[0]->getPackageStockroom()->name); 55 | $this->assertEquals('20', $offer->getStockrooms()[0]->count); 56 | } 57 | } -------------------------------------------------------------------------------- /tests/Model/ProductTest.php: -------------------------------------------------------------------------------- 1 | product = $this->cml->catalog->products[0]; 28 | } 29 | 30 | public function testOffers() 31 | { 32 | $product = $this->product; 33 | $this->assertCount(2, $product->offers); 34 | $this->assertInstanceOf(Offer::class, $product->offers[0]); 35 | } 36 | 37 | public function testOfferPrice() 38 | { 39 | /** 40 | * @var Price $price 41 | */ 42 | $prices = $this->product->offers[0]->prices; 43 | $this->assertCount(1, $prices); 44 | $price = $prices[0]; 45 | $this->assertEquals('Розничная', $price->type->name); 46 | $this->assertEquals('1 719 RUB за пара', $price->performance); 47 | } 48 | 49 | public function testImages() 50 | { 51 | $images = $this->product->images; 52 | $this->assertCount(3, $images); 53 | $this->assertInstanceOf(ImageCollection::class, $images); 54 | $this->assertInstanceOf(Image::class, $images[0]); 55 | $this->assertEquals('import_files/9d/9da00149441011e19bb10015174048b8_0e01fd9e204611e8b2a794de807044d1.jpg', $images[0]->path); 56 | $this->assertEquals('Фото1', $images[0]->caption); 57 | $this->assertEmpty($images[1]->caption); 58 | 59 | } 60 | 61 | public function testRequisites() 62 | { 63 | $requisites = $this->product->requisites; 64 | $this->assertCount(4, $requisites); 65 | $this->assertInstanceOf(RequisiteCollection::class, $requisites); 66 | $this->assertInstanceOf(Simple::class, $requisites[0]); 67 | $this->assertEquals('Обувь', $requisites[0]->value); 68 | } 69 | 70 | public function testGroup() 71 | { 72 | $this->assertEquals('e5a4c309-a659-11dd-acee-0015e9b8c48d', $this->product->group->id); 73 | $this->assertEquals('453d6e3a-7233-11e0-8636-0011951d229d', $this->product->group->parent->id); 74 | } 75 | 76 | public function testProperties() 77 | { 78 | $this->assertEquals('Производитель', $this->product->properties[0]->name); 79 | $this->assertEquals('Обувной комбинат', $this->product->properties[0]->value); 80 | $this->assertInstanceOf(Property::class,$this->product->getProperties()->getById('bb14a4b8-6b17-11e0-9819-e0cb4ed5eed4')); 81 | $this->assertEmpty($this->product->getProperties()->getById('wrong-id')); 82 | } 83 | 84 | public function testPropertyValues() 85 | { 86 | $id = (string)$this->product->properties[0]->availableValues[5]->ИдЗначения; 87 | $this->assertEquals('444bbebb-6b18-11e0-9819-e0cb4ed5eed4', $id); 88 | $this->assertEquals('ООО Рога и копыта', $this->product->properties[3]->value); 89 | } 90 | } -------------------------------------------------------------------------------- /tests/ModelTestCase.php: -------------------------------------------------------------------------------- 1 | cml->addXmls($this->import, $this->offer, $this->order); 13 | } 14 | } -------------------------------------------------------------------------------- /tests/ORM/Model.php: -------------------------------------------------------------------------------- 1 | cml->catalog->products[0]; 21 | $requisite = $product->requisites[0]; 22 | 23 | $this->assertEquals($product->Ид, $product->id); 24 | $this->assertEquals($product->Наименование, $product->name); 25 | $this->assertEquals($requisite->Значение, $requisite->value); 26 | } 27 | } -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | cml = new CommerceML(); 25 | } 26 | 27 | protected function tearDown() 28 | { 29 | $this->cml = null; 30 | } 31 | 32 | /** 33 | * @return array 34 | */ 35 | public function xmlProvider() 36 | { 37 | return [ 38 | [ 39 | [ 40 | 'import' => $this->import, 41 | 'offer' => $this->offer, 42 | 'order' => $this->order, 43 | 'classifier' => $this->classifier, 44 | 'importWoClassifier' => $this->importWoClassifier, 45 | ], 46 | ], 47 | [ 48 | [ 49 | 'import' => file_get_contents($this->import), 50 | 'offer' => file_get_contents($this->offer), 51 | 'order' => file_get_contents($this->order), 52 | 'classifier' => file_get_contents($this->classifier), 53 | 'importWoClassifier' => file_get_contents($this->importWoClassifier), 54 | ], 55 | ], 56 | ]; 57 | } 58 | } -------------------------------------------------------------------------------- /tests/xml/classifier.xml: -------------------------------------------------------------------------------- 1 | <Классификатор> 2 | <Ид>07cfe53d-5145-4c4e-a81c-899be39cc5bd 3 | <Наименование>Классификатор (Каталог товаров 07CFE53D) 4 | <Владелец> 5 | <Ид>ef8f948c-8403-11da-9ae9-000d884f5d77 6 | <Наименование>Cтройснаб 7 | <ПолноеНаименование>Cтройснаб 8 | <КПП>772301001 9 | 10 | <Группы> 11 | <Группа> 12 | <Ид>d94d0b7b-2661-11e6-88b3-5404a6a682f3 13 | <Наименование>Маркируемые товары 14 | 15 | <Группа> 16 | <Ид>d94d0b7f-2661-11e6-88b3-5404a6a682f3 17 | <Наименование>КиЗ (Контрольно-идентификационный знак) 18 | 19 | <Группа> 20 | <Ид>453d6e1a-7233-11e0-8636-0011951d229d 21 | <Наименование>Бытовая техника 22 | <Группы> 23 | <Группа> 24 | <Ид>f3257ce7-9c2f-11e1-a282-0011955bd175 25 | <Наименование>Бытовая техника с учетом серий, гарантия 12 мес. 26 | 27 | <Группа> 28 | <Ид>0497185d-4398-11e2-ae4d-bcaec5741d46 29 | <Наименование>Бытовая техника с учетом серий, гарантия 24 мес. 30 | 31 | 32 | 33 | <Группа> 34 | <Ид>453d6e1e-7233-11e0-8636-0011951d229d 35 | <Наименование>Одежда 36 | <Группы> 37 | <Группа> 38 | <Ид>04971895-4398-11e2-ae4d-bcaec5741d46 39 | <Наименование>Одежда для детей 40 | 41 | <Группа> 42 | <Ид>04971897-4398-11e2-ae4d-bcaec5741d46 43 | <Наименование>Одежда для взрослых 44 | 45 | <Группа> 46 | <Ид>a842c3bb-6c6c-11de-b4b4-00195b6993ba 47 | <Наименование>Одежда для малышей 48 | 49 | <Группа> 50 | <Ид>a842c3bf-6c6c-11de-b4b4-00195b6993ba 51 | <Наименование>Головные уборы 52 | 53 | <Группа> 54 | <Ид>a842c3ce-6c6c-11de-b4b4-00195b6993ba 55 | <Наименование>Варежки, перчатки 56 | 57 | 58 | 59 | <Группа> 60 | <Ид>453d6e3a-7233-11e0-8636-0011951d229d 61 | <Наименование>Обувь 62 | <Группы> 63 | <Группа> 64 | <Ид>e2ef973c-3804-11e2-ac60-b80305898c48 65 | <Наименование>Аксессуары для обуви 66 | 67 | <Группа> 68 | <Ид>e5a4c309-a659-11dd-acee-0015e9b8c48d 69 | <Наименование>Обувь 70 | 71 | 72 | 73 | <Группа> 74 | <Ид>21de2d59-03a2-11e2-af8c-b80305898c48 75 | <Наименование>Прочие товары 76 | <Группы> 77 | <Группа> 78 | <Ид>9747001a-606e-11e5-8b28-bcaec5741d46 79 | <Наименование>Алкоголь 80 | 81 | <Группа> 82 | <Ид>04971873-4398-11e2-ae4d-bcaec5741d46 83 | <Наименование>Продовольственные товары 84 | 85 | <Группа> 86 | <Ид>04971891-4398-11e2-ae4d-bcaec5741d46 87 | <Наименование>Мебель 88 | 89 | <Группа> 90 | <Ид>878499de-4454-11e2-ae4d-bcaec5741d46 91 | <Наименование>Игрушки 92 | 93 | 94 | 95 | <Группа> 96 | <Ид>21de2d5a-03a2-11e2-af8c-b80305898c48 97 | <Наименование>Услуги 98 | <Группы> 99 | <Группа> 100 | <Ид>fccb0988-10ce-11df-852f-0011951d229d 101 | <Наименование>Подарочный сертификат 102 | 103 | <Группа> 104 | <Ид>9a34a49a-08e7-11e4-b6fd-bcaec5741d46 105 | <Наименование>Агентские платежи 106 | 107 | 108 | 109 | 110 | <Свойства> 111 | <Свойство> 112 | <Ид>bb14a4b8-6b17-11e0-9819-e0cb4ed5eed4 113 | <Наименование>Производитель 114 | <ТипЗначений>Справочник 115 | <ВариантыЗначений> 116 | <Справочник> 117 | <ИдЗначения>444bbea3-6b18-11e0-9819-e0cb4ed5eed4 118 | <Значение>Обувной комбинат 119 | 120 | <Справочник> 121 | <ИдЗначения>444bbea6-6b18-11e0-9819-e0cb4ed5eed4 122 | <Значение>АОЗТ Алекс 123 | 124 | <Справочник> 125 | <ИдЗначения>444bbea8-6b18-11e0-9819-e0cb4ed5eed4 126 | <Значение>Аозт Прима 127 | 128 | <Справочник> 129 | <ИдЗначения>444bbead-6b18-11e0-9819-e0cb4ed5eed4 130 | <Значение>АОЗТ" Холодильный комбинат" 131 | 132 | <Справочник> 133 | <ИдЗначения>444bbeb1-6b18-11e0-9819-e0cb4ed5eed4 134 | <Значение>АОЗТ "Кондитерский комбинат" 135 | 136 | <Справочник> 137 | <ИдЗначения>444bbebb-6b18-11e0-9819-e0cb4ed5eed4 138 | <Значение>АОЗТ "Бакалея" 139 | 140 | <Справочник> 141 | <ИдЗначения>444bbed2-6b18-11e0-9819-e0cb4ed5eed4 142 | <Значение>АОЗТ "Молоко" 143 | 144 | 145 | 146 | <Свойство> 147 | <Ид>bb14a4ba-6b17-11e0-9819-e0cb4ed5eed4 148 | <Наименование>Вид товара 149 | <ТипЗначений>Справочник 150 | <ВариантыЗначений> 151 | <Справочник> 152 | <ИдЗначения>444bbea4-6b18-11e0-9819-e0cb4ed5eed4 153 | <Значение>Демисезонная обувь 154 | 155 | <Справочник> 156 | <ИдЗначения>444bbea7-6b18-11e0-9819-e0cb4ed5eed4 157 | <Значение>Летняя обувь 158 | 159 | <Справочник> 160 | <ИдЗначения>444bbea9-6b18-11e0-9819-e0cb4ed5eed4 161 | <Значение>Кухонные комбайны 162 | 163 | <Справочник> 164 | <ИдЗначения>444bbeab-6b18-11e0-9819-e0cb4ed5eed4 165 | <Значение>Кофеварки 166 | 167 | <Справочник> 168 | <ИдЗначения>444bbeac-6b18-11e0-9819-e0cb4ed5eed4 169 | <Значение>Миксеры 170 | 171 | <Справочник> 172 | <ИдЗначения>444bbeae-6b18-11e0-9819-e0cb4ed5eed4 173 | <Значение>Холодильники 174 | 175 | <Справочник> 176 | <ИдЗначения>444bbeb0-6b18-11e0-9819-e0cb4ed5eed4 177 | <Значение>Вентиляторы 178 | 179 | <Справочник> 180 | <ИдЗначения>444bbeb2-6b18-11e0-9819-e0cb4ed5eed4 181 | <Значение>Конфеты 182 | 183 | <Справочник> 184 | <ИдЗначения>444bbeb4-6b18-11e0-9819-e0cb4ed5eed4 185 | <Значение>Вафли 186 | 187 | <Справочник> 188 | <ИдЗначения>444bbeb5-6b18-11e0-9819-e0cb4ed5eed4 189 | <Значение>Печенье 190 | 191 | <Справочник> 192 | <ИдЗначения>444bbeaf-6b18-11e0-9819-e0cb4ed5eed4 193 | <Значение>Мясорубки 194 | 195 | <Справочник> 196 | <ИдЗначения>444bbeb6-6b18-11e0-9819-e0cb4ed5eed4 197 | <Значение>Зимняя обувь 198 | 199 | <Справочник> 200 | <ИдЗначения>444bbeb7-6b18-11e0-9819-e0cb4ed5eed4 201 | <Значение>Спортивная обувь 202 | 203 | <Справочник> 204 | <ИдЗначения>444bbeb8-6b18-11e0-9819-e0cb4ed5eed4 205 | <Значение>Телевизоры 206 | 207 | <Справочник> 208 | <ИдЗначения>444bbeb9-6b18-11e0-9819-e0cb4ed5eed4 209 | <Значение>Кондиционеры 210 | 211 | <Справочник> 212 | <ИдЗначения>444bbeba-6b18-11e0-9819-e0cb4ed5eed4 213 | <Значение>Пылесосы 214 | 215 | <Справочник> 216 | <ИдЗначения>444bbebc-6b18-11e0-9819-e0cb4ed5eed4 217 | <Значение>Крупа 218 | 219 | <Справочник> 220 | <ИдЗначения>444bbedb-6b18-11e0-9819-e0cb4ed5eed4 221 | <Значение>Сахар 222 | 223 | <Справочник> 224 | <ИдЗначения>444bbed7-6b18-11e0-9819-e0cb4ed5eed4 225 | <Значение>Молоко 226 | 227 | <Справочник> 228 | <ИдЗначения>444bbed6-6b18-11e0-9819-e0cb4ed5eed4 229 | <Значение>Масло 230 | 231 | <Справочник> 232 | <ИдЗначения>444bbee2-6b18-11e0-9819-e0cb4ed5eed4 233 | <Значение>Электрочайники 234 | 235 | <Справочник> 236 | <ИдЗначения>444bbede-6b18-11e0-9819-e0cb4ed5eed4 237 | <Значение>Соковыжималки 238 | 239 | 240 | 241 | <Свойство> 242 | <Ид>bb14a4bc-6b17-11e0-9819-e0cb4ed5eed4 243 | <Наименование>Канал сбыта 244 | <ТипЗначений>Справочник 245 | <ВариантыЗначений> 246 | <Справочник> 247 | <ИдЗначения>444bbea5-6b18-11e0-9819-e0cb4ed5eed4 248 | <Значение>Опт 249 | 250 | <Справочник> 251 | <ИдЗначения>444bbeaa-6b18-11e0-9819-e0cb4ed5eed4 252 | <Значение>Реализация 253 | 254 | <Справочник> 255 | <ИдЗначения>444bbeb3-6b18-11e0-9819-e0cb4ed5eed4 256 | <Значение>Розница 257 | 258 | 259 | 260 | <Свойство> 261 | <Ид>444bbea0-6b18-11e0-9819-e0cb4ed5eed4 262 | <Наименование>Основной поставщик 263 | <ТипЗначений>Строка 264 | 265 | <Свойство> 266 | <Ид>444bbe97-6b18-11e0-9819-e0cb4ed5eed4 267 | <Наименование>Пол 268 | <ТипЗначений>Справочник 269 | <ВариантыЗначений> 270 | <Справочник> 271 | <ИдЗначения>444bbeec-6b18-11e0-9819-e0cb4ed5eed4 272 | <Значение>муж 273 | 274 | <Справочник> 275 | <ИдЗначения>444bbef5-6b18-11e0-9819-e0cb4ed5eed4 276 | <Значение>жен 277 | 278 | <Справочник> 279 | <ИдЗначения>444bbf08-6b18-11e0-9819-e0cb4ed5eed4 280 | <Значение>унисекс 281 | 282 | 283 | 284 | <Свойство> 285 | <Ид>444bbe9b-6b18-11e0-9819-e0cb4ed5eed4 286 | <Наименование>Количество деталей 287 | <ТипЗначений>Справочник 288 | <ВариантыЗначений> 289 | <Справочник> 290 | <ИдЗначения>444bbeef-6b18-11e0-9819-e0cb4ed5eed4 291 | <Значение>54 292 | 293 | <Справочник> 294 | <ИдЗначения>444bbef1-6b18-11e0-9819-e0cb4ed5eed4 295 | <Значение>80 296 | 297 | <Справочник> 298 | <ИдЗначения>444bbef2-6b18-11e0-9819-e0cb4ed5eed4 299 | <Значение>160 300 | 301 | <Справочник> 302 | <ИдЗначения>444bbf02-6b18-11e0-9819-e0cb4ed5eed4 303 | <Значение>1000 304 | 305 | <Справочник> 306 | <ИдЗначения>444bbf03-6b18-11e0-9819-e0cb4ed5eed4 307 | <Значение>560 308 | 309 | <Справочник> 310 | <ИдЗначения>444bbf04-6b18-11e0-9819-e0cb4ed5eed4 311 | <Значение>360 312 | 313 | <Справочник> 314 | <ИдЗначения>444bbf05-6b18-11e0-9819-e0cb4ed5eed4 315 | <Значение>1500 316 | 317 | <Справочник> 318 | <ИдЗначения>444bbf06-6b18-11e0-9819-e0cb4ed5eed4 319 | <Значение>260 320 | 321 | <Справочник> 322 | <ИдЗначения>444bbf09-6b18-11e0-9819-e0cb4ed5eed4 323 | <Значение>60 324 | 325 | <Справочник> 326 | <ИдЗначения>444bbf0a-6b18-11e0-9819-e0cb4ed5eed4 327 | <Значение>104 328 | 329 | <Справочник> 330 | <ИдЗначения>444bbf34-6b18-11e0-9819-e0cb4ed5eed4 331 | <Значение>120 332 | 333 | <Справочник> 334 | <ИдЗначения>444bbf89-6b18-11e0-9819-e0cb4ed5eed4 335 | <Значение>24 336 | 337 | <Справочник> 338 | <ИдЗначения>444bbf8a-6b18-11e0-9819-e0cb4ed5eed4 339 | <Значение>35 340 | 341 | <Справочник> 342 | <ИдЗначения>444bbf91-6b18-11e0-9819-e0cb4ed5eed4 343 | <Значение>999 344 | 345 | <Справочник> 346 | <ИдЗначения>444bbf92-6b18-11e0-9819-e0cb4ed5eed4 347 | <Значение>180 348 | 349 | <Справочник> 350 | <ИдЗначения>444bbf93-6b18-11e0-9819-e0cb4ed5eed4 351 | <Значение>320 352 | 353 | <Справочник> 354 | <ИдЗначения>444bbf94-6b18-11e0-9819-e0cb4ed5eed4 355 | <Значение>45 356 | 357 | <Справочник> 358 | <ИдЗначения>444bbf95-6b18-11e0-9819-e0cb4ed5eed4 359 | <Значение>170 360 | 361 | <Справочник> 362 | <ИдЗначения>444bbf96-6b18-11e0-9819-e0cb4ed5eed4 363 | <Значение>175 364 | 365 | <Справочник> 366 | <ИдЗначения>444bbf97-6b18-11e0-9819-e0cb4ed5eed4 367 | <Значение>300 368 | 369 | <Справочник> 370 | <ИдЗначения>444bbf98-6b18-11e0-9819-e0cb4ed5eed4 371 | <Значение>100 372 | 373 | <Справочник> 374 | <ИдЗначения>444bbf99-6b18-11e0-9819-e0cb4ed5eed4 375 | <Значение>250 376 | 377 | <Справочник> 378 | <ИдЗначения>444bbf9a-6b18-11e0-9819-e0cb4ed5eed4 379 | <Значение>150 380 | 381 | <Справочник> 382 | <ИдЗначения>444bbf9b-6b18-11e0-9819-e0cb4ed5eed4 383 | <Значение>12 384 | 385 | <Справочник> 386 | <ИдЗначения>444bbf9c-6b18-11e0-9819-e0cb4ed5eed4 387 | <Значение>16 388 | 389 | <Справочник> 390 | <ИдЗначения>444bbf9d-6b18-11e0-9819-e0cb4ed5eed4 391 | <Значение>10 392 | 393 | <Справочник> 394 | <ИдЗначения>444bbf9e-6b18-11e0-9819-e0cb4ed5eed4 395 | <Значение>27 396 | 397 | <Справочник> 398 | <ИдЗначения>444bbf9f-6b18-11e0-9819-e0cb4ed5eed4 399 | <Значение>117 400 | 401 | <Справочник> 402 | <ИдЗначения>444bbfa0-6b18-11e0-9819-e0cb4ed5eed4 403 | <Значение>253 404 | 405 | <Справочник> 406 | <ИдЗначения>444bbfa1-6b18-11e0-9819-e0cb4ed5eed4 407 | <Значение>235 408 | 409 | <Справочник> 410 | <ИдЗначения>444bbfa2-6b18-11e0-9819-e0cb4ed5eed4 411 | <Значение>66 412 | 413 | <Справочник> 414 | <ИдЗначения>444bbfa3-6b18-11e0-9819-e0cb4ed5eed4 415 | <Значение>44 416 | 417 | <Справочник> 418 | <ИдЗначения>444bbfaa-6b18-11e0-9819-e0cb4ed5eed4 419 | <Значение>95 420 | 421 | <Справочник> 422 | <ИдЗначения>444bbfc2-6b18-11e0-9819-e0cb4ed5eed4 423 | <Значение>115 424 | 425 | 426 | 427 | <Свойство> 428 | <Ид>444bbe9c-6b18-11e0-9819-e0cb4ed5eed4 429 | <Наименование>Вид детского питания 430 | <ТипЗначений>Справочник 431 | <ВариантыЗначений> 432 | <Справочник> 433 | <ИдЗначения>444bbf18-6b18-11e0-9819-e0cb4ed5eed4 434 | <Значение>Пюре 435 | 436 | <Справочник> 437 | <ИдЗначения>444bbf2e-6b18-11e0-9819-e0cb4ed5eed4 438 | <Значение>Соки 439 | 440 | <Справочник> 441 | <ИдЗначения>444bbf73-6b18-11e0-9819-e0cb4ed5eed4 442 | <Значение>Вода 443 | 444 | <Справочник> 445 | <ИдЗначения>444bbfb5-6b18-11e0-9819-e0cb4ed5eed4 446 | <Значение>Йогурт 447 | 448 | <Справочник> 449 | <ИдЗначения>444bbfbe-6b18-11e0-9819-e0cb4ed5eed4 450 | <Значение>Творог 451 | 452 | <Справочник> 453 | <ИдЗначения>444bbfd1-6b18-11e0-9819-e0cb4ed5eed4 454 | <Значение>Кисломолочный 455 | 456 | <Справочник> 457 | <ИдЗначения>444bbfd6-6b18-11e0-9819-e0cb4ed5eed4 458 | <Значение>Молоко-сливки 459 | 460 | <Справочник> 461 | <ИдЗначения>444bbfd7-6b18-11e0-9819-e0cb4ed5eed4 462 | <Значение>Смеси 463 | 464 | 465 | 466 | <Свойство> 467 | <Ид>444bbe9d-6b18-11e0-9819-e0cb4ed5eed4 468 | <Наименование>Вкус 469 | <ТипЗначений>Справочник 470 | <ВариантыЗначений> 471 | <Справочник> 472 | <ИдЗначения>444bbf19-6b18-11e0-9819-e0cb4ed5eed4 473 | <Значение>груша 474 | 475 | <Справочник> 476 | <ИдЗначения>444bbf2c-6b18-11e0-9819-e0cb4ed5eed4 477 | <Значение>говядина 478 | 479 | <Справочник> 480 | <ИдЗначения>444bbf2f-6b18-11e0-9819-e0cb4ed5eed4 481 | <Значение>яблоко-морковь-груша 482 | 483 | <Справочник> 484 | <ИдЗначения>444bbf56-6b18-11e0-9819-e0cb4ed5eed4 485 | <Значение>яблоко 486 | 487 | <Справочник> 488 | <ИдЗначения>444bbf58-6b18-11e0-9819-e0cb4ed5eed4 489 | <Значение>яблоко-груша 490 | 491 | <Справочник> 492 | <ИдЗначения>444bbf59-6b18-11e0-9819-e0cb4ed5eed4 493 | <Значение>банан-манго 494 | 495 | <Справочник> 496 | <ИдЗначения>444bbf5a-6b18-11e0-9819-e0cb4ed5eed4 497 | <Значение>яблоко-банан 498 | 499 | <Справочник> 500 | <ИдЗначения>444bbf5b-6b18-11e0-9819-e0cb4ed5eed4 501 | <Значение>яблоко-персик 502 | 503 | <Справочник> 504 | <ИдЗначения>444bbf5c-6b18-11e0-9819-e0cb4ed5eed4 505 | <Значение>яблоко-сливки 506 | 507 | <Справочник> 508 | <ИдЗначения>444bbf5d-6b18-11e0-9819-e0cb4ed5eed4 509 | <Значение>персик-йогурт 510 | 511 | <Справочник> 512 | <ИдЗначения>444bbf5e-6b18-11e0-9819-e0cb4ed5eed4 513 | <Значение>груша-йогурт 514 | 515 | <Справочник> 516 | <ИдЗначения>444bbf5f-6b18-11e0-9819-e0cb4ed5eed4 517 | <Значение>яблоко-абрикос 518 | 519 | <Справочник> 520 | <ИдЗначения>444bbf60-6b18-11e0-9819-e0cb4ed5eed4 521 | <Значение>яблоко-персик-йогурт-гречка 522 | 523 | <Справочник> 524 | <ИдЗначения>444bbf61-6b18-11e0-9819-e0cb4ed5eed4 525 | <Значение>персик-груша-йогурт-рис 526 | 527 | <Справочник> 528 | <ИдЗначения>444bbf66-6b18-11e0-9819-e0cb4ed5eed4 529 | <Значение>яблоко-слива 530 | 531 | <Справочник> 532 | <ИдЗначения>444bbf67-6b18-11e0-9819-e0cb4ed5eed4 533 | <Значение>абрикос 534 | 535 | <Справочник> 536 | <ИдЗначения>444bbf74-6b18-11e0-9819-e0cb4ed5eed4 537 | <Значение>нейтральный 538 | 539 | <Справочник> 540 | <ИдЗначения>444bbf86-6b18-11e0-9819-e0cb4ed5eed4 541 | <Значение>яблочный с мякотью 542 | 543 | <Справочник> 544 | <ИдЗначения>444bbf88-6b18-11e0-9819-e0cb4ed5eed4 545 | <Значение>яблоко-тыква 546 | 547 | <Справочник> 548 | <ИдЗначения>444bbf8b-6b18-11e0-9819-e0cb4ed5eed4 549 | <Значение>виноград 550 | 551 | <Справочник> 552 | <ИдЗначения>444bbfac-6b18-11e0-9819-e0cb4ed5eed4 553 | <Значение>свинина 554 | 555 | <Справочник> 556 | <ИдЗначения>444bbfad-6b18-11e0-9819-e0cb4ed5eed4 557 | <Значение>индейка-сердце 558 | 559 | <Справочник> 560 | <ИдЗначения>444bbfae-6b18-11e0-9819-e0cb4ed5eed4 561 | <Значение>яблоко-морковь 562 | 563 | <Справочник> 564 | <ИдЗначения>444bbfaf-6b18-11e0-9819-e0cb4ed5eed4 565 | <Значение>банан 566 | 567 | <Справочник> 568 | <ИдЗначения>444bbfb0-6b18-11e0-9819-e0cb4ed5eed4 569 | <Значение>мультиовощи 570 | 571 | <Справочник> 572 | <ИдЗначения>444bbfb1-6b18-11e0-9819-e0cb4ed5eed4 573 | <Значение>мультифрукт 574 | 575 | <Справочник> 576 | <ИдЗначения>444bbfb6-6b18-11e0-9819-e0cb4ed5eed4 577 | <Значение>персик 578 | 579 | <Справочник> 580 | <ИдЗначения>444bbfb7-6b18-11e0-9819-e0cb4ed5eed4 581 | <Значение>абрикос-банан 582 | 583 | <Справочник> 584 | <ИдЗначения>444bbfb9-6b18-11e0-9819-e0cb4ed5eed4 585 | <Значение>тыква 586 | 587 | <Справочник> 588 | <ИдЗначения>444bbfbb-6b18-11e0-9819-e0cb4ed5eed4 589 | <Значение>малина 590 | 591 | <Справочник> 592 | <ИдЗначения>444bbfc0-6b18-11e0-9819-e0cb4ed5eed4 593 | <Значение>лесные ягоды 594 | 595 | <Справочник> 596 | <ИдЗначения>444bbfc1-6b18-11e0-9819-e0cb4ed5eed4 597 | <Значение>манго 598 | 599 | <Справочник> 600 | <ИдЗначения>444bbfc3-6b18-11e0-9819-e0cb4ed5eed4 601 | <Значение>яблоко-шиповник 602 | 603 | <Справочник> 604 | <ИдЗначения>444bbfc4-6b18-11e0-9819-e0cb4ed5eed4 605 | <Значение>яблоко-ежевика 606 | 607 | <Справочник> 608 | <ИдЗначения>444bbfc5-6b18-11e0-9819-e0cb4ed5eed4 609 | <Значение>говядина-сердце 610 | 611 | <Справочник> 612 | <ИдЗначения>444bbfc6-6b18-11e0-9819-e0cb4ed5eed4 613 | <Значение>говядина-печень 614 | 615 | <Справочник> 616 | <ИдЗначения>444bbfc7-6b18-11e0-9819-e0cb4ed5eed4 617 | <Значение>цыпленок-говядина 618 | 619 | <Справочник> 620 | <ИдЗначения>444bbfc8-6b18-11e0-9819-e0cb4ed5eed4 621 | <Значение>цыпленок 622 | 623 | <Справочник> 624 | <ИдЗначения>444bbfc9-6b18-11e0-9819-e0cb4ed5eed4 625 | <Значение>говядина-свинина 626 | 627 | <Справочник> 628 | <ИдЗначения>444bbfca-6b18-11e0-9819-e0cb4ed5eed4 629 | <Значение>морковь 630 | 631 | <Справочник> 632 | <ИдЗначения>444bbfcb-6b18-11e0-9819-e0cb4ed5eed4 633 | <Значение>натуральный 634 | 635 | <Справочник> 636 | <ИдЗначения>444bbfd0-6b18-11e0-9819-e0cb4ed5eed4 637 | <Значение>черника 638 | 639 | <Справочник> 640 | <ИдЗначения>444bbfd2-6b18-11e0-9819-e0cb4ed5eed4 641 | <Значение>чернослив 642 | 643 | <Справочник> 644 | <ИдЗначения>444bbfd3-6b18-11e0-9819-e0cb4ed5eed4 645 | <Значение>зел. яблоко 646 | 647 | <Справочник> 648 | <ИдЗначения>444bbfd4-6b18-11e0-9819-e0cb4ed5eed4 649 | <Значение>шиповник-малина 650 | 651 | <Справочник> 652 | <ИдЗначения>444bbfd5-6b18-11e0-9819-e0cb4ed5eed4 653 | <Значение>земляника-малина 654 | 655 | <Справочник> 656 | <ИдЗначения>444bbfd8-6b18-11e0-9819-e0cb4ed5eed4 657 | <Значение>киви-крыжовник 658 | 659 | <Справочник> 660 | <ИдЗначения>444bbfda-6b18-11e0-9819-e0cb4ed5eed4 661 | <Значение>яблоко мякоть 662 | 663 | <Справочник> 664 | <ИдЗначения>444bbfdb-6b18-11e0-9819-e0cb4ed5eed4 665 | <Значение>банан-клубника 666 | 667 | <Справочник> 668 | <ИдЗначения>444bc00c-6b18-11e0-9819-e0cb4ed5eed4 669 | <Значение>индейка 670 | 671 | <Справочник> 672 | <ИдЗначения>444bc00d-6b18-11e0-9819-e0cb4ed5eed4 673 | <Значение>яблоко-малина 674 | 675 | <Справочник> 676 | <ИдЗначения>444bc00e-6b18-11e0-9819-e0cb4ed5eed4 677 | <Значение>яблоко-вишня 678 | 679 | <Справочник> 680 | <ИдЗначения>444bc00f-6b18-11e0-9819-e0cb4ed5eed4 681 | <Значение>конина 682 | 683 | <Справочник> 684 | <ИдЗначения>444bc010-6b18-11e0-9819-e0cb4ed5eed4 685 | <Значение>кролик 686 | 687 | <Справочник> 688 | <ИдЗначения>444bc011-6b18-11e0-9819-e0cb4ed5eed4 689 | <Значение>абрикос-морковь 690 | 691 | <Справочник> 692 | <ИдЗначения>444bc012-6b18-11e0-9819-e0cb4ed5eed4 693 | <Значение>слива 694 | 695 | <Справочник> 696 | <ИдЗначения>444bc017-6b18-11e0-9819-e0cb4ed5eed4 697 | <Значение>черная смородина 698 | 699 | <Справочник> 700 | <ИдЗначения>444bc018-6b18-11e0-9819-e0cb4ed5eed4 701 | <Значение>яблоко-банан-йогурт 702 | 703 | <Справочник> 704 | <ИдЗначения>444bc019-6b18-11e0-9819-e0cb4ed5eed4 705 | <Значение>морковь-цветная капуста 706 | 707 | <Справочник> 708 | <ИдЗначения>444bc01a-6b18-11e0-9819-e0cb4ed5eed4 709 | <Значение>морковь-тыква-картофель 710 | 711 | <Справочник> 712 | <ИдЗначения>444bc01b-6b18-11e0-9819-e0cb4ed5eed4 713 | <Значение>морковь-сладкая кукуруза-картофель 714 | 715 | 716 | 717 | <Свойство> 718 | <Ид>444bbe9e-6b18-11e0-9819-e0cb4ed5eed4 719 | <Наименование>Объем банки 720 | <ТипЗначений>Справочник 721 | <ВариантыЗначений> 722 | <Справочник> 723 | <ИдЗначения>444bbf1a-6b18-11e0-9819-e0cb4ed5eed4 724 | <Значение>115 725 | 726 | <Справочник> 727 | <ИдЗначения>444bbf2d-6b18-11e0-9819-e0cb4ed5eed4 728 | <Значение>100 729 | 730 | <Справочник> 731 | <ИдЗначения>444bbf30-6b18-11e0-9819-e0cb4ed5eed4 732 | <Значение>0,15 733 | 734 | <Справочник> 735 | <ИдЗначения>444bbf57-6b18-11e0-9819-e0cb4ed5eed4 736 | <Значение>200 737 | 738 | <Справочник> 739 | <ИдЗначения>444bbf75-6b18-11e0-9819-e0cb4ed5eed4 740 | <Значение>1,5 741 | 742 | <Справочник> 743 | <ИдЗначения>444bbf77-6b18-11e0-9819-e0cb4ed5eed4 744 | <Значение>5 745 | 746 | <Справочник> 747 | <ИдЗначения>444bbf87-6b18-11e0-9819-e0cb4ed5eed4 748 | <Значение>0,2 749 | 750 | <Справочник> 751 | <ИдЗначения>444bbfa9-6b18-11e0-9819-e0cb4ed5eed4 752 | <Значение>0,5 753 | 754 | <Справочник> 755 | <ИдЗначения>444bbfb2-6b18-11e0-9819-e0cb4ed5eed4 756 | <Значение>120 757 | 758 | <Справочник> 759 | <ИдЗначения>444bbfcc-6b18-11e0-9819-e0cb4ed5eed4 760 | <Значение>0,1 761 | 762 | <Справочник> 763 | <ИдЗначения>444bbfd9-6b18-11e0-9819-e0cb4ed5eed4 764 | <Значение>0,33 765 | 766 | <Справочник> 767 | <ИдЗначения>444bc02a-6b18-11e0-9819-e0cb4ed5eed4 768 | <Значение>400 769 | 770 | 771 | 772 | <Свойство> 773 | <Ид>444bbe9a-6b18-11e0-9819-e0cb4ed5eed4 774 | <Наименование>Размер игрушки 775 | <ТипЗначений>Справочник 776 | <ВариантыЗначений> 777 | <Справочник> 778 | <ИдЗначения>444bbf62-6b18-11e0-9819-e0cb4ed5eed4 779 | <Значение>55 780 | 781 | <Справочник> 782 | <ИдЗначения>444bbf63-6b18-11e0-9819-e0cb4ed5eed4 783 | <Значение>65 784 | 785 | <Справочник> 786 | <ИдЗначения>444bbf64-6b18-11e0-9819-e0cb4ed5eed4 787 | <Значение>85 788 | 789 | <Справочник> 790 | <ИдЗначения>444bbf65-6b18-11e0-9819-e0cb4ed5eed4 791 | <Значение>100 792 | 793 | 794 | 795 | 796 | -------------------------------------------------------------------------------- /tests/xml/import.xml: -------------------------------------------------------------------------------- 1 |  2 | <КоммерческаяИнформация xmlns="urn:1C.ru:commerceml_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" 3 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ВерсияСхемы="2.07" 4 | ДатаФормирования="2017-07-13T14:45:41"> 5 | <Классификатор> 6 | <Ид>07cfe53d-5145-4c4e-a81c-899be39cc5bd 7 | <Наименование>Классификатор (Каталог товаров 07CFE53D) 8 | <Владелец> 9 | <Ид>ef8f948c-8403-11da-9ae9-000d884f5d77 10 | <Наименование>Cтройснаб 11 | <ПолноеНаименование>Cтройснаб 12 | <КПП>772301001 13 | 14 | <Группы> 15 | <Группа> 16 | <Ид>d94d0b7b-2661-11e6-88b3-5404a6a682f3 17 | <Наименование>Маркируемые товары 18 | 19 | <Группа> 20 | <Ид>d94d0b7f-2661-11e6-88b3-5404a6a682f3 21 | <Наименование>КиЗ (Контрольно-идентификационный знак) 22 | 23 | <Группа> 24 | <Ид>453d6e1a-7233-11e0-8636-0011951d229d 25 | <Наименование>Бытовая техника 26 | <Группы> 27 | <Группа> 28 | <Ид>f3257ce7-9c2f-11e1-a282-0011955bd175 29 | <Наименование>Бытовая техника с учетом серий, гарантия 12 мес. 30 | 31 | <Группа> 32 | <Ид>0497185d-4398-11e2-ae4d-bcaec5741d46 33 | <Наименование>Бытовая техника с учетом серий, гарантия 24 мес. 34 | 35 | 36 | 37 | <Группа> 38 | <Ид>453d6e1e-7233-11e0-8636-0011951d229d 39 | <Наименование>Одежда 40 | <Группы> 41 | <Группа> 42 | <Ид>04971895-4398-11e2-ae4d-bcaec5741d46 43 | <Наименование>Одежда для детей 44 | 45 | <Группа> 46 | <Ид>04971897-4398-11e2-ae4d-bcaec5741d46 47 | <Наименование>Одежда для взрослых 48 | 49 | <Группа> 50 | <Ид>a842c3bb-6c6c-11de-b4b4-00195b6993ba 51 | <Наименование>Одежда для малышей 52 | 53 | <Группа> 54 | <Ид>a842c3bf-6c6c-11de-b4b4-00195b6993ba 55 | <Наименование>Головные уборы 56 | 57 | <Группа> 58 | <Ид>a842c3ce-6c6c-11de-b4b4-00195b6993ba 59 | <Наименование>Варежки, перчатки 60 | 61 | 62 | 63 | <Группа> 64 | <Ид>453d6e3a-7233-11e0-8636-0011951d229d 65 | <Наименование>Обувь 66 | <Группы> 67 | <Группа> 68 | <Ид>e2ef973c-3804-11e2-ac60-b80305898c48 69 | <Наименование>Аксессуары для обуви 70 | 71 | <Группа> 72 | <Ид>e5a4c309-a659-11dd-acee-0015e9b8c48d 73 | <Наименование>Обувь 74 | 75 | 76 | 77 | <Группа> 78 | <Ид>21de2d59-03a2-11e2-af8c-b80305898c48 79 | <Наименование>Прочие товары 80 | <Группы> 81 | <Группа> 82 | <Ид>9747001a-606e-11e5-8b28-bcaec5741d46 83 | <Наименование>Алкоголь 84 | 85 | <Группа> 86 | <Ид>04971873-4398-11e2-ae4d-bcaec5741d46 87 | <Наименование>Продовольственные товары 88 | 89 | <Группа> 90 | <Ид>04971891-4398-11e2-ae4d-bcaec5741d46 91 | <Наименование>Мебель 92 | 93 | <Группа> 94 | <Ид>878499de-4454-11e2-ae4d-bcaec5741d46 95 | <Наименование>Игрушки 96 | 97 | 98 | 99 | <Группа> 100 | <Ид>21de2d5a-03a2-11e2-af8c-b80305898c48 101 | <Наименование>Услуги 102 | <Группы> 103 | <Группа> 104 | <Ид>fccb0988-10ce-11df-852f-0011951d229d 105 | <Наименование>Подарочный сертификат 106 | 107 | <Группа> 108 | <Ид>9a34a49a-08e7-11e4-b6fd-bcaec5741d46 109 | <Наименование>Агентские платежи 110 | 111 | 112 | 113 | 114 | <Свойства> 115 | <Свойство> 116 | <Ид>bb14a4b8-6b17-11e0-9819-e0cb4ed5eed4 117 | <Наименование>Производитель 118 | <ТипЗначений>Справочник 119 | <ВариантыЗначений> 120 | <Справочник> 121 | <ИдЗначения>444bbea3-6b18-11e0-9819-e0cb4ed5eed4 122 | <Значение>Обувной комбинат 123 | 124 | <Справочник> 125 | <ИдЗначения>444bbea6-6b18-11e0-9819-e0cb4ed5eed4 126 | <Значение>АОЗТ Алекс 127 | 128 | <Справочник> 129 | <ИдЗначения>444bbea8-6b18-11e0-9819-e0cb4ed5eed4 130 | <Значение>Аозт Прима 131 | 132 | <Справочник> 133 | <ИдЗначения>444bbead-6b18-11e0-9819-e0cb4ed5eed4 134 | <Значение>АОЗТ" Холодильный комбинат" 135 | 136 | <Справочник> 137 | <ИдЗначения>444bbeb1-6b18-11e0-9819-e0cb4ed5eed4 138 | <Значение>АОЗТ "Кондитерский комбинат" 139 | 140 | <Справочник> 141 | <ИдЗначения>444bbebb-6b18-11e0-9819-e0cb4ed5eed4 142 | <Значение>АОЗТ "Бакалея" 143 | 144 | <Справочник> 145 | <ИдЗначения>444bbed2-6b18-11e0-9819-e0cb4ed5eed4 146 | <Значение>АОЗТ "Молоко" 147 | 148 | 149 | 150 | <Свойство> 151 | <Ид>bb14a4ba-6b17-11e0-9819-e0cb4ed5eed4 152 | <Наименование>Вид товара 153 | <ТипЗначений>Справочник 154 | <ВариантыЗначений> 155 | <Справочник> 156 | <ИдЗначения>444bbea4-6b18-11e0-9819-e0cb4ed5eed4 157 | <Значение>Демисезонная обувь 158 | 159 | <Справочник> 160 | <ИдЗначения>444bbea7-6b18-11e0-9819-e0cb4ed5eed4 161 | <Значение>Летняя обувь 162 | 163 | <Справочник> 164 | <ИдЗначения>444bbea9-6b18-11e0-9819-e0cb4ed5eed4 165 | <Значение>Кухонные комбайны 166 | 167 | <Справочник> 168 | <ИдЗначения>444bbeab-6b18-11e0-9819-e0cb4ed5eed4 169 | <Значение>Кофеварки 170 | 171 | <Справочник> 172 | <ИдЗначения>444bbeac-6b18-11e0-9819-e0cb4ed5eed4 173 | <Значение>Миксеры 174 | 175 | <Справочник> 176 | <ИдЗначения>444bbeae-6b18-11e0-9819-e0cb4ed5eed4 177 | <Значение>Холодильники 178 | 179 | <Справочник> 180 | <ИдЗначения>444bbeb0-6b18-11e0-9819-e0cb4ed5eed4 181 | <Значение>Вентиляторы 182 | 183 | <Справочник> 184 | <ИдЗначения>444bbeb2-6b18-11e0-9819-e0cb4ed5eed4 185 | <Значение>Конфеты 186 | 187 | <Справочник> 188 | <ИдЗначения>444bbeb4-6b18-11e0-9819-e0cb4ed5eed4 189 | <Значение>Вафли 190 | 191 | <Справочник> 192 | <ИдЗначения>444bbeb5-6b18-11e0-9819-e0cb4ed5eed4 193 | <Значение>Печенье 194 | 195 | <Справочник> 196 | <ИдЗначения>444bbeaf-6b18-11e0-9819-e0cb4ed5eed4 197 | <Значение>Мясорубки 198 | 199 | <Справочник> 200 | <ИдЗначения>444bbeb6-6b18-11e0-9819-e0cb4ed5eed4 201 | <Значение>Зимняя обувь 202 | 203 | <Справочник> 204 | <ИдЗначения>444bbeb7-6b18-11e0-9819-e0cb4ed5eed4 205 | <Значение>Спортивная обувь 206 | 207 | <Справочник> 208 | <ИдЗначения>444bbeb8-6b18-11e0-9819-e0cb4ed5eed4 209 | <Значение>Телевизоры 210 | 211 | <Справочник> 212 | <ИдЗначения>444bbeb9-6b18-11e0-9819-e0cb4ed5eed4 213 | <Значение>Кондиционеры 214 | 215 | <Справочник> 216 | <ИдЗначения>444bbeba-6b18-11e0-9819-e0cb4ed5eed4 217 | <Значение>Пылесосы 218 | 219 | <Справочник> 220 | <ИдЗначения>444bbebc-6b18-11e0-9819-e0cb4ed5eed4 221 | <Значение>Крупа 222 | 223 | <Справочник> 224 | <ИдЗначения>444bbedb-6b18-11e0-9819-e0cb4ed5eed4 225 | <Значение>Сахар 226 | 227 | <Справочник> 228 | <ИдЗначения>444bbed7-6b18-11e0-9819-e0cb4ed5eed4 229 | <Значение>Молоко 230 | 231 | <Справочник> 232 | <ИдЗначения>444bbed6-6b18-11e0-9819-e0cb4ed5eed4 233 | <Значение>Масло 234 | 235 | <Справочник> 236 | <ИдЗначения>444bbee2-6b18-11e0-9819-e0cb4ed5eed4 237 | <Значение>Электрочайники 238 | 239 | <Справочник> 240 | <ИдЗначения>444bbede-6b18-11e0-9819-e0cb4ed5eed4 241 | <Значение>Соковыжималки 242 | 243 | 244 | 245 | <Свойство> 246 | <Ид>bb14a4bc-6b17-11e0-9819-e0cb4ed5eed4 247 | <Наименование>Канал сбыта 248 | <ТипЗначений>Справочник 249 | <ВариантыЗначений> 250 | <Справочник> 251 | <ИдЗначения>444bbea5-6b18-11e0-9819-e0cb4ed5eed4 252 | <Значение>Опт 253 | 254 | <Справочник> 255 | <ИдЗначения>444bbeaa-6b18-11e0-9819-e0cb4ed5eed4 256 | <Значение>Реализация 257 | 258 | <Справочник> 259 | <ИдЗначения>444bbeb3-6b18-11e0-9819-e0cb4ed5eed4 260 | <Значение>Розница 261 | 262 | 263 | 264 | <Свойство> 265 | <Ид>444bbea0-6b18-11e0-9819-e0cb4ed5eed4 266 | <Наименование>Основной поставщик 267 | <ТипЗначений>Строка 268 | 269 | <Свойство> 270 | <Ид>444bbe97-6b18-11e0-9819-e0cb4ed5eed4 271 | <Наименование>Пол 272 | <ТипЗначений>Справочник 273 | <ВариантыЗначений> 274 | <Справочник> 275 | <ИдЗначения>444bbeec-6b18-11e0-9819-e0cb4ed5eed4 276 | <Значение>муж 277 | 278 | <Справочник> 279 | <ИдЗначения>444bbef5-6b18-11e0-9819-e0cb4ed5eed4 280 | <Значение>жен 281 | 282 | <Справочник> 283 | <ИдЗначения>444bbf08-6b18-11e0-9819-e0cb4ed5eed4 284 | <Значение>унисекс 285 | 286 | 287 | 288 | <Свойство> 289 | <Ид>444bbe9b-6b18-11e0-9819-e0cb4ed5eed4 290 | <Наименование>Количество деталей 291 | <ТипЗначений>Справочник 292 | <ВариантыЗначений> 293 | <Справочник> 294 | <ИдЗначения>444bbeef-6b18-11e0-9819-e0cb4ed5eed4 295 | <Значение>54 296 | 297 | <Справочник> 298 | <ИдЗначения>444bbef1-6b18-11e0-9819-e0cb4ed5eed4 299 | <Значение>80 300 | 301 | <Справочник> 302 | <ИдЗначения>444bbef2-6b18-11e0-9819-e0cb4ed5eed4 303 | <Значение>160 304 | 305 | <Справочник> 306 | <ИдЗначения>444bbf02-6b18-11e0-9819-e0cb4ed5eed4 307 | <Значение>1000 308 | 309 | <Справочник> 310 | <ИдЗначения>444bbf03-6b18-11e0-9819-e0cb4ed5eed4 311 | <Значение>560 312 | 313 | <Справочник> 314 | <ИдЗначения>444bbf04-6b18-11e0-9819-e0cb4ed5eed4 315 | <Значение>360 316 | 317 | <Справочник> 318 | <ИдЗначения>444bbf05-6b18-11e0-9819-e0cb4ed5eed4 319 | <Значение>1500 320 | 321 | <Справочник> 322 | <ИдЗначения>444bbf06-6b18-11e0-9819-e0cb4ed5eed4 323 | <Значение>260 324 | 325 | <Справочник> 326 | <ИдЗначения>444bbf09-6b18-11e0-9819-e0cb4ed5eed4 327 | <Значение>60 328 | 329 | <Справочник> 330 | <ИдЗначения>444bbf0a-6b18-11e0-9819-e0cb4ed5eed4 331 | <Значение>104 332 | 333 | <Справочник> 334 | <ИдЗначения>444bbf34-6b18-11e0-9819-e0cb4ed5eed4 335 | <Значение>120 336 | 337 | <Справочник> 338 | <ИдЗначения>444bbf89-6b18-11e0-9819-e0cb4ed5eed4 339 | <Значение>24 340 | 341 | <Справочник> 342 | <ИдЗначения>444bbf8a-6b18-11e0-9819-e0cb4ed5eed4 343 | <Значение>35 344 | 345 | <Справочник> 346 | <ИдЗначения>444bbf91-6b18-11e0-9819-e0cb4ed5eed4 347 | <Значение>999 348 | 349 | <Справочник> 350 | <ИдЗначения>444bbf92-6b18-11e0-9819-e0cb4ed5eed4 351 | <Значение>180 352 | 353 | <Справочник> 354 | <ИдЗначения>444bbf93-6b18-11e0-9819-e0cb4ed5eed4 355 | <Значение>320 356 | 357 | <Справочник> 358 | <ИдЗначения>444bbf94-6b18-11e0-9819-e0cb4ed5eed4 359 | <Значение>45 360 | 361 | <Справочник> 362 | <ИдЗначения>444bbf95-6b18-11e0-9819-e0cb4ed5eed4 363 | <Значение>170 364 | 365 | <Справочник> 366 | <ИдЗначения>444bbf96-6b18-11e0-9819-e0cb4ed5eed4 367 | <Значение>175 368 | 369 | <Справочник> 370 | <ИдЗначения>444bbf97-6b18-11e0-9819-e0cb4ed5eed4 371 | <Значение>300 372 | 373 | <Справочник> 374 | <ИдЗначения>444bbf98-6b18-11e0-9819-e0cb4ed5eed4 375 | <Значение>100 376 | 377 | <Справочник> 378 | <ИдЗначения>444bbf99-6b18-11e0-9819-e0cb4ed5eed4 379 | <Значение>250 380 | 381 | <Справочник> 382 | <ИдЗначения>444bbf9a-6b18-11e0-9819-e0cb4ed5eed4 383 | <Значение>150 384 | 385 | <Справочник> 386 | <ИдЗначения>444bbf9b-6b18-11e0-9819-e0cb4ed5eed4 387 | <Значение>12 388 | 389 | <Справочник> 390 | <ИдЗначения>444bbf9c-6b18-11e0-9819-e0cb4ed5eed4 391 | <Значение>16 392 | 393 | <Справочник> 394 | <ИдЗначения>444bbf9d-6b18-11e0-9819-e0cb4ed5eed4 395 | <Значение>10 396 | 397 | <Справочник> 398 | <ИдЗначения>444bbf9e-6b18-11e0-9819-e0cb4ed5eed4 399 | <Значение>27 400 | 401 | <Справочник> 402 | <ИдЗначения>444bbf9f-6b18-11e0-9819-e0cb4ed5eed4 403 | <Значение>117 404 | 405 | <Справочник> 406 | <ИдЗначения>444bbfa0-6b18-11e0-9819-e0cb4ed5eed4 407 | <Значение>253 408 | 409 | <Справочник> 410 | <ИдЗначения>444bbfa1-6b18-11e0-9819-e0cb4ed5eed4 411 | <Значение>235 412 | 413 | <Справочник> 414 | <ИдЗначения>444bbfa2-6b18-11e0-9819-e0cb4ed5eed4 415 | <Значение>66 416 | 417 | <Справочник> 418 | <ИдЗначения>444bbfa3-6b18-11e0-9819-e0cb4ed5eed4 419 | <Значение>44 420 | 421 | <Справочник> 422 | <ИдЗначения>444bbfaa-6b18-11e0-9819-e0cb4ed5eed4 423 | <Значение>95 424 | 425 | <Справочник> 426 | <ИдЗначения>444bbfc2-6b18-11e0-9819-e0cb4ed5eed4 427 | <Значение>115 428 | 429 | 430 | 431 | <Свойство> 432 | <Ид>444bbe9c-6b18-11e0-9819-e0cb4ed5eed4 433 | <Наименование>Вид детского питания 434 | <ТипЗначений>Справочник 435 | <ВариантыЗначений> 436 | <Справочник> 437 | <ИдЗначения>444bbf18-6b18-11e0-9819-e0cb4ed5eed4 438 | <Значение>Пюре 439 | 440 | <Справочник> 441 | <ИдЗначения>444bbf2e-6b18-11e0-9819-e0cb4ed5eed4 442 | <Значение>Соки 443 | 444 | <Справочник> 445 | <ИдЗначения>444bbf73-6b18-11e0-9819-e0cb4ed5eed4 446 | <Значение>Вода 447 | 448 | <Справочник> 449 | <ИдЗначения>444bbfb5-6b18-11e0-9819-e0cb4ed5eed4 450 | <Значение>Йогурт 451 | 452 | <Справочник> 453 | <ИдЗначения>444bbfbe-6b18-11e0-9819-e0cb4ed5eed4 454 | <Значение>Творог 455 | 456 | <Справочник> 457 | <ИдЗначения>444bbfd1-6b18-11e0-9819-e0cb4ed5eed4 458 | <Значение>Кисломолочный 459 | 460 | <Справочник> 461 | <ИдЗначения>444bbfd6-6b18-11e0-9819-e0cb4ed5eed4 462 | <Значение>Молоко-сливки 463 | 464 | <Справочник> 465 | <ИдЗначения>444bbfd7-6b18-11e0-9819-e0cb4ed5eed4 466 | <Значение>Смеси 467 | 468 | 469 | 470 | <Свойство> 471 | <Ид>444bbe9d-6b18-11e0-9819-e0cb4ed5eed4 472 | <Наименование>Вкус 473 | <ТипЗначений>Справочник 474 | <ВариантыЗначений> 475 | <Справочник> 476 | <ИдЗначения>444bbf19-6b18-11e0-9819-e0cb4ed5eed4 477 | <Значение>груша 478 | 479 | <Справочник> 480 | <ИдЗначения>444bbf2c-6b18-11e0-9819-e0cb4ed5eed4 481 | <Значение>говядина 482 | 483 | <Справочник> 484 | <ИдЗначения>444bbf2f-6b18-11e0-9819-e0cb4ed5eed4 485 | <Значение>яблоко-морковь-груша 486 | 487 | <Справочник> 488 | <ИдЗначения>444bbf56-6b18-11e0-9819-e0cb4ed5eed4 489 | <Значение>яблоко 490 | 491 | <Справочник> 492 | <ИдЗначения>444bbf58-6b18-11e0-9819-e0cb4ed5eed4 493 | <Значение>яблоко-груша 494 | 495 | <Справочник> 496 | <ИдЗначения>444bbf59-6b18-11e0-9819-e0cb4ed5eed4 497 | <Значение>банан-манго 498 | 499 | <Справочник> 500 | <ИдЗначения>444bbf5a-6b18-11e0-9819-e0cb4ed5eed4 501 | <Значение>яблоко-банан 502 | 503 | <Справочник> 504 | <ИдЗначения>444bbf5b-6b18-11e0-9819-e0cb4ed5eed4 505 | <Значение>яблоко-персик 506 | 507 | <Справочник> 508 | <ИдЗначения>444bbf5c-6b18-11e0-9819-e0cb4ed5eed4 509 | <Значение>яблоко-сливки 510 | 511 | <Справочник> 512 | <ИдЗначения>444bbf5d-6b18-11e0-9819-e0cb4ed5eed4 513 | <Значение>персик-йогурт 514 | 515 | <Справочник> 516 | <ИдЗначения>444bbf5e-6b18-11e0-9819-e0cb4ed5eed4 517 | <Значение>груша-йогурт 518 | 519 | <Справочник> 520 | <ИдЗначения>444bbf5f-6b18-11e0-9819-e0cb4ed5eed4 521 | <Значение>яблоко-абрикос 522 | 523 | <Справочник> 524 | <ИдЗначения>444bbf60-6b18-11e0-9819-e0cb4ed5eed4 525 | <Значение>яблоко-персик-йогурт-гречка 526 | 527 | <Справочник> 528 | <ИдЗначения>444bbf61-6b18-11e0-9819-e0cb4ed5eed4 529 | <Значение>персик-груша-йогурт-рис 530 | 531 | <Справочник> 532 | <ИдЗначения>444bbf66-6b18-11e0-9819-e0cb4ed5eed4 533 | <Значение>яблоко-слива 534 | 535 | <Справочник> 536 | <ИдЗначения>444bbf67-6b18-11e0-9819-e0cb4ed5eed4 537 | <Значение>абрикос 538 | 539 | <Справочник> 540 | <ИдЗначения>444bbf74-6b18-11e0-9819-e0cb4ed5eed4 541 | <Значение>нейтральный 542 | 543 | <Справочник> 544 | <ИдЗначения>444bbf86-6b18-11e0-9819-e0cb4ed5eed4 545 | <Значение>яблочный с мякотью 546 | 547 | <Справочник> 548 | <ИдЗначения>444bbf88-6b18-11e0-9819-e0cb4ed5eed4 549 | <Значение>яблоко-тыква 550 | 551 | <Справочник> 552 | <ИдЗначения>444bbf8b-6b18-11e0-9819-e0cb4ed5eed4 553 | <Значение>виноград 554 | 555 | <Справочник> 556 | <ИдЗначения>444bbfac-6b18-11e0-9819-e0cb4ed5eed4 557 | <Значение>свинина 558 | 559 | <Справочник> 560 | <ИдЗначения>444bbfad-6b18-11e0-9819-e0cb4ed5eed4 561 | <Значение>индейка-сердце 562 | 563 | <Справочник> 564 | <ИдЗначения>444bbfae-6b18-11e0-9819-e0cb4ed5eed4 565 | <Значение>яблоко-морковь 566 | 567 | <Справочник> 568 | <ИдЗначения>444bbfaf-6b18-11e0-9819-e0cb4ed5eed4 569 | <Значение>банан 570 | 571 | <Справочник> 572 | <ИдЗначения>444bbfb0-6b18-11e0-9819-e0cb4ed5eed4 573 | <Значение>мультиовощи 574 | 575 | <Справочник> 576 | <ИдЗначения>444bbfb1-6b18-11e0-9819-e0cb4ed5eed4 577 | <Значение>мультифрукт 578 | 579 | <Справочник> 580 | <ИдЗначения>444bbfb6-6b18-11e0-9819-e0cb4ed5eed4 581 | <Значение>персик 582 | 583 | <Справочник> 584 | <ИдЗначения>444bbfb7-6b18-11e0-9819-e0cb4ed5eed4 585 | <Значение>абрикос-банан 586 | 587 | <Справочник> 588 | <ИдЗначения>444bbfb9-6b18-11e0-9819-e0cb4ed5eed4 589 | <Значение>тыква 590 | 591 | <Справочник> 592 | <ИдЗначения>444bbfbb-6b18-11e0-9819-e0cb4ed5eed4 593 | <Значение>малина 594 | 595 | <Справочник> 596 | <ИдЗначения>444bbfc0-6b18-11e0-9819-e0cb4ed5eed4 597 | <Значение>лесные ягоды 598 | 599 | <Справочник> 600 | <ИдЗначения>444bbfc1-6b18-11e0-9819-e0cb4ed5eed4 601 | <Значение>манго 602 | 603 | <Справочник> 604 | <ИдЗначения>444bbfc3-6b18-11e0-9819-e0cb4ed5eed4 605 | <Значение>яблоко-шиповник 606 | 607 | <Справочник> 608 | <ИдЗначения>444bbfc4-6b18-11e0-9819-e0cb4ed5eed4 609 | <Значение>яблоко-ежевика 610 | 611 | <Справочник> 612 | <ИдЗначения>444bbfc5-6b18-11e0-9819-e0cb4ed5eed4 613 | <Значение>говядина-сердце 614 | 615 | <Справочник> 616 | <ИдЗначения>444bbfc6-6b18-11e0-9819-e0cb4ed5eed4 617 | <Значение>говядина-печень 618 | 619 | <Справочник> 620 | <ИдЗначения>444bbfc7-6b18-11e0-9819-e0cb4ed5eed4 621 | <Значение>цыпленок-говядина 622 | 623 | <Справочник> 624 | <ИдЗначения>444bbfc8-6b18-11e0-9819-e0cb4ed5eed4 625 | <Значение>цыпленок 626 | 627 | <Справочник> 628 | <ИдЗначения>444bbfc9-6b18-11e0-9819-e0cb4ed5eed4 629 | <Значение>говядина-свинина 630 | 631 | <Справочник> 632 | <ИдЗначения>444bbfca-6b18-11e0-9819-e0cb4ed5eed4 633 | <Значение>морковь 634 | 635 | <Справочник> 636 | <ИдЗначения>444bbfcb-6b18-11e0-9819-e0cb4ed5eed4 637 | <Значение>натуральный 638 | 639 | <Справочник> 640 | <ИдЗначения>444bbfd0-6b18-11e0-9819-e0cb4ed5eed4 641 | <Значение>черника 642 | 643 | <Справочник> 644 | <ИдЗначения>444bbfd2-6b18-11e0-9819-e0cb4ed5eed4 645 | <Значение>чернослив 646 | 647 | <Справочник> 648 | <ИдЗначения>444bbfd3-6b18-11e0-9819-e0cb4ed5eed4 649 | <Значение>зел. яблоко 650 | 651 | <Справочник> 652 | <ИдЗначения>444bbfd4-6b18-11e0-9819-e0cb4ed5eed4 653 | <Значение>шиповник-малина 654 | 655 | <Справочник> 656 | <ИдЗначения>444bbfd5-6b18-11e0-9819-e0cb4ed5eed4 657 | <Значение>земляника-малина 658 | 659 | <Справочник> 660 | <ИдЗначения>444bbfd8-6b18-11e0-9819-e0cb4ed5eed4 661 | <Значение>киви-крыжовник 662 | 663 | <Справочник> 664 | <ИдЗначения>444bbfda-6b18-11e0-9819-e0cb4ed5eed4 665 | <Значение>яблоко мякоть 666 | 667 | <Справочник> 668 | <ИдЗначения>444bbfdb-6b18-11e0-9819-e0cb4ed5eed4 669 | <Значение>банан-клубника 670 | 671 | <Справочник> 672 | <ИдЗначения>444bc00c-6b18-11e0-9819-e0cb4ed5eed4 673 | <Значение>индейка 674 | 675 | <Справочник> 676 | <ИдЗначения>444bc00d-6b18-11e0-9819-e0cb4ed5eed4 677 | <Значение>яблоко-малина 678 | 679 | <Справочник> 680 | <ИдЗначения>444bc00e-6b18-11e0-9819-e0cb4ed5eed4 681 | <Значение>яблоко-вишня 682 | 683 | <Справочник> 684 | <ИдЗначения>444bc00f-6b18-11e0-9819-e0cb4ed5eed4 685 | <Значение>конина 686 | 687 | <Справочник> 688 | <ИдЗначения>444bc010-6b18-11e0-9819-e0cb4ed5eed4 689 | <Значение>кролик 690 | 691 | <Справочник> 692 | <ИдЗначения>444bc011-6b18-11e0-9819-e0cb4ed5eed4 693 | <Значение>абрикос-морковь 694 | 695 | <Справочник> 696 | <ИдЗначения>444bc012-6b18-11e0-9819-e0cb4ed5eed4 697 | <Значение>слива 698 | 699 | <Справочник> 700 | <ИдЗначения>444bc017-6b18-11e0-9819-e0cb4ed5eed4 701 | <Значение>черная смородина 702 | 703 | <Справочник> 704 | <ИдЗначения>444bc018-6b18-11e0-9819-e0cb4ed5eed4 705 | <Значение>яблоко-банан-йогурт 706 | 707 | <Справочник> 708 | <ИдЗначения>444bc019-6b18-11e0-9819-e0cb4ed5eed4 709 | <Значение>морковь-цветная капуста 710 | 711 | <Справочник> 712 | <ИдЗначения>444bc01a-6b18-11e0-9819-e0cb4ed5eed4 713 | <Значение>морковь-тыква-картофель 714 | 715 | <Справочник> 716 | <ИдЗначения>444bc01b-6b18-11e0-9819-e0cb4ed5eed4 717 | <Значение>морковь-сладкая кукуруза-картофель 718 | 719 | 720 | 721 | <Свойство> 722 | <Ид>444bbe9e-6b18-11e0-9819-e0cb4ed5eed4 723 | <Наименование>Объем банки 724 | <ТипЗначений>Справочник 725 | <ВариантыЗначений> 726 | <Справочник> 727 | <ИдЗначения>444bbf1a-6b18-11e0-9819-e0cb4ed5eed4 728 | <Значение>115 729 | 730 | <Справочник> 731 | <ИдЗначения>444bbf2d-6b18-11e0-9819-e0cb4ed5eed4 732 | <Значение>100 733 | 734 | <Справочник> 735 | <ИдЗначения>444bbf30-6b18-11e0-9819-e0cb4ed5eed4 736 | <Значение>0,15 737 | 738 | <Справочник> 739 | <ИдЗначения>444bbf57-6b18-11e0-9819-e0cb4ed5eed4 740 | <Значение>200 741 | 742 | <Справочник> 743 | <ИдЗначения>444bbf75-6b18-11e0-9819-e0cb4ed5eed4 744 | <Значение>1,5 745 | 746 | <Справочник> 747 | <ИдЗначения>444bbf77-6b18-11e0-9819-e0cb4ed5eed4 748 | <Значение>5 749 | 750 | <Справочник> 751 | <ИдЗначения>444bbf87-6b18-11e0-9819-e0cb4ed5eed4 752 | <Значение>0,2 753 | 754 | <Справочник> 755 | <ИдЗначения>444bbfa9-6b18-11e0-9819-e0cb4ed5eed4 756 | <Значение>0,5 757 | 758 | <Справочник> 759 | <ИдЗначения>444bbfb2-6b18-11e0-9819-e0cb4ed5eed4 760 | <Значение>120 761 | 762 | <Справочник> 763 | <ИдЗначения>444bbfcc-6b18-11e0-9819-e0cb4ed5eed4 764 | <Значение>0,1 765 | 766 | <Справочник> 767 | <ИдЗначения>444bbfd9-6b18-11e0-9819-e0cb4ed5eed4 768 | <Значение>0,33 769 | 770 | <Справочник> 771 | <ИдЗначения>444bc02a-6b18-11e0-9819-e0cb4ed5eed4 772 | <Значение>400 773 | 774 | 775 | 776 | <Свойство> 777 | <Ид>444bbe9a-6b18-11e0-9819-e0cb4ed5eed4 778 | <Наименование>Размер игрушки 779 | <ТипЗначений>Справочник 780 | <ВариантыЗначений> 781 | <Справочник> 782 | <ИдЗначения>444bbf62-6b18-11e0-9819-e0cb4ed5eed4 783 | <Значение>55 784 | 785 | <Справочник> 786 | <ИдЗначения>444bbf63-6b18-11e0-9819-e0cb4ed5eed4 787 | <Значение>65 788 | 789 | <Справочник> 790 | <ИдЗначения>444bbf64-6b18-11e0-9819-e0cb4ed5eed4 791 | <Значение>85 792 | 793 | <Справочник> 794 | <ИдЗначения>444bbf65-6b18-11e0-9819-e0cb4ed5eed4 795 | <Значение>100 796 | 797 | 798 | 799 | 800 | 801 | <Каталог СодержитТолькоИзменения="false"> 802 | <Ид>07cfe53d-5145-4c4e-a81c-899be39cc5bd 803 | <ИдКлассификатора>07cfe53d-5145-4c4e-a81c-899be39cc5bd 804 | <Наименование>Каталог товаров 07CFE53D 805 | <Владелец> 806 | <Ид>ef8f948c-8403-11da-9ae9-000d884f5d77 807 | <Наименование>Cтройснаб 808 | <ПолноеНаименование>Cтройснаб 809 | <КПП>772301001 810 | 811 | <Товары> 812 | <Товар> 813 | <Ид>bd72d910-55bc-11d9-848a-00112f43529a 814 | <Штрихкод>2000018987155 815 | <Артикул>Б-130001 816 | <Наименование>Женские ботфорты коричневые 817 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 818 | <Пересчет> 819 | <Единица>715 820 | <Коэффициент>1 821 | 822 | 823 | <Группы> 824 | <Ид>e5a4c309-a659-11dd-acee-0015e9b8c48d 825 | 826 | <Описание/> 827 | <Картинка>import_files/9d/9da00149441011e19bb10015174048b8_0e01fd9e204611e8b2a794de807044d1.jpg 828 | <Картинка>import_files/9d/9da00149441011e19bb10015174048b8_0e01fd9e204611e8b2a794de807044d2.jpg 829 | <Картинка>import_files/9d/9da00149441011e19bb10015174048b8_0e01fd9e204611e8b2a794de807044d3.jpg 830 | <ЗначенияСвойств> 831 | <ЗначенияСвойства> 832 | <Ид>bb14a4b8-6b17-11e0-9819-e0cb4ed5eed4 833 | <Значение>444bbea3-6b18-11e0-9819-e0cb4ed5eed4 834 | 835 | <ЗначенияСвойства> 836 | <Ид>bb14a4ba-6b17-11e0-9819-e0cb4ed5eed4 837 | <Значение>444bbea4-6b18-11e0-9819-e0cb4ed5eed4 838 | 839 | <ЗначенияСвойства> 840 | <Ид>bb14a4bc-6b17-11e0-9819-e0cb4ed5eed4 841 | <Значение>444bbea5-6b18-11e0-9819-e0cb4ed5eed4 842 | 843 | <ЗначенияСвойства> 844 | <Ид>444bbea0-6b18-11e0-9819-e0cb4ed5eed4 845 | <Значение>ООО Рога и копыта 846 | 847 | 848 | <ЗначенияРеквизитов> 849 | <ЗначениеРеквизита> 850 | <Наименование>ВидНоменклатуры 851 | <Значение>Обувь 852 | 853 | <ЗначениеРеквизита> 854 | <Наименование>ТипНоменклатуры 855 | <Значение>Товар 856 | 857 | <ЗначениеРеквизита> 858 | <Наименование>Полное наименование 859 | <Значение>Женские ботфорты коричневые 860 | 861 | <ЗначениеРеквизита> 862 | <Наименование>ОписаниеФайла 863 | <Значение>import_files/9d/9da00149441011e19bb10015174048b8_0e01fd9e204611e8b2a794de807044d1.jpg#Фото1 864 | 865 | 866 | 867 | <Товар> 868 | <Ид>bd72d913-55bc-11d9-848a-00112f43529a 869 | <Артикул>Б- 130005 870 | <Наименование>Ботинки женские демисезонные 871 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 872 | <Пересчет> 873 | <Единица>715 874 | <Коэффициент>1 875 | 876 | 877 | <Группы> 878 | <Ид>e5a4c309-a659-11dd-acee-0015e9b8c48d 879 | 880 | <Описание/> 881 | <ЗначенияСвойств> 882 | <ЗначенияСвойства> 883 | <Ид>bb14a4b8-6b17-11e0-9819-e0cb4ed5eed4 884 | <Значение>444bbea6-6b18-11e0-9819-e0cb4ed5eed4 885 | 886 | <ЗначенияСвойства> 887 | <Ид>bb14a4ba-6b17-11e0-9819-e0cb4ed5eed4 888 | <Значение>444bbea4-6b18-11e0-9819-e0cb4ed5eed4 889 | 890 | <ЗначенияСвойства> 891 | <Ид>bb14a4bc-6b17-11e0-9819-e0cb4ed5eed4 892 | <Значение>444bbea5-6b18-11e0-9819-e0cb4ed5eed4 893 | 894 | 895 | <ЗначенияРеквизитов> 896 | <ЗначениеРеквизита> 897 | <Наименование>ВидНоменклатуры 898 | <Значение>Обувь 899 | 900 | <ЗначениеРеквизита> 901 | <Наименование>ТипНоменклатуры 902 | <Значение>Товар 903 | 904 | <ЗначениеРеквизита> 905 | <Наименование>Полное наименование 906 | <Значение>Ботинки женские демисезонные 907 | 908 | 909 | 910 | 911 | 912 | -------------------------------------------------------------------------------- /tests/xml/import_wo_classifier.xml: -------------------------------------------------------------------------------- 1 |  2 | <КоммерческаяИнформация xmlns="urn:1C.ru:commerceml_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ВерсияСхемы="2.07" ДатаФормирования="2017-07-13T14:45:41"> 3 | <Каталог СодержитТолькоИзменения="false"> 4 | <Ид>07cfe53d-5145-4c4e-a81c-899be39cc5bd 5 | <ИдКлассификатора>07cfe53d-5145-4c4e-a81c-899be39cc5bd 6 | <Наименование>Каталог товаров 07CFE53D 7 | <Владелец> 8 | <Ид>ef8f948c-8403-11da-9ae9-000d884f5d77 9 | <Наименование>Cтройснаб 10 | <ПолноеНаименование>Cтройснаб 11 | <КПП>772301001 12 | 13 | <Товары> 14 | <Товар> 15 | <Ид>bd72d910-55bc-11d9-848a-00112f43529a 16 | <Штрихкод>2000018987155 17 | <Артикул>Б-130001 18 | <Наименование>Женские ботфорты коричневые 19 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 20 | <Пересчет> 21 | <Единица>715 22 | <Коэффициент>1 23 | 24 | 25 | <Группы> 26 | <Ид>e5a4c309-a659-11dd-acee-0015e9b8c48d 27 | 28 | <Описание/> 29 | <ЗначенияСвойств> 30 | <ЗначенияСвойства> 31 | <Ид>bb14a4b8-6b17-11e0-9819-e0cb4ed5eed4 32 | <Значение>444bbea3-6b18-11e0-9819-e0cb4ed5eed4 33 | 34 | <ЗначенияСвойства> 35 | <Ид>bb14a4ba-6b17-11e0-9819-e0cb4ed5eed4 36 | <Значение>444bbea4-6b18-11e0-9819-e0cb4ed5eed4 37 | 38 | <ЗначенияСвойства> 39 | <Ид>bb14a4bc-6b17-11e0-9819-e0cb4ed5eed4 40 | <Значение>444bbea5-6b18-11e0-9819-e0cb4ed5eed4 41 | 42 | 43 | <ЗначенияРеквизитов> 44 | <ЗначениеРеквизита> 45 | <Наименование>ВидНоменклатуры 46 | <Значение>Обувь 47 | 48 | <ЗначениеРеквизита> 49 | <Наименование>ТипНоменклатуры 50 | <Значение>Товар 51 | 52 | <ЗначениеРеквизита> 53 | <Наименование>Полное наименование 54 | <Значение>Женские ботфорты коричневые 55 | 56 | 57 | 58 | <Товар> 59 | <Ид>bd72d913-55bc-11d9-848a-00112f43529a 60 | <Артикул>Б- 130005 61 | <Наименование>Ботинки женские демисезонные 62 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 63 | <Пересчет> 64 | <Единица>715 65 | <Коэффициент>1 66 | 67 | 68 | <Группы> 69 | <Ид>e5a4c309-a659-11dd-acee-0015e9b8c48d 70 | 71 | <Описание/> 72 | <ЗначенияСвойств> 73 | <ЗначенияСвойства> 74 | <Ид>bb14a4b8-6b17-11e0-9819-e0cb4ed5eed4 75 | <Значение>444bbea6-6b18-11e0-9819-e0cb4ed5eed4 76 | 77 | <ЗначенияСвойства> 78 | <Ид>bb14a4ba-6b17-11e0-9819-e0cb4ed5eed4 79 | <Значение>444bbea4-6b18-11e0-9819-e0cb4ed5eed4 80 | 81 | <ЗначенияСвойства> 82 | <Ид>bb14a4bc-6b17-11e0-9819-e0cb4ed5eed4 83 | <Значение>444bbea5-6b18-11e0-9819-e0cb4ed5eed4 84 | 85 | 86 | <ЗначенияРеквизитов> 87 | <ЗначениеРеквизита> 88 | <Наименование>ВидНоменклатуры 89 | <Значение>Обувь 90 | 91 | <ЗначениеРеквизита> 92 | <Наименование>ТипНоменклатуры 93 | <Значение>Товар 94 | 95 | <ЗначениеРеквизита> 96 | <Наименование>Полное наименование 97 | <Значение>Ботинки женские демисезонные 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /tests/xml/offers.xml: -------------------------------------------------------------------------------- 1 |  2 | <КоммерческаяИнформация xmlns="urn:1C.ru:commerceml_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ВерсияСхемы="2.07" ДатаФормирования="2017-07-13T14:45:41"> 3 | <Классификатор> 4 | <Ид>07cfe53d-5145-4c4e-a81c-899be39cc5bd 5 | <Наименование>Классификатор (Каталог товаров 07CFE53D) 6 | <Владелец> 7 | <Ид>ef8f948c-8403-11da-9ae9-000d884f5d77 8 | <Наименование>Cтройснаб 9 | <ПолноеНаименование>Cтройснаб 10 | <КПП>772301001 11 | 12 | 13 | <ПакетПредложений СодержитТолькоИзменения="false"> 14 | <Ид>07cfe53d-5145-4c4e-a81c-899be39cc5bd# 15 | <Наименование>Пакет предложений ( Каталог товаров 07CFE53D ) 16 | <ИдКаталога>07cfe53d-5145-4c4e-a81c-899be39cc5bd 17 | <ИдКлассификатора>07cfe53d-5145-4c4e-a81c-899be39cc5bd 18 | <Владелец> 19 | <Ид>ef8f948c-8403-11da-9ae9-000d884f5d77 20 | <Наименование>Cтройснаб 21 | <ПолноеНаименование>Cтройснаб 22 | <КПП>772301001 23 | 24 | <ТипыЦен> 25 | <ТипЦены> 26 | <Ид>bb14a3a4-6b17-11e0-9819-e0cb4ed5eed4 27 | <Наименование>Розничная 28 | <Валюта>RUB 29 | <Налог> 30 | <Наименование>НДС 31 | <УчтеноВСумме>true 32 | <Акциз>false 33 | 34 | 35 | 36 | <Склады> 37 | <Склад> 38 | <Ид>b6112590-41ba-11dd-ac9d-0015e9b8c48d 39 | <Наименование>Магазин "Обувь" 40 | <Адрес> 41 | <Представление>РОССИЯ ,Москва г ,Москва г ,34 ,1 , 42 | <АдресноеПоле> 43 | <Тип>Страна 44 | <Значение>РОССИЯ 45 | 46 | <АдресноеПоле> 47 | <Тип>Регион 48 | <Значение>Москва г 49 | 50 | <АдресноеПоле> 51 | <Тип>Населенный пункт 52 | <Значение>Москва г 53 | 54 | <АдресноеПоле> 55 | <Тип>Дом 56 | <Значение>34 57 | 58 | <АдресноеПоле> 59 | <Тип>Корпус 60 | <Значение>1 61 | 62 | 63 | <Контакты> 64 | <Контакт> 65 | <Тип>Почта 66 | <Значение>Москва, Дмитровское шоссе, д.9 67 | 68 | 69 | 70 | <Склад> 71 | <Ид>b6112591-41ba-11dd-ac9d-0015e9b8c48d 72 | <Наименование>Магазин "Продукты" 73 | <Адрес> 74 | <Представление>РОССИЯ ,Москва г ,Москва г ,34 ,1 , 75 | <АдресноеПоле> 76 | <Тип>Страна 77 | <Значение>РОССИЯ 78 | 79 | <АдресноеПоле> 80 | <Тип>Регион 81 | <Значение>Москва г 82 | 83 | <АдресноеПоле> 84 | <Тип>Населенный пункт 85 | <Значение>Москва г 86 | 87 | <АдресноеПоле> 88 | <Тип>Дом 89 | <Значение>34 90 | 91 | <АдресноеПоле> 92 | <Тип>Корпус 93 | <Значение>1 94 | 95 | 96 | <Контакты> 97 | <Контакт> 98 | <Тип>Почта 99 | <Значение>Москва, Дмитровское шоссе, д.9 100 | 101 | 102 | 103 | <Склад> 104 | <Ид>b6112592-41ba-11dd-ac9d-0015e9b8c48d 105 | <Наименование>Магазин "Бытовая техника" 106 | <Адрес> 107 | <Представление>РОССИЯ ,Москва г ,Москва г ,34 ,1 , 108 | <АдресноеПоле> 109 | <Тип>Страна 110 | <Значение>РОССИЯ 111 | 112 | <АдресноеПоле> 113 | <Тип>Регион 114 | <Значение>Москва г 115 | 116 | <АдресноеПоле> 117 | <Тип>Населенный пункт 118 | <Значение>Москва г 119 | 120 | <АдресноеПоле> 121 | <Тип>Дом 122 | <Значение>34 123 | 124 | <АдресноеПоле> 125 | <Тип>Корпус 126 | <Значение>1 127 | 128 | 129 | <Контакты> 130 | <Контакт> 131 | <Тип>Почта 132 | <Значение>Москва, Дмитровское шоссе, д.9 133 | 134 | 135 | 136 | <Склад> 137 | <Ид>649efb01-6c6e-11de-b4b4-00195b6993ba 138 | <Наименование>Магазин "Детские товары". Воронеж 139 | <Адрес> 140 | <Представление>РОССИЯ ,Москва г ,Москва г ,34 ,1 , 141 | <АдресноеПоле> 142 | <Тип>Страна 143 | <Значение>РОССИЯ 144 | 145 | <АдресноеПоле> 146 | <Тип>Регион 147 | <Значение>Москва г 148 | 149 | <АдресноеПоле> 150 | <Тип>Населенный пункт 151 | <Значение>Москва г 152 | 153 | <АдресноеПоле> 154 | <Тип>Дом 155 | <Значение>34 156 | 157 | <АдресноеПоле> 158 | <Тип>Корпус 159 | <Значение>1 160 | 161 | 162 | <Контакты> 163 | <Контакт> 164 | <Тип>Почта 165 | <Значение>Москва, Дмитровское шоссе, д.9 166 | 167 | 168 | 169 | <Склад> 170 | <Ид>649efb02-6c6e-11de-b4b4-00195b6993ba 171 | <Наименование>Магазин "Детские товары". Тула 172 | <Адрес> 173 | <Представление>РОССИЯ ,Москва г ,Москва г ,34 ,1 , 174 | <АдресноеПоле> 175 | <Тип>Страна 176 | <Значение>РОССИЯ 177 | 178 | <АдресноеПоле> 179 | <Тип>Регион 180 | <Значение>Москва г 181 | 182 | <АдресноеПоле> 183 | <Тип>Населенный пункт 184 | <Значение>Москва г 185 | 186 | <АдресноеПоле> 187 | <Тип>Дом 188 | <Значение>34 189 | 190 | <АдресноеПоле> 191 | <Тип>Корпус 192 | <Значение>1 193 | 194 | 195 | <Контакты> 196 | <Контакт> 197 | <Тип>Почта 198 | <Значение>Москва, Дмитровское шоссе, д.9 199 | 200 | 201 | 202 | 203 | <Предложения> 204 | <Предложение> 205 | <Ид>bd72d910-55bc-11d9-848a-00112f43529a#90c55447-d3a8-11e4-9423-e0cb4ed5eed4 206 | <Артикул>Б-130001 207 | <Наименование>Женские ботфорты коричневые (38) 208 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 209 | <Пересчет> 210 | <Единица>715 211 | <Коэффициент>1 212 | 213 | 214 | <ХарактеристикиТовара> 215 | <ХарактеристикаТовара> 216 | <Ид>14ed8b06-55bd-11d9-848a-00112f43529a 217 | <Наименование>Размер 218 | <Значение>40 219 | 220 | <ХарактеристикаТовара> 221 | <Ид>14ed8b39-55bd-11d9-848a-00112f43529a 222 | <Наименование>Тип кожи 223 | <Значение>натуральная кожа 224 | 225 | <ХарактеристикаТовара> 226 | <Ид>05e26d72-01e4-11dc-a411-00055d80a2d1 227 | <Наименование>Цвет 228 | <Значение>Коричневый 229 | 230 | 231 | <Цены> 232 | <Цена> 233 | <Представление> 1 719 RUB за пара 234 | <ИдТипаЦены>bb14a3a4-6b17-11e0-9819-e0cb4ed5eed4 235 | <ЦенаЗаЕдиницу>1719 236 | <Валюта>RUB 237 | <Коэффициент>1 238 | 239 | 240 | <Количество>20 241 | <Склад ИдСклада="b6112590-41ba-11dd-ac9d-0015e9b8c48d" КоличествоНаСкладе="20"/> 242 | 243 | <Предложение> 244 | <Ид>bd72d910-55bc-11d9-848a-00112f43529a#e5a4c316-a659-11dd-acee-0015e9b8c48d 245 | <Артикул>Б-130001 246 | <Наименование>Женские ботфорты коричневые (39) 247 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 248 | <Пересчет> 249 | <Единица>715 250 | <Коэффициент>1 251 | 252 | 253 | <Цены> 254 | <Цена> 255 | <Представление> 1 496 RUB за пара 256 | <ИдТипаЦены>bb14a3a4-6b17-11e0-9819-e0cb4ed5eed4 257 | <ЦенаЗаЕдиницу>1496 258 | <Валюта>RUB 259 | <Коэффициент>1 260 | 261 | 262 | <Количество>19 263 | <Склад ИдСклада="b6112590-41ba-11dd-ac9d-0015e9b8c48d" КоличествоНаСкладе="19"/> 264 | 265 | <Предложение> 266 | <Ид>bd72d913-55bc-11d9-848a-00112f43529a#90c55449-d3a8-11e4-9423-e0cb4ed5eed4 267 | <Артикул>Б- 130005 268 | <Наименование>Ботинки женские демисезонные (35) 269 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 270 | <Пересчет> 271 | <Единица>715 272 | <Коэффициент>1 273 | 274 | 275 | <Цены> 276 | <Цена> 277 | <Представление> 1 309 RUB за пара 278 | <ИдТипаЦены>bb14a3a4-6b17-11e0-9819-e0cb4ed5eed4 279 | <ЦенаЗаЕдиницу>1309 280 | <Валюта>RUB 281 | <Коэффициент>1 282 | 283 | 284 | <Количество>120 285 | <Склад ИдСклада="b6112590-41ba-11dd-ac9d-0015e9b8c48d" КоличествоНаСкладе="120"/> 286 | 287 | <Предложение> 288 | <Ид>bd72d913-55bc-11d9-848a-00112f43529a#90c5544a-d3a8-11e4-9423-e0cb4ed5eed4 289 | <Артикул>Б- 130005 290 | <Наименование>Ботинки женские демисезонные (36) 291 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 292 | <Пересчет> 293 | <Единица>715 294 | <Коэффициент>1 295 | 296 | 297 | <Цены> 298 | <Цена> 299 | <Представление> 1 309 RUB за пара 300 | <ИдТипаЦены>bb14a3a4-6b17-11e0-9819-e0cb4ed5eed4 301 | <ЦенаЗаЕдиницу>1309 302 | <Валюта>RUB 303 | <Коэффициент>1 304 | 305 | 306 | <Количество>15 307 | <Склад ИдСклада="b6112590-41ba-11dd-ac9d-0015e9b8c48d" КоличествоНаСкладе="15"/> 308 | 309 | <Предложение> 310 | <Ид>bd72d913-55bc-11d9-848a-00112f43529a#ad5de1b6-ca90-11dd-ad02-0015e9b8c48d 311 | <Артикул>Б- 130005 312 | <Наименование>Ботинки женские демисезонные (37) 313 | <БазоваяЕдиница Код="715" НаименованиеПолное="Пара (2 шт.)"> 314 | <Пересчет> 315 | <Единица>715 316 | <Коэффициент>1 317 | 318 | 319 | <Цены> 320 | <Цена> 321 | <Представление> 1 271 RUB за пара 322 | <ИдТипаЦены>bb14a3a4-6b17-11e0-9819-e0cb4ed5eed4 323 | <ЦенаЗаЕдиницу>1271 324 | <Валюта>RUB 325 | <Коэффициент>1 326 | 327 | 328 | <Количество>45 329 | <Склад ИдСклада="b6112590-41ba-11dd-ac9d-0015e9b8c48d" КоличествоНаСкладе="45"/> 330 | 331 | 332 | 333 | -------------------------------------------------------------------------------- /tests/xml/orders.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carono/php-commerceml/bdc5adc6a66dfcd99c3ad27e880feba33a4679f8/tests/xml/orders.xml --------------------------------------------------------------------------------