Имя: Пароль:
1C
 
Удалить символ из строки
0 Redimer
 
06.04.09
18:20
Перебираю строки таб. части и записываю их в строковую переменную.

Для Каждого Строка Из СписокИмен Цикл
Наименование = Наименование + Строка.Имя + ",";
КонецЦикла

Получается строка вида: Саша,Маша,Катя,Лена,

В конце есть лишняя запятая которую надо удалить, либо(что еще лучше) заменить на точку... Не могу допереть как это сделать...

Заранее благодарен.
1 Aprobator
 
06.04.09
18:21
СтрЗаменить
2 smaharbA
 
06.04.09
18:22
Лев(СтрДлина - 1
3 Aprobator
 
06.04.09
18:22
а - тебе надо только последнюю.
4 Aprobator
 
06.04.09
18:24
Тогда см (2). Болеее подробный перевод
Наименование = Лев(Наименование, СтрДлина(Наименование) - 1)
5 akostrov
 
06.04.09
18:29
н=0;
Для Каждого Строка Из СписокИмен Цикл
н=н+1;
Наименование = Наименование + Строка.Имя + ?(н=СписокИмен.Количество()"",",");
КонецЦикла
6 akostrov
 
06.04.09
18:31
+(5) запятую не по ставил.

+ ?(н=СписокИмен.Количество(),"",",");
7 akostrov
 
06.04.09
18:34
Улучшенный вариант : получение строки по индексу
///

Для Каждого Строка Из СписокИмен Цикл
индекс=СписокИмен.Индекс(строка)
Наименование = Наименование + Строка.Имя + ?(Индекс=СписокИмен.Количество()-1"",",");
КонецЦикла
8 smaharbA
 
06.04.09
18:37
(5)(7) а теперь подумай о производительности
9 Redimer
 
06.04.09
18:40
СПАСИБО БРАТЬЯ!!! Сделал с помощью: Наименование = Лев(Наименование, СтрДлина(Наименование) - 1). Но все равно спасибо всем откликнувшимся!
10 akostrov
 
06.04.09
18:41
(8) (4) - самый идеальный по производительности. Спорить не буду.
11 Fragster
 
гуру
06.04.09
18:45
Разделитель = "";
Для Каждого Строка Из СписокИмен Цикл
Наименование = Наименование + Разделитель + Строка.Имя;
Разделитель = ", ";
КонецЦикла
12 Fragster
 
гуру
06.04.09
18:45
Наименование = "";
Для Каждого Строка Из СписокИмен Цикл
Наименование = Наименование + ?(Наименование = "","",", "); + Строка.Имя;
Разделитель = ", ";
КонецЦикла
13 Fragster
 
гуру
06.04.09
18:46
в (12) разделитель не нужен, забыл удалить
14 fisher
 
06.04.09
19:09
Альтернативный вариант:

Для Каждого Строка Из СписокИмен Цикл
  Наименование = Наименование + "," + Строка.Имя;
КонецЦикла;
Наименование = Сред(Наименование, 2);
Ошибка? Это не ошибка, это системная функция.