https://wiki.umisoft.ru/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B0_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8%D0%B7_1%D0%A1&feed=atom&action=historyТехническая сторона импорта данных из 1С - История изменений2024-03-29T00:09:50ZИстория изменений этой страницы в викиMediaWiki 1.31.0https://wiki.umisoft.ru/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B0_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8%D0%B7_1%D0%A1&diff=8038&oldid=prevPerevozchikov.ilya в 11:27, 22 ноября 20172017-11-22T11:27:38Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ru">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Предыдущая</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Версия 11:27, 22 ноября 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l17" >Строка 17:</td>
<td colspan="2" class="diff-lineno">Строка 17:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''3. Обработка данных.''' Как только все данные в UMI.CMS получены, происходит обработка полученных данных и непосредственно их импорт. Сначала обрабатывается xml-файл import.xml. По определенной логике считывается 25-ть элементов данных из файла, полученная структура преобразуется во внутренний формат системы UMIDump2.0 ([http://api.umi-cms.ru/umiDump20.html]). Для конвертации xml данных используется шаблон /xsl/import/commerceML2.xsl и /xsl/import/custom/commerceML2.xsl. Xsl шаблон в папке custom используется в том случае, если необходимо поменять стандартный механизм преобразовании данных, допустим если вам надо импортировать не одну Цену товара, а сразу все [http://wiki.umisoft.ru/Импорт_всех_типов_Цен]. Шаблон в папке custom не затирается при обновлении системы<del class="diffchange diffchange-inline">. Об основных принципах преобразования xml-данных в формате Commerce ML 2.0 в формат UMIDump2.0 будет рассказано в отдельной статье. Вернемся к импорту</del>. После преобразования порции xml-данных в UMIDump2.0, происходит импорт полученных данных в систему. Постепенно происходит обработка всего файла import.xml, далее идет очередь за offers.xml.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''3. Обработка данных.''' Как только все данные в UMI.CMS получены, происходит обработка полученных данных и непосредственно их импорт. Сначала обрабатывается xml-файл import.xml. По определенной логике считывается 25-ть элементов данных из файла, полученная структура преобразуется во внутренний формат системы UMIDump2.0 ([http://api.umi-cms.ru/umiDump20.html]). Для конвертации xml данных используется шаблон /xsl/import/commerceML2.xsl и /xsl/import/custom/commerceML2.xsl. Xsl шаблон в папке custom используется в том случае, если необходимо поменять стандартный механизм преобразовании данных, допустим если вам надо импортировать не одну Цену товара, а сразу все [http://wiki.umisoft.ru/Импорт_всех_типов_Цен]. Шаблон в папке custom не затирается при обновлении системы. После преобразования порции xml-данных в UMIDump2.0, происходит импорт полученных данных в систему. Постепенно происходит обработка всего файла import.xml, далее идет очередь за offers.xml.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>Perevozchikov.ilyahttps://wiki.umisoft.ru/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B0_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8%D0%B7_1%D0%A1&diff=1715&oldid=prevVITL' в 19:48, 29 августа 20102010-08-29T19:48:04Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="ru">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Предыдущая</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Версия 19:48, 29 августа 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l24" >Строка 24:</td>
<td colspan="2" class="diff-lineno">Строка 24:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>При удалении, какого либо раздела или объекта каталога в корзину, он продолжает существовать в системе и его данные будут обновляться при повторном импорте. Для полноценного удаления раздела или объекта каталога, необходимо произвести удаление из корзины.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>При удалении, какого либо раздела или объекта каталога в корзину, он продолжает существовать в системе и его данные будут обновляться при повторном импорте. Для полноценного удаления раздела или объекта каталога, необходимо произвести удаление из корзины.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>После импорта данных, разделы можно распределить по сайту на свое усмотрение, даже можно переместить раздел в другой домен той же системы, необходимая связь все равно сохранится и данные будут обновляться, также как и добавляться новые объекты каталога. Это достигается за счет того, что в базе данных, в таблице cms3_import_relations прописано соответствие между id раздела в 1С и id в UMI.CMS. Происходит импорт в тот же самый раздел, не важно где он находится, главное чтобы он существовал.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>После импорта данных, разделы можно распределить по сайту на свое усмотрение, даже можно переместить раздел в другой домен той же системы, необходимая связь все равно сохранится и данные будут обновляться, также как и добавляться новые объекты каталога. Это достигается за счет того, что в базе данных, в таблице cms3_import_relations прописано соответствие между id раздела в 1С и id в UMI.CMS. Происходит импорт в тот же самый раздел, не важно где он находится, главное чтобы он существовал<ins class="diffchange diffchange-inline">. В той же таблице прописаны соответствия element_id номенклатурных позиций в 1С и объектов каталога в UMI.CMS</ins>.</div></td></tr>
</table>VITL'https://wiki.umisoft.ru/index.php?title=%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B0_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8%D0%B7_1%D0%A1&diff=1698&oldid=prevVITL': Новая страница: « category:Интеграция с 1С Перед выполнением обмена данными с Web-сайтом, можно настроить парам…»2010-08-23T21:20:35Z<p>Новая страница: « <a href="/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D1%81_1%D0%A1" title="Категория:Интеграция с 1С">category:Интеграция с 1С</a> Перед выполнением обмена данными с Web-сайтом, можно настроить парам…»</p>
<p><b>Новая страница</b></p><div> [[category:Интеграция с 1С]]<br />
Перед выполнением обмена данными с Web-сайтом, можно настроить параметры импорта в конфигурационном файле config.ini (секция modules):<br />
[http://help-dev.umi-cms.ru/part.Config.modules.html]<br />
<br />
Настройки позволяют указать:<br />
* будут ли активными разделы каталога или объекты, при создании их в системе.<br />
* какой шаблон будет назначен для объектов и разделов, указывается имя файла, допустим, inner.tpl или default.xsl. <br />
* какая Цена будет использоваться, актуально если в 1С у вас несколько цен, допустим Оптовая, Розничная, Мелко оптовая, и т.д.<br />
* видимость в меню создаваемых разделов каталога и объектов.<br />
<br />
<br />
'''1. Подготовка данных.''' Когда сценарий обмена данными с Web-сайтом настроен и запущена команда «Выполнить обмен», система 1С подготавливает данные для отправки, во временной директории операционной системы пользователя. В директории хранятся исходные данные, разбитые на равные части, по 100Кб. Это части фалов import.xml, offers.xml и изображений (в случае если размер изображения более 100Кб). <br />
Для изучения, файлы import.xml и offers.xml можно получить, выбрав тип обмена данных «Выгрузка в каталог», а не «Выгрузка на сайт». В файле import.xml хранятся основные данные по каждой номенклатурной позиции, свойства, расположение в группе, наименование и др. В файле offers.xml сохраняются цены для каждой номенклатуры, их может быть несколько для одного элемента.<br />
<br />
<br />
'''2. Передача данных.''' Далее, с использованием открытого протокола обмена данными ([http://v8.1c.ru/edi/edi_stnd/131/]) происходит отправка данных на сервер где установлена UMI.CMS. Управляющий метод auto() находится файле classes/modules/exchange/__auto.php. Метод принимает данные разбитые на части, собирает их постепенно в единое целое, сохраняя в определенных директориях. В папке sys-temp/1c_import/ собираются файлы import.xml и offers.xml. В папке /images/cms/data/ сохраняются изображения, обычно это папка import_files, в которой находятся вложенные папки с изображениями. В 1С, с помощью визуального интерфейса вы видите как на сервер, по частям, отправляются все данные.<br />
<br />
<br />
'''3. Обработка данных.''' Как только все данные в UMI.CMS получены, происходит обработка полученных данных и непосредственно их импорт. Сначала обрабатывается xml-файл import.xml. По определенной логике считывается 25-ть элементов данных из файла, полученная структура преобразуется во внутренний формат системы UMIDump2.0 ([http://api.umi-cms.ru/umiDump20.html]). Для конвертации xml данных используется шаблон /xsl/import/commerceML2.xsl и /xsl/import/custom/commerceML2.xsl. Xsl шаблон в папке custom используется в том случае, если необходимо поменять стандартный механизм преобразовании данных, допустим если вам надо импортировать не одну Цену товара, а сразу все [http://wiki.umisoft.ru/Импорт_всех_типов_Цен]. Шаблон в папке custom не затирается при обновлении системы. Об основных принципах преобразования xml-данных в формате Commerce ML 2.0 в формат UMIDump2.0 будет рассказано в отдельной статье. Вернемся к импорту. После преобразования порции xml-данных в UMIDump2.0, происходит импорт полученных данных в систему. Постепенно происходит обработка всего файла import.xml, далее идет очередь за offers.xml.<br />
<br />
<br />
'''4. Результаты импорта.''' После импорта данных на сайт, в структуре сайта появляются разделы каталога с объектами из 1C, а в модуле «Шаблоны данных», создаются дочерние типы данных по отношению к типу «Объект каталога», иерархия типов повторяет структуру разделов с элементами номенклатуры в 1С. Как можно изменить стандартное поведение системы, связанное с созданием Типа Данных на каждый Раздел Каталога описано в данной статье: [http://wiki.umisoft.ru/Единственный_тип_данных_Объект_каталога,_при_импорте_из_1С]<br />
<br />
При удалении, какого либо раздела или объекта каталога в корзину, он продолжает существовать в системе и его данные будут обновляться при повторном импорте. Для полноценного удаления раздела или объекта каталога, необходимо произвести удаление из корзины.<br />
<br />
После импорта данных, разделы можно распределить по сайту на свое усмотрение, даже можно переместить раздел в другой домен той же системы, необходимая связь все равно сохранится и данные будут обновляться, также как и добавляться новые объекты каталога. Это достигается за счет того, что в базе данных, в таблице cms3_import_relations прописано соответствие между id раздела в 1С и id в UMI.CMS. Происходит импорт в тот же самый раздел, не важно где он находится, главное чтобы он существовал.</div>VITL'