Привет, друзья! Сегодня я хочу обсудить одну тему, которая не раз заставляла меня содрогаться в многогранном мире программирования — это удаление префиксов из строк. Знаете, когда у вас есть строка, а в ней лишнего, как у некоторых людей на ужине? Так вот, наш герой — это функция ОбработатьНомерДокумента, которая справляется с этой задачей, как настоящий задумчивый мастер.

Итак, представьте себе: вам нужно передать номер документа на внешний веб-сервис, а он как надо, с лишними префиксами, которые даже ваша бабушка не помнит, где взяла. При этом встроенные процедуры отказываются с этим справляться, как с универсальной таблеткой от головы, которая на самом деле оказывается сахарной. Ха! Вот здесь и приходит на помощь наш код.
Функция ОбработатьНомерДокумента(ВхНомер)
Номер = ВхНомер ;
НовыйНомер = "";
СтрДлина=СтрДлина(Номер);
Для Ном = 0 По СтрДлина-1 Цикл
тКод = КодСимвола(Номер, СтрДлина - Ном);
ЭтоЧисло = тКод > 47 И тКод < 58; //цифры от 0 до 9
Если ЭтоЧисло Тогда
НовыйНомер = Сред(Номер,СтрДлина - Ном,1) + НовыйНомер;
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
Возврат СтрЗаменить(Формат(Число(НовыйНомер),"ЧРГ='-'"),"-","");
КонецФункции
Как работает этот магический код? Начнем с простого: берём входящий номер документа и, как строгое судейское жюри, отслеживаем каждый символ. Мы идем справа налево, проверяем, является ли символ числом (я имею в виду, не колкие выражения о жизни, а именно цифры!). Когда мы находим первый нечисловой символ, тут-то и наступает момент истины — прерываем цикл и у нас осталась только «чистая» часть номера!
В конце мы используем СтрЗаменить, чтобы убрать ведущие нули и разделители разрядов (да, эти «-» совершенно не к месту!). И вот, в итоге, мы получаем просто номер документа, который без проблем можно передать на веб-сервис. Потому что, согласитесь, сквозь дебри лишнего, мы ищем лишь то, что нужно!
Так что, ребята, если у вас есть строки, полные лишних префиксов и ненужных символов, протестируйте эту функцию. Надеюсь, она избавит вас от лишних головных болей и сделает вашу жизнь чуточку проще! Удачи вам и программирование!