Приведение телефонных номеров в порядок

14.04.14

Задачи пользователя - Разное

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

Используется «Консоль запросов + Обработчик»:

В запрос нужно вставить текст запроса.

В код нужно вставить алгоритм обработки.

Параметры заполнить как на картинке:

Обычно есть несколько видов с наименованием «Телефон», нужно попробовать все по очереди.

Нажать кнопку «Выполнить», результат запроса выгрузится в таблицу.

Далее нажать кнопку «Выполнить обработку», номера будут обработаны и перезаписаны.

 

Выдается протокол, где сообщается, какие номера обработаны, какие нет:

 

Код запроса:

ВЫБРАТЬ
    КонтактнаяИнформация.Объект,
    КонтактнаяИнформация.Тип,
    КонтактнаяИнформация.Вид,
    КонтактнаяИнформация.Представление
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Тип = &Тип    
    И КонтактнаяИнформация.Вид = &Вид
    И Подстрока(Представление, 1, 1) <> ""

Код обработки:

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

Конечно, можно было бы эту полезную вещь обернуть в обработку, но некогда, если кто сделает, высылайте мне на почту, вставлю в статью.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Интеграция Разное Оптовая торговля Логистика, склад и ТМЦ 1С:УТ Россия Платные (руб)

«КИТУ Мастер» — это специализированное программное решение, которое позволяет вашему бизнесу быстро, точно и в полном соответствии с законодательством формировать, регистрировать и маркировать паллеты, короба и другие логистические единицы для системы обязательной маркировки «Честный ЗНАК». С помощью данного решения устраняется необходимость рутинной ручной работы через веб-интерфейс «Честного ЗНАКа» или сложных интеграций с 1С, предоставляя вам автономный, мощный и простой в использовании инструмент

6100 руб.

21.11.2025    802    1    0    

2

Разное 1С 8.3 Бесплатно (free)

Советы для любой ситуации в любой конфигурации.

30.12.2025    2530    64    ixijixi    11    

21

Разное 1С 8.3 Россия Бесплатно (free)

Дополнительная аутентификация с использованием биометрии.

29.12.2025    895    45    kras_71    3    

4

Разное Пользователь 1С 8.3 Абонемент ($m)

Отчёт предназначен для анализа кадрового состава с привязкой к астрологическим и культурным системам: западному зодиаку (знаки по дате рождения); китайскому зодиаку (животные-символы по году рождения). Работать должно везде, где есть справочник "Физические лица" и заполнена дата рождения.

1 стартмани

29.12.2025    622    0    VldslvSatoms    2    

6

Разное 1С:Предприятие 8 Отраслевые Туризм и путешествия Россия Абонемент ($m)

🗺 Планировщик путешествий для 1С. Простое и эффективное решение для организации поездок любой сложности

1 стартмани

13.10.2025    1347    2    Bepcuc    5    

5

Разное Пользователь 1С:Предприятие 8 Абонемент ($m)

Посимвольное сравнение двух текстов, с подкрашиванием отличающихся символов и выводом информации о различающихся символах. Поможет в работе пользователям для поиска отличий в двух текстах.

1 стартмани

25.06.2025    1933    3    Sher_Han    8    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. leles 67 19.04.14 21:56 Сейчас в теме
Какая у вас консоль запросов интересная. С обработкой выборки, у меня такой нет.
Поделитесь, пожалуйста, буду благодарен.
2. fixin 4325 21.04.14 10:10 Сейчас в теме
3. Forest83 66 16.06.16 12:27 Сейчас в теме
Спасибо! За консоль на удовольствия перевел)
Еще бы она текст обработчика сохраняла - цены бы не было!))

В моем случае видимо совсем все запущено. Обработчик зациклился.
Но для старта помощь просто огромная!
4. php5 29 17.11.16 22:59 Сейчас в теме
Спасибо за готовый алгоритм, сэкономил немного времени!!!
Для отправки сообщения требуется регистрация/авторизация