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

Тема в разделе "Lotus - Программирование", создана пользователем root, 22 дек 2006.

  1. root

    root Гость

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

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

    K-Fire Гость

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

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

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

    sub := @GetDocField(@Text($Ref); "Sub");
    @if(@isError(sub);"";sub)
     
  3. Elena Nefedova

    Elena Nefedova Гость

    При создании документа можно получать без всяких $Ref: нужно в ответной форме выставить флаг Formulas Inherit Values from Selected Document . А в Default Value какого-нибудь поля ответной формы прописать ИмяПоля (без кавычек). Если во вновь создаваемом документе пока еще не вычислилось собственное поле ИмяПоля, то будет взято значение из родительского документа.
    Поля вычисляются в порядке слева-направо-сверху-вниз.
    Наследование значений работает строго в момент создания нового дока.
     
  4. root

    root Гость

    Для: Elena Nefedova
    Понял спасибо
     
  5. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Вот-вот. Все правильно, НО очень легко запутаться, чье значение поля юзаешь в тот или иной момент. Особенно, если поле добавлялось ПОЗЖЕ. Тогда Default имеет смысл, но НЕ НАСЛЕДУЕТ ничего.

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

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

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

    Так теперь родительские поля доступны при всех раскладах
     
  6. Elena Nefedova

    Elena Nefedova Гость

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

Поделиться этой страницей