Доброго!
Вообщем нужно обойти ТП размером 6х10. Если в колонке встречается текст, начинающийся на "*", то этот текст нужно разбить на подстроки и разместить в ту же колонку, но в следующие строки.
Как такое решается?
Для Колонка = 1 по 6 Цикл
Для Каждого Стр из тпТаблица Цикл
Если Найти(Стр[Колонка], "*") > 0 Тогда
РазложитьНа = Стр.Длительность / 15;
Индекс = тпТаблица.Индекс(Стр);
Массив = РазложитьСтрокуВМассивПодстрок(Стр[Колонка], Символы.ПС);
Если РазложитьНа = 1 Тогда
Стр[Колонка] = Массив[0];
тпТаблица[Индекс].Колонка12 = Массив[1];
ИначеЕсли РазложитьНа = 2 Тогда
Стр[Колонка] = Массив[0];
тпТаблица[Индекс+1].[Колонка] = Массив[1];
тпТаблица[Индекс+2].[Колонка] = Массив[2];
ИначеЕсли РазложитьНа >= 3 Тогда
Стр[Колонка] = Массив[0];
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
так работает, но прописывать названия Колонок в явном виде не хотелось бы
Для Каждого Стр из тпТаблица Цикл
Для Колонка = 1 по 6 Цикл
Если Найти(Стр[Колонка], "*") > 0 Тогда
РазложитьНа = Стр.Длительность / 15;
Индекс = тпТаблица.Индекс(Стр);
Массив = РазложитьСтрокуВМассивПодстрок(Стр[Колонка], Символы.ПС);
Если РазложитьНа = 1 Тогда
Стр[Колонка] = Массив[0];
тпТаблица[Индекс].Колонка12 = Массив[1];
ИначеЕсли РазложитьНа = 2 Тогда
Стр[Колонка] = Массив[0];
тпТаблица[Индекс+1].Колонка5 = Массив[1];
тпТаблица[Индекс+2].Колонка5 = Массив[2];
ИначеЕсли РазложитьНа >= 3 Тогда
Стр[Колонка] = Массив[0];
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;