|
лидирующие нули | ☑ | ||
---|---|---|---|---|
0
SergeySergIT
24.08.11
✎
12:56
|
скажите как убрать лидирующие нули в номере документа
|
|||
1
Axel2009
24.08.11
✎
12:59
|
по-символьно проверить
|
|||
2
mikecool
24.08.11
✎
13:01
|
ОбщегоНазначения.ПолучитьНомерНаПечать()
|
|||
3
Nikitos
24.08.11
✎
13:03
|
Функция УбратьЛидирующиеНули(НомерДокумента)
Пока Найти(НомерДокумента, "0") > 0 Цикл УбратьЛидирующиеНули(Прав(НомерДокумента, СтрДлина(НомерДокумента)-1)); КонецЦикла; Возврат НомерДокумента; КонецФункции |
|||
4
Nikitos
24.08.11
✎
13:04
|
(2) А вдруг пишется очередная нетленка?
|
|||
5
mikecool
24.08.11
✎
13:04
|
(4) я не телепат в последнее время
|
|||
6
Axel2009
24.08.11
✎
13:05
|
Сред(НомерДокумента, 2) кошернее =)
|
|||
7
Nikitos
24.08.11
✎
13:07
|
(6) Согласен, но мы не ищем легких путей...
|
|||
8
Ткачев
24.08.11
✎
13:15
|
Попытка
НомерДокумента = Формат(Число(НомерДокумента), "ЧГ="); Исключение //Тут перебираем циклом до строчного символа КонецПопытки; |
|||
9
SergeySergIT
24.08.11
✎
13:19
|
(8) лучше всего подошло
|
|||
10
Nikitos
24.08.11
✎
13:26
|
(9) а если буква перед нулем будет???
Не задумывался? |
|||
11
SergeySergIT
24.08.11
✎
13:35
|
(10)точно не будет
|
|||
12
Vetal_978
24.08.11
✎
13:35
|
(10) тогда ноль не лидирующий :)
|
|||
13
Rebelx
24.08.11
✎
13:40
|
или так можно:
СтрЗаменить(СокрЛ(СтрЗаменить(СокрП(Номер), "0", " ")), " ", "0") |
|||
14
Планета Обезьян
24.08.11
✎
13:41
|
прочитал как "летающие пули".. пора в отпуск..
|
|||
15
Ткачев
24.08.11
✎
13:53
|
(10)Ну если совсем надо убрать ноли, можно сделать так:
Функция УбратьЛидирующиеНули(НомерДокумента) Попытка НомерДокумента = Формат(Число(НомерДокумента), "ЧГ="); Исключение Пока Лев(НомерДокумента, 1) = "0" Цикл НомерДокумента = Сред(НомерДокумента, 2); КонецЦикла; Фл = ""; Пока КодСимвола(НомерДокумента) < 48 Или КодСимвола(НомерДокумента) > 57 Цикл Фл = Фл + Лев(НомерДокумента, 1); НомерДокумента = Сред(НомерДокумента, 2); КонецЦикла; НомерДокумента = Фл + УбратьЛидирующиеНули(НомерДокумента); КонецПопытки; Возврат НомерДокумента; КонецФункции |
|||
16
Ткачев
24.08.11
✎
13:57
|
+(15)Вместо
Пока Лев(НомерДокумента, 1) = "0" Цикл НомерДокумента = Сред(НомерДокумента, 2); КонецЦикла; Поставить (13) |
|||
17
SergeySergIT
24.08.11
✎
14:17
|
) да так пожалуй еще лучше))) всем спасибо) и кстати вопрос немного не в тему как закрывать созданную тему?
|
|||
18
Ткачев
24.08.11
✎
14:19
|
(17)Если непосредственно в номере есть буква то (15) повиснет, исправил:
Функция УбратьЛидирующиеНули(НомерДокумента) Попытка НомерДокумента = Формат(Число(НомерДокумента), "ЧГ="); Исключение НомерДокумента = СтрЗаменить(СокрЛ(СтрЗаменить(СокрП(НомерДокумента), "0", " ")), " ", "0"); Префикс = ""; Пока КодСимвола(НомерДокумента) < 48 Или КодСимвола(НомерДокумента) > 57 Цикл Префикс = Префикс + Лев(НомерДокумента, 1); НомерДокумента = Сред(НомерДокумента, 2); КонецЦикла; Если Не ПустаяСтрока(Префикс) Тогда НомерДокумента = Префикс + УбратьЛидирующиеНули(НомерДокумента); КонецЕсли; КонецПопытки; Возврат НомерДокумента; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |