сделал вот так:
function AddToCart(pi, n, p, u, q){
if (cart.getStore().data.length == 0) {
stores.add({product_id: pi, name: n, price: p, unit: u, quantity: q, summary: p*q});
}
else {
for (var i = 0; i < cart.getStore().data.length; i++) {
var rec = stores.getAt(i);
if (rec.get('product_id') == pi){
rec.beginEdit();
rec.set('quantity', parseInt(rec.get('quantity'))+1);
rec.endEdit();
}
else {
stores.add({product_id: pi, name: n, price: p, unit: u, quantity: q, summary: p*q});
}
}
}
};
теперь когда первым добавляется одинаковый товар то его количество изменяется, а если добавить такой которого нету, то он добавляется по две строки, четыре, восемь и так далее. Проблема в цикле, но как мне без него обойтись или подскажите как исправить это?