Özel işlem sütun alanıyla yaklaşım, NS ile RESTlet ile harici bir sistem arasındaki veri senkronizasyonuyla başa çıkmak için iyi bir şeydir. Ancak bunu gerçekleştirmek için dahili bir seçeneğimiz var ve bunu yapmanın standart yolu bu.
ExternalId, kayıtlar ve satır sonları için kullanılabilen standart bir sütundur. Burada, bir satırdaki satır öğelerini güncelleştirmek/kaldırmak için kullanılabilir.
Bu ExternalId, NS kayıtlarının UI'sinde görüntülenemez. Bu harici sistemde saklanan kayıtlarla saklanabilir.
Örnek olarak, SQL Tablosuna sahip Harici Sistem bir SalesOrder'ı saklar ve bu tabloda bir id sütunu vardır ve ayrıca SOLineItem tablosu da satış sütununun ilgili satırını da depolar.
Artık kayıt kimliği, SO için externalid olarak JSON'a geçirilecek ve satırsonları kimliği, JSON'daki item nesnesi altındaki lineitems'ler için externalid olarak JSON'a geçirilmelidir.
Numune JSON bunu öğe alt liste içinde isRemove öğesi adlı bir özellik var örnek JSON fark ederse
{
"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
}
]
}
. Bu true değerine ayarlanırsa, ilgili satır öğesi kaldırılmalıdır.
Teşekkürler - Bu yaklaşımı alacağım. Yani, NetSuite'a gönderilen orijinal faturanın üç satır öğesi varsa ve daha sonra değiştirilmiş sürümde 2 satır öğesi varsa ... Özel kimlikleri karşılaştırabilirim ve eşleşme bulunmadığını varsayardım, bu durumda, söz konusu satır öğesini silinir. NetSuite'de fatura. Ancak bir satır öğesinin alanının güncellenip güncellenmediğini nasıl bilebilirim? – MG2016
İlgilendiğiniz tüm alan değerlerini el ile karşılaştırmanız gerekir. Her satırdaki değerleri JSON'daki Nesneleriniz ile aynı yapının JS Nesnesine ayrıştırmanızı öneririz. Sonra iki Nesneyi karşılaştırabilirsiniz. – erictgrubaugh