Имя: Пароль:
1C
1С v8
СКД: доступность элемента формы при смене варианта
0 k1us181b
 
08.10.16
09:47
Всем привет.
Необходимо управлять доступностью элемента формы отчета на СКД. В процедуре ПриОткрытии() формы отчета пишу такой (примерно) код и он работает:
Для каждого Эл из ЭтаФорма.Элементы Цикл
Если Эл.Заголовок = "Период" Тогда
Эл.Доступность = Ложь;
КонецЕсли;
КонецЦикла;
Т.е. при открытии формы поле Период на форме есть, но доступность закрыта. Период - параметр с типом СтандартныйПериод, доступность закрывается для того, чтобы пользователь видел какой период установлен в отчете, но поменять не смог. Это все работает.
Проблема такая: при смене варианта невозможно управлять доступностью элемента формы, т.к. все процедуры, работающие при смене варианта - серверные и негде прописывать код, управляющий доступностью. Т.е. в мое случае если при открытии формы поле период недоступно, то при смене варианта доступность устанавливается Истина.
Запрещать смену варианта нельзя, т.к. есть отчеты с несколькими предопределенными вариантами.
Как решить проблему?
1 Lexey_
 
08.10.16
10:03
(0) "Проблема такая: при смене варианта невозможно управлять доступностью элемента формы" сам себе проблему придумал?
2 shlyahtich
 
08.10.16
10:28
Почему нельзя в СКД воспользоваться для разных вариантов стандартным механизмом "пользовательские настройки"? и убрать недоступные параметры
3 k1us181b
 
08.10.16
10:40
(2) Поле "Период" должно остаться на форме. Доступность этого поля регулируется администратором. Внешний вид форм согласован с руководством и огромным количеством пользователей. "Убрать недоступные параметры" - конечно проще всего, но это не подходит для моего конкретного случая.
4 Mauser
 
08.10.16
10:46
(3) Вы выкатили на согласование и успешно согласовали то, что не знаете как реализовать? Прелесть-то какая.
5 Defender aka LINN
 
08.10.16
10:49
(3) А если пользователь создаст свой вариант - такой же, но с периодом? Тогда куда бежать будешь?
6 k1us181b
 
08.10.16
10:58
(4) Сначала согласовали и сделали, год проработали, появилась мысль прикрывать поле "Период", чтобы ограничить пользователей. Я исполнитель, ничего не согласовываю.
(5) В том и вопрос. Если пользователь создаст свой вариант, то и в нем должна быть закрыта доступность этого поля. Потому и ищу лазейку.
7 Defender aka LINN
 
08.10.16
11:01
(6) Анализируй настройки, раз делать нечего.
Но отчет на СКД - он на то и настраиваемый, чтобы его можно было настроить. А если такие варианты начинаются - закрывай возможность изменения и вешай на грудь медаль "заслуженный костылевтыкатель"
8 k1us181b
 
08.10.16
11:14
(7) При смене варианта нет вызова клиентских процедур - в этом весь затык. Негде анализировать. :'(
9 Lexey_
 
08.10.16
11:37
(8) разрешаю анализировать на сервере
10 k1us181b
 
08.10.16
11:39
(9) На сервере _при_смене_варианта_ я вижу параметр "Период", но не вижу элемент формы с заголовком "Период".
11 Mauser
 
08.10.16
11:39
(9) Он исполнитель, он ничего не согласовывает. Тут проблему пора наверх эскалировать =)
12 k1us181b
 
08.10.16
11:43
(11) Смешно.
13 Lexey_
 
08.10.16
11:46
(10) а на клиенте ты его видишь?
14 Mauser
 
08.10.16
11:47
(10) Конечно! Костылестроение оно всегда такое.
Лечится принудительными работами - рисуй полностью свою форму и твори на ней что хочешь.
15 k1us181b
 
08.10.16
12:15
(13) на клиенте вижу! но, еще раз повторю: при смене варианта нет вызова клиентских процедур.
16 hhhh
 
08.10.16
13:15
(15) ну поменяй период на сервере, он и на клиенте поменяется, чего ты чудишь? Видимость и доступность тоже меняются на сервере.
17 k1us181b
 
08.10.16
13:18
(16) я где-то писал, что не могу поменять период? читать умеете?
Речь только об установке ЭлементФормы.Доступность = Ложь!
18 k1us181b
 
08.10.16
13:21
(16) >>Видимость и доступность тоже меняются на сервере.
Если бы было все так просто, я бы тему не заводил.
Народ, если не в курсе или не сталкивались - проходите мимо.
19 hhhh
 
08.10.16
13:23
(17) так у вас обычные формы что ли? Ясен пень, что устанавливать доступность элемента формы надо всегда на сервере.
20 k1us181b
 
08.10.16
13:27
(19) Управляемые формы. Вы правильно поняли суть проблемы?
21 hhhh
 
08.10.16
13:36
(20) я просто не понял, почему у параметра период не можете установить досупность. И зачем вообще вам нужна форма? Сейчас все делают скд без форм.
22 k1us181b
 
08.10.16
13:40
(21) в (0) все подробно расписано.
ключевые выражения: "чтобы пользователь не смог поменять период, но поле было НА-ФО-Р-МЕ" и все это работало "при смене ВА-РИ-АН-ТА"
)))
23 Mauser
 
08.10.16
16:48
(22) Чуви, НА-ФО-Р-МЕ при смене ВА-РИ-АН-ТА все начинается с действия пользуна по выполнению команды на клиенте. А у тебя традиционная 1Сная волчанка - и рыбку съесть и самому ничего не делать и остальным мозг вынести. Ну и попутно упомянуть о Рукодящем Согласовании и Значимости у Пользователей.
24 k1us181b
 
09.10.16
09:09
(23) >>все начинается с действия пользуна по выполнению команды на клиенте
Доступность поля "Период" должно быть закрыто всегда, ДО того как пользун начнет выполнять команды на клиенте.
>>самому ничего не делать и остальным мозг вынести
где я писал, что ничего не хочу делать? дружище, если тебе такие вопросы выносят мозг, найди ветку попроще
25 k1us181b
 
09.10.16
09:12
Ладно, поставлю вопрос по-другому:
Какие процедуры формы отчета работают &НаКлиенте при смене варианта отчета?
26 Mauser
 
09.10.16
09:25
(24) Ты полностью свою форму с командами уже нарисовал? Или еще пару дней будешь пытаться "а вот тут чуть надо но как это сделать?"
27 k1us181b
 
09.10.16
09:53
(26) не вижу смысла отвечать на вопросы не по теме.
28 Mauser
 
09.10.16
10:02
(27) Гордый с проблемами ищет решений. Ну ок, успехов.
29 hhhh
 
09.10.16
10:27
(25) вообще непонятно, зачем тебе поле период, если оно недоступно. Период есть в отборах, которые и так есть на форме. Пользователь и так его увидит.
30 k1us181b
 
09.10.16
11:31
(29) забудем про поле период, от конкретики перейдем к теории.
Допустим, есть форма отчета.
На этой форме вручную (для простоты) создано поле "Поле1".

Пользователь запускает отчет, открывается форма, он видит это "Поле1". Нажимает на кнопку "Выбрать вариант". Выбирает нужный вариант отчета. Открывается выбранный вариант.

А теперь, внимание, вопрос: в каких процедурах в момент открытия выбранного варианта можно установить Доступность = Ложь этого "Поля1"?

З.Ы.: Ребят, я не знаю уже как объяснить, какой-то разговор глухого со слепым, что здесь может быть непонятно((
31 k1us181b
 
11.10.16
00:37
ап