Добрый день. Данную задачу можно решить с помощью компонента "Разделитель строк" из библиотеки Silver Kit.
Однако, данный компонент автоматически разделяет строку, разбивая её по столбцам. Вам же необходимо использовать только часть данного компонента (подмодель "Выделение подстрок"), которой уже достаточно для получения необходимого вам результата. Реализация данной библиотеки является открытой, что позволяет свободно изучить логику работы всех её компонентов.
Также имеется вариант решения данной задачи с помощью узла JavaScript. Пример кода:
import { InputTable, InputTables, InputVariables, OutputTable, DataType, DataKind, UsageType } from "builtIn/Data";
let seperator = InputVariables.Items.separator.Value;
for (let i = 0, с = InputTable.RowCount; i < с; i++) {
let id = InputTable.Get(i, 'id');
let data_split = InputTable.Get(i, 'data').split(seperator);
data_split.forEach(function(item, i, data_split) {
OutputTable.Append();
OutputTable.Set('id', id);
OutputTable.Set('data', item);
});
}
Здесь на вход узла JS должны подаваться 2 поля: Строка, которую необходимо разбить и id строки.