Unid Родителя В Новом Документе

Anatoly

Lotus team
30.03.2007
222
0
#1
Есть необходимость в действии получить UNID родителя.
Пока документ новый - $REF еше нет, @InheritedDocumentUniqueID в формуле экшн возвращает UNID текущего документа.
Вариантов 2
1) В начале экшн сохранять документ и юзать $REF - не нравиться, не факт, что юзер не передумает вводить данный документ
2) Вычисляемое поле=@Text(@InheritedDocumentUniqueID) (пока так и сделал - Computed for display) и обращаться к нему.

Но есть ли вариант прямее? Как в еше несохраненном доке получить UNID родителя?
 
F

FixeR

#2
Как создается документ?
Что мешает нужный юнид записать в поле ещё ДО открытия формы?
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#3
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">не обратил...</div></div><div class="sp-body"><div class="sp-content">
@InheritedDocumentUniqueID в формуле экшн возвращает UNID текущего документа
А свойство наследовать поля включено на форме?

Syntax

@InheritedDocumentUniqueID

Usage

This function works in a document being created with a form with field values inherited from the selected document.

In documents that do not inherit, @InheritedDocumentUniqueID returns the same value as @DocumentUniqueID.
Не обратил внимания сразу... Вероятно, что эта функция не работает корректно в действиях.
Вариант работы со значением поля вполне достойный. Причем значение надо вычислять в поле ComputedWhenComposed, а в других полях использовать его значение, т.к. эта функция работает корректно лишь при создании документа. Если поле сделать CFD, то оно будет некорректно расчитано для сохраненного документа.
 

Anatoly

Lotus team
30.03.2007
222
0
#4
@InheritedDocumentUniqueID возращает UNID "документа-родителя". При использовании в коде кнопки на форме, им, похоже, считается родитель кнопки - открытый через форму документ.
Поле сделал CFD, потому как нет в нем никакого смысла после сохранения дока.

У меня только 1 вопрос: и поле, и кнопка - объекты на форме. Так почему родителем кнопки на форме считается открытый док, а для поля на форме возвращается родитель открытого дока?
 

phantom76

Lotus team
25.02.2005
360
4
#5
@InheritedDocumentUniqueID возращает UNID "документа-родителя". При использовании в коде кнопки на форме, им, похоже, считается родитель кнопки - открытый через форму документ.
Поле сделал CFD, потому как нет в нем никакого смысла после сохранения дока.

У меня только 1 вопрос: и поле, и кнопка - объекты на форме. Так почему родителем кнопки на форме считается открытый док, а для поля на форме возвращается родитель открытого дока?
Вы наверное у формы забыли установить свойство: Тип создаваемого документа - Responce, скорее всего по умолчанию стоит тип Document.
 

morpheus

скриптописец
07.08.2006
3 915
1
#6
Anatoly
Если кнопка создания "ответа" на формулах, то

Код:
tm := @DocumentUniqueID 
@Command([Compose];"Response");
@UpdateFormulaContext;
FIELD ParUNID := tm;
phantom76 - ага, тоже так думаю
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#7
Вы наверное у формы забыли установить свойство: Тип создаваемого документа - Responce, скорее всего по умолчанию стоит тип Document
phantom76 - ага, тоже так думаю
phantom76
Morpheus
срамота :) читайте справку!
Я уже выше в спойлере писал цитату об нужном свойстве:
Syntax
@InheritedDocumentUniqueID
Usage
This function works in a document being created with a form with field values inherited from the selected document.
In documents that do not inherit, @InheritedDocumentUniqueID returns the same value as @DocumentUniqueID.
От типа не зависит.
В действиях не работает ((
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#8
Я ответы создаю только скриптом. На формулах были несколько случаев, когда документ забывал становиться ответным. Так что ну эти формулы.
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#9
Medevic ,
а... как бы ниче писать на формуле и не надо - тут уже тип документа в полном ходу.
 

Anatoly

Lotus team
30.03.2007
222
0
#10
:)
Так, еще раз:
- документ наследник (тип Responce, не забыл)
- пока не сохранил, к полю $REF обращаться нет смысла
- @InheritedDocumentUniqueID в фомулах полей нового(!) документа возвращает UNID родителя - все чОтко.
В действиях тоже работает, но возвращает UNID родителя кнопки - текущего документа.

Без расчетного поля DocID=@InheritedDocumentUniqueID, в новом доке никак не обойтись...
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#11
:)
Так, еще раз:
- документ наследник (тип Responce, не забыл)
- пока не сохранил, к полю $REF обращаться нет смысла
- @InheritedDocumentUniqueID в фомулах полей нового(!) документа возвращает UNID родителя - все чОтко.
В действиях тоже работает, но возвращает UNID родителя кнопки - текущего документа.

Без расчетного поля DocID=@InheritedDocumentUniqueID, в новом доке никак не обойтись...
Создавай документ скриптом. Поле $REF доступно сразу.

Добавлено:
Medevic ,
а... как бы ниче писать на формуле и не надо - тут уже тип документа в полном ходу.
Как же не надо? А документ создать?