Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 22:07
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Удалить лишние пробелы  (Прочитано 10770 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн malvina_l

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-12-08
  • Сайт: 
  • Профессия: Программист 1С
привет, подскажите пожалуйста как удалить пробелы в середине строки , например "12582   наименование" нужно удалить пробелы между кодом и наименованием начала писать запрос а дальше что- то туплю:
Запрос= Новый Запрос;
      Запрос.Текст= "ВЫБРАТЬ
      |справочник.Наименование
      | ИЗ
      | Справочник. КАК справочник
      |ГДЕ
      | справочник= &справочник";
      Результат=Запрос.Выполнить();
      Выборка=Результат.Выбрать();
      Пока выборка.Следующий() цикл
      НоваяСтрока=
         Если  Найти(Лев(наименование),5);


Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
Если в Наименовании только один пробел то:
НовоеНаименование = СтрЗаменить(ТекущееНаименование, " ", "");
иначе:
ПозицияПробела = Найти(ТекущееНаименование, " ");
НовоеНаименование = Лев(ТекущееНаименование, ПозицияПробела-1) + Сред(ТекущееНаименование, ПозицияПробела + 1);

Оффлайн malvina_l

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-12-08
  • Сайт: 
  • Профессия: Программист 1С
Если в Наименовании только один пробел то:
НовоеНаименование = СтрЗаменить(ТекущееНаименование, " ", "");
иначе:
ПозицияПробела = Найти(ТекущееНаименование, " ");
НовоеНаименование = Лев(ТекущееНаименование, ПозицияПробела-1) + Сред(ТекущееНаименование, ПозицияПробела + 1);
вр=Сред(Наименование,6);
             Если  Лев(вр,1) = " "       тогда
                 вр=СокрЛП(вр);
                Наименование=Лев(Наименование,5)+" "+вр;
           КонецЕсли;
сделала так во внешней обработке а теперь как обратиться к наименованию справочника и перебрать все значения??

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
Какие-то странные пляски с пробелом...
Наименование = ?(Наименование[6]= " ", Лев(Наименование, 5) + " " + СокрЛП(Прав(Наименование, СтрДлина(Наименование) - 6)), Наименование);

Оффлайн knopodav

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-03-11
  • Сайт: 
  • Профессия: Программист 1С
Если в Наименовании только один пробел то:
Код: [Выделить]
НовоеНаименование = СтрЗаменить(ТекущееНаименование, " ", "");

Да пофик сколько пробелов в "НовоеНаименование"! Конструкция уберёт их все.

Встроенные функции языка (Script functions)
СтрЗаменить (StrReplace)
Синтаксис:

СтрЗаменить(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>)
Параметры:

<Строка> (обязательный)

Тип: Строка.
Исходная строка.
<ПодстрокаПоиска> (обязательный)

Тип: Строка.
Искомая подстрока.
<ПодстрокаЗамены> (обязательный)

Тип: Строка.
Подстрока, на которую будет заменена подстрока поиска.
Возвращаемое значение:

Тип: Строка.
Строка, полученная в результате замены.
Описание:

Находит в исходной строке все вхождения подстроки поиска и заменяет ее на подстроку замены.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
мне одному кажется, что эта тема - ДеЖавю? :xfbnsdfb:
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Оффлайн DmitriyF

  • *****
  • Сообщений: 729
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
а может там вообще непрерывный пробел

Оффлайн knopodav

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-03-11
  • Сайт: 
  • Профессия: Программист 1С
Маловероятно, хотя...
НовоеНаименование = СтрЗаменить(ТекущееНаименование, Символы.НПП, "");

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
Да пофик сколько пробелов в "НовоеНаименование"! Конструкция уберёт их все.
Конечно, но с ситуацией, когда из двух пробелов необходимо сделать один (или из трёх - два),  конструкция не справится.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
 
Цитировать
конструкция не справится.
В таком случае придётся обработку запустить несколько раз.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
36 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 331
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal