Καλησπέρα σε όλους, προσπαθώ να δημιουργήσω ένα παραστατικό μέσω Advanced Javascript και να προσθέσω 2 φορές το ίδιο προϊόν με διαφορετική τιμή αλλά πάντα βάζει την δεύτερη προσθήκη πάνω στην πρώτη και κρατάει την τιμή της πρώτης.
Έχω δοκιμάσει να ορίσω unique MTRLINES και LINENUM αλλά δεν βοήθησε, ενώ με setData γίνεται κανονικά με unique LINENUM.
Ο κώδικας JS είναι ο παρακάτω: (τον βρήκα και έκλεψα από εδώ)
function AddOrder(obj) {
if (CheckSec(obj)) {
return { success: false, error: "Auth" };
}
var SDObj = X.CreateObj('SALDOC');
try {
SDObj.DBINSERT;
var TFINDOC = SDObj.FindTable('FINDOC');
TFINDOC.Edit;
TFINDOC.SERIES = 1019;
TFINDOC.TRDR = X.GETSQLDATASET("SELECT TOP 1 TR.TRDR FROM TRDR TR JOIN TRDEXTRA TE ON TE.TRDR=TR.TRDR LEFT JOIN FINDOC FIN ON FIN.TRDR=TR.TRDR WHERE TR.COMPANY=30 AND TR.PHONE01='"+obj.phone+"' ORDER BY FIN.UPDDATE DESC",null).TRDR;;
TFINDOC.PAYMENT = 6000;
TFINDOC.SHIPMENT = 1000;
TFINDOC.REMARKS = "TEST";
TFINDOC.CCCShipFName = obj.fname;
TFINDOC.CCCShipLName = obj.lname;
TFINDOC.CCCB2CNew = obj.orderid;
TFINDOC.COMMENTS = obj.comments;
TFINDOC.FINSTATES = 1002;
TFINDOC.SALESMAN = 182;
var TMTRDOC = SDObj.FindTable('MTRDOC');
TMTRDOC.SHIPPINGADDR = obj.street;
TMTRDOC.SHPZIP = obj.zip;
TMTRDOC.SHPCITY = obj.city;
var TITELINES = SDObj.FindTable('ITELINES');
var items = obj.items;
for (var item in items){
TITELINES.Append;
TITELINES.MTRLINES = items[item].linenum;
TITELINES.LINENUM = items[item].linenum;
TITELINES.MTRL = X.GETSQLDATASET("SELECT MTRL FROM MTRL WHERE COMPANY=30 AND CODE='"+items[item].code+"'",null).mtrl;
TITELINES.VAT = 1410;
TITELINES.QTY1 = items[item].qty;
TITELINES.PRICE = items[item].price;
TITELINES.LINEVAL = items[item].qty * items[item].price;
TITELINES.DISC1PRC = 0;
TITELINES.Post;
}
var id = SDObj.DBPOST;
if (id > 0){
return 'FINDOC: ' + id;
}
} catch (e) {
if (SDObj != null){
return "Error: " +e.message+" nObject Error: "+SDObj.GETLASTERROR;
}else{
return "Error: " +e.message;
}
}finally {
}
}
και τα δεδομένα που στέλνω:
{
"clientID": "<clientid>",
"phone": "<phone>",
"fname": "<firstname>",
"lname": "<lastname>",
"orderid": "<orderid>",
"street": "<address>",
"zip": "<zipcode>",
"city": "<city>",
"comments":"<comment>",
"items": [
{
"linenum":1,
"code": "<product code1>",
"qty": 2,
"price": 8.9
},
{
"linenum":2,
"code": "product code2",
"qty": 2,
"price": 2
},
{
"linenum":3,
"code": "product code3",
"qty": 3,
"price": 14.9
},
{
"linenum":4,
"code": "product code 2",
"qty": 3,
"price": 1.1
}
]
}