Имя: Пароль:
1C
1С v8
Преобразование Первой буквы первого слова в верхней регистр
, ,
0 MrKartez
 
07.07.14
11:38
например есть два слова: один два. Надо получить такую строку: Один два. Вижу функцию ТРег(<Строка>), но кажется она мне выдаст: Один Два. Есть ли какой-нибудь механизм в типовой конфе для этих целей?
1 wanderer_ица
 
07.07.14
11:39
стр = Врег(Лев(стр, 1)) + Сред(стр, 2);
2 PR
 
07.07.14
11:41
Скоро по ходу будут в норме ветки типа "Мне нужно нажать кнопку Esc, как это сделать?" и "Как сложить два числа?".
3 mikecool
 
07.07.14
11:41
(2) не умничай
4 Wobland
 
07.07.14
11:42
(0) БСП внедрять надо, однако
5 GreatOne
 
07.07.14
11:45
казалось бы, причем тут 1С?
6 Timon1405
 
07.07.14
11:45
(2) Про округление уже была тема, про сложение скоро будет)
В топик призываются знатоки LINQ v8: Мощь LINQ-а, или 1С и  не снилось. , без него тут никак ящитаю
7 IVT_2009
 
07.07.14
11:52
(1) только не лишне проверить на пробел первый символ
8 f_vadim
 
07.07.14
11:54
урок информатики в детском саду
9 acsent
 
07.07.14
11:56
(2) как сложить 2 числа уже было
10 MrKartez
 
07.07.14
11:56
Я конечно понимаю, тут крутые гуру собрались и все такое. Уделите мне, простому смертному-нубу кусочек своего времени и своих познаний
11 Ymryn
 
07.07.14
11:57
(10) Уделили. И плавно превращаем тему в пятничную. Решение в (1), если что.
12 f_vadim
 
07.07.14
11:58
(10) ты не нуб, ты лентяй
13 DCKiller
 
07.07.14
11:58
(10) Тебе в (1) уже все написали, что тебе еще надо?
14 Wobland
 
07.07.14
12:00
(11) (12) (13) надо так:
стр = Врег(Лев(стр, 1)) + Сред(стр, 2);
стр = Врег(Лев(стр, 1)) + Сред(стр, 2);
стр = Врег(Лев(стр, 1)) + Сред(стр, 2);
стр = Врег(Лев(стр, 1)) + Сред(стр, 2);
15 f_vadim
 
07.07.14
12:02
(14) почему четыре раза? двух же достаточно
16 Asmody
 
07.07.14
12:09
(15) чтобы наверняка
17 samozvanec
 
07.07.14
12:13
(11) (12) (13) (14) он одним словом хочет. типа ТРегНоТолькоПервоеСловоПожалуйста()
18 samozvanec
 
07.07.14
12:14
+(17) в ветках "что вы хотите от 1с" все забывают про такие простые функции, так горячо ожидаемые в других ветках
19 PR
 
07.07.14
12:31
(17) А, ну да.
А можно мне написать, как с помощью запроса выбрать ноутбук на яндекс маркете.
А то в запросах есть же ВЫБРАТЬ.
Ну пожалуйста :))
20 PR
 
07.07.14
12:32
Вообще если принципиально все остальное преобразовать в нижний регистр, то
стр = Врег(Лев(стр, 1)) + Нрег(Сред(стр, 2));
21 Ymryn
 
07.07.14
12:38
(20) Как уже говорилось выше. Нужна проверка на лидирующие дыры. стр = Врег(Лев(СокрЛ(стр), 1)) + Нрег(Сред(СокрЛ(стр), 2));
:)
22 PR
 
07.07.14
12:44
(21) Мне кажется, код уже становится нечитабельным, нужно сделать отдельную функцию и поэтапное преобразование переменных.
Функцию вынести в общий модуль, модуль включить в новую подсистему "Функции преобразований всяко-разных".
23 Ymryn
 
07.07.14
12:46
(22) поддерживаю. Также нужна документация в комментариях. Еще необходима проверка, а содержит ли вообще строка символы, которые можно модифицировать в верхний регистр. Обработка исключений, если строка начинается с цифры или спец. символа. Альтернативная работа для текста, который весь написан в верхнем регистре (как параметр функции).
24 mikecool
 
07.07.14
12:47
(22) а вот тут уже помощник нужен, хомо сапиенс называется
25 PR
 
07.07.14
12:52
(23) Я считаю, что если строка в результате всего не преобразовывалась, то об этом тоже нужно информировать пользователя.
Но, поскольку выдавать в этом случае предупреждение или сообщение — моветон, то я бы добавил новый регистр сведений, в котором хранил бы случаи замен и признак, производилась ли замена.
Плюс отчет по регистру конечно же.
Ну и новая роль на эти объекты.
Чтобы у тех, кому это не нужно, этот функционал не использовался, функциональная опция.
Ну и, чтобы лишний функционал не мозолил глаза тем пользователям, кому это не нужно, пользовательская настройка.
26 Ymryn
 
07.07.14
12:53
(25) мастерски. Красиво получается.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс