|
Как работает Число (Стр) ? | ☑ | ||
---|---|---|---|---|
0
zak555
30.07.12
✎
10:34
|
Число("01 ") = 1
Число("0") = 0 Число(" 1") = 1 а вот Число("00п") Число("") {(1)}: Преобразование значения к типу Число не может быть выполнено т.е. пробелы умеет отбрасывать, а всё остальное нет ? |
|||
1
Maxus43
30.07.12
✎
10:35
|
ну пробел - незначащий символ, а "п" как он тебе преобразует?
|
|||
2
zak555
30.07.12
✎
10:35
|
(1) 7ка его откидывала
|
|||
3
Maxus43
30.07.12
✎
10:36
|
Преобразует полученный параметр в значение типа Число.
Значение типа Строка преобразуется в число в том случае, если параметр является строковым представлением литерала численного типа. При этом строковое представление анализируется как с учетом региональных установок информационной базы, так и без их учета. В противном случае будет выдано сообщение об ошибке выполнения функции. (с) СП (2) ну и хорошо что 8-ка не откидывает, надо нормально код писать |
|||
4
Рэйв
30.07.12
✎
10:42
|
Функция ЧислоИзЛюбойСтроки(Строчка)
СтрочкаЧисло=""; Для н=1 По СтрДлина(Строчка) цикл Сим-Сред(Строчка,н,1); Если Найти("0123456789",Сим)>0 Тогда СтрочкаЧисло=СтрочкаЧисло+Сим; КонецЕсли; Конеццикла; Возврат Число(СтрочкаЧисло); КонецФункции //---------------- ... А=ЧислоИзЛюбойСтроки("00п"); |
|||
5
zak555
30.07.12
✎
10:43
|
(3) > ну и хорошо что 8-ка не откидывает, надо нормально код писать
это нужно для перенумерации документов с помощью штатной обработки УниверсальныеПодборИОбработкаОбъектов.epf в номера документах ЗУПа есть "постфиксы", от которых нужно избавиться дополнение строки символами, как функция общего модуля -- нашёл а вот преобразование в число из строки, если там могут быть не числовые литералы - нет просто не хочется велосипед изобретать |
|||
6
Рэйв
30.07.12
✎
10:43
|
Сим-Сред(Строчка,н,1);
читать как Сим=Сред(Строчка,н,1); |
|||
7
zak555
30.07.12
✎
10:43
|
(4) это понятно, но в УниверсальныеПодборИОбработкаОбъектов.epf функцию не напишешь
|
|||
8
Maxus43
30.07.12
✎
10:45
|
(5) чтоб не изобретать - вытаскивай именно номер, без префиксов. общая функция - ПодготовитьНомерНаПечать() умеет
|
|||
9
Maxus43
30.07.12
✎
10:45
|
(7) что мешает?
|
|||
10
zak555
30.07.12
✎
10:49
|
(8) там номера типа
"000067 пр" |
|||
11
Maxus43
30.07.12
✎
10:50
|
(10) ищи первую не цифру и обрезай тогда... частный случай решается таким образом, универсальными обработками никак
|
|||
12
zak555
30.07.12
✎
10:52
|
(11) так это самое простое решение )))
я то думал, что в зупе много универсальных функций в общих модулях, с помощью которых можно было бы решить эту простую задачу |
|||
13
i_rodionov
30.07.12
✎
10:52
|
Кстати, интересная тема, как использовать регулярные выражения
|
|||
14
pumbaEO
30.07.12
✎
10:57
|
(13) http://snegopat.ru/forum/viewtopic.php?f=6&t=218& регулярные тоже можно использовать.
|
|||
15
i_rodionov
30.07.12
✎
10:58
|
(14) Это я намекал автору на эту вещь
|
|||
16
pumbaEO
30.07.12
✎
10:59
|
(15) на linux версии не взлетит. :)
|
|||
17
i_rodionov
30.07.12
✎
11:01
|
(16) согласен, увы
|
|||
18
zak555
30.07.12
✎
11:11
|
да уж, фигню спросил
|
|||
19
zak555
30.07.12
✎
11:24
|
кстати, а в ЗУПе для документов ОтпускаОрганизаций префиксов в пользовательском режиме никак не назначишь ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |