вопрос в том, что нет возможности в ФИО Агента передать Пользователь - ФИО (такого реквизита нет, есть только отдельно Имя, фамилия, отчество), и получается, что данная схема работает - один зареганный пользователь БУС = одному контрагенту 1С, но вот только получается, что все контрагенты называются именами, а не ФИО. как выйти из данной ситуации?
если брать ФИО из свойств заказа, то при любом разнении в ФИО в 1С будет новый контрагент, например, Иванов И.И. и Иванов И И - будет 2 контрагента, хотя по факту это один и тот же. такой вариант не подходит
Сергей Кучеров написал: По имени некорректно же. Связывайте по email.
ну в таком случае все контрагенты в 1С будут представлены email вместо ФИО, что тоже не правильно. Мне нужно чтобы один пользователь на сайте соответствовал одному пользователю в 1С. А если получатель в заказе другой человек, то данные получателя просто падают в заказ в раздел доставка, но контрагент по прежнему соответствует пользователю в битрикс если вы имели ввиду метод идентификации контрагента, то лучше использовать внешний идентификатор, тогда точность будет больше.
Сергей Кучеров написал: По имени некорректно же. Связывайте по email.
ну в таком случае все контрагенты в 1С будут представлены email вместо ФИО, что тоже не правильно. Мне нужно чтобы один пользователь на сайте соответствовал одному пользователю в 1С. А если получатель в заказе другой человек, то данные получателя просто падают в заказ в раздел доставка, но контрагент по прежнему соответствует пользователю в битрикс если вы имели ввиду метод идентификации контрагента, то лучше использовать внешний идентификатор, тогда точность будет больше.
У меня такое ощущение что вы в чем то запутались. Какое отношение идентификация имеет к представлению?
Если контрагент нашелся по емейл, то подставляется он. Если нет, то создается новый и его представление формируется из 3-х полей.
Если вы имеете ввиду как составить ФИО из 3-х полей, то тоже не совсем понятно что тут сложного.
Сергей Кучеров написал: Если вы имеете ввиду как составить ФИО из 3-х полей, то тоже не совсем понятно что тут сложного.
вопрос именно в этом. Если не сложно, то опишите как это сделать. Только ФИО должно быть от пользователя, а не из свойств заказа
Если у вас типовой модуль, то там это прошито по умолчанию. Не понятно зачем вам туда лезть. Или у вас отдельно разработанный обмен? Контрагент документа это и есть пользователь оформивший заказ, может быть физическим или юридическим лицом. У документа с сайта есть составное свойство "Контрагент", у этого контрагента есть такие свойства как Фамилия,Имя, Отчество. Получение этих данных и сборка полного ФИО прописано в стандартном модуле обмена, ОбщийМодуль "Б_ОбменССайтомСерверЗагрузкиДанных", функция "ОбработатьИнформациюОКонтрагентеXDTO". То есть там есть готовый пример если вам требуется.
Если у вас типовой модуль, то там это прошито по умолчанию. Не понятно зачем вам туда лезть. Или у вас отдельно разработанный обмен? Контрагент документа это и есть пользователь оформивший заказ, может быть физическим или юридическим лицом. У документа с сайта есть составное свойство "Контрагент", у этого контрагента есть такие свойства как Фамилия,Имя, Отчество. Получение этих данных и сборка полного ФИО прописано в стандартном модуле обмена, ОбщийМодуль "Б_ОбменССайтомСерверЗагрузкиДанных", функция "ОбработатьИнформациюОКонтрагентеXDTO". То есть там есть готовый пример если вам требуется.
Добрый день. Что-то я подзапутался, давайте попробую детально объяснить, а вы подскажете где мои лыжи не едут
Итак, у меня УНФ 1.6 - модуль скачанный отсюда последней версии 7.0.1.9
на стороне битрикс в профилях обмена если указываю
1. ФИО Агента По умолчанию - то в 1С прилетает пустой контрагент 2. ФИО Агента/Свойство заказа/ФИО - то в 1С прилетает контрагент с ФИО, введеным при оформлении заказа, но не с ФИО от пользователя. Этот вариант не подходит, так как один и тот же пользователь может при оформлении заказа вводить "Иванов Иван Иванович", "ИвановИван Иванович", "Иванов И И", "Иванов И.И.", "Ивано Иван Иванович" - и при этом в 1С будут созданы 5 разных контрагентов, хотя по факту этот один человек. 3. ФИО Агента/Пользователь/ИМЯ - то в 1С прилетает контрагент только с Именем (в представлении). Но при любом указании ФИО при оформлении заказа заказ подвязывается с этом контрагенту, а указанные ФИО при оформлении попадают в данные о Доставке. Получается корректный вариант. То есть пользователь зарегистрировался, но заказ оформил для получения другим человеком. По факту контрагент один, а получатель другой.
Нам нужна схема №3, но при этом не получается передать ФИО полностью. Настройки прилагаю
Застрял на этом шаге, никак не могу решить эту проблему
ниже привожу цитату из базы знаний битрикс,ссылка в первом посте
Цитата
Для физического лица
Технически обязательно только одно поле: Фамилия или Имя. В качестве типа для них можно использовать Пользователь либо Свойство заказа.
Применительно к данным полям в использовании этих типов есть нюансы, которые можно использовать в организации работы магазина. Рассмотрим их:
При выборе типа Параметр пользователя все заказы будут добавляться в карточку этого пользователя в CRM, что бы ни указал пользователь в полях заказа при оформлении. То есть он может заказать товар для другого человека и указать этого человека в поле ФИО контактного лица, но в CRM товар всё равно отметится как заказ этого пользователя.
При выборе Свойство заказа, если данные в поле не будут совпадать, на каждый заказ будет создаваться свой пользователь. Допустим, в поле ФИО контактного лица указан Иванов И.И. - для него будет создан отдельный контакт в CRM. В следующем заказе указан Иванов И. - будет вновь создан новый контакт, хотя это может быть один и тот же человек. Но если в следующем заказе будет вновь указан Иванов И.И. - информация добавится в первый контакт, хотя люди могут быть разные.
Мда, не совсем понимаю почему в вашем случае вариант 1 не работает. В остальном "То есть пользователь зарегистрировался, но заказ оформил для получения другим человеком" - достаточно важное уточнение. Получается что соль как раз из-за этого. Можно идентифицировать и по наименованию, но здесь есть нюанс - что делать если будут полные однофамильцы?
В настройках реквизита "Контрагент" (на стороне 1С) поставить <Свой алгоритм> и прописать следующий код:
Код
ФИО = [ДокументXML].ЗначенияРеквизитов.Найти("Фамилия", "Наименование") + [ДокументXML].ЗначенияРеквизитов.Найти("Имя", "Наименование") + [ДокументXML].ЗначенияРеквизитов.Найти("Отчетство", "Наименование");
НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию(ФИО);
Если НайденныйКонтрагент.ПустаяСсылка() или НайденныйКонтрагент Тогда
НовыйКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
НовыйКонтрагент.Наименование = ФИО;
НовыйКонтрагент.Записать();
[Результат] = НовыйКонтрагент.Ссылка;
Иначе
[Результат] = НайденныйКонтрагент;
КонецЕсли;
На стороне сайта соответственно установить: https://www.dropbox.com/s/wn8znxwa3sh2hre/ScreenHunter%20136.jpg Единственные дополнения: 1) Под рукой нет УНФ, вам нужно уточнить что создавать - Партнера или Контрагента? Зависит от того ведутся ли они у вас раздельно. Если нет, то еще нужно их будет связать. 2) Нужно устанавливать папку контрагентов по умолчанию, предварительно ее так же нужно найти.
Сергей Кучеров написал: Мда, не совсем понимаю почему в вашем случае вариант 1 не работает.
как я понял это много у кого не работает судя по форумам и решается настройкой "фио агента"
Цитата
Сергей Кучеров написал: Можно идентифицировать и по наименованию, но здесь есть нюанс - что делать если будут полные однофамильцы?
в вашем алгоритме возникнет такая проблема и она также возникает если использовать настройку по п.2 я планировал идентифицировать контрагента штатными средствами по внешнему идентификатору + наименование.
у меня появилась мысль, может регистрационную форму сайта сделать так, чтобы у пользователя в поле Имя записывалось ФИО полностью, а не разбивалось по 3 полям и затем использовать 3й вариант настройки с указанием ФИО Агента - пользователь - Имя чем данный вариант может потом насолить?
torsedor написал: в вашем алгоритме возникнет такая проблема и она также возникает если использовать настройку по п.2я планировал идентифицировать контрагента штатными средствами по внешнему идентификатору + наименование.
Да, можно несколько усложнить алгоритм. Но это уже на вашей базе можно разрабатывать.