|
ТолькоПросмотр | ☑ | ||
---|---|---|---|---|
0
lav151
21.05.21
✎
14:13
|
Всем добрый день
База БПС, своя разработка. Нужно сделать так, чтобы ФормаДокумента была ТолькоПросмотр=Истина, при условии если стоит в документе галочка(Объект.ОтправкаВЗаявку) и документ уже проведен, только сама эта галочка должна быть редактируемой. У меня получается только всю форму сделать только просматриваемой, а сделать редактируемую галочку не выходит. Что не так делаю? Подскажите пожалуйста Пару примеров кода: 1) Если Объект.Ссылка.Проведен И Объект.ОтправкаВЗаявку = Истина Тогда ТолькоПросмотр = Истина; ЭтаФорма.ЭтотОбъект.Элементы.ОтправкаВЗаявку.ТолькоПросмотр=Ложь; КонецЕсли; 2) Если Объект.ОтправкаВЗаявку=Истина и Объект.Проведен=Истина Тогда Для Каждого Элемент Из ЭтаФорма.ЭтотОбъект.Элементы цикл Имя_ = ВРЕГ(Элемент.Имя); Если Имя_ = "ОТПРАВКАВЗАЯВКУ" ИЛИ Имя_ ="ОТПРАВКАВЗАЯВКУКОНТЕКСТНОЕМЕНЮ" ИЛИ Имя_= "ОТПРАВКАВЗАЯВКУРАСШИРЕННАЯПОДСКАЗКА" Тогда Продолжить; КонецЕсли; Если ТипЗнч(Элемент)=ТИП("ДекорацияФормы") Или ТипЗнч(Элемент)=ТИП("КнопкаФормы") Или ТипЗнч(Элемент)=ТИП("ДополнениеЭлементаФормы") Тогда Продолжить; КонецЕсли; Элемент.ТолькоПросмотр = ИСТИНА; КонецЦикла; КонецЕсли; |
|||
1
Kassern
21.05.21
✎
14:16
|
(0) Можешь попробовать не на всю форму пихать только просмотр, а на определенные группировки формы. Эту галочку запихнуть в отдельную группировку и на нее ограничение не ставить. При изменении галочки пересчитывать доступность групп.
|
|||
2
youalex
21.05.21
✎
14:17
|
(0)А зачем тебе менять данные объекта (Объект.ОтправкаВЗаявку) , если ты все равно записать не сможешь, т.к. форма Только просмотр?
|
|||
3
RomanYS
21.05.21
✎
14:17
|
(0) И где вопрос?
Второй вариант не работает? Может элемент ОтправкаВЗаявку в группe входит, которую заблокировал |
|||
4
ДенисЧ
21.05.21
✎
14:18
|
Если вся форма толькопросмотр, то и все реквизиты её тоже.
Поэтому закрывай всё, кроме галки |
|||
5
lav151
21.05.21
✎
14:19
|
(1) Хорошо, попробую
|
|||
6
RomanYS
21.05.21
✎
14:21
|
(4) так он это и сделал в 2) Нужно кроме галки и групп в которые эта галка входит
|
|||
7
lav151
21.05.21
✎
14:23
|
(3) Да, второй вариант не работает( Я посмотрю насчет группы
|
|||
8
lav151
21.05.21
✎
15:04
|
(1) (6) Спасибо. Все сработало)
Если Объект.ОтправкаВЗаявку = Истина Тогда Этаформа.Элементы.Группа1.ТолькоПросмотр=Истина; ............. КонецЕсли; И так по всем группам сделал, кроме той группы где эта галочка стоит. |
|||
9
Kassern
21.05.21
✎
15:06
|
(8) можно это указать для верхней группы, все вложенные так же отработают
|
|||
10
Веселый собака
21.05.21
✎
15:39
|
(8) можно было по метаданным объекта тупо пробежаться..
|
|||
11
Kassern
21.05.21
✎
15:41
|
(10) это не модно и не молодежно
|
|||
12
Веселый собака
21.05.21
✎
15:48
|
(11) тогда надо просить 1С выкинуть и ЗаполнитьЗначенияСвойств..
|
|||
13
Kassern
21.05.21
✎
15:50
|
(12) зачем использовать цикл и гонять по всем метаданным, когда можно просто у 1 главной группы поставить только просмотр истина?
|
|||
14
Kassern
21.05.21
✎
15:53
|
(12) как раз таки ЗаполнитьЗначенияСвойств норм выбор, не нужно бегать в цикле и заполнять все значения.
|
|||
15
Веселый собака
21.05.21
✎
15:58
|
(13) просто это универсально.
По циклу ж не руками бегают |
|||
16
Kassern
21.05.21
✎
16:02
|
(15) но вы заставляете 1ску бегать, а тут платформа сама все делает. В примере с "ЗаполнитьЗначенияСвойств " вы тоже ручками не бегаете, платформа сама значения расставит. Группа даже универсальней, все что в нее добавится будет отрабатывать по логике верхней группы, а все что вне ее будет доступно для редактирования. В случае пробежки по метаданным, вам придется каждый раз условие дописывать, когда еще нужно будет исключить галочки из ограничений.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |