dos
|
|
1 | |
Агент и профайлы13.10.2009, 10:44. Показов 20139. Ответов 12
Метки нет (Все метки)
Имеется документ (профайл), который править может только пользователь с правами менеджера. Но существует вероятность, что потребуется данная возможность для пользователя с правами автор. Поэтому сохранение документа (профайла) осуществляется агентом. Но столкнулись с такой проблемой, что изменения профайла отображаются пользователю только после переоткрытия клиента. Как можно решить данную проблему?
|
13.10.2009, 10:44 | |
Ответы с готовыми решениями:
12
Трабла, агент неправильно изменяет другой агент Java-агент Vs Ls-агент — кто быстрее? Хитрозамудренный агент. Не выполняется агент |
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
|
|
13.10.2009, 10:48 | 2 |
Не использовать профайлы.
0
|
0 / 0 / 0
Регистрация: 20.10.2008
Сообщений: 271
|
|
13.10.2009, 10:56 | 3 |
Сообщение от Medevic
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
13.10.2009, 11:01 | 4 |
Профайлы кэшируются. Если нужно взять не из кэша, то можно так:
Set Doc = db.GetProfileDocument("ProfileName", "UserName") Set Doc = db.GetDocumentByUNID(Doc.UniversalID)
0
|
dos
|
|
13.10.2009, 12:20 | 5 |
Сообщение от nvy
lProjectCode:=@GetProfileField("DbProfile"; "PrfDbPrjCode"); Вставляется старое значение |
0 / 0 / 0
Регистрация: 08.02.2007
Сообщений: 206
|
|
13.10.2009, 13:08 | 6 |
Если я не ошибаюсь, где-то ToxaRat приводил код "правильного" сохранения профайла. Смысл в том, чтобы старый профильный документ удалить, скопировав все его поля в новый.
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
13.10.2009, 13:14 | 7 |
Можно попробовать создать в профиле вычисляемое поле "UNID" с формулой @DocumentUniqueID и получать поля из профиля формулой вида:
@GetDocField(@GetProfileField("имя профиля"; "UNID"); "имя поля"). Но это будет работать медленне, чем @GetProfileField
0
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
|
13.10.2009, 14:08 | 8 |
doc
а зачем вы всё это затеяли? задача изначально какая? :o всё "системное" храню в иконке базы, так же как ИБМовцы, нотеИД у неё постоянное поэтому трабл нету и она не кешируется
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
13.10.2009, 15:08 | 9 |
Сообщение от ToxaRat
0
|
dos
|
|
13.10.2009, 15:24 | 10 |
Сообщение от ToxaRat
В сопраженной базе имеется профайл, некоторые поля которого берут свое значение из документа текущей базы. Но если править документ текущей базы я разрешить пользователям могу, то напрямую давать доступ править профайл в сопряженной базе не хочется, т.к. приходится предоставлять права как Manager. Поэтому переносом значений полей из документа текущей базы в профайл сопряженной занимается агент, у которого есть все права. Но его изменения во второй базе видны пользователю после переоткрытия документа.
Сообщение от nvy
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
13.10.2009, 15:45 | 11 |
Сообщение от doc
profiledoc.ReplaceItemValue("UNID", profiledoc.UniversalId) Если профайл не создаётся динамически, то это вообще однократная операция.
0
|
dos
|
|
13.10.2009, 18:21 | 12 |
Сообщение от nvy
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
13.10.2009, 20:00 | 13 |
Сообщение от doc
0
|
13.10.2009, 20:00 | |
13.10.2009, 20:00 | |
Помогаю со студенческими работами здесь
13
Java агент Агент по расписанию Java - агент Шедулерный агент Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |