Скрипт автоматизации переноса choice Option в REM choice option

Перед началом нужно создать в рем_модели атрибут с типом сhoice
потом запускать скрипт

const choice = new SimpleRecord("sys_choice");
const choiceOfTable = [];
choice.addQuery('column_id', '')// Вставляем сюда колонку с типом choice пример 167353003926256766
choice.query()
while (choice.next()) {
  choiceOfTable.push(choice.sys_id);
}
ss.info(choiceOfTable.value)
 
for ( let i = 0 ; i < choiceOfTable.length; i++) {
let columns = choice.get(choiceOfTable[i])// Колонки
ss.info(columns.sys_id)
setRemChoiceOption();
 
 
function setRemChoiceOption() {
  const rem_choice = new SimpleRecord("sys_re_choice");
    rem_choice.column_id = ''// Вставляем наш атрибут choice пример 168813559627659550
    rem_choice.title = columns.title
    rem_choice.language = columns.language
    rem_choice.value = columns.value
    rem_choice.order = columns.order
    rem_choice.insert();// Делаем из choice -> REM choice
 
 }
}


Если в rem choice option есть перевод, то его нужно добавлять руками

5 лайков

Подготовил внешний скрипт.

// Создайте внешний скрипт copyChoiceOptionsToRemAttribute:
const copyChoiceOptionsToRemAttribute = (columnID, attributeID) => {
    const columnChoiceRecord = new SimpleRecord("sys_choice");
    columnChoiceRecord.addQuery('column_id', columnID);
    columnChoiceRecord.query();
  
    while (columnChoiceRecord.next()) {
        setRemChoiceOption(attributeID, columnChoiceRecord);
    }
};

function setRemChoiceOption (remAttrID, columnChoice) {
    const rem_choice = new SimpleRecord("sys_re_choice");
    rem_choice.column_id = remAttrID;
    rem_choice.title = columnChoice.title;
    rem_choice.language = columnChoice.language;
    rem_choice.value = columnChoice.value;
    rem_choice.order = columnChoice.order;
    rem_choice.insert();
};

// Вызов внешнего скрипта
ss.importIncludeScript('copyChoiceOptionsToRemAttribute');

const columnID = '155931135900001088'; // sys_id колонки типа Choice, из которой нужно перенести опции
const remAttributeID = '169381435634354761'; // sys_id REM атрибута, в который нужно перенести опции

copyChoiceOptionsToRemAttribute(columnID, remAttributeID);