Имя: Пароль:
1C
1C 7.7
v7: Непечатные символы.
0 Eeakie
 
20.11.12
15:32
Пишу обработку и забираю из справочника элементы.
Подскажите, пожалуйста, как убрать непечатные символы? В справочнике их содержат наименования. Можно поставить какую-нибудь проверку?
1 zak555
 
20.11.12
15:33
Если Найти(имя, НеПечатемыйСимвол) > 0 Цикл
2 Eeakie
 
20.11.12
15:35
(1) Вопрос в том, как задать ИмяНепечатаемогоСимвола. В часности, пробел (или переход на новую строку, так и не разобрался).
3 zulu_mix
 
20.11.12
15:37
для ч=1 по КоличествоНеПечатемыхСимволов цикл
СтрокаВвода=СтрЗаменить(СтрокаВвода,МассивНеПечатемыхСимволов[ч],"");
конеццикла;
4 zulu_mix
 
20.11.12
15:37
(2) Символ(кодНеПечатемогоСимвола)
5 Eeakie
 
20.11.12
15:39
(4) Осталось найти коды самых распространенных непечатаемых символов ;)
6 mortes
 
20.11.12
15:39
Симв(13), Симв(10)
7 mortes
 
20.11.12
15:40
(5) КодСимв(<?>)
Синтаксис:
КодСимв(<Символ>)
Назначение:
Возвращает код первого символа, содержащегося в строке.
Параметры:
<Символ> - строковое выражение.
8 del123
 
20.11.12
15:41
16 человек следят за развитием событий и глумятся над парнем?:))
9 Eeakie
 
20.11.12
15:41
(7) Во. Спасибо.
10 Eeakie
 
20.11.12
15:42
(8)+еще16человек Идите в пень. Тут горе, а вы... :D
11 andrewalexk
 
20.11.12
15:42
:) непечатные это матерные что ли?
12 andrewalexk
 
20.11.12
15:43
(10) :) ты просто мутно выражаешь свои мысли...я тебе хоть ща могу таблицу кодов/символов....
13 mortes
 
20.11.12
15:44
(9) Мне просто интересно. В наименовании вообще не должно быть пробелов? Должно быть одно слово?
14 Dmitry77
 
20.11.12
15:51
Запустить в отладчике. Остановиться на строке где есть не печатный символ. Отладчиком вывести сроку. Скопировать символ в буфер обмена. Вставить этот символ в код между кавычками.

Если Найти(имя, " ") > 0 Цикл
15 monsterZE
 
20.11.12
15:52
некровставочка.. =) но, вроде работает
---
   Док.ВыбратьДокументы(НачДата, КонДата);
                                   
   Пока Док.ПолучитьДокумент()=1 Цикл                      
       Если ПустоеЗначение(Док.Дополнение)=0 Тогда  
           
           т=Док.Дополнение;
           ДлинаТ=СтрДлина(т);
           
           Для м=1 по ДлинаТ Цикл
               Если КодСимв(Сред(т,м,1))<32 Тогда
                   Сообщить(""+Док.Вид()+" "+СокрЛП(Док.НомерДок)+" / "+т);
               КонецЕсли;                                      
               
               Если (КодСимв(Сред(т,м,1))>122) и (КодСимв(Сред(т,м,1))<192) Тогда
                   Если КодСимв(Сред(т,м,1))<>185 Тогда
                       Сообщить(""+Док.Вид()+" "+СокрЛП(Док.НомерДок)+" / "+т);
                   КонецЕсли;    
               КонецЕсли;                                      
           КонецЦикла;
           
       КонецЕсли;    
   КонецЦикла;
16 vah1
 
20.11.12
15:55
фар-ом глянь, че за кодировка, а то там может и CHR(255) быть из псевдографики рамочки ординарные и двойные