-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCreateSalesOrder.js
More file actions
77 lines (58 loc) · 1.85 KB
/
CreateSalesOrder.js
File metadata and controls
77 lines (58 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
function CreateNetSuiteOrder(requestBody) {
log.debug('Post body', requestBody);
var salesOrder = record.create({
type: record.Type.SALES_ORDER,
isDynamic: true,
defaultValues: {
entity: 123242440099
}
});
salesOrder.setValue({ fieldId: 'trandate', value: new Date('5/25/2019') });
var subrec = salesOrder.getSubrecord({
fieldId: 'shippingaddress'
});
subrec.setValue({ fieldId: 'addr1', value: '123 street' });
subrec.setValue({ fieldId: 'city', value: 'city' });
subrec.setValue({ fieldId: 'state', value: 'state' });
subrec.setValue({ fieldId: 'zip', value: 'CA' });
subrec.setValue({ fieldId: 'addressee', value: 'John' });
subrec.setValue({ fieldId: 'attention', value: 'John' });
salesOrder.selectNewLine({
sublistId: 'item'
});
var items = requestBody.items;
items.forEach(function (item) {
salesOrder.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'item',
value: '4353535334535'//internal id
});
salesOrder.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: item.quantity_order
});
salesOrder.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'price',
value: -1 //custom in netsuite
});
salesOrder.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'rate',
value: item.price_value
});
salesOrder.commitLine({
sublistId: 'item'
});
});
try {
var id = salesOrder.save({
ignoreMandatoryFields: false
});
log.debug('record save with id', id);//sales order internal id
return id;
} catch (e) {
return 0;
}
}