Вопрос такой а как можно сделать так что бы пользователь выбирал из нескольких руководителей либо отделов, так как человек находится в нескольких отделов.
$rootActivity->SetVariable("Manager", "user_".$arSection['UF_HEAD']); данная функция не подходит для списка.
В целом: 1. Имхо, стоило брать за основу не ws_contacts, а задачи или календарь. Или все вместе. Причина - базовые контакты не предполагают двусторонней синхронизации, по вполне понятным причинам. А календари/задачи - предполагают. См. метод UpdateListItems 2. Аксиома. Вносить исправления в ядро (/bitrix/modules/intranet/include.php) - совершенно неудачная идея. Есть уйма способов корректно добавить свои классы в систему. 3. "Этот GUID должен быть скопирован из кода страницы Сотрудники (хз на что указывает, но нужен)" - просто идентификатор списка. В календарях/тасках считается как md5(IBLOCK_ID+дополнения). Главное условие - должен быть постоянным и уникальным. Т.е., пока у вас один список контактов - не проблема. Если появится требование на несколько списков для одного пользователя - будет плохо.
Подобная задача стояла в очереди на реализацию, но была сочтена слишком узкой и отложена на будущее.
Если надумаете продолжать тему, но уже не вслепую, то рекомендую полистать документацию по протоколу в MSDN - [MS-LISTSWS]: Lists Web Service Protocol Specification и несколько сопутствующих документов.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».