Доступ к документу-родителю

LuMee

Well-known member
02.05.2006
477
0
#1
Можно ли в формуле значения по умолчанию для поля документа-ответа получить доступ к документу-родителю? Проблема в том, что поле $Ref почему-то в момент вычисления значения по умолчанию оказывается пустым.
 
E

Elena Nefedova

#3
Можно ли в формуле значения по умолчанию для поля документа-ответа получить доступ к документу-родителю? Проблема в том, что поле $Ref почему-то в момент вычисления значения по умолчанию оказывается пустым.
1. Это редко требуется, так как в момент создания ответного документа наследуются значения родительских полей и используются в вычислении Default-значений, если галка в поле стоит Formula inherit values from selected document. (При всех последующих вычислениях используются значения текущего созданного документа!!)
2. Но если все же это нужно, то @InheritedDocumentUniqueID вернет нужный UNID
 

LuMee

Well-known member
02.05.2006
477
0
#4
1. Это редко требуется, так как в момент создания ответного документа наследуются значения родительских полей и используются в вычислении Default-значений, если галка в поле стоит Formula inherit values from selected document. (При всех последующих вычислениях используются значения текущего созданного документа!!)
2. Но если все же это нужно, то @InheritedDocumentUniqueID вернет нужный UNID
1. Проблема в том, что значения наследуются именно из выбранного документа, а во вьюхе присутствуют документы нескольких типов (ответы на данный ответ). Какой будет выбран - заранее неизвестно
2. если мне не изменяет память, то @InheritedDocumentID опять же вернет UNID выбранного документа, коим не обязательно будет нужный мне родитель
Одним словом, придется и впрямь все руками на LS собирать
 
E

Elena Nefedova

#5
во вьюхе присутствуют документы нескольких типов (ответы на данный ответ)...
@InheritedDocumentID ... вернет UNID выбранного документа, коим не обязательно будет нужный мне родитель
Одним словом, придется и впрямь все руками на LS собирать
1. Если нужно создавать ответ всегда только к главному документу, то надо выбрать тип Response (а не Response-to-Response). Тогда новый документ автоматически прицепится к корню ветки.
2. Если ответ должен прикрепляться к другому ответу вполне определенного вида, то делается действие
Код:
@If(Form="myform"&MyField="MyText";
@Command([Compose];"MyResponse";
@Prompt([OK];"Ошибка";"Ошибка"))
3. @InheritedDocumentUniqueID вернет, конечно, UNID документа курсора, ну а у этого документа, конечно, будет собственное поле $Ref, значение которого можно получить, если потребуется

LS это в данном случае излишество, как мне кажется
 

LuMee

Well-known member
02.05.2006
477
0
#6
1. Если нужно создавать ответ всегда только к главному документу, то надо выбрать тип Response (а не Response-to-Response). Тогда новый документ автоматически прицепится к корню ветки.
2. Если ответ должен прикрепляться к другому ответу вполне определенного вида, то делается действие
Код:
@If(Form="myform"&MyField="MyText";
@Command([Compose];"MyResponse";
@Prompt([OK];"Ошибка";"Ошибка"))
3. @InheritedDocumentUniqueID вернет, конечно, UNID документа курсора, ну а у этого документа, конечно, будет собственное поле $Ref, значение которого можно получить, если потребуется

LS это в данном случае излишество, как мне кажется
1. форма у меня делает именно Response, однако документ все равно цепляет значения у того документа, который был выбран в этот момент во вьюхе. Конечно, он делается ответом на то, что надо, однако значение поля вычисляется корректно лишь если был выбран док верхнего уровня
2. как уже отметил, ответом он делается как надо, так что это не потребовалось :)
3. вью содержит четырехуровневую иерархию.. на каком из документов при этом будет указатель - неизвестно, так что ориентироваться на $Ref в общем случае сложно (в 5ке ведь даже @While нет, чтобы быстро "добежать" по $Ref'ам до вершины иерархии)
 
30.05.2006
1 345
11
#8
ориентироваться на $Ref в общем случае сложно (в 5ке ведь даже @While нет, чтобы быстро "добежать" по $Ref'ам до вершины иерархии)
Цикла в 4-ке/5-ке нет, зато есть рекурсия.
Задача решабельна (из спортивного интереса) на чистых "собаках". Но LS тут уместнее