Как посчитать сумму заказа?
Есть класс заказов Order
СLASS Order 'Заказ';
number 'Номер' = DATA STRING[10] (Order);
client = DATA Client (Order);
amount = DATA NUMERIC[17,2] (Order);
Есть "подчиненная таблица" класс OrderProducts по сути состав заказа
CLASS OrderProducts 'Состав заказа';
product = DATA Product (OrderProducts);
productName 'Наименование' (OrderProducts d) = name(product(d));
qty = DATA NUMERIC[5,3] (OrderProducts);
price = DATA NUMERIC[17,2] (OrderProducts);
amount (OrderProducts a) = qty(a)*price(a);
Как посчитать сумму заказа, и вывести в amount(Order) на форму?
Ответы (1 шт):
Автор решения: DAle
→ Ссылка
Между классами Order и OrderProducts (кстати, может быть лучше назвать его OrderProduct?) должна быть связь в виде свойства, которое по объекту класса OrderProducts возвращает объект класса Order. Предположим, что такое свойство есть и выглядит оно так:
order(OrderProducts op) = DATA Order (OrderProducts);
Тогда сумма заказа может быть выражена таким свойством:
amount(Order order) = GROUP SUM amount(OrderProducts op) BY order(op)
либо
amount(Order order) = GROUP SUM amount(OrderProducts op) IF order(op) == order
Очень похожий пример есть в этой статье: https://habr.com/ru/company/lsfusion/blog/458376/#group