• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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 ,
а... как бы ниче писать на формуле и не надо - тут уже тип документа в полном ходу.
Как же не надо? А документ создать?
 
Мы в соцсетях:

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