![]() |
![]() |
![]() |
|
v8 Как убрать пробелы в середине значения Ø |
☑ | ||
---|---|---|---|---|
0
молодой2000
09.02.06
✎
10:46
|
Есть значение 55 111 тип Строка , нужно преобразовать 55111 без пробела , плиз подскажите как ?
|
|||
1
2115
09.02.06
✎
10:48
|
НоваяСтрка = СтрЗаменить("55 111", " ", "");
|
|||
2
код263
09.02.06
✎
10:49
|
СтрЗаменить(ТвояСтрока,Символы.НПП,"")
|
|||
3
молодой2000
09.02.06
✎
10:52
|
Делал так:
ТекущийКод = 55 111; ДоПробела = Лев(ТекущийКод,Найти(ТекущийКод," ")-1); ПослеПробела = Сред(ТекущийКод,Найти(ТекущийКод," ")+1,100); Итог = ДоПробела+ПослеПробела; Отрабатывает только "После пробела" в таком виде = 55 111; Где я не прав? |
|||
4
молодой2000
09.02.06
✎
10:58
|
Попробывал и (1) и (2) не отробатывает - через отладчик "переменная не определена".
|
|||
5
код263
09.02.06
✎
10:58
|
есть обычный пробел " "
и есть необычный пробел - неразрывный (Символы.НПП или Символ(160)) |
|||
6
balamut
09.02.06
✎
11:15
|
Пока найти(значение," ")>0 цикл
стрзаменить(значение," ",""); конеццикла; результат=число(значение); |
|||
7
Mitrich
09.02.06
✎
11:18
|
(3)Что, в самом деле: "ТекущийКод = 55 111"?
Напиши тогда "ТекущийКод = 55111" и будет щастье :) А если без шуток, текущий код небось так получал: ТекущийКод = Строка(ЧисловойКод) Если да, измени на (это связано с нац.установками в 1С): ТекущийКод = Строка(Формат(ЧисловойКод, "ЧГ=0") |
|||
8
ТелепатБот
09.02.06
✎
11:23
|
<><>–ЈиЮ“ияэ‹®фН™ьДрѕЧЖ№ЁэЌяч?™ыДҐѕ‚Е±ЁшЪшфК™сЗ¤ѕ„Е№яэЌъ НљшЗ§ЅЦЕмЁ¬Ћы ћОщЗҐѕЦЕѕЁщЌэчџ™сЗ§ѕУЕл«®ЪшчОљщЗ¦ѕЂЕпяэЋшчН™юЗҐЅЂЕЅЁЁЌъЎћКы–§иѓ–±ъщЯьҐНПЁ“уйЂ—ѕъъЯя ?К«—§йѓ–ныфЯыҐЙКш“рмФ—јя«ЮщҐПЛэ—¬нХ–кышЪҐНКс–ҐиЂ–°ыщЫ¬ЎКПяЎ•Ыж ‰ННиИ’эьЙе
|
|||
9
Mitrich
09.02.06
✎
11:31
|
(8) ОФФ Классно :( Меня посчитали. А если так:
"Не преобразовывается дата в строку! Помогите, люди добрые!!!" Отреагируем? |
|||
10
молодой2000
09.02.06
✎
11:32
|
Да Mitrich именно так:ТекущийКод = Строка(СокрЛП(Строка.КодТМЦ));
Попробывал: ТекущийКод = Строка(Формат(СокрЛП(Строка.КодТМЦ),"ЧГ=0")); //в отладчике число как было так и осталось без искажений НоваяСтрока = СтрЗаменить(ТекущийКод,Символы.НПП,""); //переменная не определена , к сожалению Раскажу предисторию может поможет понять, есть обработка, в ней есть табличная часть , есть колонка КодТМЦ - тип строка , заполняю эту табличную чать из DBFIII файла , а затем во второй фазе после ее заполнения начинаю искать нужное мне значение, сравниваю КодТМЦ , с Кодом справочника Номенклатура ,находит только значения 4-999, как только 1 000 все каюк из-за пробела любое значение от 1 000 до 99 000 не находит хотя по кодам в справочнике присутствуют все значения в поле код соответственно только в виде 1000 до 99000. Вот и вся сказка !! |
|||
11
Mitrich
09.02.06
✎
11:36
|
(10)ТекущийКод = СокрЛП(Формат(Строка.КодТМЦ,"ЧГ=0"));
"Почувствуйте разницу!!!" Объяснять? |
|||
12
2115
09.02.06
✎
11:37
|
НоваяСтрока = СтрЗаменить(ТекущийКод,Символы.НПП,"")
или НоваяСтрока = СтрЗаменить(ТекущийКод," ","") Это не может не работать!!! А для поиска потом что используешь? Поди ТекущийКод? А надо НоваяСтрока |
|||
13
Волшебник
09.02.06
✎
11:37
|
<><>–ч—ц–ц–яЗЄБ«–яБЄВэВяБъБяБьБчВяБЄБэБяБ–яБ«Бъ–яБ«Бя–яВэБэБЄБъ–яВюБЄБЄБюВцБъБ«БчБъ–¬–яБя–яБ«Бя–яБэБЄБ©ВяБЄВю–яБяБэВэБЄВяБя–яБэБъВэБ®Бч–Є¤ПЯ
|
|||
14
Mitrich
09.02.06
✎
11:38
|
<><>ѕМн№‹шљЭкЫОџ—¬ЎЁйА»мЭыљЃкЫОџАЎ¬ѕД»јЮшН‡ЅЫИНАюхъй’»нЭшН†ѕШИМ—ҐЎшк—ё№ЮљФЅ?ИК—«ў®й‘мнЉ®љЃкЫОЛ”®хъйМмёЭ©НФЅЯИЛ—шхЇЊфЮ?ёЛЁдШлЇтќЗКж
|
|||
15
молодой2000
09.02.06
✎
11:48
|
ОГРОМНЫЙ ВСЕМ РЕСПЕКТ,Mitrich,2115,ТелепатБот,balamut,Код263 - но хочу заменить все это время когдая я применял, советы включая (11) находясь в режиме отладки и через точку останова тестил в табло, в котором я видел неопределенное значение строки, вышел из отладчика , начал тестить через Сообщить все "ООК" . Почему же в табло мне не выдавался искомый результат ?
Или это камень в сторону разработчиков платформы , у меня последняя, 1С:Предприятие 8.0 (8.0.13.32). |
|||
16
НикПод Давлением
09.02.06
✎
11:51
|
что это вас так расперло
в (2) же дали правильное решение я правда писал так: стр = СтрЗаменить(стр,Символ(160),""); работает 100% |
|||
17
молодой2000
09.02.06
✎
11:56
|
(16) наверно, без Б , может и так , наверно толи по своей глупости или неопытности я все время сиде в режиме отладки , но зато очень и очень эфективно, многое понял , например если все окончилось на (2) то я бы не узнал о (8), вот и все.
|
|||
18
Волшебник
09.02.06
✎
12:07
|
(17) Странно, но правильный ответ в (8) на вопрос автора ветки был удален.
|
|||
19
Волшебник
09.02.06
✎
12:13
|
На всякий случай дам официальную ссылку на решение этой проблемы:
http://www.v8.1c.ru/predpriyatie/typical_problems_Types.htm#2 --- При преобразовании числа из 4 цифр в строку количество символов в строке равно 5. Почему? . При стандартных региональных настройках для русского языка при приведении числа к строке между группами разрядов чисел вставляется неразрывный пробел (Символы.НПП), например: . Год = 2003; Строка1 = Строка(Число1); //Строка1 = "2 003", длина строки - 5 символов, включая неразрывный пробел . Чтобы преобразовать число к строке без вставки символа-разделителя групп (неразрывного пробела), нужно применить функцию Формат с параметром ЧГ=0: . Строка1 = Формат(Число1,"ЧГ=0"); . Чтобы изменить преобразование чисел к строке по умолчанию, нужно для информационной базы установить региональные настройки (например, параметр "Группировка" установить в 0). . Для получения строкового представления года следует не получать числовое значение года, а использовать функцию Формат. Например: . Формат(ТекущаяДата(), "ДФ=yyyy") . Смотрите также на ИТС "Особенности форматирования значений". |
|||
20
0xFFFFFF
09.02.06
✎
12:23
|
(не читая ветку)
Фигасе! Удаление пробелов в строке - 19 постов! Пропало все желание браться за восьмерку... |
|||
21
Волшебник
09.02.06
✎
12:27
|
(20) Смешной ты...
|
|||
22
Mitrich
09.02.06
✎
12:37
|
(2) - правильный ответ на неверно поставленный вопрос
(8), (19) - развернутый правильный ответ на верно переформулированный вопрос (7), (11) - (скромно) То, что собственно хотел автор (я чуть-чуть телепат :)). Мораль: учитесь правильно формулировать вопросы. |
|||
23
ТелепатБот
09.02.06
✎
12:41
|
(15) Спасибо за благодарность. Для меня это особенно приятно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |