Трансформация данных при импорте
В SimpleOne данные из источника импорта можно преобразовать перед записью в поля целевой таблицы.
Например, максимальная длина поля типа Phone составляет 15 символов, а данные из источника импорта содержат значение +7 (495)-181-85-20, что превышает максимально до пустимую длину. Эти данные необходимо преобразовать, чтобы сохранить только числа в целевом значении.
Чтобы настроить преобразование и заполнить поле Телефон, в соответствующей записи таблица Соотношения полей укажите следующий скрипт для фильтрации значения номера телефона:
answer = (function transformEntry(source) {
const parsedDigits = source.imp_telephonenumber.match(/\d/g);
return parsedDigits ? `+${parsedDigits.join("")}` : null; // формат E.164 ИЛИ null
})(source);
imp_telephonenumber
– имя колонки, содержащей номер телефона во вр еменной _imp_
таблице. Эта таблица содержит данные из источника импорта.
Трансформация для полей типа Reference
Перед трансформацией сначала необходимо импортировать таблицы ссылочных полей.
Например, вам нужно преобразовать список компаний, в записях которых есть генеральные директора. На экземпляре поле CEO в целевой таблице Компания имеет тип Reference. Значения, хранящиеся в поле, представляют собой ID записей из таблицы Пользователей.
Для выполнения преобразования выполните следующие шаги:
- Импортируйте список пользователей. Этот список должен содержать пользователей, указанных в поле Генеральный директор.
- Импортируйте список компаний. В источнике импорта поле Генеральный директор содержит полное имя пользователя.
- Чтобы заполнить поле Генеральный директор, в связанной записи соотношения полей укажите следующий скрипт. Он преобразует полное имя пользователя в соответствующий ID записи пользователя из таблицы Пользователей.
answer = (function transformEntry(source) {
const user = new SimpleRecord('user');
user.get('display_name', source.imp_ceo);
return user.sys_id;
})(source);