Вход | Регистрация

1С:Предприятие ::

Метки: 

УНФ. Блокировка полей документа

Я
   Foxmara
 
23.08.18 - 18:18
Нужно в документе событие сделать блокировку нескольких полей после записи. Сделано через расширение:
&НаСервере
Процедура Расш1_ПриЗаписиНаСервереПосле(Отказ, ТекущийОбъект, ПараметрыЗаписи) 
эЛЕМЕНТЫ.НачалоСобытияДата.Доступность = ЛОЖЬ; 
элементы.НачалоСобытияВремя.Доступность = ЛОЖЬ; 
Элементы.ОкончаниеСобытияВремя.Доступность = ложь; 
элементы.Содержание.Доступность = ЛОЖЬ; 
Элементы.ОкончаниеСобытияДата.Доступность = ЛОЖЬ; 
КонецПроцедуры 
Работает, но надо, чтобы после закрытия и открытия документа поля все еще были заблокированы.

Пытаюсь сделать через добавление флага - добавил реквизит в документ
РПС_СобытиеЗапланировано
пишем туда же:
РПС_СобытиеЗапланировано = "ИСТИНА"; // принимает значение, но не сохраняется при записи документа.
 
 
   igork1966
 
1 - 23.08.18 - 18:23
(0) Если меняешь флаг при записи а не перед записью, то так и будет.

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

КонецПроцедуры


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует