Подсчет суммы из деталей

Добрый день!
Подскажите, пожалуйста, как реализовать следующий механизм?
Есть раздел (например Счета), у него есть деталь Продукты. Нужно, чтобы при изменении суммы в карточке Продукта считалась сумма всех продуктов по данному счету.
Спасибо.

Нравится

6 комментариев

Правой кнопкой на Счете -- Действия -- Пересчитать сумму счета.

Нет, мне нужно чтобы сумма считалась автоматически при сохранении карточки продукта.

Можно разными способами:

  • Триггер в БД на таблице продуктов, заполняющий поле "Сумма" в таблице счетов.
  • Логика на AfterPost на датасете продуктов, делающая то же самое.
  • Колонка подзапроса в select query счетов.
  • Вычисляемое поле в датасете счетов.
  • Вычисление поля при открытии карточки счёта.
  • Вычисление поля при закрытии карточки продукта.
  • И др.

"Зверев Александр" написал:Вычисление поля при закрытии карточки продукта.

Александр, спасибо. А можете привести примерный скрипт для этого?
Как я понимаю мне нужно:
1. Каким то образом получить все записи продуктов по данному счету;
2. Получить итоговую сумму из всех продуктов;
3. Записать эту сумму в карточку счета;

Это всё можно, но я бы рекомендовал вариант с триггерами.
Ведь если продукт удаляют, сумма в счёте тоже должна измениться, это придётся обрабатывать отдельно.

Понятно. Спасибо.

Показать все комментарии