Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
krvsaservitтакой вариант задания схемы возможен только в "ручном" режиме Спасибо, буду знать! Пока только с "интерфейсом" имел дело... Кстати, с использованием интерфейса это тоже можно. Если не выбирать в выпадающем списке имя нужного свойства, а писать руками, например Adr.Street. А в поле для задания индекса глобала можно писать прямо: "Adr","Street" одной строкой, тогда получается как раз то, что показал servit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 12:23 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
X_ShooterКстати, с использованием интерфейса это тоже можно. Если не выбирать в выпадающем списке имя нужного свойства, а писать руками Ясно, учту... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 12:44 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
X_Shooterservit, Спасибо, теперь все вышло. А я то пытался сделать это в описании самого класса Address... А нет, не вышло... servit, у Вас класс нормально компилится? Просто у меня компилятор ругается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 14:13 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
X_Shooter, Компилируется без ошибок и данные сохраняются как задумано (Caché 2010.2.FT5). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 15:12 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
X_Shooter[quot X_Shooter] Просто у меня компилятор ругается. наверное, на имя свойства с точкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 16:19 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
X_Shooter, Проверил в Caché 5.0.21 - компилируется без ошибок и сохраняет данные согласно Вашим требованиям. PS: не используйте мастер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 16:58 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
servit, У меня стояла Cache 2008.1.0, там делал через местер и выскакивала ошибка. Только что скачал Cache 2010.1.3. Сделал в ней то же самое через мастер - ошибки нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 17:36 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
Правда при компиляции автоматически создается узел PersonDefaultData и туда помещается Adr: <Data name="PersonDefaultData"> <Value name="1"> <Value>Adr</Value> </Value> </Data> и никак его не уберешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2010, 17:38 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
X_Shooterи никак его не уберешь... Так ведь это свойствоесть в классе... Надо же его куда-то девать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2010, 09:20 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
кто-нибудь сталкивался - у меня в Storage прописалось расчетное свойство (причем только одно из нескольких)? я думала это только для хранимых свойств? наткнулась случайно: расчетное свойство было создано, когда мы еще были на 2009 версии каше..сейчас 2010, а так не замечала чтобы расчетные св-ва прописывались в структуру хранения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2011, 10:03 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
Аленочка , Есть тип вычисляемых полей, которые хранятся в БД: Two Types of Computed SQL Fields Скорее всего у Вас используется именно такой (Triggered computed) тип поля или на момент первой компиляции класса это поле было невычисляемым, поэтому и осталось в схеме хранения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2011, 11:03 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
servit , вычисляемое свойство самое обычное, по системе контроля верий проверила - свойство изначально было добавлено как вычисляемое, т.е. ранее оно не было хранимым В урезанном варианте: Property Category As cls.MyClass [ Calculated, SqlComputeCode = { s {Category}=##class(cls.MyClass).GetCategory({ID}) }, SqlComputed ]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2011, 01:41 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
Аленочка , Создал и скомпилировал следующий класс: Class User.Test Extends %Persistent { Property name As %String(MAXLEN = 2000); Property rowCount As %Integer; Property Category As User.Test [ Calculated, SqlComputeCode = {s {Category}=##class(User.Test).%OpenId({ID})}, SqlComputed ]; } Потом проверил схему хранения на наличие свойства Category для разных версий Caché: 5.0.21 - отсутствует ; 2009.1.1 - отсутствует ; 2011.2.0 - отсутствует ; Если у Вас есть подозрение на баг конкретной версии СУБД, то проверить можно просто: сделайте резервную копию класса, удалите схему хранения и перекомпилируйте класс заново. PS: проверьте, есть ли данные в глобале в позиции вычисляемого свойства согласно схеме хранения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2011, 10:59 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
Аленочка, может быть свойство Category прописано в абстрактном суперклассе и наследуется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2011, 06:41 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
ser_shuАленочка, может быть свойство Category прописано в абстрактном суперклассе и наследуется? нет не наследуется. свойство уникально в рамках одного класса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2011, 08:38 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
servit Если у Вас есть подозрение на баг конкретной версии СУБД, то проверить можно просто: сделайте резервную копию класса, удалите схему хранения и перекомпилируйте класс заново. сделала копию класса, пересла полностью свое вычисляемое св-во в том же виде + 1 хранимое дя теста в структуре хранения все ок! прям загадка века какая-то ;) возможности проделать то же самое в 2009 версии уже нет..к сожалению.. по поводу просмотра данных в глобалах - как правильно задать маску для выборки в портале управления, если класс у меня наследуется ? предок класс - doc.Line (глобал один ^doc.LineD), мой конечный класс с вычисляемым св-вом предположим называется doc.aa.bb.Line ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2011, 08:52 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
Аленочкав структуре хранения все ок! прям загадка века какая-тоКак я писал выше, такое бывает, когда разработчики "временно" меняют что-то в классе. Например, можно добавить свойство в класс, скомпилировать его, удалить это свойство и снова скомпилировать класс. В схеме хранения останется фантом. Кто-то потом может долго гадать откуда он взялся. Аленочкавозможности проделать то же самое в 2009 версии уже нет..к сожалению..Уверен, что ситуация не изменилась бы. См. мой предыдущий пост. Аленочкапо поводу просмотра данных в глобалах - как правильно задать маску для выборки в портале управления, если класс у меня наследуется ?Можно поступить проще: сделать временно вычисляемое поле обычным хранимым и потом выполнить простой SQL запрос: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2011, 09:26 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
servit В схеме хранения останется фантом. Кто-то потом может долго гадать откуда он взялся. да, похоже что так и есть. а если я хочу удалить этот "фантом" из структуры хранения - стоит ли мне это делать? порядковый номер этого св-ва = 6, после него идут другие св-ва по порядку 7,8 и т.д. я так понимаю с удалением чего-то из структуры хранения в Каше есть свои тонкости..? ну и тогда уже по ходу задам вопрос: если я хочу избавиться от некого хранимого св-ва которое года 2 назад мне было нужным, а сейчас нужным быть перестало (собственно как и данные которые оно хранит), какие есть способы быстро и безболезненно от него избавиться ? т.е. "грохнуть" и свойство в классе и хранимые в глобале данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2011, 09:46 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
Аленочка , Если данных ещё нет, то можно безболезненно удалить поле из схемы хранения, сдвинув остальные поля. Если данные уже есть, то лучше поле не удалять, а обнулить, то есть: вместо ^global(ID)=$LB(%%CLASSNAME,field1,Category,field3) должно получиться ^global(ID)=$LB(%%CLASSNAME,field1,,field3) Но перед этим нужно не забыть обнулить поле либо через запрос, либо программно: update my.Class set Category=null Потом вновь создаваемые поля в схеме хранения можно помещать на место таких пустот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2011, 10:17 |
|
||
|
Способ хранения для класса
|
|||
|---|---|---|---|
|
#18+
Лучше систему хранения не трогать. Если есть старые данные, их можно обнулить, а в целом, влиянием дырки на размер хранения и быстродействие можно пренебречь. Если данных нет совсем, проще структуру хранения совсем грохнуть, она пересоздастся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2011, 10:25 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=36779924&tid=1557666]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 218ms |
| total: | 390ms |

| 0 / 0 |
