Тема: Не могу отредактировать атрибуты.

Есть следующий скрипт:

....
  if Attribute.AttributeDefName = "OBJ_ISDONE" then

    set usr = ThisApplication.CurrentUser
    if Form.Attributes("OBJ_ISDONE") = true then
      Form.Attributes("OBJ_OTMETIL") = usr 
      Form.Attributes("OBJ_DATA_OTMETKI") = date
                

        Form.Controls("OBJ_COMMENT").ReadOnly = true

    Duble_Z(Obj)
     else
      Form.Attributes("OBJ_OTMETIL") = ""
      Form.Attributes("OBJ_DATA_OTMETKI") = ""
     end if
  end if
....

Sub Duble_obj(Obj)
Dim answer, NewObj, EObjDlg
  answer = msgbox("Хотите создать новый объект", vbQuestion + vbYesNo)
  Set Prnt = Obj.Parent
  Prnt.Permissions = SysadminPermissions
  
  If answer = vbNo then
    exit sub
  end if
  
    Set NewObj = Obj.Duplicate (Prnt)
     NewObj.Attributes("OBJ_NUMBER").Value = ""
     NewObj.Attributes("OBJ_ISDONE").Value = false
     NewObj.Update
     
    Set EObjDlg = ThisApplication.Dialogs.EditObjectDlg
      EObjDlg.Object = NewObj
           
    If EObjDlg.Show = False Then
       NewObj.Erase
    end if
End sub

В результате в открывшейся форме нельзя поправить ни один атрибут.
Если открыть этот объект не из скрипта, то все открывается нормально.
Может быть подскажите, что не так написано?

Re: Не могу отредактировать атрибуты.

А можно посмотреть скрипт процедуры(функции) Duble_Z(Obj)
?

Re: Не могу отредактировать атрибуты.

Anatoly пишет:

А можно посмотреть скрипт процедуры(функции) Duble_Z(Obj)
?

Прошу прощения, там на самом деле Duble_obj(Obj), а не Duble_Z(Obj).
В любом случае не работает.

Re: Не могу отредактировать атрибуты.

Какая версия TDMS ?
Может ещё какой кусок кода есть? Там на событиях формы или системный скрипт?
Такой код работает

Set tParent = ThisObject.Parent
Set EditDlg = ThisApplication.Dialogs.EditObjectDlg
Set nObject = ThisObject.Duplicate(tParent)
EditDlg.Object = nObject
If EditDlg.Show = False Then nObject.Erase

Re: Не могу отредактировать атрибуты.

Edhunter пишет:

Какая версия TDMS ?
Может ещё какой кусок кода есть? Там на событиях формы или системный скрипт?

Версия 3.0.154. Это кусок кода на событиях формы. Точнее на изменение атрибута на форме.

Edhunter пишет:

Такой код работает

Set tParent = ThisObject.Parent
Set EditDlg = ThisApplication.Dialogs.EditObjectDlg
Set nObject = ThisObject.Duplicate(tParent)
EditDlg.Object = nObject
If EditDlg.Show = False Then nObject.Erase

Код работает. Он дублирет ThisObject, открывает его на редактирование, только все аттрибуты даже для sysadmin'a нельзя редактировать.

Re: Не могу отредактировать атрибуты.

Поставил 154... Работает нормально.
Поищете, может где лишний кусок кода торчит?
Проверьте ещё раз код типа объекта, системный скрипт, код формы ввода, код профилей.

Re: Не могу отредактировать атрибуты.

На форме ввода на атрибутах случайно не стоит флажок "Только для чтения"?

Re: Не могу отредактировать атрибуты.

Mishaf пишет:

На форме ввода на атрибутах случайно не стоит флажок "Только для чтения"?

На самой форме не стоит, а вот при выполнении условий в скрипте ставиться на все атрибуты, кроме одного. Но его тоже нельзя поправить.
Только через вкладку "Все атрибуты".

Re: Не могу отредактировать атрибуты.

Я так поняла, что у меня происходит при дублировании блокировка формы нового объекта.
Решила сделать тот же скрипт после закрытия формы изначального объекта. Все работает.