Документ ответа

  • Автор темы root
  • Дата начала
R

root

#1
Приветствую всех. Объясните как в документе ответа получить знавение поля родительского документа.
Напрмер. поле сообщение получить его значение в документе ответ.

Сделал @GetDocField($Ref; "Sub"); что то не канает ругаетсся на hex 32
так как $ref дает ссылку на родителя а у родителя нет родителя то как мне в документе ответа получить значения поля родителя. при создании.
 
K

K-Fire

#2
Попробуйте @GetDocField(@Text($Ref); "Sub"). Что-то мне кажется что в доке ошибка, и параметр этот должен быть строковым.

> так как $ref дает ссылку на родителя а у родителя нет родителя то как мне в документе ответа получить значения поля родителя. при создании.

А вот тут я мало что понял, может просто формулу сделать типа такой? :

sub := @GetDocField(@Text($Ref); "Sub");
@if(@isError(sub);"";sub)
 
E

Elena Nefedova

#3
При создании документа можно получать без всяких $Ref: нужно в ответной форме выставить флаг Formulas Inherit Values from Selected Document . А в Default Value какого-нибудь поля ответной формы прописать ИмяПоля (без кавычек). Если во вновь создаваемом документе пока еще не вычислилось собственное поле ИмяПоля, то будет взято значение из родительского документа.
Поля вычисляются в порядке слева-направо-сверху-вниз.
Наследование значений работает строго в момент создания нового дока.
 
30.05.2006
1 345
11
#5
При создании документа можно получать без всяких $Ref: нужно в ответной форме выставить флаг Formulas Inherit Values from Selected Document . А в Default Value какого-нибудь поля ответной формы прописать ИмяПоля (без кавычек). Если во вновь создаваемом документе пока еще не вычислилось собственное поле ИмяПоля, то будет взято значение из родительского документа.
Вот-вот. Все правильно, НО очень легко запутаться, чье значение поля юзаешь в тот или иной момент. Особенно, если поле добавлялось ПОЗЖЕ. Тогда Default имеет смысл, но НЕ НАСЛЕДУЕТ ничего.

Приёмчик: заводим на форме временное полечко (CFD), например Parent, с такой формулой:

@If(!@IsDocBeingLoaded; Parent; @IsNewDoc; @InheritedDocumentUniqueID; $REF)

далее по форме юзаем @GetDocField(Parent; "FldName")

Так теперь родительские поля доступны при всех раскладах
 
E

Elena Nefedova

#6
Для: Constantin A Chervonenko
Против предложенного способа ничего не имею :angry:
А запутаться можно и в трех соснах.
имхо - чем больше способов знаешь, тем проще читать чужой код (да и свой в последствии тоже)