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

Anatoly

Well-Known Member
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
2
#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

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

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

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
#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
2
#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
2
#8
Я ответы создаю только скриптом. На формулах были несколько случаев, когда документ забывал становиться ответным. Так что ну эти формулы.
 

Akupaka

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

Anatoly

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

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

Medevic

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

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

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