Выгрузка дополнительного реквизита в битрикс

 

Денисюк Александр

Дата последнего входа: 05.02.2016 18:29:59
Наименование компании: 1С Битрикс

Личная информация

Дата регистрации: 16.10.2013 17:37:53

————————————
Судя по этой информации он сотрудник Компании 1С Битрикс
то, что сотрудники компании ТАК общаются с клиентами и партнерами — к сожалению, ничего удивительного уже в этом нет
по крайней мере за последние года 3-4 все к этому уже привыкли
Видимо повышенная «звездность» мешает им нормально с нами общаться и отвечать на технические вопросы. Или отсутствие информации/компетенции

базовые функции выгрузки товаров работают если брать сегодня версию Битрикса например, 15 то она будет стыковаться без проблем с версией 10.3 или 11.0
конечно еще не все работает из того, что хотелось бы, но проекты клиентам сдавать можно

сложности начинаются когда выходят новые версии 1С и новая версия модуля стыковки БУС с 1С
к сожалению, нет во-время нормальной проверенной документации, нет во-время проведенных доработок, и нет полного тестирования продукта
поэтому с новыми версиями всегда приходится долго разбираться и общаться на таком уровне с тех.поддержками

вопросы по 1С приходится задавать в одну компанию (1С), а вопросы по модулю БУС приходится задавать в другую компанию (1С Битрикс)
периодически они отсылают друг к другу и тогда вопрос подвисает

в ситуации когда тех.поддержка признает ошибку, и обещает ее исправить, обычно пишут, что в следующих версиях это будет исправлено. Мы Вам отдельно сообщим когда выйдет исправление и решение Вашей проблемы
За 8 лет что я с ними работаю, никто из тех.поддержки Битрикса ни разу не отписался о том, что ошибка, которую Вы нам нашли нами исправлена в такой-то версии
обратной связи, к сожалению, никогда не бывает
в самом начале, когда Битрикс только стал частью 1С, помощи от тех.поддержки было больше
сейчас все заканчивается тем, что или у нас провайдеры неправильный хостинг дают, или у нас клиенты не то делают, или руки у нас не так растут, или еще что-нибудь. за 8 лет наслушались в свой адрес много «добрых» слов.

реальную помощь на этом портале можно получить от других партнеров или от неравнодушных ребят, которые так же как и мы сталкиваемся с трудностями, и готовы рассказать кто и как решил свою проблему

1 / 1 / 1

Регистрация: 11.12.2012

Сообщений: 149

1

1C 8.x

11.10.2018, 16:21. Показов 13000. Ответов 7


Добрый день, коллеги, профессионалы!)))
У меня в 1С, у каждого заказа есть поле, которое называется «НомерНаСайте»(см. скриншот)
Необходимо данные из этого поля добавить в XML файл заказа, который отдает модуль 1С-Битрикс.

Например:
<НомерНаСайте>12345</НомерНаСайте>
где 12345 — цифры из вшыеуказанного поля у заказа.

Подскажите пожалуйста что необходимо для этого сделать.
Нашел расширение, но оно не подходит под мою конфигурацию УТ 11, а переделывать не умею.
Спасибо!

Миниатюры

Выгрузка дополнительного реквизита заказа в модуле 1С-Битрикс
 



0



Эксперт 1С

3051 / 1998 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

11.10.2018, 16:43

2

Extalionez, вы пробовали добавить дополнительный реквизит через справочник доп. реквизитов и сведений, а не напрямую в конфигураторе?
УТ. Обмен с сайтом
Насколько помню, для дополнительный свойств объектов механизм выгрузки достаточно гибкий.



0



Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

12.10.2018, 07:32

3

Цитата
Сообщение от GreenkA
Посмотреть сообщение

Насколько помню, для дополнительный свойств объектов механизм выгрузки достаточно гибкий.

я бы так не сказал.
Extalionez, допустим вы выгрузите его в новый тег. на сайте то он обработается?



0



Эксперт 1С

3051 / 1998 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

12.10.2018, 07:37

4

_ЕГОР_, надо настроить синхронизацию свойств по Б_id. На сайте это вроде xml_id



0



Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

12.10.2018, 07:43

5

Цитата
Сообщение от GreenkA
Посмотреть сообщение

надо настроить синхронизацию свойств по Б_id. На сайте это вроде xml_id

но они там загружаются типа как свойства или что то такое, и нам часто жаловались что с ними муторно работать программистам с сайта. Поэтому при возможности мы получали значение динамически и добавляли новый тег в выгрузку. Или же добавляли в доп. реквизиты, а уже из них отдельно получали значение и все ровно в свой тег записывали.



0



Эксперт 1С

3051 / 1998 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

12.10.2018, 07:55

6

Цитата
Сообщение от _ЕГОР_
Посмотреть сообщение

а уже из них отдельно получали значение и все ровно в свой тег записывали

ты говоришь о каких-то действиях, которые должны сопровождаться доработкой битриксовского модуля обмена?)

Цитата
Сообщение от _ЕГОР_
Посмотреть сообщение

и нам часто жаловались что с ними муторно работать программистам с сайта

по моему опыту проблем не было.
Если свойство уже определено на сайте и заданы дополнительные значения для выбора, фильтры, то в 1С выставлялся заданный xml_id, если свойство новое и задано только в 1С — то на сайте присваивался произвольный xml_id или тот, который задан в 1С.



0



1 / 1 / 1

Регистрация: 11.12.2012

Сообщений: 149

12.10.2018, 09:52

 [ТС]

7

GreenkA, _ЕГОР_, Со стороны сайта мы доработаем обмен. Мне важно сделать то, чтобы 1С отдавала в XML данные конкретного поля.
Выгрузка свойство доступна только для номенклатуры, а для заказов выгрузки свойств в модуле битрикса — нет.

Добавлено через 16 минут
с выгрузкой свойств у товаров проблемы нет. нужна помощь именно с заказами)))



0



Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

12.10.2018, 13:35

8

Смари там все просто. Надеюсь у вас доп. модуль битрикса, а не стандартный. В стандартом никогда не копался, ибо он до жути урезанный(хотя в новых конфигурация доп модуль уже встроенный).
1. Сохраняешь xdto(вроде) из обмена в битриксом. откроешь его он будет в xml. Добавляешь туда свое поле, описываешь его тип и т.д. Посмотришь по аналогии сделаешь. Заливаешь его обратно.
2. В модуле обмена ишишь где выгружаются заказы, и дописываешь туда заполнение своего поля, который ты добавил в xdto.
На сколько помню как то так это делается.



0



Одному из клиентов потребовалось выводить данные реквизита номенклатуры из 1С отдельным полем, в блоке характеристик. То есть реквизит как характеристику в Битрикс.

Проблема в том, что стандартным обменом сделать это не возможно. Есть определенный список полей, который «зашит» в карточку товара и так же выгружается по значениям в стандартном обмене. Все реквизиты кроме них считаются дополнительными и выгружаются в один блок отдельными полями. И когда на сайте пытаешься их вывести, то они отображаются в одном значении через запятую (

В этом проекте потребовалось вывести отдельно Код номенклатуры (товара). Так как не у всех товаров есть артикул, то клиент захотел так же идентифицировать товар и по коду.

Первым делом возникла идея добавить в обмен аналогично «стандартным» полям, так же как артикул. Для этого была отредактирована схема xdto обмена, прописан код для заполнения. Все выгружалось отлично, значения ставились правильно в файлах обмена. Однако загрузка их не воспринимала ( и как результат, отдельной строкой на сайте он не появился. Поскольку на проекте не использовались доработки самого сайта, то пришлось пойти другим путем.

В блоках выгрузки модуля 1С (выгрузка списка свойств и выгрузка значений свойств товаров) добавлен код с заполнением нужного реквизита как свойства. И … О чудо! )))

При обмене в товаре появляется отдельное свойство с нужными нам значениями.

Теперь остается дело за малым: настроить визуальное отображение этого значения в карточке товара.

Поскольку это в принципе известная процедура и не очень сложно гуглится, то просто оставлю здесь ссылку на инструкцию:

Настройка пользовательских характеристик

Таким образом, вывод реквизитов товара из 1С отдельными полями возможен и только с помощью изменений со стороны обмена, не затрагивая код сайта.

Как выгрузить новые реквизиты номенклатуры на БИТРИКС

Я
   SergeyGr

22.12.16 — 15:39

В базе создали несколько новых реквизитов для номенклатуры (цвет, размер)

Что «нужно сделать», чтобы эти реквизиты выгрузились на сайт, так же как это происходит с номенклатурой, производителем ?

Спасибо

  

Партнерская программа EFSOL Oblako

   НаборДанных

1 — 22.12.16 — 15:44

В какой базе?

   zak555

2 — 22.12.16 — 15:45

зарегистрируй номенклатуру к плану обмена битрикса

   НаборДанных

3 — 22.12.16 — 15:46

(2)Нафйуя, если полный обмен идет, например?

   SergeyGr

4 — 22.12.16 — 15:50

(1)Самописная на основе УТ

   yzimin

5 — 22.12.16 — 15:53

(0) В типовом модуле и дополнительном модуле интеграции битрикс задан определенный набор реквизитов. Что добавили — придётся дописывать в модуле.

Но если вместо реквизитов создать доп.реквизиты, то выгружается и обрабатывается битриксом типовым функционалом

   НаборДанных

6 — 22.12.16 — 15:53

(4)Какая УТ, модуль какой, дописки в обмене?

   zak555

9 — 22.12.16 — 15:56

я как понял, что создали реквизиты, их как-то заполнены, но эта инфа не ушла на сайт

вопрос — как инициировать отправку номенклатуры заново на сайт

   SergeyGr

10 — 22.12.16 — 15:58

(5) Понимаю, что это смешно — где дописать ?

Настроили список основных и дополнительных реквизитов номенклатуры; они на сайт попадают, но в раздел «Реквизиты».

А нужно, чтобы они попали «на один уровень» с АРТИКУЛОМ и БАЗОВОЙ ЕДИНИЦЕЙ.

   НаборДанных

11 — 22.12.16 — 15:59

(10)Напильник продать?

В спр Номенклатура добавили реквизит справочника и хочешь, чтобы типовой модуль сам подхватил неизвестные ему реквизиты?

   SergeyGr

12 — 22.12.16 — 16:02

(11) Подскажи, плз, где править — то ?

   НаборДанных

13 — 22.12.16 — 16:02

+(11)А, стой я не так понял походу, но напильник всё же придется приобрести.

   НаборДанных

14 — 22.12.16 — 16:03

(12)Строка 2345

   НаборДанных

15 — 22.12.16 — 16:03

(12)Вопросы заданы в (6)

   НаборДанных

16 — 22.12.16 — 16:06

   SergeyGr

17 — 22.12.16 — 16:07

(УТ+CRM) (2.0.2.3)

Кажется, ничего не правилось.

Хотя база с поддержки снята, но в план обмена с Битриксом вроде не трогался.

За ссылка СПАСИБО !!

   НаборДанных

18 — 22.12.16 — 16:07

   SergeyGr

19 — 22.12.16 — 16:08

Все новые реквизиты нужно выгружать строками, т.е. справочники на Битрикс под них не нужны.

   SergeyGr

20 — 22.12.16 — 16:13

В настройках свойств товаров создали новое свойство.

А как узнать его ВНЕШНИЙ КОД ?

В xml-файлах, полученных при выгрузке из базы, нет ничего подобного.

  

НаборДанных

21 — 23.12.16 — 02:32

(20)Это GUID

Антон Моисеев, ведущий программист “Alfa It Studio”, даёт инструкцию по выгрузке торговых предложений, свойств типа “справочник” из 1С в интернет-магазин на CMS 1С Битрикс и их отображение в карточке товара.

На базе 1C CMS Битрикс есть возможность выводить торговые предложения для товара, например, цвет, размер и другие свойства в карточке товара. А главное автоматизировать процесс и выгружать как товары, их торговые предложения, свойства, так и другие параметры из программы 1С. По факту это одна из настроек обмена между 1С и 1С битрикс Управление сайтом.

Так же в Аспро: Next, начиная с версии 1.1.6, добавлена настройка отображения для свойств типа «Справочник». Вы можете отображать заглушку с изображением или значение свойства, если хотя бы у одного значения свойства отсутствует картинка.

Вывод изображений свойств типа «Справочник»

1.png

Если у свойства отсутствует картинка, подгружается заглушка с изображением.

2.png

Вывод значения свойств типа «Справочник», когда подгружаются названия.

3.png

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

Настраиваем обмен торговыми предложениями

На примере 1С Комплексная автоматизация 2.0 посмотрим, как настроен обмен торговыми предложениями.

Для начала должен быть добавлен вид номенклатуры с учетом торговых предложений.

1) Заходим в раздел “Номенклатура” и сортируем не по иерархии, а по “Видам” и “Свойствам”.

4.png

Характеристики используем индивидуальные для номенклатуры.

5.png

2) Проваливаемся в настройки дополнительных реквизитов (они же и есть свойства).

6.png

Создаем свойство для торговых предложений, например, по цвету.
В колонке, где общие характеристики, забиваем общие параметры, не зависящие от цвета.
Так же не забываем числовые значения и устанавливаем “Тип значения” — “ Число”.

7.png

А для торговых предложений “Свойство” — “цвет”оставляем без изменений, так как будем выгружать его в HL справочник, чтобы была возможность подгрузить любой цвет, как в нашем примере.

8.png

Как это выглядит в самой номенклатуре. Общие характеристики добавляются в данной вкладке:

9.png

Заходим в реквизиты и открываем полный список.

10.png

3) Далее добавляем торговые предложения.

11.png

Видим список самих торговых предложений:

12.png

Внутри каждого из них заполнен уникальный для торгового предложения, например, «цвет».

13.png

4) Добавляем для каждого торгового предложения(товара) нужный цвет по свойству.

Заходим в модуль 1С битрикс «Картинки и файлы характеристик номенклатуры».

14.png

Находим необходимый товар и добавляем для каждого цвета уникальную картинку. Если нужна именно картинка. Если нужна плитка товара, то ее добавляем на стороне сайта 1С битрикс в HL справочник, то есть у нас автоматически выгрузится список из 1С, а плитку добавим на сайте.

15.png

5) Указываем, чтобы сайт получил свойство”Цвет” именно HL справочником, а не дополнительным значением. Иначе на сайте будет отображаться просто текст в свойстве отбора торговых предложений.

6) Переходим в “Узлы обмена с сайтом” во вкладку «Свойства»

16.png

Находим нужное нам свойство и поставим галочку “выгружать в HL справочник”.

17.png

Выгружаем

1)Запускаем выгрузку.

Смотрим, чтобы свойство выгрузилось, как справочник.

2) Заходим в свойства нужного нам инфоблока.

18.png

Открываем «Свойства»

19.png

Ищем «Справочники».

20.png

Необходимое свойство в нашем случае — TSVET_9.

21.png

Вот так видим свойство и список нужных нам цветов.

22.png

Перечень свойств:

23.png

3) Здесь видим, что нет файлов, если нам нужна плитка картинками у товара на сайте.

Вот такая:

24.png

Тогда добавляем плитку в HL справочнике, который выгружается из 1С.

25.png

Переходим в нужный нам HL справочник или можем добавить из свойства картинки.

26.png

Добавляем плитку.

27.png

В итоге получим на сайте:

28.png

При отборе меняется “анонс-картинка” нужного цвета товара.

29.png

4) Переходим на страницу Каталога или нужного товара в режим редактирования и открываем «шестеренку» — настройку каталога.

30.png

Указываем необходимое свойство для отбора предложения. В нашем случае — это TSVET_9.

31.png

Если еще указать для TSVET_9 — «выводить анонсную картинку предложения в свойствах для отбора», то будет показываться в отборе не плитка, а картинка, которую мы добавили для каждого торгового предложения в модуле 1С битрикс на стороне программы 1С.

000.png

Это будет выглядеть на сайте вот так:

32.png

Так же меняются характеристики, отличается от предыдущего варианта, только тем что в отборе у нас картинка товара реальная, а не плитка.

Общие характеристики, которые мы заведем у каждого товара в 1С, выгружаются из 1С также в товар. (Смотрите выше, как их добавить в 1С)

33.png

Выделяем или добавляем нужные свойства в настройках Каталога, свойства для общих товаров

34.png

и свойства для предложений.

35.png

Остались вопросы? Есть другие проблемы с настройкой выгрузки между 1С и 1С Битрикс? Мы их решим. Пишите!

В базе создали несколько новых реквизитов для номенклатуры (цвет, размер) Что «нужно сделать», чтобы эти реквизиты выгрузились на сайт, так же как это происходит с номенклатурой, производителем ? Спасибо

зарегистрируй номенклатуру к плану обмена битрикса

Нафйуя, если полный обмен идет, например?

В типовом модуле и дополнительном модуле интеграции битрикс задан определенный набор реквизитов. Что добавили — придётся дописывать в модуле. Но если вместо реквизитов создать доп.реквизиты, то выгружается и обрабатывается битриксом типовым функционалом

Какая УТ, модуль какой, дописки в обмене?

я как понял, что создали реквизиты, их как-то заполнены, но эта инфа не ушла на сайт вопрос — как инициировать отправку номенклатуры заново на сайт

Понимаю, что это смешно — где дописать ? Настроили список основных и дополнительных реквизитов номенклатуры; они на сайт попадают, но в раздел «Реквизиты». А нужно, чтобы они попали «на один уровень» с АРТИКУЛОМ и БАЗОВОЙ ЕДИНИЦЕЙ.

Напильник продать? В спр Номенклатура добавили реквизит справочника и хочешь, чтобы типовой модуль сам подхватил неизвестные ему реквизиты?

Подскажи, плз, где править — то ?

+А, стой я не так понял походу, но напильник всё же придется приобрести.

Могу еще предложить Там есть требуемый функционал и доступна демка.

(УТ+CRM) (2.0.2.3) Кажется, ничего не правилось. Хотя база с поддержки снята, но в план обмена с Битриксом вроде не трогался. За ссылка СПАСИБО !!

Все новые реквизиты нужно выгружать строками, т.е. справочники на Битрикс под них не нужны.

В настройках свойств товаров создали новое свойство. А как узнать его ВНЕШНИЙ КОД ? В xml-файлах, полученных при выгрузке из базы, нет ничего подобного.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Содержание

Иногда в выгрузку необходимо добавить собственные поля для товаров, например, рекомендуемую оптовую цену (РОЦ) в процентах. Для заполнения нового свойства PROPERTY_ROC из выгрузки необходимо сделать следующее.

Исправить скрипт выгрузки

Нужно создать свой компонент импорта копированием штатного catalog.import.1c, затем доработать его (третья строчка):

catalog.import.1c/component.php
$strMessage = GetMessage("CC_BSC1_DEA_DONE");
$NS["STEP"] = 9;
if(isset($_GET["filename"]) && $_GET["filename"] == 'offers.xml') { CustomBehaviour::updateROC(); }

Таким образом, на последнем шаге импорта выгрузки Битрикса запускается дополнительный обработчик.

Создать собственный обработчик

Этот обработчик будет использовать таблицу b_xml_tree как «разложенный» файл импорта (возможно использовать и исходный файл):

CustomBehaviour.php
define('SHOP_ITEMS_ID', 10); // код инфоблока
 
class CustomBehaviour {
  public static function updateROC() {
    global $DB;
    $query = "SELECT `VALUE` FROM `b_xml_tree` WHERE `DEPTH_LEVEL` = 2 AND `NAME` = 'Наименование'";
    $results = $DB->Query($query);
    $val = $results->Fetch();
    if($val['VALUE'] != 'Пакет предложений') return;
 
    $query = "SELECT code.VALUE AS `CODE`, value.VALUE AS `ROC`
      FROM `b_xml_tree` AS `item`
      JOIN `b_xml_tree` AS `value` ON (
        value.LEFT_MARGIN BETWEEN item.LEFT_MARGIN AND item.RIGHT_MARGIN AND value.DEPTH_LEVEL = 6 AND value.NAME = 'РОЦ')
      JOIN `b_xml_tree` AS `code` ON (
        code.LEFT_MARGIN BETWEEN item.LEFT_MARGIN AND item.RIGHT_MARGIN AND code.DEPTH_LEVEL = 4 AND code.NAME = 'Ид')
      WHERE item.DEPTH_LEVEL = 3 AND item.NAME = 'Предложение'";
    $results = $DB->Query($query);
    $val = $results->Fetch();
    if($results->SelectedRowsCount() == 0) return;
 
    if(!CModule::IncludeModule("iblock")) return;
 
    $arSort = array("SORT" => "ASC");
    $arSelect = array("ID", "CODE", "NAME");
    $arFilter = array("IBLOCK_ID" => SHOP_ITEMS_ID);
 
 
    while($xmlItem = $results->Fetch()) {
      $arFilter['XML_ID'] = $xmlItem['CODE'];
      $itemsList = CIBlockElement::GetList($arSort, $arFilter, false, false, $arSelect);
      if ($itemsList->SelectedRowsCount() > 0) {
        $item = $itemsList->Fetch();
        CIBlockElement::SetPropertyValues(
          $item['ID'],
          SHOP_ITEMS_ID,
          $xmlItem['ROC'],
          'ROC'
        );
      }
 
    }
  }
}

Понравилась статья? Поделить с друзьями:
  • Газель изотермический фургон бизнес 2011 год
  • Выездная химчистка мягкой мебели бизнес план
  • Вызвать сантехника аварийная услуга компании
  • Всеволожский городской суд реквизиты пошлины
  • Выключается монитор во время работы ноутбука