Здравствуйте.
Совсем недавно только начал работать с вашей системой, еще не до конца во всё въехал. В связи с этим требуется небольшая помощь и совет. Ситуация следующая.
Мне нужно дописать функционал для стандартных таблиц Счета и Контрагенты таким образом, чтобы Контрагентам начислялись бонусы за 10% от суммы покупки. Сделать так, чтобы при сохранении счета бонусы прибавлялись к общим количествам бонусов контрагента, я сумел. Но это неправильный подход, потому что тогда при редактировании бонусы прибавляются снова. Наверное, идеальным вариантом было бы сделать подсчет бонусов за все завершенные сделки при отображении страницы с бонусами, но я пока не понял, как это можно реализовать.
Можете меня направить в нужную сторону?
1
Начисление контрагентам бонусов за покупки
Автор SpectralEye, 14 февр. 2014 12:00
В теме одно сообщение
#1
Отправлено 14 Февраль 2014 - 12:00
#2
Отправлено 22 Февраль 2014 - 16:24
Можно добавить вычисление на событие отображения поля с бонусами и именно там считать актуальный бонус на момент открытия страницы с ними, суммируя все бонусы из счетов данного клиента. Соответственно, вычисление из счетов удаляете.
Это даст вам всегда актуальную информацию о бонусах (чего вы и хотите), но если идти до конца, то это тоже не совсем оптимальный вариант, т.к. вычисление на событие отображения поля работает в большинстве случаев "вхолостую", каждый раз пересчитывая поле, даже когда реального изменения данных нет, тем самым создавая лишнюю нагрузку на сервер и замедляя открытие страницы. Наиболее оптимальным как раз было бы оставить все как есть, дополнив ваше текущее вычисление защитой от повторного добавления, плюс добавив вычисление на пересчет бонусов при удалении счета и т.д. Но это более сложный вариант, требующий тщательного продумывания логики кода. Поэтому если производительность не так критична, делайте вариант с событием на отображение поля.
Это даст вам всегда актуальную информацию о бонусах (чего вы и хотите), но если идти до конца, то это тоже не совсем оптимальный вариант, т.к. вычисление на событие отображения поля работает в большинстве случаев "вхолостую", каждый раз пересчитывая поле, даже когда реального изменения данных нет, тем самым создавая лишнюю нагрузку на сервер и замедляя открытие страницы. Наиболее оптимальным как раз было бы оставить все как есть, дополнив ваше текущее вычисление защитой от повторного добавления, плюс добавив вычисление на пересчет бонусов при удалении счета и т.д. Но это более сложный вариант, требующий тщательного продумывания логики кода. Поэтому если производительность не так критична, делайте вариант с событием на отображение поля.
Количество пользователей, читающих эту тему: 4
0 пользователей, 4 гостей, 0 анонимных