Приведение телефонных номеров в порядок
Код для консоли запросов написан для типовых конфигураций с регистром «Контактная информация».
Позволяет унифицировать телефоны и привести их в международный формат с кодом +7.
- Описание
- Подробнее
Описание
Используется «Консоль запросов + Обработчик»:

В запрос нужно вставить текст запроса.
В код нужно вставить алгоритм обработки.
Параметры заполнить как на картинке:

Обычно есть несколько видов с наименованием «Телефон», нужно попробовать все по очереди.
Нажать кнопку «Выполнить», результат запроса выгрузится в таблицу.
Далее нажать кнопку «Выполнить обработку», номера будут обработаны и перезаписаны.
Выдается протокол, где сообщается, какие номера обработаны, какие нет:

Код запроса:
ВЫБРАТЬ
КонтактнаяИнформация.Объект,
КонтактнаяИнформация.Тип,
КонтактнаяИнформация.Вид,
КонтактнаяИнформация.Представление
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
КонтактнаяИнформация.Тип = &Тип
И КонтактнаяИнформация.Вид = &Вид
И Подстрока(Представление, 1, 1) <> «»
Код обработки:
ИсхСтр = СокрЛП(Рез.Представление);
РезСтр = «»;
Если ИсхСтр <> «» Тогда
Для Инд = 1 По СтрДлина(ИсхСтр) Цикл
Симв = Сред(ИсхСтр, Инд, 1);
Если Найти(«0123456789», Симв) = 0 Тогда
Продолжить;
КонецЕсли;
РезСтр = РезСтр + Симв;
КонецЦикла;
Если СтрДлина(РезСтр) = 10 Тогда
РезСтр = «+7» + РезСтр;
КонецЕсли;
Если СтрДлина(РезСтр) = 11 И Лев(РезСтр, 1) = «8» ИЛИ Лев(РезСтр, 1) = «7» Тогда
РезСтр = «+7» + Сред(РезСтр,2);
КонецЕсли;
ПредставлениеОбъекта = «» + ТипЗнч(Рез.Объект) + «: » + Рез.Объект;
Если СтрДлина(РезСтр) <> 12 Тогда
Сообщить(ПредставлениеОбъекта + » Неадеватный номер: » + ИсхСтр + » Пытались: » + РезСтр);
ИначеЕсли РезСтр <> ИсхСтр Тогда
Сообщить(ПредставлениеОбъекта + » Замена: » + ИсхСтр + » На: » + РезСтр);
МЗ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
МЗ.Объект = Рез.Объект; МЗ.Тип = Рез.Тип; МЗ.Вид = Рез.Вид;
МЗ.Прочитать();
МЗ.Объект = Рез.Объект; МЗ.Тип = Рез.Тип; МЗ.Вид = Рез.Вид;
МЗ.Представление = РезСтр;
МЗ.Записать();
КонецЕсли;
КонецЕсли;
Конечно, можно было бы эту полезную вещь обернуть в обработку, но некогда, если кто сделает, высылайте мне на почту, вставлю в статью.

