Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / программный маппинг программ и пакетов / 11 сообщений из 11, страница 1 из 1
14.10.2009, 10:39
    #36249629
neznau
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
Добрый день.

Можно ли (если да, то как) программно настроить отображение программы или пакета в область, не заходя в портал управления системой и не правя файл cpf?

Спасибо.
...
Рейтинг: 0 / 0
14.10.2009, 11:35
    #36249865
Turk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
Смотрим описание класса Config.Configuration в области %SYS, а именно метода ModifyNamespace.
...
Рейтинг: 0 / 0
14.10.2009, 12:19
    #36250029
Turk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
Если интересует отображение отдельных глобалей/пакетов, то документированного решения не нашел. Однако, в классе %CSP.UI.System.MappingsAPI есть ряд интересных функций с открытым кодом, например, CopyNamespaceMappings.
...
Рейтинг: 0 / 0
14.10.2009, 13:58
    #36250413
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
...
Рейтинг: 0 / 0
14.10.2009, 17:53
    #36251283
neznau
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
VadimF,

В описании api есть только способ отображения глобалов. Нужно программно настроить отображение именно классов и программ.
...
Рейтинг: 0 / 0
15.10.2009, 11:11
    #36252479
Ivan.Kokov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
neznau,
м.б. пригодится:

zn "%SYS"
set cfg=##class(Config.UI.API).OpenConfiguration()
do cfg.Storage.ClearClassMappingsEx("NS1")
set sc=cfg.Storage.AddClassMappingEx("NS1","user","NS") // В области NS1 добавить
// отображение пакета из области NS

set sc=cfg.%Save()

Далее надо перезапустить Cache
...
Рейтинг: 0 / 0
15.10.2009, 11:15
    #36252491
Ivan.Kokov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
В догонку - отображается пакет user.
do cfg.Storage.ClearClassMappingsEx("NS1") - вычищает прежний маппинг - это можно не делать, естественно
...
Рейтинг: 0 / 0
15.10.2009, 11:41
    #36252599
Turk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
Ivan.Kokov
set sc=cfg.%Save()
Далее надо перезапустить Cache

Вроде можно без перезапуска:
Код: plaintext
1.
2.
3.
4.
5.
set sc = cfg.Save()
if $$$ISERR(sc) ...
set sc = cfg.ActivateEx()
if $$$ISERR(sc) ...
kill cfg
...
Рейтинг: 0 / 0
15.10.2009, 12:45
    #36252862
Ivan.Kokov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
Turk,

Я так тоже подумал, но у меня почему-то не получилось без перезапуска :(
...
Рейтинг: 0 / 0
15.10.2009, 15:16
    #36253418
neznau
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
Ivan.Kokov,

то что надо.
спасибо! :)
...
Рейтинг: 0 / 0
15.10.2009, 15:18
    #36253424
neznau
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программный маппинг программ и пакетов
Ivan.Kokov
Я так тоже подумал, но у меня почему-то не получилось без перезапуска :(

Попробуй Save() вместо %Save(), должно получиться.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / программный маппинг программ и пакетов / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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