Массив в цикле

Новая тема
"Помогите, имеется строка, где через запятую занесены слова, как получить каждое слово используя разделитель ",".
использую Функцию РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",")  но вычисляется только последний элемент, предыдущие откидываются, выборка через цикл-выдает ошибку,
///код выдает последний элемент
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(Стр,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделителя);
Сообщить(""""+Стр);
КонецЦикла;
///код через выборка через цикл
МассивСтрок= РазложитьСтрокуВМассивПодСтрок(СтруктураШапкиДокумента.Комментарий,",");
КоличествоПодстрок = МассивСтрок.Количество();
Для каждого строка из МассивСтрок Цикл
КонецЦикла;

Нужно получить каждый элемент из строки и занести в ТЗ, для дальнейшего использования....."
"> выборка через цикл-выдает ошибку,
Какую ошибку?

Вот такой код прекрасно работает:
Стр = "1,2,тест,тест2";
Мас = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок (Стр, ",");
Для Каждого сСтр Из Мас Цикл
Сообщить (сСтр);
КонецЦикла;"
Я сделала проще выгрузила в списокзначений и в цикле получаю каждый элемент.
"Функция РазложитьСтрокуВМассивПодСтрок(Стр,Разделитель)

МассивСтрок1 = Новый Массив;

ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
 Поз = Найти(Стр,Разделитель);
 Если Поз=0 Тогда
  МассивСтрок1.Добавить(Стр);
  Возврат МассивСтрок1;
 КонецЕсли;
 МассивСтрок1.Добавить(Лев(Стр,Поз-1));
 Стр = Сред(Стр,Поз+ДлинаРазделителя);
КонецЦикла;
Возврат МассивСтрок1;
КонецФункции
&НаКлиенте
Процедура Команда1(Команда)
Стр=Объект.Реквизит1;
МассивСтрок= РазложитьСтрокуВМассивПодСтрок(Стр,",");
КоличествоПодстрок = МассивСтрок.Количество();

Для каждого строка из МассивСтрок Цикл
 Сообщить(строка);
КонецЦикла;

КонецПроцедуры"
Читают тему
(гостей: 1)

Быстрый переход