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

Тема в разделе "1C и всё что с ней связано", создана пользователем Neft, 2 июн 2010.

  1. Neft

    Neft Гость

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

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

    gorlanovmax Well-Known Member
    1C Team

    Регистрация:
    19 июн 2008
    Сообщения:
    286
    Симпатии:
    0
    Ввести переменную, которой после первой записи присваивать значение, например 1.
    При повторном открытии проверять переменную и запрещать редактирование, если это нужно
     
  3. Neft

    Neft Гость

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

    evgenyatam Well-Known Member

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

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

    Neft Гость

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

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

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    Можно проще и одной строкой:

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

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    привычка с семерки. хотя там тоже примерно так можно.
    даже скорее всего не с семерки а с микрола+
     
  8. Neft

    Neft Гость

    Спасибо!

    Пойду по просвещаюсь относительно ввода переменной..заинтересовало млин.
     
  9. Darlock

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    Код ( (Unknown Language)):
    Перем НовыйДок;


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

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

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

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

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

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



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

    Neft Гость

    Darlock- пасиб!
     
  11. Darlock

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    На здорофф
    ;)
     
  12. gorlanovmax

    gorlanovmax Well-Known Member
    1C Team

    Регистрация:
    19 июн 2008
    Сообщения:
    286
    Симпатии:
    0
    А что непоятно? Я писал для 7.7

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

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

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

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Еще точнее так :
    Процедура ВводНового()
    НовыйДок=1;
    КонецПроцедуры

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

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

Поделиться этой страницей