По теме из базы знаний
- Проверка контрагента по номеру телефона перед записью
- Нетривиальные подходы в решении всем известных проблем: ускорение «больших» документов в 1С и ускорение поиска по подстроке. Как добиться эффекта в разы?
- Приведение к единому виду номеров телефонов в УТ 11
- Чат-боты в 1С: возможность, эффективность и бизнес-кейсы
- Правка номеров телефона для физлиц
Найденные решения
(8) https://forum.infostart.ru/forum9/topic114710/
на этот случай там есть комментарий )
Поиск по сайту есть на любой случай: Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Подскажите как?
Сейчас у меня к строке поиска есть кнопка, ее код:
Сейчас у меня к строке поиска есть кнопка, ее код:
Процедура НайтиНажатие(Элемент)
Если СписокПоляПоиска = "Наименование" Тогда
СправочникСписок.Отбор[СписокПоляПоиска].ВидСравнения = ВидСравнения.Содержит;
СправочникСписок.Отбор[СписокПоляПоиска].Значение = СтрокаПоиска;
СправочникСписок.Отбор[СписокПоляПоиска].Использование = Истина;
Иначе
ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
Если СтрДлина(СтрокаПоиска) = 10 Тогда
СправочникСписок.Отбор[СписокПоляПоиска].ВидСравнения = ВидСравнения.Равно;
СправочникСписок.Отбор[СписокПоляПоиска].Значение = Число(СтрокаПоиска);
СправочникСписок.Отбор[СписокПоляПоиска].Использование = Истина;
Иначе
Предупреждение(СтрокаПоиска);
Предупреждение("Введите все 10ть цифр номера!");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Показать
(5)
Что-то такое.. Вставляете код в начале процедуры нажатия, и заменяете "СтрокаПоиска" на "Результат" в местах где
// можно дополнить другими спецсимволами
ЗаменяемыеСимволы = "+<>()[]";
Результат = СтрокаПоиска;
Для Позиция = 1 По СтрДлина(Символы) Цикл
Результат = СтрЗаменить(Результат, Сред(ЗаменяемыеСимволы, Позиция, 1), " ");
КонецЦикла;
Результат = СокрЛп(Результат);
// подойдёт только если код города всегда "900"
НомерСимвола = Найти(Результат, "900");
Если НомерСимвола <> 0 Тогда
Результат = Сред(Результат, НомерСимвола);
Иначе
Если Стрдлина(Результат) = 7 Тогда
//считаем что нормальный номер, только без кода
Результат = "900" + Результат;
Иначе
Сообщить("Введен не правильный формат номера");
КонецЕсли;
КонецЕсли;
ПоказатьЧто-то такое.. Вставляете код в начале процедуры нажатия, и заменяете "СтрокаПоиска" на "Результат" в местах где
СправочникСписок.Отбор[СписокПоляПоиска].Значение = Результат;
(8) https://forum.infostart.ru/forum9/topic114710/
на этот случай там есть комментарий )
Поиск по сайту есть на любой случай:
(11)
Конкретно почитайте там комментарий № 3 - разве не этого хотел автор? На всякий случай напоминаю:
(1)
Ах да, надо ведь добавить:
Архисложная задача! ;-P
И там нет конкретно того, что хотел автор.
По-моему, вам надо поменять очки - в этих вы плохо видите, они слишком темные. ;-)
Конкретно почитайте там комментарий № 3 - разве не этого хотел автор? На всякий случай напоминаю:
(1)
Как программно преобразовать в формат: 9001234567 ?
Ах да, надо ведь добавить:
Возврат Прав(ВыхСтрока,10);
Архисложная задача! ;-P
Набросал такой код, работает но странно, например
номер 8(900) 161 50 01 некорректно обрабатывает, теряет ноль и получается 900161501, в тоже время
8(900) 977 850 11 00 корректирует нормально в 9009778501100
Почему из двух нулей остается один 0 не понятно
номер 8(900) 161 50 01 некорректно обрабатывает, теряет ноль и получается 900161501, в тоже время
8(900) 977 850 11 00 корректирует нормально в 9009778501100
Почему из двух нулей остается один 0 не понятно
Сложно живете))
ДлинаСтроки = СтрДлина(ТелефонСБотвой);
Телефон = "";
Для Сч = 1 По ДлинаСтроки Цикл
Символ = Сред(ТелефонСБотвой, Сч, 1);
Если Символ >= "0" и Символ <= "9" Тогда
Телефон = Телефон + Символ;
КонецЕсли
КонецЦикла
Показать
подсмотрено в 1С и чуток допилено:
ЛишниеСимволы = СтрСоединить(СтрРазделить(ТелефонМобильныйПредставление, "0123456789"), "");
СтрокаТелефон = СтрСоединить(СтрРазделить(ТелефонМобильныйПредставление, ЛишниеСимволы), "");
СтрокаТелефон = Прав(СтрокаТелефон, СтрДлина(СтрокаТелефон) - 1);
СтрНовый.ТелефонМобильныйПредставление = "+7" + СтрокаТелефон;
Показать
(20)
Если телефон введут в "свободном формате", например, без +7 или без 8, то в итоге из него пропадёт первая цифра.
Думаю, "СтрДлина(СтрокаТелефон) - 1" можно смело заменить на "10".
СтрокаТелефон = Прав(СтрокаТелефон, СтрДлина(СтрокаТелефон) - 1);
Если телефон введут в "свободном формате", например, без +7 или без 8, то в итоге из него пропадёт первая цифра.
Думаю, "СтрДлина(СтрокаТелефон) - 1" можно смело заменить на "10".
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот