Как убрать пробелы в строке 1с
Загружаю данные из excel в документ 1с , чужой обработкой. При загрузке почему-то реквизит ИНН типа «строка (!)», разбивается на триады пробелами. Можно ли при дальнейшей обработке в моем документе(поиск по ИНН) убрать из строки эти пробелы? Или каким образом это может разбиваться, чтобы убрать при загрузке? Подскажите пожалуйста!
Никак не могу разобраться, а надо срочно!
СтрЗаменить() ?
СтрЗаменить (StrReplace)
Синтаксис:
СтрЗаменить(, , )
Параметры:
(обязательный)
Тип: Строка. Исходная строка.
(обязательный)
Тип: Строка. Искомая подстрока.
(обязательный)
Тип: Строка. Подстрока, на которую будет заменена подстрока поиска.
Возвращаемое значение:
Тип: Строка. Строка, полученная в результате замены.
Описание:
Находит в исходной строке все вхождения подстроки поиска и заменяет ее на подстроку замены.
Пример:
Результат = СтрЗаменить(Номенклатура.Наименование, «_», » «);
зачем темы повторять?
пока не покажешь код ни кто тебе не подскажет. скорее всего у тебя где-то преобразование в число и обратно идет.
тогда тебе надо убирать не пробелы а НеразрывныеПробелы.
короче сначало код потом совет.
Пробовал, а какие параметры поставить в кавычках? я поставил так,
СтрЗаменить(Номенклатура.Наименование, » «, «»);
не помогло
(4) там кода страниц пять ! выкладывать? и как убрать НеразрывныеПробелы?
(4)
Процедура ВыборЛиста(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
ПоказатьСтрок=25;
ФормаУстановок = ПолучитьФорму(«Настройка»);
ФормаУстановок.ОткрытьМодально();
ЭлементыФормы.ДанныеЛиста.Колонки.Очистить();
ЭлементыФормы.тпСопоставление.Колонки.Очистить();
ДанныеЛиста.Колонки.Очистить();
Для к=1 по ВыбраннаяСтрока[3] цикл
Колонка = ЭлементыФормы.ДанныеЛиста.Колонки.Добавить(«К»+Строка(к));
Колонка.Данные = «К» + Строка(к); // кажись вот так нада
сопКол = ЭлементыФормы.тпСопоставление.Колонки.Добавить(«К»+Строка(к));
сопКол.Данные = «К» + Строка(к);
ДанныеЛиста.Колонки.Добавить(«К»+Строка(к));
КонецЦикла;
Для к=1 по ПоказатьСтрок цикл
нСтр=ДанныеЛиста.Добавить();
Для п=1 по ВыбраннаяСтрока[3] цикл
нСтр[п-1]=ВыбраннаяСтрока[1].Cells(к,п).Value();;
КонецЦикла;
КонецЦикла;
Колонок= ВыбраннаяСтрока[3];
Строк = ВыбраннаяСтрока[2];
ЕХ_объект = ВыбраннаяСтрока[1];
КонецПроцедуры
Идет преобразование в число и бьются на триады — Фоматни:
ИНН = Формат(ЛистПост.Cells(НомерСтроки,3).Value,»ЧГ=0″);
Убрать пробелы в строках 1С
При работе со строками, для удаления пробелов и других незначащих символов в 1С предусмотрены функции СокрЛ(), СокрП(), СокрЛП().
Удалить пробелы справа, слева
Незначащие символы — это «Пробел», «Неразрывный пробел», «Табуляция», «Возврат коретки», «Перевод коретки», «Перевод строки», «Перевод формы».
//Отсекает незначащие символы слева
Строка = СокрЛ(" Строка ");
//Строка = "Строка ";
//Отсекает незначащие символы справа
Строка = СокрП(" Строка ");
//Строка = " Строка";
//Отсекает незначащие символы слева и справа
Строка = СокрЛП(" Строка ");
//Строка = "Строка";
Удалить все пробельные символы
Для удаления всех пробельных символов строки можно воспользоваться функцией «СтрЗаменить()». Эта функция позволяет заменить одну подстроку на другую.
Строка = СтрЗаменить(" Строка Строка", Символы.НПП, "");
//Строка = "СтрокаСтрока";
При преобразовании числа к строке могут появиться разделители групп числа. Если разделителем групп является символ «Неразрывный пробел», то функцией СтрЗаменить() можно заменить данный символ на пустую строку.
Иногда, приведенные выше примеры не удаляют пробельные символы. Такая ситуация может возникнуть, например, при работе с Excel файлами. Для решения данной задачи можно попробовать заменить Символ(160) на пустую строку.
Строка = СтрЗаменить(" Строка ", Символ(160), "");
//Строка = "Строка";
Как убрать пробелы в строке 1с
« Как стать программистом 1С » Язык 1С » 1С СокрЛП, 1С СокрЛ, 1С СокрП – удаление лишних символов
1С СокрЛП, 1С СокрЛ, 1С СокрП – удаление лишних символов
Функции 1С СокрЛП(Строка), 1С СокрЛ(Строка) и 1С СокрП(Строка) удаляют из текста лишние символы.
- Выполняем
СокрЛП(»
| Привет, мир!
| «) - 1С возвращает «Привет, мир!»
- 1С СокрЛ – с начала строки до «значащих символов»
- 1С СокрП – с последнего «значащего символа» до конца строки
- 1С СокрЛП – одновременно слева и справа.
«Лишние символы», которые можно убрать с помощью 1С СокрЛ, 1С СокрП, 1С СокрЛП:
- Пробел
- Перенос строки, страницы
- Табуляция.
Лишние пробелы внутри строки, между словами функции 1С СокрЛ, 1С СокрП, 1С СокрЛП не удаляют.
Строковые реквизиты, например справочнков, имеют обычно определенную длину, например возьмем 50 символов. При вводе пользователи может ввести лишние пробелы в конце, особенно если текст в поле не вводится вручную, а копируется из сторонней программы.
Если пользователь ввел значение с пробелом, то сравнение с заданной строкой не будет работать – ведь сравнение учитывает все символы, включая незначимые.
- Пользователь ввел: «РОССИЯ «
- Мы сравниваем: Если Страна = «РОССИЯ» //не сработает
- Чтобы сработало, пишем: Если СокрЛП(Страна) = «РОССИЯ» //сработает
1С СокрЛП() некоторые программисты используют при переводе чисел в строку, вместо Строка(). Дело в том, что числа форматируются при переводе по настройкам локализации с пробелами между разрядами: 22500 -> «22 500». Однако 1С СокрЛП() не убирает пробелы между словами. Вместо этого можно применять Формат():
Число = 22500;
ЧислоСтрокой = Формат(Число, «ЧГ=0»);
//ЧислоСтрокой будет равно «22500»
Добавим в наш анализатор строки программы, позволяющие удалить незначащие символы как слева и справа, так и между словами (про анализатор текста см. выше «Функции работы со строками 1С»).
Только зарегистрированные пользователи VIP группы могут видеть этот контент.
Проголосовать за этот пост:
Как убрать разделители разрядов
В 1С Предприятии 8, в отличие от 7-й версии, вывод чисел по умолчанию представлен с использованием разделителей разрядов, т.е. вместо 1999999 выводится 1 999 999, причем используется не символ пробела, а так называемый, «неразрывный пробел». Это не всегда удобно, а в некоторых случаях даже неприемлимо. Как вернуться к привычному выводу. Рассмотрим несколько способов.
Способ 1.
Основан на использовании штатной функции Формат. В качестве форматной строки используем «»ЧГ=0».
Пример: Формат( Чмсло,»ЧГ=0″ )
Способ 2.
Используется строковая функция замены подстроки СтрЗаменить(ПеременнаяЧисло,Символы.НПП,»»)
Пример: СтрЗаменить( Число , Символы.НПП ,»»)
Способ 3.
Метод для гурманов, но некоторые считают его методически самым правильным. Открываем Конфигуратор Администрирование-Региональные установки ИБ, в параметр «Группировка» выбираем значение 0. См. рисунок ниже.