Имя: Пароль:
1C
1С v8
Как убрать лидирующие нули при печати документа
0 King-SD
 
28.05.15
10:41
Подскажите, как убрать лидирующие нули при печати документа, если скажем номер будет А0000520  либо П0000520 ??
1 aka AMIGO
 
28.05.15
10:42
может, так: Число(номер);
2 Redkiy
 
28.05.15
10:42
(0) посмотреть как это сделано в любой типовой конфе
3 zippygrill
 
28.05.15
10:43
ПолучитьНомерНаПечать(ДокументСсылка)
4 King-SD
 
28.05.15
10:44
(2) Давайте без вот таких шуточек..
5 King-SD
 
28.05.15
10:45
(3) Забыл уточнить,, если присутствует А в начале, её тоже выводим на печать, , а если П, то нет
6 Любопытная
 
28.05.15
10:46
(5) какие шуточки? в любой типовой этот метод найдется
7 aka AMIGO
 
28.05.15
10:46
(5) тогда напрашивается совет: пиши функцию сам
8 King-SD
 
28.05.15
10:47
(7) Да я знаю, что её писать надо. я и спрашиваю как
9 Redkiy
 
28.05.15
10:51
(8) Вот упоротый...
1.Открой типовую.
2.Посмотри нужный алгоритм.
3.Оптимизируй код под свои хотелки.
10 anatoly
 
28.05.15
10:53
(8) т.е. посмотреть в типовой самому лень, надо кому то написать за тебя??
11 King-SD
 
28.05.15
10:55
(9) (10) Да вы чё такие тугие то? Типовая она так то не маленькая, и кода не 10 строчек. Еслиб я знал где смотреть, я и не спрашивал бы
12 fisher
 
28.05.15
10:56
Функция УбратьЛидирующиеНули(Номер, ДлинаПрефикса)
   Возврат Лев(Номер, ДлинаПрефикса) + Число(Сред(Номер, ДлинаПрефикса + 1))
КонецФункции
13 fisher
 
28.05.15
11:03
Функция УбратьЛидирующиеНули(Номер, ДлинаПрефикса, МассивИсключаемыхПрефиксов)
   Префикс = Лев(Номер, ДлинаПрефикса);
   НомерБезЛидирующихНулей = Строка(Число(Сред(Номер, ДлинаПрефикса + 1)));
   Результат = НомерБезЛидирующихНулей;
   Если МассивИсключаемыхПрефиксов.Найти(Префикс) = Неопределено) Тогда
      Результат = Префикс + Результат;
   КонецЕсли;
   Возврат Результат;
КонецФункции
14 King-SD
 
28.05.15
11:07
(13) Спасибо большое,, а если скажем мне нужно выводить префикс А, и без нулей,, а префикс П не выводился то как в код это добавить?
15 fisher
 
28.05.15
11:11
МассивИсключаемыхПрефиксов = Новый Массив;
МассивИсключаемыхПрефиксов.Добавить("П");
НомерДляПечати = УбратьЛидирующиеНули(Номер, 1, МассивИсключаемыхПрефиксов);
16 fisher
 
28.05.15
11:13
Можно с массива на структуру переписать для удобства вызова (одной строчкой).
17 fisher
 
28.05.15
11:15
Функция УбратьЛидирующиеНули(Номер, ДлинаПрефикса, ИсключаемыеПрефиксы)
   Префикс = Лев(Номер, ДлинаПрефикса);
   НомерБезЛидирующихНулей = Строка(Число(Сред(Номер, ДлинаПрефикса + 1)));
   Результат = НомерБезЛидирующихНулей;
   Если НЕ ИсключаемыеПрефиксы.Свойство(Префикс) Тогда
      Результат = Префикс + Результат;
   КонецЕсли;
   Возврат Результат;
КонецФункции
18 fisher
 
28.05.15
11:16
Тогда будет
НомерДляПечати = УбратьЛидирующиеНули(Номер, 1, Новый Структура("П"));
19 НЕА123
 
28.05.15
11:16
fisher
а почему ты ему что-то объясняешь?
20 King-SD
 
28.05.15
11:18
(19) А что ты так беспокоишься то?
21 fisher
 
28.05.15
11:28
(19) Правда, странно выглядит на фоне всеобщего чмырения новичков?
ЗЫ. Просто альтернативная форма самоутверждения :)
22 Злопчинский
 
28.05.15
11:36
шлангокодеры на восьмерке - ваще оборзели.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший