|
Методы %OnAddToSaveSet() и %OnBeforeSave()
|
|||
---|---|---|---|
#18+
Может кто подскажет. Если перед сохранением объекта я хочу дозаполнить какие-то свойства, то метод %OnBeforeSave() не всегда их заполняет, и в документации указано, что надо использовать метод %OnAddToSaveSet() Но метод %OnAddToSaveSet() вызывается при каждом открытии объекта, не только пред сохранением. А там тяжелые расчеты и сильно тормозит работу. Как можно сделать, чтобы вычисления и заполнения свойств вызывалось только перед сохранением объекта? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 03:41 |
|
Методы %OnAddToSaveSet() и %OnBeforeSave()
|
|||
---|---|---|---|
#18+
vassilА там тяжелые расчеты и сильно тормозит работу Осознаю как это звучит, но возможно, стоит пересмотреть логику "тяжелых расчетов" "перед сохранением" и делать их после сохранения. Всякие там очереди обработки, состояния объектов и вот это всё, если расчеты-проверки не удается сделать легкими . Попробуйте рассуждение типа: сохранение информации в бд - только одно из действий в сценарии в "сохранение бизнес-объекта". Ну и с системными хуками неудобно работать (тестировать) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 12:48 |
|
Методы %OnAddToSaveSet() и %OnBeforeSave()
|
|||
---|---|---|---|
#18+
vassilНо метод %OnAddToSaveSet() вызывается при каждом открытии объекта, не только пред сохранением. Василий! Ну ты и напугал.... Я аж полез проверять. С какого перепуга при каждом открытии? Добавил s ^a=$zts в начало этого метода, открыл объект. Объект на памяти есть, а вот ^a <UNDEFINED> - думаю, нужно разбираться, почему он у тебя при каждом открытии вон чо ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 16:42 |
|
|
start [/forum/topic.php?fid=39&fpage=4&tid=1556213]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 138ms |
0 / 0 |