• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы Anatoly
  • Дата начала
A

Anatoly

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

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

FixeR

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

Akupaka

<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, то оно будет некорректно расчитано для сохраненного документа.
 
A

Anatoly

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

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

phantom76

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

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

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

morpheus

Anatoly
Если кнопка создания "ответа" на формулах, то

Код:
tm := @DocumentUniqueID 
@Command([Compose];"Response");
@UpdateFormulaContext;
FIELD ParUNID := tm;

phantom76 - ага, тоже так думаю
 
A

Akupaka

Вы наверное у формы забыли установить свойство: Тип создаваемого документа - 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

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Я ответы создаю только скриптом. На формулах были несколько случаев, когда документ забывал становиться ответным. Так что ну эти формулы.
 
A

Akupaka

Medevic ,
а... как бы ниче писать на формуле и не надо - тут уже тип документа в полном ходу.
 
A

Anatoly

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

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

Medevic

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!