"ID строки" == в каждом списке для каждой строки свой ID и как следствие при добавлении их быть не должно, они будут присвоены автоматически "очередные значения".
Так что да перебирать подгоняя под новые требования результирующему массиву.
ownerType == L D Q и тд - т.е "тип владельца" Лид Сделка КП
ownerId == соотвественно номер этого L D Q "номер владельца"
[CODE] BX24.callMethod(
"crm.enum.ownertype"
);
[/CODE]
Само собой в массиве который вы получили -- будет "старый владелец" в том который вы хотите создать -- "новый владелец" с новым типом и номером.
productRows == как и написано должны содержать массив для каждой строки содержащие поля:[CODE]BX24.callMethod(
"crm.item.productrow.fields"
);
{
"result":[
{
"ID":1,
"NAME":"Лід",
"SYMBOL_CODE":"LEAD",
"SYMBOL_CODE_SHORT":"L"
},
{
"ID":2,
"NAME":"Угода",
"SYMBOL_CODE":"DEAL",
"SYMBOL_CODE_SHORT":"D"
},
{
"ID":3,
"NAME":"Контакт",
"SYMBOL_CODE":"CONTACT",
"SYMBOL_CODE_SHORT":"C"
},
{
"ID":4,
"NAME":"Компанія",
"SYMBOL_CODE":"COMPANY",
"SYMBOL_CODE_SHORT":"CO"
},
{
"ID":5,
"NAME":"Рахунок (стара версія)",
"SYMBOL_CODE":"INVOICE",
"SYMBOL_CODE_SHORT":"I"
},
{
"ID":31,
"NAME":"Рахунок",
"SYMBOL_CODE":"SMART_INVOICE",
"SYMBOL_CODE_SHORT":"SI"
},
{
"ID":7,
"NAME":"Пропозиція",
"SYMBOL_CODE":"QUOTE",
"SYMBOL_CODE_SHORT":"Q"
},
{
"ID":8,
"NAME":"Реквізити",
"SYMBOL_CODE":"REQUISITE",
"SYMBOL_CODE_SHORT":"RQ"
}
],
"time":{
"start":1644926998.795279,
"finish":1644926998.823897,
"duration":0.02861785888671875,
"processing":0.0017650127410888672,
"date_start":"2022-02-15T15:09:58+03:00",
"date_finish":"2022-02-15T15:09:58+03:00"
}
}
[/CODE]
[S]И да тут полный дубляж -- ownerType: string, ownerId: number, должны быть как в "основном вызове" так и в каждой строчке массива productRows.[/S]
Протестировано: crm.item.productrow.set == в массиве productRows не нужно указывать ID, ownerType, ownerId == они будут проигнорированы и использованы указаные в верхнем вызове. Так что хак вроде как вызвать для одного владельца, а в массиве productRows указать несколько разных владецев для разных строк не прокатит.
crm.item.productrow.set({ownerType: string, ownerId: number, productRows: []})
Дефакто crm.item.productrow.set это обертка для productrowadd -- передает в каждой строке массива productRows всю информацию 1:1 как для productrowadd.