Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Отображение модификации метаданнных в студии / 7 сообщений из 7, страница 1 из 1
05.07.2013, 07:27
    #38321361
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение модификации метаданнных в студии
Суть в следующем - у меня часть матаданных модифицируется через глобалы, например:
Код: python
1.
$$$defMemberKeySet($This,$$$cCLASSmethod,methodName,$$$cMETHdescription,methodDescription)


Все ок, в описании класса(%CompiledClass) содержится новое значение, в портале управления - тоже, но вот в *.cls файлах открываемых в студии - нифига ))) И при следующей компиляции изменения соответсвенно затираются.

Вопрос - как дать понять студии, что ей нужно принудительно обновить описание класса из глобали?
...
Рейтинг: 0 / 0
05.07.2013, 08:04
    #38321373
Бредятина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение модификации метаданнных в студии
Неожиданная денормализация)) Даже в том случае, если эта "Студия" не является продуктом IS.
...
Рейтинг: 0 / 0
05.07.2013, 09:13
    #38321404
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение модификации метаданнных в студии
БредятинаНеожиданная денормализация)) Даже в том случае, если эта "Студия" не является продуктом IS.
Бредятина
Ну перестройка кубов DeepSee из портала управления дает же немедленный эффет на студию, значит механизмы существуют, просто прежде чем рыть исходные коды DeepSee я предпочту спросить, авось кто знает и мне не придется терять N часов на поиски.
...
Рейтинг: 0 / 0
05.07.2013, 09:54
    #38321446
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение модификации метаданнных в студии
sigmov ,
Например, так:set name="Имя класса"
set methodName="Имя метода"
set methodDescription="Описание метода"

$$$defMemberKeySet(name,$$$cCLASSmethod,methodName,$$$cMETHdescription,methodDescription)
Do UpdClsDef^%occLibrary(name)Но я бы предпочёл всё же документированный способ изменения метаданных, а не через чёрный ход.
...
Рейтинг: 0 / 0
05.07.2013, 10:03
    #38321460
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение модификации метаданнных в студии
set m=##class(%Dictionary.MethodDefinition).%OpenId(name_"||"_methodName)
set m.Description=methodDescription
do m.%Save()
...
Рейтинг: 0 / 0
08.07.2013, 01:49
    #38323541
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение модификации метаданнных в студии
servitset m=##class(%Dictionary.MethodDefinition).%OpenId(name_"||"_methodName)
set m.Description=methodDescription
do m.%Save()

Спасибо большое. Помогло.
Я и сам пытался сделать через %Library.MethodDefinition но %Save() выдавал ошибку.
...
Рейтинг: 0 / 0
09.07.2013, 00:11
    #38324896
D_De1mos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение модификации метаданнных в студии
Собственно в каше есть для (например) метода два класса:
%Dictionary.MethodDefinition и %Dictionary.CompiledMethod
Первый отвечает за cls и содержит информацию, которую вы видите в студии, а второй - уже скомпилированный код. В случае методов вроде не получится поменять имплементацию в CompiledMethod, а вот в MethodDefinition - пожалуйста (только скомпилировать потом надо). После сохранения MethodDefinition код, открытый в студии автоматически обновляется.
Вы же в первом макросе (никогда им не пользовался) видимо используете метаинформацию аналогично CompiledMethod, т.к. этот CompiledMethod никак не влияет на MethodDefinition
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Отображение модификации метаданнных в студии / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]