В ЗУП 3.1.23.165 загружал информацию по мобильным телефонам с помощью вашей обработки. Формат контактной информации отличается, поэтому внёс исправления:
&НаСервереБезКонтекста
Процедура УстановитьКонтактнуюИнформацию(ЗагружаемыйОбъект, Вид, Знач Представление)
СтруктураПоиска = Новый Структура("Вид", Вид);
СтрокиСуществующейКИ = ЗагружаемыйОбъект.КонтактнаяИнформация.НайтиСтроки(СтруктураПоиска);
Если СтрокиСуществующейКИ.Количество() > 0 Тогда
СтрокаКИ = СтрокиСуществующейКИ[0];
Иначе
СтрокаКИ = ЗагружаемыйОбъект.КонтактнаяИнформация.Добавить();
КонецЕсли;
Если ПустаяСтрока(Представление) Тогда
ЗагружаемыйОбъект.КонтактнаяИнформация.Удалить(СтрокаКИ);
Возврат;
КонецЕсли;
СтрокаКИ.Представление = Представление;
СтрокаКИ.Вид = Вид;
СтрокаКИ.Тип = СтрокаКИ.Вид.Тип;
//СтрокаКИ.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(СтрокаКИ.Представление, СтрокаКИ.Вид);
Адрес = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(СтрокаКИ.Представление, СтрокаКИ.Тип);
СтрокаКИ.Значение = Адрес;
СтрокаКИ.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(Адрес, СтрокаКИ.Представление, СтрокаКИ.Тип);
XDTOКонтактная = УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзXML(СтрокаКИ.ЗначенияПолей, СтрокаКИ.Тип, );
Если СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон
Или СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
СтрокаКИ.НомерТелефона = УбратьРазделителиВНомерТелефона(XDTOКонтактная.Представление);
СтрокаКИ.НомерТелефонаБезКодов = УбратьРазделителиВНомерТелефона(XDTOКонтактная.Состав.Номер);
ИначеЕсли СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
СтрокаКИ.Страна = XDTOКонтактная.Состав.Страна;
Если XDTOКонтактная.Состав.Состав <> Неопределено
И ТипЗнч(XDTOКонтактная.Состав.Состав) <> Тип("Строка") Тогда
СтрокаКИ.Регион = XDTOКонтактная.Состав.Состав.СубъектРФ;
СтрокаКИ.Город = XDTOКонтактная.Состав.Состав.Город;
КонецЕсли;
ИначеЕсли СтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда
СтрокаКИ.АдресЭП = XDTOКонтактная.Состав.Значение;
ПозицияСобаки = Найти(XDTOКонтактная.Состав.Значение, "@");
Если ПозицияСобаки <> 0 Тогда
СтрокаКИ.ДоменноеИмяСервера = Сред(XDTOКонтактная.Состав.Значение, ПозицияСобаки + 1);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
// Убирает разделители в номере телефона.
//
// Параметры:
// НомерТелефона - Строка - номер телефона или факса.
//
// Возвращаемое значение:
// Строка - номер телефона или факса без разделителей.
//
&НаСервереБезКонтекста
Функция УбратьРазделителиВНомерТелефона(Знач НомерТелефона)
Поз = СтрНайти(НомерТелефона, ",");
Если Поз <> 0 Тогда
НомерТелефона = Лев(НомерТелефона, Поз-1);
КонецЕсли;
НомерТелефона = СтрЗаменить(НомерТелефона, "-", "");
НомерТелефона = СтрЗаменить(НомерТелефона, " ", "");
НомерТелефона = СтрЗаменить(НомерТелефона, "+", "");
НомерТелефона = СтрЗаменить(НомерТелефона, "(", "");
НомерТелефона = СтрЗаменить(НомерТелефона, ")", "");
Возврат НомерТелефона;
КонецФункции
Показать