• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

Neft

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

Добавлено: Друзья не подскажете какой функцией можно запретить редактирование конкретного поля документа пользователем при повторном открытии формы документа. Платформа 8.1
 
Ввести переменную, которой после первой записи присваивать значение, например 1.
При повторном открытии проверять переменную и запрещать редактирование, если это нужно
 
а не могли бы канибудь поподробнее про ввод переменной...
 
зачем такие сложности?
"ЭтоНовый()
Возвращаемое значение:
Тип: Булево. Истина - изменяется еще ни разу не записанный документ; Ложь - документ уже записан.
Описание:
Определяет, записан ли документ в базу данных. "

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

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

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

Можно проще и одной строкой:

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


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

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

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

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

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

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



НовыйДок = Истина;
 
А что непоятно? Я писал для 7.7

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

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

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

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab