Имя: Пароль:
1C
1С v8
автонастраивающийся интерфейс
0 napagokc
 
25.10.11
10:09
Кто-нибудь заморачивался подобной идеей? Типа, пользователь открывает 1С, а у него интерфейс сам настраивается, в зависимости от установленных у него прав к тем или иным объектам (документам, справочникам...). Ну, или в зависимости от Ролей, где роли дублируют права к объектам. Например, Роль "ДокНакладная" будет иметь полный доступ к накладным, включая все необходимые регистры для проведения, справочники для заполнения и т.п.
Погуглил, но не нашел подобной реализации - чтобы, если нет прав, то и в интерфейсе бы не появлялась такая возможность
1 and2
 
25.10.11
10:09
УФ
2 napagokc
 
25.10.11
10:11
(1) что?
3 Александр_
Тверь
 
25.10.11
10:13
(2) Управляемые формы. вот что )
4 Cube
 
25.10.11
10:13
(2) А я вот стих придумал: Скажи-ка дядя, ведь не даром, Москва, сожженная пожаром, французам отдана...

Помогите придумать дальше...
5 Cube
 
25.10.11
10:14
+(4) ах, да, я тоже "Погуглил, но не нашел подобной реализации" :)
6 IamAlexy
 
25.10.11
10:15
управляемые формы + функциональные опции.. что еще надо то?
7 VitShvets
 
25.10.11
10:17
(1)(3) +1 Управляемые формы именно по этому принципу и работают. Даже более того, есть еще такая штука, как функциональные опции. Они тоже на "показываемые" блоки влияют.
8 napagokc
 
25.10.11
10:20
Спасибо, мне что-то даже в голову не пришло смотреть в сторону управляемых форм. Попробую... Хотя есть у меня некоторые сомнения, но попытка - не пытка. Спасибо.
9 FoxFox
 
25.10.11
10:26
Если нужно, чтобы поднастраивался именно набор менюшек, то можно и без уф сделать, создать переключаемые интерфейсы со своими меню, назначить на них права соответствующим ролям, и пользователям будут вылазить только они
10 5 Элемент
 
25.10.11
10:32
(4) Скажика дядя ведь не даром на зависть клюшкам 8.2 была одинэсом создана.
11 golden-pack
 
25.10.11
10:34
(0) я такую штуку накодил. Сейчас используется упп + ка.

интерфейс + роли пользователей (справочник) + внешние формы. Все крутится вертится, обновляется из предприятия. Могу поделится )))
12 Cube
 
25.10.11
10:35
(10) Скажи-ка дядя, ведь недаром, чтоб выжить с рынка клюшкозавров, восьмерка создана?))
13 5 Элемент
 
25.10.11
10:38
(12) неплохо, свое перефразирую)
Скажи-ка дядя, ведь не даром, на зависть клюшказавров, восьмерка создана.
14 Пришел в тапках
 
25.10.11
10:39
блин рифма у меня чет не идет (
15 Cube
 
25.10.11
10:42
(13) А я продолжу свой:

Скажи-ка дядя, ведь недаром, чтоб выжить с рынка клюшкозавров, восьмерка создана?
Ведь были схватки у семерки, да, говорят, и у шестерки, но так не родила...

:)
16 Пришел в тапках
 
25.10.11
10:43
(15) Рифмоплет однако )
17 golden-pack
 
25.10.11
10:46
18 napagokc
 
25.10.11
15:32
вычитал в книге знаний про динамическое сложение уже существующих интерфейсов Книга знаний: v8: Динамическое управление интерфейсом 1С 8.0
Так же вычитал, что в 1С 8.0 не реализована возможность динамического создания интерфейсов ( Книга знаний: v8: Предложения по развитию платформы 1С:Предприятия 8.0 ), цитата:
1С 80 по сравнению с 77 открывает нам фантастические возможности по работе с формами. Но когда волна первого восторга проходит, под ней можно разглядеть коварные рифы, которые серьезно затрудняют программирование.

= Программное создание интерфейсов =
Этого ожидали, но не получили. Можно комбинировать интерфейс из других интерфейсов, но нельзя программно создать пункт меню. Жаль, иначе бы можно было бы все интерфейсы создавать только программно в сложных конфигурациях.

Хочется также пока из метаданных, а потом из самого интерфейса (ведь он будет динамическим) получать информацию о том, какие пункты входят в состав интерфейсов, какие действия связаны с каждым из них.

=================

Объясните по человечачьи, можно ли в 1С 8.2 создать интерфейс (менюшки всякие и панели инструментв) программно? И если можно, то как это сделать? Желательно с примерами. А то справку про управляемые формы я почитал, но без примеров как-то тяжело для понимания... :(

(11), (17) буду очень признателен, если поделитесь кодом. Или расскажите хотя бы в общих чертах, как это сделать...
19 napagokc
 
25.10.11
15:36
+ (18) да, у меня конфа не стандартная - полностью написана с нуля
20 RayCon
 
25.10.11
16:57
(0) Народ на эту тему уже фирму 1С озадачил, но отклика пока нет.
21 Defender aka LINN
 
25.10.11
17:05
(18) В управляемом приложении 8.2 вообще "менюшек", как в 8.1, нет. Можно рабочий стол ляпнуть форму и в ней генерить все нужные меню и кнопки. Можно сделать полный интерфейс, и тогда все будут видеть только те его части, на которые у них есть права.
22 napagokc
 
26.10.11
08:23
Апну. Может все-таки кто-то что-то знает... Очень бы помог. И golden-pack'а хотелось бы услышать :)
23 golden-pack
 
26.10.11
08:25
(22) куда скинуть ?
24 napagokc
 
26.10.11
08:50
(23) Можешь выложить на http://fayloobmennik.net/ ? Там и пароль можно установить, если не хочешь, чтоб кто попало качал...
25 napagokc
 
26.10.11
10:19
golden-pack, отзовись! :)
26 Cube
 
27.10.11
05:29
(22) Да все всё знают. И всё тебе уже сказали, конкретно, в посте (1) всё сказано. Но я смотрю, ты совсем лентяй, что даже не хочешь поиском воспользоваться... Найдите мне, пожуйте, да в рот положите... Ай молодца...
На вот, почитай, позорник: http://v8.1c.ru/overview/Term_000000580.htm
Конкретно про командный интерфейс: http://v8.1c.ru/overview/Term_000000282.htm#1

P.S. Ты бы еще почитал про интерфейс семерки и планы его развития, ага...
27 vmv
 
27.10.11
08:34
Заморачиваться на интерфейсах глубоко уже глупо - опциональные технологии окна приложения умирают, в том числе и в 1С
28 Stepa86
 
27.10.11
08:45
Роли и интерфейсы немного для разных целей служат, поэтому строить одно на основании другого как то некрасиво... да и настроенный под конкретного персонажа интерфейс будет в разы лучше, чем автосборка...
29 acsent
 
27.10.11
09:02
(0) Для обычных форм есть "панель избранного"
30 napagokc
 
27.10.11
15:06
Эксперты, поделитесь знаниями: Если у меня в Конфигурации установлен Основной режим запуска "Обычное приложение" (не Управляемое приложение, а обычное), то я могу забыть про управляемые формы и т.п.?
31 napagokc
 
27.10.11
15:10
Я тут начитался справки по предложенным ссылкам, пробую, к примеру, создать Общие команды и добавить их на Командный интерфейс рабочего стола, но при Основном режиме запуска "Обычное приложение" я не вижу никакого результата. Если же изменить режим на "Управляемое приложение", то результат появляется, все норм работает. Но мне так делать нельзя - особенность конфы. Вернее, может и можно было бы что-то попереправить в конфе, но я не один ей занимаюсь и... короче, нельзя так сделать ))
32 5 Элемент
 
27.10.11
15:29
>> то я могу забыть про управляемые формы и т.п
Они доступны если у тебя не стоит режим совместимости с 8.1.

Чтобы их рисовать надо включить дополнительно http://screencast.com/t/BMklAcuRM
33 Cube
 
28.10.11
06:25
(31) У тебя всего три варианта на выбор:

1). Забить на это дело. Если у пользователя прав на какой-то объект нет, то при открытии будет выдаваться предупреждение об этом, так что лишнего он не сделает. Можно написать несколько интерфейсов по ролям и присвоить каждому пользователю нужный интерфейс - штатная функция, не совсем эффективна, как п. 3, но малозатратна.

2). Мутить свой "автоинтерфейс", например, как в (11). Хапнешь гемора, а в результате, через определенное время, сделаешь п. 3. Трудозатратно.

3). Переводить конфу на управляемые формы (УФ) в управляемом режиме запуска. Ты к этому всё равно рано или поздно придешь. Это достаточно трудозатратно. Но есть вариант сделать п. 1 и постепенно переводить конфу на УФ.
34 Escander
 
28.10.11
07:26
(17) какую-то мне навигационную панель это здорово напоминает... впрочем что-то подобное делал в 1991 на клиппере (структура многоуровневой менюхи и реакций на клик хранилась в отдельном дбф)
35 golden-pack
 
28.10.11
07:36
(17) это собственная авторская разработка ) дизайн цвета - все разработано мной. Реакции на клик хранятся в виде кода 1с в справочнике.
36 napagokc
 
28.10.11
07:41
(33) К сожалению, п. 3 не могу использовать из-за особенностей конфы. Про п.1 я уже думал - это реально сделать, но мне бы хотелось найти более изящное решение, т.к. у меня итак сейчас куча ролей, а тут еще и интерфейсов будет туева хуча ((( Сейчас в конфе есть практически по каждому документу отдельная роль. Это сделано для того, чтобы можно было настраивать доступ к отдельным документам, не имея доступа к конфигуратору и не меняя конфу. То есть, имеется много филиалов, а конфа у них общая, которую мы и пишем. У филиалов, к примеру, разные менеджеры должны иметь разный доступ к документам. Чтобы не делать для каждого филиала под каждого менеджера отдельную роль, было принято решение сделать роли к каждому документу и предоставить возможность устанавливать эти роли из режима 1С: Предприятие. Вот так все закручено. Теперь идея сделать универсальный интерфейс.
Пока филиалы используют полный интерфейс с ограниченными ролями. То есть, в меню (в конфе доступ к документам реализован через меню) есть все документы, но некоторые вызвать не получится из-за нехватки прав. Сейчас идея состоит в том, чтобы вообще "убрать" лишние документы.
Видимо, придется гемороиться, создавая динамически форму, прикрепленную к верхнему краю и без возможности закрыть или свернуть, а на форме выложить ссылки или меню (если получится), которые будут созданы динамически, в зависимости от установленных для вошедшего пользователя ролей. Я пока так вижу эту картину... :(
(32) Режим совместимости с 8.1 не стоит, переключатель в параметрах так и установлен, как показано на рисунке. Тем не менее, в режиме запуска "Обычное приложение" формы почему-то не рисуются. Вполне допускаю, что я что-то где-то недопонимаю и делаю что-то не так... :(
37 napagokc
 
28.10.11
07:42
(35) поделись идеей реализации? У тебя есть скайп?
38 golden-pack
 
28.10.11
07:45
(37) да, есть проблема - это штука завязана на конфигурацию немного, то есть нужно время код подправить ... скайп = ник
39 Escander
 
28.10.11
08:39
(37) не, ну понятно что реакция в общем случае завязана на конфу, а спр, док и т.п. из метаданных?
40 Escander
 
28.10.11
08:40
(39) к (38)
44 golden-pack
 
28.10.11
09:26
(39) + любой код = внешняя обработка, объекты метаданных и прочее
45 GenV
 
28.10.11
09:46
(0) Сделай им динамический рабочий стол и не парься. На инфостарте примеров вагон и тележка.