Телеграм:@camouf_ruПочта:mihail@bazarow.ru
ЛетоОсеньЗимаВесна

Серия 16: Выгрузка товаров из 1С-УТ в Битрикс

Просмотров: 11715

Выгружаем каталог товаров из 1С_Управление Торговлей в инфоблок торогового каталога на 1С-Битрикс.

Для выгрузки используем дополнительный, бесплатный модуль обмена от 1С-Битрикс. Скачать можно по ссылке Модуль обмена 1С и Битрикс

Инструкция по установке дополнительного модуля обмена, в приложенном архиве

Серия 16: Выгрузка товаров из 1С-УТ в Битрикс

Дополнительные файлы


Все серии

Комментарии к видео

menicheka@gmail.com04.09.2018
Добрый день, Михаил.
Спасибо за подсказку, выгрузила с сайта и увидела следующее:

<ЗначенияСвойства>
    <Ид>99</Ид>
    <Значение>f830ff16-aa6b-11e8-bbc2-50465d725e8a</Значение>
    <ЗначениеСвойства>
         <Значение>f830ff16-aa6b-11e8-bbc2-50465d725e8a</Значение>
         <Описание></Описание>
    </ЗначениеСвойства>
    <Значение>f830ff1b-aa6b-11e8-bbc2-50465d725e8a</Значение>
    <ЗначениеСвойства>
         <Значение>f830ff1b-aa6b-11e8-bbc2-50465d725e8a</Значение>
         <Описание></Описание>
    </ЗначениеСвойства>
</ЗначенияСвойства>

Получается, что я не правильно сделала поправку в XMl - схеме, но не могу понять, где же у меня ошибка:
Код
<xs:complexType name="ЗначениеРеквизита">       <xs:sequence>          <xs:element name="Наименование" type="tns:Наименование"/>          <xs:element name="Значение" type="tns:ЗначениеСвойства" maxOccurs="unbounded"/>       </xs:sequence>    </xs:complexType>    <xs:simpleType name="ЗначениеСвойства">       <xs:restriction base="xs:string">          <xs:minLength value="0"/>          <xs:maxLength value="1000"/>       </xs:restriction>    </xs:simpleType>    <xs:complexType name="ЗначенияСвойства">       <xs:sequence>          <xs:element name="Ид" type="tns:Идентификатор"/>          <xs:element name="Наименование" type="tns:Наименование" minOccurs="0"/>          <xs:element name="Значение" type="tns:ЗначениеСвойства" minOccurs="0" maxOccurs="unbounded"/>          <xs:element name="ЗначениеСвойства" minOccurs="0" maxOccurs="unbounded">             <xs:complexType>                <xs:sequence>                   <xs:element name="Значение" type="tns:ЗначениеСвойства" maxOccurs="1"/>                </xs:sequence>             </xs:complexType>          </xs:element>       </xs:sequence>    </xs:complexType>    <xs:simpleType name="Идентификатор">       <xs:restriction base="xs:string">          <xs:minLength value="1"/>          <xs:maxLength value="40"/>       </xs:restriction>    </xs:simpleType>    <xs:complexType name="Каталог"> 

Вставила "ЗначениеСвойства" в XDTO пакет. У меня конфигурация "Управление небольшой фирмой".

Но когда создаю выгрузку
Код
ЗначенияСвойстваXDTO.Значение.Добавить(ЗначениеСвойства);             ЗначениеСвойстваXDTO = ФабрикаXDTO.Создать(ПакетCML.Получить("ЗначениеСвойства"));             ЗначениеСвойстваXDTO.Значение.Добавить(ЗначениеСвойства);                 Продолжить; 
То выходит ошибка:
Код
{ОбщийМодуль.ОбменССайтом.Модуль(2192)}: Значение не является значением объектного типа (Значение)             ЗначениеСвойстваXDTO.Значение.Добавить(ЗначениеСвойства); 
menicheka@gmail.com05.09.2018
Нашла ошибку в коде 1С, надо было прописать следующим образом:
Код
ЗначенияСвойстваXDTO.Значение.Добавить(ЗначениеСвойства); ЗначениеСвойстваXDTO = ФабрикаXDTO.Создать(ПакетCML.Получить("ЗначенияСвойства").свойства.Получить("ЗначениеСвойства").Тип); ЗначениеСвойстваXDTO.Значение = ЗначениеСвойства; ЗначенияСвойстваXDTO.ЗначениеСвойства.Добавить(ЗначениеСвойстваXDTO); 
И все сработало :)
gepard09@inbox.ru05.09.2018
Здравствуйте. Извиняюсь за возможную глупость ) Итак, был создан сайт на битриксе без корзины (редакция малый бизнес). С 1с по каким-то причинам не была произведена интеграция, поэтому сайт жил своей жизнью, а 1с - своей. Заказы в 1с оформлялись менеджерами. Так вот, существует ли вообще такая возможность - без выгрузки товаров из 1с в битрикс, реализовать на сайте оформление заказа через корзину, чтобы заказ попадал в 1с? Спасибо.
Михаил Базаров06.09.2018
Цитата
gepard09@inbox.ru написал:
Здравствуйте. Извиняюсь за возможную глупость ) Итак, был создан сайт на битриксе без корзины (редакция малый бизнес). С 1с по каким-то причинам не была произведена интеграция, поэтому сайт жил своей жизнью, а 1с - своей. Заказы в 1с оформлялись менеджерами. Так вот, существует ли вообще такая возможность - без выгрузки товаров из 1с в битрикс, реализовать на сайте оформление заказа через корзину, чтобы заказ попадал в 1с? Спасибо.
Да, можно. Просто включите обмен, в 1С выберите только обмен документами
После оформления заказа на сайте, заказы будут создаваться в 1С, если в 1С нет нужного товара- он будет там создан (в настройках выгрузки, в 1С, нужно выбрать куда должны складываться отсутствующие товары)
gepard09@inbox.ru06.09.2018
Цитата
Михаил Базаров пишет:
Цитата
gepard09@inbox.ru написал:
Здравствуйте. Извиняюсь за возможную глупость ) Итак, был создан сайт на битриксе без корзины (редакция малый бизнес). С 1с по каким-то причинам не была произведена интеграция, поэтому сайт жил своей жизнью, а 1с - своей. Заказы в 1с оформлялись менеджерами. Так вот, существует ли вообще такая возможность - без выгрузки товаров из 1с в битрикс, реализовать на сайте оформление заказа через корзину, чтобы заказ попадал в 1с? Спасибо.
Да, можно. Просто включите обмен, в 1С выберите только обмен документами
После оформления заказа на сайте, заказы будут создаваться в 1С, если в 1С нет нужного товара- он будет там создан (в настройках выгрузки, в 1С, нужно выбрать куда должны складываться отсутствующие товары)
Круто было бы если бы видео запилили. Огромное спасибо! Дорожная карта теперь есть :)
gepard09@inbox.ru06.09.2018
Цитата
gepard09@inbox.ru пишет:
Цитата
Михаил Базаров пишет:
Цитата
gepard09@inbox.ru написал:
Здравствуйте. Извиняюсь за возможную глупость ) Итак, был создан сайт на битриксе без корзины (редакция малый бизнес). С 1с по каким-то причинам не была произведена интеграция, поэтому сайт жил своей жизнью, а 1с - своей. Заказы в 1с оформлялись менеджерами. Так вот, существует ли вообще такая возможность - без выгрузки товаров из 1с в битрикс, реализовать на сайте оформление заказа через корзину, чтобы заказ попадал в 1с? Спасибо.
Да, можно. Просто включите обмен, в 1С выберите только обмен документами
После оформления заказа на сайте, заказы будут создаваться в 1С, если в 1С нет нужного товара- он будет там создан (в настройках выгрузки, в 1С, нужно выбрать куда должны складываться отсутствующие товары)
Круто было бы если бы видео запилили. Огромное спасибо! Дорожная карта теперь есть
а как привязать уже имеющиеся товары в битрикс и 1с? Чтобы при заказе 1с понимала, что именно этот товар покупается
Михаил Базаров06.09.2018
Цитата
gepard09@inbox.ru написал:

а как привязать уже имеющиеся товары в битрикс и 1с? Чтобы при заказе 1с понимала, что именно этот товар покупается

Можно прописать всем товарам внешний код, как в 1С (тот который XML-ID), но правильнее, все таки обменяться из 1С с сайтом.
Если, все сделать грамотно- то потерь по СЕО не будет.
gepard09@inbox.ru12.09.2018
Цитата
Михаил Базаров пишет:
Цитата
gepard09@inbox.ru написал:

а как привязать уже имеющиеся товары в битрикс и 1с? Чтобы при заказе 1с понимала, что именно этот товар покупается
Можно прописать всем товарам внешний код, как в 1С (тот который XML-ID), но правильнее, все таки обменяться из 1С с сайтом.
Если, все сделать грамотно- то потерь по СЕО не будет.
Подскажите пожалуйста, если прописывать всем товарам внешний код, как в 1С (XML-ID), не понял с какими файлами нужно работать (прописывать всем товарам внешний код) и где эти файлы расположены?
gepard09@inbox.ru18.09.2018
Цитата
gepard09@inbox.ru пишет:
Цитата
Михаил Базаров пишет:
Цитата
gepard09@inbox.ru написал:

а как привязать уже имеющиеся товары в битрикс и 1с? Чтобы при заказе 1с понимала, что именно этот товар покупается
Можно прописать всем товарам внешний код, как в 1С (тот который XML-ID), но правильнее, все таки обменяться из 1С с сайтом.
Если, все сделать грамотно- то потерь по СЕО не будет.
Подскажите пожалуйста, если прописывать всем товарам внешний код, как в 1С (XML-ID), не понял с какими файлами нужно работать (прописывать всем товарам внешний код) и где эти файлы расположены?
Прошу прощения за назойливость, ответьте пожалуйста если вопрос не заметили.
Михаил Базаров18.09.2018
Цитата
gepard09@inbox.ru написал:
Прошу прощения за назойливость, ответьте пожалуйста если вопрос не заметили.

У каждого товара есть XML-ID увидеть его можно в редактировании элемента. Или вывести прямо на странице <?=$arItem['XML_ID']?>
Вот их и нужно синхронизировать между 1с и сайтом
Иван Исаев19.12.2018
Добрый день.

Подскажите пожалуйста можно ли настроить выгрузку остатков по складу с сериями номенклатуры?
     Возможно как отдельный реквизит, или может быть для этого на сайте потребуется больше доработок чем можно настроить?

Так же интересно можно ли выгружать на сайт - товары которые мы заказали у поставщика?
     Не хотелось бы создавать под это фиктивный склад "Товары в пути" - такой вариант ломает удобные функции УТ.
     (Вижу в настройках галочку - "Выгружать планируемую дату поступления в товары") - имеет ли это отношение к моему вопросу?
Ну и конечно: Правильно ли я понимаю, что настройка "Выгружать остатки с учетом резерва" - должна выгружать только свободные остатки по складу?
Михаил Базаров20.12.2018
Цитата
Иван Исаев написал:
Добрый день.

Подскажите пожалуйста можно ли настроить выгрузку остатков по складу с сериями номенклатуры?
     Возможно как отдельный реквизит, или может быть для этого на сайте потребуется больше доработок чем можно настроить?

Так же интересно можно ли выгружать на сайт - товары которые мы заказали у поставщика?
     Не хотелось бы создавать под это фиктивный склад "Товары в пути" - такой вариант ломает удобные функции УТ.
     (Вижу в настройках галочку - "Выгружать планируемую дату поступления в товары") - имеет ли это отношение к моему вопросу?
Ну и конечно: Правильно ли я понимаю, что настройка "Выгружать остатки с учетом резерва" - должна выгружать только свободные остатки по складу?
Вот прям не подскажу, не на столько хорошо знаю 1С. По сути, можете выгрузить в xml файл- в настройках выгрузки, вместо сайта указать "Выгружать в каталог на диске". А там уж, поизучав xml-ку, можно доработать на стороне 1С и сайта- что бы выгружало и обрабатывало все, нужные данные.

Выгружать остатки с учетом резерва - не под эти задачи. Но если сможете, в 1С, подъезжающие товары обозначать как зарезервированные (главное не запутаться с реально зарезервированными) - вполне можно "закостылить" - под эту задачу.
Руслан Руслан20.12.2018
Добрый день подскажите пожалуйста, при выгрузке товара создается каждый раз дубль свойства с новым внешним, где это исправить нужно?)
Игорь Обрезков08.02.2019
День добрый, Михаил! В первых уроках давались рекомендации о хостинге на SSD. Подскажите, а какую Вы  используете схему для тестирования интеграции с 1C? Вы также устанавливаете сервер 1С (например 64) на Linux + CentOS  + PostgreSQL, а клиента на локальный компьютер? Или какая то ещё используется схема для тестирования?
Михаил Базаров08.02.2019
Цитата
Игорь Обрезков написал:
День добрый, Михаил! В первых уроках давались рекомендации о хостинге на SSD. Подскажите, а какую Вы  используете схему для тестирования интеграции с 1C? Вы также устанавливаете сервер 1С (например 64) на Linux + CentOS  + PostgreSQL, а клиента на локальный компьютер? Или какая то ещё используется схема для тестирования?  
Саму 1С я не устанавливаю и не конфигурирую. Как правило, на стороне клиента уже есть 1С-ник.
У себя, для первого обмена и вообще первой настройки интеграции, просто разворачиваю dt. 1С ку ставлю или на Windows машину или на виртуалку в macOS (тоже под Windows)
Игорь Обрезков08.02.2019
Цитата
Михаил Базаров пишет:
У себя, для первого обмена и вообще первой настройки интеграции, просто разворачиваю dt
Ok, то есть как я понял Вам компания предоставляет свою выгруженную базу dt и Вы проводите первый обмен со своей виртуалки?
Игорь Обрезков08.02.2019
Спасибо, Михаил  :)
iphonevalera21@icloud.com06.11.2019
Здравствуйте, Михаил.
Такой вопрос, как вывести свойства товаров из 1С? Чтобы название свойства и их значения = свойства и значения в битриксе.

Выбирать из группы списка или как?

Спасибо!
Михаил Базаров06.11.2019
Цитата
iphonevalera21@icloud.com написал:
Здравствуйте, Михаил.
Такой вопрос, как вывести свойства товаров из 1С? Чтобы название свойства и их значения = свойства и значения в битриксе.

Выбирать из группы списка или как?

Спасибо!
Наверное, не понял вопрос.
Но, если понял правильно - просто выберите нужные свойства в настройках компонента.
Алексей Симонов18.03.2020
Добрый день!
Подскажите где рыть?
При обмене выгружается каталог, выгружаются разделы, выгружаются группы товаров, но сами товары в группы не выгружаются...
Михаил Базаров18.03.2020
Цитата
Алексей Симонов написал:
Добрый день!
Подскажите где рыть?
При обмене выгружается каталог, выгружаются разделы, выгружаются группы товаров, но сами товары в группы не выгружаются...
Первое что стоит проверить.
В настройках обмена, в параметрах выгрузки каталога (по моему, на второй вкладке) проверьте параметр: Классифицировать номенклатуру по видам.
Точно не помню, должна стоять или нет- сейчас нет 1С под рукой. Попробуйте выгрузить и со снятой и с проставленной галкой.

Если не поможет: попробуйте выгрузить 1-2 группы, с несколькими товарами в файл и посмотреть, что там в нем творится, привязаны ли товары к XML-ID групп
Руслан Газизуллин15.04.2020
Здравствуйте Михаил! Подскажите пожалуйста, как на этапе выгрузки поменять номенклатуру
witja24509.05.2020
Здравствуйте Михаил ! а не подскажите где и как можно сделать условия при обработке данных при выгрузке из 1С. Нужно сделать так что если в товарах в 1С нет описания а только краткое то на сайте в поле полное описание заносилось краткое описание
Михаил Базаров09.05.2020
Цитата
witja245 написал:
Здравствуйте Михаил ! а не подскажите где и как можно сделать условия при обработке данных при выгрузке из 1С. Нужно сделать так что если в товарах в 1С нет описания а только краткое то на сайте в поле полное описание заносилось краткое описание
Можно написать обработчик в init.php который будет его копировать.
Только смысл не очень понятен: просто выводите краткое описание, если не заполнено детальное
Код
if(empty($arResult['DETAIL_TEXT'])) { echo $arResult['PREVIEW_TEXT']; } else { echo $arResult['DETAIL_TEXT']; } 
Борис Герчиков17.12.2020
Добрый день!
Подскажите, почему выводятся не все товары на экран? При загрузке вручную. при сверке вроде бы все товары заполнены одинаково но не все видно. Количество постранично и по ряду увеличивал. Бесполезно. Подскажите в каком направлении искать ошибку. Заранее благодарю!
Михаил Базаров15.01.2021
Цитата
Борис Герчиков написал:
Добрый день!
Подскажите, почему выводятся не все товары на экран? При загрузке вручную. при сверке вроде бы все товары заполнены одинаково но не все видно. Количество постранично и по ряду увеличивал. Бесполезно. Подскажите в каком направлении искать ошибку. Заранее благодарю!
Может быть, включен режим не показа, не доступных товаров (без цен или без остатков)
Сергей Гудин06.05.2021
Добрый день, Михаил!
Не силен не в битриксе, не в 1с.
Вопрос о том, нужно ли использовать складской учет в битрикс для контроля остатков товара, при интеграции 1с?
Т.к. в решении "Малый бизнес " ограничение по складам, а мне нужно сделать два интернет магазина с 1с на одну лицензию.
Михаил Базаров07.05.2021
Цитата
Сергей Гудин написал:
Добрый день, Михаил!
Не силен не в битриксе, не в 1с.
Вопрос о том, нужно ли использовать складской учет в битрикс для контроля остатков товара, при интеграции 1с?
Т.к. в решении "Малый бизнес " ограничение по складам, а мне нужно сделать два интернет магазина с 1с на одну лицензию.
Если есть 1с-то в ней пусть и будет складской учет. Делать его в битриксе, смысла не имеет,
Вадим20.06.2022
Добрый день.
Если в настройках выгрузки в 1с добавляем новый подраздел и на него настраиваем выгрузку номенклатуры из определенного каталога, это подраздел должен автоматичесик создаться на сайте?
Михаил Базаров20.06.2022
Цитата
Вадим написал:
Добрый день.
Если в настройках выгрузки в 1с добавляем новый подраздел и на него настраиваем выгрузку номенклатуры из определенного каталога, это подраздел должен автоматичесик создаться на сайте?

Да, должен бы сам - если со стороны сайта как-то специально не заблокировали.