helpf.pro
Регистрация

v8: Цикл

Farmar
24.05.2012 16:38Прочитано: 1121
Когда остается одно слово нужно выйти из цикла, помогите описать.
Код 1C v 8.х
 переменная = НаимТовара;
длина = СтрДлина(переменная);
последнийПробел=0;
Пока МасТов.Количество() <> 1 Цикл

для П=1 по длина цикл
Если (Сред(переменная, П, 1)) = " " тогда
последнийПробел = П;
КонецЕсли;
КонецЦикла;
переменная = Сред(переменная, 1, последнийПробел-1);
МасТов = локНайтиНоменклатуруПоНаименованию(переменная);

КонецЦикла;

Изменено 24.05.12 16:40:10
Yandex
Возможно, вас также заинтересует
Реклама на портале
Farmar
24.05.2012 17:12Ответ № 1
Должно выходить из цикла, когда остается одно слово!
odinson
24.05.2012 17:44Ответ № 2
Код 1C v 8.2 УП
 
Переменная = "Строка с несколькими пробелами";
ОбщееКолвоПробелов = Найти(Переменная, " ");
КолвоОбработанныхПробелов = 0;
Счетчик = 1;
Пока КолвоОбработанныхПробелов <> ОбщееКолвоПробелов Цикл
ТекСимвол = Сред(Переменная, Счетчик, 1);
//делаем что нужно
Если ТекСимвол = " " Тогда
КолвоОбработанныхПробелов = КолвоОбработанныхПробелов + 1;
КонецЕсли;
Счетчик = Счетчик + 1;
КонецЦикла;


Это один из вариантов работы со строкой с отбрасыванием последнего слова
Farmar
29.05.2012 14:36Ответ № 3
Подскажите как из этого сделать, не так чтоб он убирал слова до пробела а по 3 символа, не имеет значения каких, тем самым я хочу сделать поиск по номенклатуре, т.е.е если не нашел, то убираем пару символов и ищем дальше, и т.д.
Код 1C v 8.х
  переменная = НаимТовара;
длина = СтрДлина(переменная);
последнийПробел=0;
Пока МасТов.Количество() <> 1 Цикл

для П=1 по длина цикл
Если (Сред(переменная, П, 1)) = " " тогда
последнийПробел = П;
КонецЕсли;
КонецЦикла;
переменная = Сред(переменная, 1, последнийПробел-1);
МасТов = локНайтиНоменклатуруПоНаименованию(переменная);

КонецЦикла;
Farmar
30.05.2012 10:47Ответ № 4
Вопрос закрыт!
Подсказка: Вы можете добавить любую страничку в Избранное щелкнув по значку
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.