1С: Приведение номера документа к числу
Задача: преобразовать номер документа вида ТП1-000234 в число 234. Т.е. убрать префикс и лидирующие нули.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
&НаСервере Функция УбратьЛидирующиеНули(НомерДокумента) Попытка НомерДокумента = Формат(Число(НомерДокумента), "ЧГ="); Исключение НомерДокумента = СтрЗаменить(СокрЛ(СтрЗаменить(СокрП(НомерДокумента), "0", " ")), " ", "0"); Префикс = ""; Пока КодСимвола(НомерДокумента) < 48 Или КодСимвола(НомерДокумента) > 57 Цикл Префикс = Префикс + Лев(НомерДокумента, 1); НомерДокумента = Сред(НомерДокумента, 2); КонецЦикла; Если Не ПустаяСтрока(Префикс) Тогда НомерДокумента = Префикс + УбратьЛидирующиеНули(НомерДокумента); КонецЕсли; КонецПопытки; Возврат НомерДокумента; КонецФункции &НаСервере функция ИзвлечьНомерДоговора(номер) мм=СтрРазделить(номер,"-"); возврат УбратьЛидирующиеНули(мм[1]); конецфункции |