&НаСервере
Процедура
ПрочитатьНаСервере()
//Создаем набор записей
//НабЗап
= РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
НабЗап =
РегистрыСведений.Контакты.СоздатьНаборЗаписей();
//Читаем набор записей
НабЗап.Прочитать();
//Создаем таблицу значений и
//выгружаем в таблицу набор
записей
ТабЗнач = НабЗап.Выгрузить();
//Загружаем целиком таблицу
значений в объект формы Регистр
Этаформа.Регистр.Загрузить(ТабЗнач);
КонецПроцедуры
|
&НаСервере
Функция ИзвлечьЦифрыИзСтроки(ВхСтр)
ВыхСтр =
"";
//Перебираем посимвольнос
входную строку
Для Поз = 1 По СтрДлина(ВхСтр) Цикл
//Берем текущий символ
из строки
ТекСимвол
= Сред(ВхСтр, Поз, 1);
Если СтрНайти("0123456789", ТекСимвол)<>0
Тогда
ВыхСтр = ВыхСтр + ТекСимвол;
КонецЕсли;
КонецЦикла;
Возврат ВыхСтр;
КонецФункции
|
&НаСервере
Функция ФорматНомераТелефона(ВхСтр)
//Преобразуем к виду +7 (***)
***-**-**
Если СтрДлина(ВхСтр) = 7 Тогда
Возврат "+7 (495)
" +
Сред(ВхСтр,1,3)+"-"+Сред(ВхСтр,4,2)+"-"+Сред(ВхСтр,6,2);
ИначеЕсли
СтрДлина(ВхСтр) = 10
Тогда
Возврат "+7
(" + Сред(ВхСтр,1,3)+")
"+Сред(ВхСтр,4,3)+"-"+Сред(ВхСтр,7,2)+"-"+Сред(ВхСтр,9,2);
ИначеЕсли
СтрДлина(ВхСтр) = 11
Тогда
Возврат "+7
(" + Сред(ВхСтр,2,3)+")
"+Сред(ВхСтр,5,3)+"-"+Сред(ВхСтр,8,2)+"-"+Сред(ВхСтр,10,2);
Иначе
Возврат ВхСтр;
КонецЕсли;
КонецФункции
|
&НаСервере
Процедура
ИсправитьТелефоныНаСервере()
//Создаем набор записей
НабЗап =
РегистрыСведений.Контакты.СоздатьНаборЗаписей();
//Читаем набор записей
НабЗап.Прочитать();
Для Каждого Зап
Из НабЗап Цикл
//Ищем телефоны в
наборе записей
Если СтрНайти(НРег(Зап.ВидКонтактнойИнформации),
"телефон")<>0 Тогда
ТолькоЦифры = ИзвлечьЦифрыИзСтроки(Зап.ЗначениеКонтактнойИнформации);
ПравильныйНомер=ФорматНомераТелефона(ТолькоЦифры);
Зап.ЗначениеКонтактнойИнформации = ПравильныйНомер;
КонецЕсли;
КонецЦикла;
НабЗап.Записать();
ПрочитатьНаСервере();
КонецПроцедуры
|