Подход с настраиваемым полем столбца транзакции - хороший инструмент для синхронизации данных между NS и внешней системой с помощью RESTlet. Но у нас есть встроенная возможность сделать это, и это стандартный способ сделать это.
ExternalId - это стандартный столбец, который доступен для записей и элементов строки, где его можно использовать для обновления / удаления элементов строки в записи.
Этот ExternalId нельзя просмотреть в пользовательском интерфейсе записей NS. Это может быть сохранено с идентификатором записи, который хранится во внешней системе.
Например, внешняя система с таблицей SQL хранит SalesOrder и имеет столбец идентификатора в этой таблице, а также таблица SOLineItem хранит соответствующий элемент строки продавца, также содержащий столбец идентификатора.
Теперь идентификатор записи должен быть передан в JSON как externalid для SO, а идентификатор lineitems должен быть передан в JSON как externalid для lineitems в объекте items в JSON.
Образец JSON
{
"internalid": "",
"recordtype": "salesorder",
"entity": "3217",
"salesrep": "3209",
"terms": "2",
"trandate": "6\/16\/2014",
"orderstatus": "A",
"otherrefnum": "245852",
"billaddress":"",
"shipaddress":"",
"externalid": "FF160614-SO03", //ID of SO record on SO SQL table
"item": [
{
"isremove":"",
"internalid": "",
"item": "486",
"amount": "50",
"quantity": "5",
"externalid": "FF160614-SO03-L1-INV-486" //ID of LineItems record SOLineItem SQL table
},
{
"isremove":"",
"internalid": "",
"item": "700",
"amount": "100",
"quantity": "1",
"externalid": "FF160614-SO03-L2-GRP-700A" //ID of LineItems record SOLineItem SQL table
}
]
}
Если вы заметили образец JSON, у которого есть свойство isremove в подсписке элементов. Если для этого параметра установлено значение true, соответствующая позиция должна быть удалена.
person
Frederick RajKumar
schedule
06.04.2016