22.05.2012, 15:29 | #1 |
MCTS
|
Свойство поля saveContent
Объясните, пожалуйста, что это такое?
|
|
22.05.2012, 15:43 | #2 |
Участник
|
Замечательная штука! Таблица в Аксапте будет иметь данное поле, а соотв. таблица в БД - нет. Соответственно, значение в этом поле не сохраняется при update/insert. Ещё ни разу не пригодилось
Предполагается, видимо, использовать данное поле для промежуточных вычислений. До первого сохранения. Может кто поделится примерами удачного использования виртуально поля? Нашел пример только тут, но зачем оно там - непонятно. Последний раз редактировалось Dark Light; 22.05.2012 в 16:03. |
|
22.05.2012, 15:46 | #3 |
Axapta
|
Цитата:
Determines whether the field data is saved in the database or is treated as virtual field data. Virtual field data is calculated at run time when the field is displayed, and has no physical representation in the database.
Instead of virtual fields, you can use display and edit methods. Например, вместо дисплейного поля. Перекрываем метод postload и считаем в нем что нам надо. Не скажу, что пример удачный, просто вариант использования. Сам никогда не использовал. |
|
22.05.2012, 15:58 | #4 |
Axapta Retail User
|
|
|
22.05.2012, 16:31 | #5 |
Модератор
|
Цитата:
I've opened for myself the new great property of the table fields - SaveContents.
Цитата:
Может кто поделится примерами удачного использования виртуально поля?
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: lev (3), S.Kuskov (1), Dark Light (1). |
22.05.2012, 16:47 | #6 |
Axapta
|
Тут можно добавить, что если вместо display метода использовать такие "виртуальные" поля, то фильтрация и сортировка по таким полям в интерфейсе для пользователя доступна будет, но реально работать не будет. Что может сильно сбить с толку.
|
|
|
За это сообщение автора поблагодарили: Vadik (1). |
22.05.2012, 16:58 | #7 |
Участник
|
устаревшее свойство, унаследованное из старых версий, когда еще не было Display/Edit методов.
предполагается, что программист переопределит метод postLoad и/или write. Цитата:
Это свойство еще с Конкорда тянется, вроде. |
|
22.05.2012, 17:56 | #8 |
Moderator
|
Я бы добавил. что это было актуально до изобретения cacheAddMethod() в версии 3.0. До этого, других способов закэшировать вычесленное значение не было. В некоторых случаях, вариант с postLoad и несохраняемым полем давал заметный выигрыш в производительности по сравнению с дисплейным методом. Хотя в некоторых случаях - заметный проигрыш, поскольку значение поле рассчитывалось при любых операциях и не только для тех записей которые выводились на экран.
В общем - в версии 2.5 я таким подходом иногда пользовался... Начиная с версии 3.0 - перестал |
|
22.05.2012, 19:25 | #9 |
Участник
|
Цитата:
Сообщение от fed
Я бы добавил. что это было актуально до изобретения cacheAddMethod() в версии 3.0. До этого, других способов закэшировать вычесленное значение не было. В некоторых случаях, вариант с postLoad и несохраняемым полем давал заметный выигрыш в производительности по сравнению с дисплейным методом. Хотя в некоторых случаях - заметный проигрыш, поскольку значение поле рассчитывалось при любых операциях и не только для тех записей которые выводились на экран.
В общем - в версии 2.5 я таким подходом иногда пользовался... Начиная с версии 3.0 - перестал Завести флажок, обозначающий что значения рассчитаны и умный дисплей метод, который при первом вызове рассчитывает значения, прописывает и взводит флажок. |
|