13.01.2004, 19:36 | #1 |
Участник
|
calcformula в flowfields
добавил 2 поля в таблицу to-do (задачи):
первое - To-do Originator Code - код постановщика задач - при создании задачи сюда записывается USERID. этот USERID так же может быть приписан одному из менеджеров (поле Attain User ID таблицы Salesperson/Purchaser) второе - To-do Originator Name - имя постановщика задач: FlowField CalcFormula: Lookup(Salesperson/Purchaser.Name WHERE (Attain User ID=FILTER(<>''),Attain User ID=FIELD(To-do Originator Code))) Итог (значение поля To-do Originator Name): 1. в формах отображающих задачи контакта, менеджера,... в записях у которых To-do Originator Code='' (пустое) отображается первая запись из Salesperson/Purchaser с Attain User ID <>''. Теоретически, по накладываемым условиям, вообще ничего не должно отображаться в поле To-do Originator Name. 2. Если изменим CalcFormula на: Lookup(Salesperson/Purchaser.Name WHERE (Attain User ID=FIELD(To-do Originator Code))), то естественно отображается первый менеджер из Salesperson/Purchaser у которого Attain User ID = '' Интересует поведение в 1-м случае-это такая непонятная особенность наложения двух условий на одно и то же поле??или нельзя объединить два условия на одно и тоже поле таблицы?? Решение для форм-подправить код(что не хочется делать) OnAfterGetRecord, OnAfterGetCurrRecord типа след. образом: IF "To-do Originator Code" = '' THEN To-do Originator Name := ''; |
|