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

11.02.22

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

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

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
Приведение к единому виду номеров телефонов в УТ 11:
.rar 15,17Kb
50 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    115072    690    176    

731

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

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

14400 руб.

29.04.2020    38277    114    152    

82

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

Обработка для диагностики и устранения ошибочных состояний ключей аналитики при использовании новой методики раздельного учета НДС в "Бухгалтерии предприятия ред. 3.0"

6000 руб.

27.01.2015    58491    31    14    

40

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

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

2400 руб.

13.07.2015    52464    180    29    

132

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

Создание, редактирование и удаление документов "Выемка ДС из Кассы ККМ" в конфигурации 1С:Розница 2. Групповая обработка Выемок. Редактирование регистра накопления "Денежные средства в кассе ККМ".

2000 руб.

20.09.2017    41896    174    24    

27

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

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

3600 руб.

28.01.2025    910    0    0    

2

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

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

6000 руб.

22.01.2025    2064    5    0    

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