Функция запрещающая редактировать поле после повторного открытия докум

  • Автор темы Neft
  • Дата начала
N

Neft

#1
Друзья не подскажете какой функцией можно запретить редактирование конкретного поля документа пользователем при повторном открытии формы документа.

Добавлено: Друзья не подскажете какой функцией можно запретить редактирование конкретного поля документа пользователем при повторном открытии формы документа. Платформа 8.1
 

gorlanovmax

Well-known member
19.06.2008
286
0
#2
Ввести переменную, которой после первой записи присваивать значение, например 1.
При повторном открытии проверять переменную и запрещать редактирование, если это нужно
 
N

Neft

#3
а не могли бы канибудь поподробнее про ввод переменной...
 

evgenyatam

Well-known member
07.09.2007
175
0
#4
зачем такие сложности?
"ЭтоНовый()
Возвращаемое значение:
Тип: Булево. Истина - изменяется еще ни разу не записанный документ; Ложь - документ уже записан.
Описание:
Определяет, записан ли документ в базу данных. "

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Если не ЭтоНовый() Тогда
ЭлементыФормы.Нужный.Доступность=Ложь;
КонецЕсли;
КонецПроцедуры.
 
N

Neft

#5
evgenyatam спасибо! ОГРОМНОЕ!

а про переменную- жуть как интересно...
 

Darlock

Well-known member
04.01.2008
560
1
#6
зачем такие сложности?
"ЭтоНовый()
Возвращаемое значение:
Тип: Булево. Истина - изменяется еще ни разу не записанный документ; Ложь - документ уже записан.
Описание:
Определяет, записан ли документ в базу данных. "

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Если не ЭтоНовый() Тогда
ЭлементыФормы.Нужный.Доступность=Ложь;
КонецЕсли;
КонецПроцедуры.
Можно проще и одной строкой:

Код:
ЭлементыФормы.Нужный.Доступность=ЭтоНовый();
 

Darlock

Well-known member
04.01.2008
560
1
#9
Код:
Перем НовыйДок;


Процедура ПередОткрытием(Отказ)

НовыйДок = ЭтоНовый();

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

Процедура ПриОткрыти(Отказ)

ЭлементыФормы.Нужный.Доступность= НовыйДок;

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



НовыйДок = Истина;
 

gorlanovmax

Well-known member
19.06.2008
286
0
#12
А что непоятно? Я писал для 7.7

Создаем Переменную
НовыйДок - тип число, точность 1
Код:
Процедура ВводНового()
НовыйДок=0;
КонецПроцедуры

Процедура ПриЗаписи()
НовыйДок=1;
КонецПроцедуры

Процедура ПриОткрытии()
Если НовыйДок=1 Тогда
Форма.Поле.Доступность(0);
КонецПроцедуры
 

vbs

Well-known member
18.02.2007
1 708
1
#13
Еще точнее так :
Процедура ВводНового()
НовыйДок=1;
КонецПроцедуры

Процедура ПриЗаписи()
НовыйДок=0;
КонецПроцедуры

Процедура ПриОткрытии()
Форма.Поле.Доступность(НовыйДок);
КонецПроцедуры