![]() |
![]() |
|
Управляемые формы - как сделать такое? | ☑ | ||
---|---|---|---|---|
0
RomaH
naïve
05.07.11
✎
15:01
|
1. - нужен рабочий стол но состав его должен быть разный для разных пользователей
с помощью прав организовать отображение необходимых элементов? 2. надо форму нового документа показывать на рабочем столе т.е. не отдельной формой, а именно на рабочем столе - как форма обработки - как такое сделать? суть - слева - список пациентов, справа - форма ввода документа выбираем пациента - в форму подставляются данные этого пациента, форма дозаполняется интерактивно, и по кнопке записывается (создается новый док) можно так сделать не создавая заново форму ввода в обработке? |
|||
1
RomaH
naïve
05.07.11
✎
15:04
|
и как вообще можно сделать для разных пользователей/ролей разный рабочий стол?
т.е. для оператора показываем обработку_1 + журнал документов для экономиста, 2 списка документов и справочник |
|||
2
Лефмихалыч
05.07.11
✎
15:05
|
Книжку "Разработка управляемых интерфейсов" почитать не предлагать?
|
|||
3
Necessitudo
05.07.11
✎
15:06
|
Имеешь в виду именно рабочую область рабочего стола? По-моему увы, на ней такого не сделаешь.
|
|||
4
5 Элемент
05.07.11
✎
15:07
|
||||
5
lxs
05.07.11
✎
15:07
|
Добавляешь кучу форм нужных на рабочий стол и настраиваешь видимость по ролям
|
|||
6
Necessitudo
05.07.11
✎
15:07
|
Оо не знал(
|
|||
7
lxs
05.07.11
✎
15:08
|
(4) +1
|
|||
8
Дык ё
05.07.11
✎
15:09
|
(1) правами, функциональными опциями,
настройками пользователя... |
|||
9
Aswed
05.07.11
✎
15:09
|
закладка
|
|||
10
RomaH
naïve
05.07.11
✎
15:10
|
(8) а настройками пользователя - эо где?
|
|||
11
milan
05.07.11
✎
15:20
|
В меню - параметры- настройка области рабочего стола. Как- то так.
Через настройки пользователя тоже наверное можно сделать по аналогии с управлением настройками форм в бсп. Сделаешь - выложи :-) |
|||
12
RomaH
naïve
05.07.11
✎
15:23
|
а по форме документа? есть мысли?
|
|||
13
RomaH
naïve
05.07.11
✎
15:24
|
т.е. сейчас - слева список пациентов
справа - список документов выбираю пациента - жму в списке - создать новый и открывается форма нового документа (закрывая собой ...) а хочу что бы форма новгго была постояннно на одном слое с рабочим столом |
|||
14
regniws
05.07.11
✎
15:26
|
- сделать кастомную общую форму и тыкнуть ее на раб. стол.
- в списке при активизации строки посылать оповещение об изменении - в кастомной форме оповещение ловить и перечитывать данные из базы, дальше дело техники, как это сохранить. Финты с "открыть форму на раб. столе" не получатся, только так, как описано. |
|||
15
RomaH
naïve
05.07.11
✎
15:28
|
(14) да это понятно ... не хочу дублировать форму документа в форму обработки
ну тогда програмно что ли придется воспроизводить пробовать |
|||
16
regniws
05.07.11
✎
15:38
|
(15) программно нельзя, формы с динамически добавленными элементами не кэшируются сервером приложений.
Только дублировать. |
|||
17
TitanLuchs
05.07.11
✎
21:55
|
(0) П.2 реализуется легко, если кроме списка пациентов и формы нового документа на рабочем столе ничего отображаться не будет. Если будет - то придется поизвращаться, но уверен что и в этом случае все получится. Вариант когда на рабочем столе больше ничего нет я только что реализовал.
|
|||
18
RomaH
naïve
06.07.11
✎
06:53
|
(17) как?
|
|||
19
RomaH
naïve
06.07.11
✎
06:54
|
(16) а можно тоже самое другими словами?
что значит не кешируются и на что это влияет |
|||
20
RomaH
naïve
06.07.11
✎
07:17
|
в общем попробовал - на рабочий стол добавил форму документа - отображается
по кнопке "Записать закрыть" - записыыает, но не закрывает как "открыть" форму новго документа в этом случае? - т.е. есть офрма документа, надо не закрывая её (ибо я так понимаю это не возможно) сделать что бы она стала формо нового документа? |
|||
21
RomaH
naïve
06.07.11
✎
07:18
|
(17) не понял почему только "если кроме списка пациентов и формы нового документа на рабочем столе ничего отображаться не будет."
сейчас на рабочем столе 2 обработки + журнал документов + форма документа |
|||
22
dva1c
06.07.11
✎
07:36
|
закладка
|
|||
23
Krendel
06.07.11
✎
07:40
|
Можно вопрос?
Нахрена единый рабочий стол с гемором по отладке прав доступа- не проще ли нарисовать свой стол под каждую роль? |
|||
24
guitar_player
06.07.11
✎
07:41
|
(23) лично мне кажется, что так удобнее... правда нужно качественно сделать изначабльно
|
|||
25
БибиГон
06.07.11
✎
07:53
|
(23) а как это сделать?
|
|||
26
Krendel
06.07.11
✎
07:58
|
Ну стол это же обработка, запускай стол в зависимости от роли пользователя и все
|
|||
27
Krendel
06.07.11
✎
07:59
|
Через подписку на события
|
|||
28
RomaH
naïve
06.07.11
✎
08:30
|
хм, вот лежит у меня на рабочем столе форма докуменета
а вот как теперь понять что это форма на рабочем столе - как её отличить от формы которая открыта через другое место? |
|||
29
БибиГон
06.07.11
✎
08:38
|
зачем?
|
|||
30
RomaH
naïve
06.07.11
✎
08:41
|
потому что разное поведение должно быть у формы которая постояннно на рабочем столе и у той котоая открыта, например по команде или из списка документов
|
|||
31
RomaH
naïve
06.07.11
✎
08:42
|
т.е. форма на рабочем столе - это всегда форма нового документа - т.е. при записи создается новый док, а все другое формы - это стандартно (либо новый, либо редактирование/просмотр существующего)
|
|||
32
RomaH
naïve
06.07.11
✎
08:45
|
нашел одно различие ... но кривоватое - форма на рабочем столе имеет ключ уникальности
форма документа открытая из списка - нет но, ИМХО, не очень хорошая привязка - ключ уникальности можно же назначить при открытии из кода |
|||
33
БибиГон
06.07.11
✎
08:45
|
может использовать Ключ? У каждой формы свой ключ имеется.
|
|||
34
RomaH
naïve
06.07.11
✎
08:49
|
(33) КлючУникальности?
см выше - не 100% результат |
|||
35
Suhoi
06.07.11
✎
09:15
|
(0)Конфигурация/рабочая область рабочего стола / добавить документ - и о чудо - открывается рабочий стол, а там документ... :-)))
|
|||
36
Suhoi
06.07.11
✎
09:17
|
+(35) только нужно добавить не сам документ, а именно форму документа
|
|||
37
RomaH
naïve
06.07.11
✎
10:03
|
(35) да это уже нашлось, вот как определить что именно форма которая там открыта обрабатывается, а не какая-либо другая
|
|||
38
RomaH
naïve
06.07.11
✎
10:13
|
о
ЭтаФорма.Открыта() = Ложь |
|||
39
RomaH
naïve
06.07.11
✎
10:24
|
когда еще может этот метод ложь возвращать?
|
|||
40
TitanLuchs
06.07.11
✎
15:31
|
(18) Можно сделать достаточно удобно и универсально, но придется создать еще одну форму документа.
1. Делаешь новую форму документа. В ней две группы: левая и правая. В левой размещай динамический список с пациентами, в правой - все остальные реквизиты документа. По умолчанию правая колонка скрыта. 2. Эту форму пихаешь в область рабочего стола. При запуске программы у тебя откроется форма нового документа, в которой будет виден только список пациентов. 3. Выбираешь пациента, жмакаешь кнопку "Создать документ", ну или по другому какому-нить событию отлавливаешь момент, когда надо создать документ. 4. На сервере создаешь новый ДокументОбъект, заполняешь как нужно его реквизиты, запоминаешь этот ДокументОбъект в переменной 5. В форме вызываешь метод ЗначениеВРеквизитФормы("Объект, ДокументОбъект"). Таким образом в форму попадают данные твоего созданного, но незаписанного документа. 6. Делаешь видимой правую колонку - вуаля. 7. После записи правую колонку можно скрыть, тогда для пользователя документ как бы пропадет, но список клиентов останется и можно создавать новый документ. У меня так работает. Вчера просто попробовал с отдельной формы запихнуть это на рабочий стол - все ОК. |
|||
41
RomaH
naïve
11.07.11
✎
11:09
|
хм, для форм открывающихся в отдельном окне прокатывает\
а вот, например, для форм списка - нет переходим на закладку подсистемы тукаем форму списка - и она открываается в основном окне - т.е. Возврат ВызвавшаяФорма.КлючУникальности <> Неопределено И Не ВызвавшаяФорма.Открыта(); возвращает Истину как быть? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |