|   |   | 
| 
 | лидирующие нули | ☑ | ||
|---|---|---|---|---|
| 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); КонецЦикла; Если Не ПустаяСтрока(Префикс) Тогда НомерДокумента = Префикс + УбратьЛидирующиеНули(НомерДокумента); КонецЕсли; КонецПопытки; Возврат НомерДокумента; КонецФункции | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |