Приведение к единому виду номеров телефонов в УТ 11

11.02.22

Задачи пользователя - Корректировка данных

Приведение к единому виду и наведение порядка в номерах телефонов в УТ 11.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Приведение к единому виду номеров телефонов в УТ 11:
.rar 15,17Kb
52 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Не в первый раз сталкиваюсь с тем, что пользователи вводят номера телефонов "как придется".

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

Как удалось навести порядок в номерах телефонов:

1) чтобы пользователи вводили так, как нужно, на форме ввода номера телефона - установить маску для номера (в нужном виде: "9999999" или "999-99-99").Если конфигурация типовая, то это лучше сделать в расширении.

2) предыдущие номера привести в порядок с помощью обработки. Пользоваться ей достаточно просто. При необходимости можно дописать "под себя" - код открыт.

Открыть обработку, выбрать вид контактной информации - телефон (справочника Партнеры). Если нужно править телефоны для контрагентов - то надо немного поправить обработку.

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

 

 

У меня номер телефона должен соответствовать шаблону: +7(999)9999999. Для приведения всех номеров к шаблону - нажать "Преобразовать телефоны по представлению". Эта процедура убирает пробелы, дефисы и скобочки из представления номера телефона, раскладывает его на: код страны, код города и номер телефона. Но нужно проверить, чтоб не было ошибок, особенно с добавочными номерами и с номерами, где изначально некорректное представление. 

Дальше - Обработать строки". Для всех выделенных строк будет изменена контактная информация и сформированы корректные значения полей.

В общем-то, все достаточно быстро - у меня на несколько тысяч партнеров ушло пару часов - с проверкой на тестовой базе. 

Проверена и протестирована мной на УТ 11.4.11.88.

На более старой версии: 11.3.3.178 в таком формате не будет работать, нужно поменять несколько строк кода, которые касаются формирования значений полей

с такого: 


Функция РезультатВыбора(ТекСтрока)
	
	Результат = Новый Структура();
	
	КонтактнаяИнформация = КонтактнаяИнформацияПоЗначениюРеквизитов(ТекСтрока);
	
	ДанныеВыбора = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформация); 

	Результат.Вставить("Вид", ВидКонтактнойИнформации);
	Результат.Вставить("Тип", ВидКонтактнойИнформации.Тип);
	Результат.Вставить("КонтактнаяИнформация", УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(ДанныеВыбора, 
		КонтактнаяИнформация.Value, 
		ВидКонтактнойИнформации.Тип));
	Результат.Вставить("Значение", ДанныеВыбора);
	Результат.Вставить("Представление", КонтактнаяИнформация.Value);
	Результат.Вставить("Комментарий", КонтактнаяИнформация.Comment);
	//Результат.Вставить("КонтактнаяИнформацияОписаниеДополнительныхРеквизитов",
	//	КонтактнаяИнформацияОписаниеДополнительныхРеквизитов);
		
	Возврат Результат
	
КонецФункции

&НаСервере
Функция КонтактнаяИнформацияПоЗначениюРеквизитов(ТекСтрока)
	
	Результат = УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеНовойКонтактнойИнформации(ВидКонтактнойИнформации.Тип);
	
	Результат.CountryCode = ТекСтрока.КодСтраны;
	Результат.AreaCode    = ТекСтрока.КодГорода;
	Результат.Number      = ТекСтрока.НомерТелефона;
	Результат.ExtNumber   = ТекСтрока.Добавочный;
	Результат.Value       = УправлениеКонтактнойИнформациейКлиентСервер.СформироватьПредставлениеТелефона(
		ТекСтрока.КодСтраны, 
		ТекСтрока.КодГорода, 
		ТекСтрока.НомерТелефона, 
		ТекСтрока.Добавочный, "");
	Результат.Comment     = ТекСтрока.Комментарий;
	
	Возврат Результат;
	
КонецФункции

 на такой

Функция РезультатВыбора(ТекСтрока)
	
	Результат = Новый Структура("КонтактнаяИнформация, Представление, Комментарий, Вид, Тип, КонтактнаяИнформацияОписаниеДополнительныхРеквизитов");
		
	XDTOИнформация = КонтактнаяИнформацияПоЗначениюРеквизитов(ТекСтрока);
	
	ДанныеВыбора = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(XDTOИнформация);
	
	Результат.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтактногоЛица;
	Результат.Тип = Результат.Вид.Тип;
	Результат.КонтактнаяИнформация = ДанныеВыбора;
	Результат.Представление = XDTOИнформация.Представление;
	Результат.Комментарий = XDTOИнформация.Комментарий;
	
	Возврат Результат
	
КонецФункции

Функция КонтактнаяИнформацияПоЗначениюРеквизитов(ТекСтрока)
	
	ПространствоИмен = УправлениеКонтактнойИнформациейКлиентСервер.ПространствоИмен();
	
	Результат = ФабрикаXDTO.Создать( ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация") );
	
	Данные = ФабрикаXDTO.Создать( ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона") );
	Данные.КодСтраны  = ТекСтрока.КодСтраны;
	Данные.КодГорода  = ТекСтрока.КодГорода;
	Данные.Номер      = ТекСтрока.НомерТелефона;
	Данные.Добавочный = ТекСтрока.Добавочный;
	Результат.Представление = УправлениеКонтактнойИнформациейСлужебный.ПредставлениеТелефона(Данные);
	
	Результат.Состав      = Данные;
	
	Возврат Результат;
	
КонецФункции

На  УТ 11.1.6.26 - не работает. 

В архиве - две версии обработки. Одна - для УТ 11.3.3.178, другая - для УТ  11.4.11.88.

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

Обработка

См. также

Корректировка данных Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    116417    702    176    

742

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    39772    120    152    

83

Взаиморасчеты Корректировка данных Бухгалтер Пользователь 1С v8.3 1C:Бухгалтерия Бухгалтерский учет Управленческий учет Платные (руб)

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    8607    6    3    

9

Закрытие периода Корректировка данных Программист Пользователь 1С v8.3 Система компоновки данных 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

5000 руб.

13.07.2015    53027    182    29    

134

Ценообразование, анализ цен Корректировка данных 1С v8.3 1С:Управление торговлей 11 Платные (руб)

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

5000 руб.

07.05.2025    882    1    0    

2

Загрузка и выгрузка в Excel Корректировка данных Пользователь 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Обработка для группового редактирования реквизитов номенклатуры в 1С для УТ 11 / КА 2. Позволяет редактировать реквизиты (как основные, так и дополнительные реквизиты и сведения) непосредственно в таблице, устанавливать новые значения реквизитов на выбранную номенклатуру, а также загружать новые значения из Excel. Предусмотрена возможность добавления фото к товарам перетаскиванием файла из проводника на строку с товаром (drag'n'drop)

4200 руб.

16.11.2020    18695    13    6    

12

Печатные формы Корректировка данных Учет документов 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 3.0

Данная обработка позволяет работать со справками об оплате медицинских услуг в любой конфигурации 1С 8.3 Решение выполнено в виде внешней обработки, поэтому будет работать так же на базовых версиях конфигураций 1С, где нет возможности добавить расширение.

3600 руб.

28.01.2025    1299    0    0    

3

Корректировка данных Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Налоговый учет Налог на прибыль Платные (руб)

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2880 руб.

05.05.2024    1636    16    0    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user1984019 06.11.24 13:44 Сейчас в теме
Можно ли что нибудь подобное сделать под ЗУП?
2. maerea 22 12.12.24 12:49 Сейчас в теме
(1) Конечно, можно. Разница будет небольшая
3. user1506981 19.02.25 15:26 Сейчас в теме
Будет ли работать на УТ 11.5 ? Умеет ли менять первую цифру 7 на 8 и удалять плюсик в начале ?
Для отправки сообщения требуется регистрация/авторизация