|
УНФ. Блокировка полей документа |
☑ |
0
Foxmara
23.08.18
✎
18:18
|
Нужно в документе событие сделать блокировку нескольких полей после записи. Сделано через расширение:
&НаСервере
Процедура Расш1_ПриЗаписиНаСервереПосле(Отказ, ТекущийОбъект, ПараметрыЗаписи)
эЛЕМЕНТЫ.НачалоСобытияДата.Доступность = ЛОЖЬ;
элементы.НачалоСобытияВремя.Доступность = ЛОЖЬ;
Элементы.ОкончаниеСобытияВремя.Доступность = ложь;
элементы.Содержание.Доступность = ЛОЖЬ;
Элементы.ОкончаниеСобытияДата.Доступность = ЛОЖЬ;
КонецПроцедуры
Работает, но надо, чтобы после закрытия и открытия документа поля все еще были заблокированы.
Пытаюсь сделать через добавление флага - добавил реквизит в документ
РПС_СобытиеЗапланировано
пишем туда же:
РПС_СобытиеЗапланировано = "ИСТИНА"; // принимает значение, но не сохраняется при записи документа.
|
|
1
igork1966
23.08.18
✎
18:23
|
(0) Если меняешь флаг при записи а не перед записью, то так и будет.
Идея нехорошая, создавать поле на каждый случай...
Логичнее какой-нибудь регистр сведений сделать...
|
|
2
milan
23.08.18
✎
18:33
|
При записи поздно, надо перед записью, а вообще блокировать удобно после записи и при чтении - открытие нового документа.
|
|
3
AlvlSpb
24.08.18
✎
00:17
|
(0) если блокировки доступности включаются только при записи, то сделайте в ПриСозданииНаСервере проверку на наличие ссылки. Есть - все блокируется
|
|
4
Foxmara
24.08.18
✎
05:32
|
Всем спасибо, решение другое:
&НаКлиенте
Процедура Расш1_ПриОткрытииПосле(Отказ)
Если Не Параметры.Ключ.Пустая() Тогда
Элементы.НачалоСобытияДата.Доступность = ЛОЖЬ;
Элементы.НачалоСобытияВремя.Доступность = ЛОЖЬ;
Элементы.ОкончаниеСобытияВремя.Доступность = ложь;
Элементы.Содержание.Доступность = ЛОЖЬ;
Элементы.ОкончаниеСобытияДата.Доступность = ЛОЖЬ;
Элементы.Тема.Доступность = ЛОЖЬ;
Элементы.Важность.Доступность = ЛОЖЬ;
КонецЕсли;
КонецПроцедуры
|
|