Страница 1 из 1

Как подсчитать сумму по полю в связанной сущности

Добавлено: 22 мар 2021, 06:24
Fait
Привет всем!
Суть проблемы такая:
Я не знаю, как посчитать сумму оплат от клиента по связанной записи.
Все записи об оплатах создаются изнутри заказа с созданием связанной записи.
Я написал запрос:
IFNULL((SELECT SUM(app_entity_42.field_497) FROM app_entity_42 WHERE app_entity_42.???=[id] AND app_entity_42.field_501=81),0)
Дословно:
Если значение не пустое, то считаем сумму по полю "Сумма" в таблице денежных операций, КОГДА ??? поле в таблице операций = ID текущего заказа И тип записи = получение оплаты от клиента

Вот, я не пойму, как выбрать из таблицы операций именно то, что связано с текущим заказом.

Re: Как подсчитать сумму по полю в связанной сущности

Добавлено: 22 мар 2021, 06:27
Fait
IMG_20210322_082629.jpg
Вот, это скрин заказа со связанной записью.

Re: Как подсчитать сумму по полю в связанной сущности

Добавлено: 22 мар 2021, 06:31
Fait
А ещё бывает вот так:
IMG_20210322_082911.jpg
3 записи об оплате, и по ним нужно посчитать сумму, чтобы понимать, есть ли у клиента долг или переплата перед нами.

Долг или переплата = СУММА_ЗАКАЗА - СУММА_ОПЛАТ


Раньше записи об оплатах были во вложенной сущности, и считалось всё прекрасно.
Но потом было решено вести все денежные записи в одной таблице, чтобы правильнее сводить отчёты.
А так у нас деньги в трёх местах заполняются, что не очень удобно.

Re: Как подсчитать сумму по полю в связанной сущности

Добавлено: 22 мар 2021, 07:22
support
Перед тем как писать свои запросы смотрите как записи хранятся в базе данных. В Дополнении есть функции, я там предусмотрел возможности расчета по полю "Связанные записи", потому что данные связи хранятся в отдельной таблице типа app_related_items_X_Y (X и Y - id сущностей)
У вас как связь настроена?

Re: Как подсчитать сумму по полю в связанной сущности

Добавлено: 22 мар 2021, 08:13
Fait
support писал(а): 22 мар 2021, 07:22 Перед тем как писать свои запросы смотрите как записи хранятся в базе данных. В Дополнении есть функции, я там предусмотрел возможности расчета по полю "Связанные записи", потому что данные связи хранятся в отдельной таблице типа app_related_items_X_Y (X и Y - id сущностей)
У вас как связь настроена?
Связь настроена путём создания поля "Связанные записи".
В форме заказа имеется кнопка процесса, при которой создаётся запись в связанной таблице.

Re: Как подсчитать сумму по полю в связанной сущности

Добавлено: 22 мар 2021, 08:58
Fait
Спасибо!
Я разобрался, теперь всё считается благодаря внедрению функции!