В 1С есть такое важное понятие как контрагент заказа. В понятиях Битрикс это покупатель. И если в 1С с этим строго, то в Битрикс далеко не. Но обо всем по порядку.
[spoiler]
Проблема
Проблема, собственно, в том, что в Битрикс нет понятия контрагент. Есть пользователь, есть его профили. Зацепиться бы за профили, но... после оформления заказа, связь с ним теряется. Сохранять его ID тупо? Тоже не вариант, при следующем заказе контрагент может измениться, и новый заказ с тем же ID контрагента, будет иметь другие поля. Бардак.
Поиск решения
Во-первых, от профилей покупателя Битрикс, нам никуда не деться, на них и будем базироваться. Зацепиться стоит за то, что для уникализации контрагента нам важны только некоторые поля. Это, как правило, ИНН, телефон, адрес. То же контактное лицо уже не является признаком уникальности и в разных заказах одного контрагента это свойство может разниться. Осталось научить профили, чтобы они оставались уникальными, а при смене важных полей, создавался новый профиль. А его ID будем сохранять в свойство заказа, которое уже может быть загружено в 1С и там соответствующим образом обработано.
Решение
В итоге родился простой модуль, который решает непростую задачу - . Модуль платный, стоимостью 1900 рублей. Это очень и очень редкая задача, но если у вас встанет такая задача - это маленькая плата. (пока модуль на модереации, вы можете установить его по ссылке: вашсайт.ру/bitrix/admin/update_system_partner.php?addmodule=asd.1cprofiles
Далее немного скриншотов с пояснением:




Вообще решение получилось универсальным. Выделив в настройках модуля все свойства как важные, мы будем иметь ситуацию, при которой любое изменение свойства при оформлении заказа, будет порождать новый профиль (контрагент).
Не забудьте
Не забудьте убрать со своего сайта редактирование профилей, если это есть у вас. Иначе пользователи зайдут туда и изменят что захотят, это не контролируется (просьба поддержать ).
[spoiler]
Проблема
Проблема, собственно, в том, что в Битрикс нет понятия контрагент. Есть пользователь, есть его профили. Зацепиться бы за профили, но... после оформления заказа, связь с ним теряется. Сохранять его ID тупо? Тоже не вариант, при следующем заказе контрагент может измениться, и новый заказ с тем же ID контрагента, будет иметь другие поля. Бардак.
Поиск решения
Во-первых, от профилей покупателя Битрикс, нам никуда не деться, на них и будем базироваться. Зацепиться стоит за то, что для уникализации контрагента нам важны только некоторые поля. Это, как правило, ИНН, телефон, адрес. То же контактное лицо уже не является признаком уникальности и в разных заказах одного контрагента это свойство может разниться. Осталось научить профили, чтобы они оставались уникальными, а при смене важных полей, создавался новый профиль. А его ID будем сохранять в свойство заказа, которое уже может быть загружено в 1С и там соответствующим образом обработано.
Решение
В итоге родился простой модуль, который решает непростую задачу - . Модуль платный, стоимостью 1900 рублей. Это очень и очень редкая задача, но если у вас встанет такая задача - это маленькая плата. (пока модуль на модереации, вы можете установить его по ссылке: вашсайт.ру/bitrix/admin/update_system_partner.php?addmodule=asd.1cprofiles
Далее немного скриншотов с пояснением:




Вообще решение получилось универсальным. Выделив в настройках модуля все свойства как важные, мы будем иметь ситуацию, при которой любое изменение свойства при оформлении заказа, будет порождать новый профиль (контрагент).
Не забудьте
Не забудьте убрать со своего сайта редактирование профилей, если это есть у вас. Иначе пользователи зайдут туда и изменят что захотят, это не контролируется (просьба поддержать ).