Содержание:
1. Операция конкатенации строк
1. Операция конкатенации строк
Пример:
Имя= «Остап»;
Отчество= «Ибрагимович»;
Фамилия= «Бендер»;
ФИОГР=Имя+ “ “ +Отчество+ “ “ +Фамилия + “ гр- “ + 1987;
//получим Остап Ибрагимович Бендер гр-1987
Если нужно из некоторой коллекции строк получить одну единую, это можно сделать в цикле:
ИтогСтрока = Строка + ЭлементКоллекции;
Работа функции конкатенации не вызывает проблем с производительностью, когда обрабатывается небольшое количество данных. Производительность может упасть, когда счет строк идет на тысячи.
Есть несколько вариантов получения строки из коллекции.
Первый – с помощью текстового документа. В этом случае все составные части будут идти отдельными строками. При использовании функции ПолучитьТекст(), нужно будет сделать замену символов переноса строк в коде на пустую строку, а после получения результата использовать метод обратного преобразования.
Другой способ – занести все подстроки в массив, который преобразуется в текстовое представление с помощью функции ЗначениеВСтрокуВнутр(), а далее лишнее очищается.
Пример:
СтрокаКолекц=Сред(СтрЗаменить(ЗначениеВСтрокуВнутр(Массив), """}," + Символы.ПС + "{""S"",""", ""), 53 + СтрДлина(Формат(Массив.Количество(), "ЧГ=")));
При массовых операциях конкатенации строк можно использовать методы платформы СтрРазделить и СтрСоединить.
Например:
ИзвТекст= Новый Массив;
Для НомерКолонки = 1 По Макет.ШиринаТаблицы Цикл
ИзвТекст.Добавить(ТекстОбласти);
…
РезультатТекст = СтрСоединить(ИзвТекст, Символы.ПС);
Еще один способ операции конкатенации строк — использование объекта ЗаписьXML. У этого объекта можно использовать метод ЗаписатьБезОбработки() для «сборки» документа в том виде, какой подается на вход, т.е. без лишних тегов.
2. Конкатенация в запросах
Конкатенация в запросах может использоваться при программной "сборке" текста запроса. Пример:
ТекстЗапроса =
"ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование,
&ИмяПоляКод КАК КодНоменклатуры
ИЗ
Справочник.Номенклатура КАК Номенклатура ;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса , "&ИмяПоляКод ", "Номенклатура." + ИмяПоляКод);
Пример изменения имени таблицы в запросе:
ТекстЗапроса =
"ВЫБРАТЬ
|ТаблицаСправочника.Наименование КАК Наименование,
|ТаблицаСправочника.Код КАК КодСправочника
|ИЗ
|&ТабСправочника КАК ТаблицаСправочника";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса , "&ТабСправочника", "Справочник." + ИмяСправочника);
Также к данной функции можно прибегнуть, когда нужно сложить части строки, чтобы результат мог потом стать проверяемым параметром.
ВЫБРАТЬ
ВЫРАЗИТЬ(ВЫРАЗИТЬ("123" КАК Строка(3))+ВЫРАЗИТЬ("789" КАК Строка(3))
КАК Строка(6)) КАК Результат
ИЗ
Справочник.Номенклатура КАК Номенклатура
Специалист компании «Кодерлайн»
Ольга Волкова